【文献】
Sung-Chang Lim et al.,Intra coding using extended block size,ITU - Telecommunications Standardization Sector STUDY GROUP 16 Question 6 Video Coding Experts Group (VCEG),38th Meeting: London, UK / Geneva, CH,2009年 7月,VCEG-AL28,pp.1-5
(58)【調査した分野】(Int.Cl.,DB名)
前記ブロックまたは1つ以上の近傍のブロックを符号化するために利用されるルマ・パーティション・タイプに応じて、前記クロマ・パーティション・タイプのセットから、前記ブロックを符号化するための特定のクロマ・パーティション・タイプが決定され(670)、前記ルマ・パーティション・タイプが前記ルマ・パーティション・タイプのセットに含まれる、請求項2に記載の方法。
前記特定のクロマ・パーティション・タイプのために、当該特定のクロマ・パーティション・タイプと一致する最も大きなサイズの利用可能な変換が変換のセットから選択される、請求項3に記載の方法。
前記ブロックを符号化するために選択された特定のルマ・パーティション・タイプおよび特定のクロマ・パーティション・タイプのうち、前記特定のルマ・パーティション・タイプのみが信号により伝達され(690)、前記特定のルマ・パーティション・タイプは、前記ルマ・パーティション・タイプのセットから選択され、前記特定のクロマ・パーティション・タイプは、前記クロマ・パーティション・タイプのセットから選択される、請求項3に記載の方法。
前記ブロックを符号化するために使用される特定のクロマ・パーティション・タイプは、前記ブロックを符号化するために使用される特定のルマ・パーティション・タイプとは独立して決定され(860、885)、前記特定のクロマ・パーティション・タイプは、前記クロマ・パーティション・タイプのセットから決定され、前記特定のルマ・パーティション・タイプは、前記ルマ・パーティション・タイプのセットから決定される、請求項2に記載の方法。
前記特定のルマ・パーティション・タイプおよび前記特定のクロマ・パーティション・タイプが絶対的符号化される、または、1つ以上の近傍のブロックから差分符号化される(890)、請求項8に記載の方法。
前記ブロックを符号化するために使用されるクロマ・エントロピー符号化エンジンは、前記ブロックを符号化するために使用されるルマ・エントロピー符号化エンジンとは異なる、請求項2に記載の方法。
前記特定のクロマ・パーティション・タイプのために、当該特定のクロマ・パーティション・タイプと一致する最も大きなサイズの利用可能な変換が変換のセットから選択される、請求項12に記載の方法。
前記ブロックを復号するために選択された特定のルマ・パーティション・タイプおよび特定のクロマ・パーティション・タイプのうち、前記特定のルマ・パーティション・タイプを示す情報のみが前記ブロックを復号するために使用される対応する符号化器から受信され(720)、前記特定のルマ・パーティション・タイプは、前記ルマ・パーティション・タイプのセットから選択され、前記特定のクロマ・パーティション・タイプは、前記クロマ・パーティション・タイプのセットから選択される、請求項12に記載の方法。
【背景技術】
【0003】
大抵の現行のビデオ符号化規格は、様々な符号化モードを使用して、空間ドメインおよび時間ドメインにおける相関を効率的に減少させる。ISO/IEC(International Organization for Standardization/International Electrotechnical Commission) MPEG−4(Moving Picture Experts Group−4) Part 10 AVC(Part 10 Advanced Video Coding)規格/ITU−T(International Telecommunication Union, Telecommunication Sector)H.264勧告(以下、「MPEG−4 AVC規格」と呼ぶ)においては、ピクチャをイントラ符号化、またはインター符号化することができる。イントラ符号化されたピクチャにおいて、マクロブロック(16×16)は、ピクチャにおける空間相関を利用して、イントラ・モードで符号化される。イントラ・ルマ(輝度)符号化では、イントラ・モードは、INTRA4×4、INTRA8×8、およびINTRA16×16の3つのパーティション・タイプに分類される。INTRA4×4は、4×4の離散コサイン変換(DCT)を使用する。INTRA8×8は、8×8の変換を使用する。INTRA16×16は、4×4の直流(DC)のアダマール変換とカスケードされた4×4の整数DCTを使用する。イントラ・クロマ(色差)符号化では、1つのパーティション・タイプのみを使用できる。イントラ符号化されたマクロブロックの8×8のクロマ成分の各々は、4つのイントラ予測モードで予測され、2×2のDCアダマール変換とカスケードされた4×4の整数DCTを使用する。クロマ(色差)パーティション・タイプは、ルマ(輝度)パーティション・タイプに係らず、固定されている。
【0004】
MPEG−4 AVC規格のイントラ符号化
MPEG−4 AVC規格は、ピクチャ内の空間相関を利用するために各イントラ・モードを使用する。イントラ・ルマ符号化では、イントラ・モードは、INTRA4×4、INTRA8×8、およびINTRA16×16の3つのタイプに分類される。INTRA4×4およびINTRA8×8は、9個のイントラ予測モードをサポートし、INTRA16×16は、4個のイントラ予測モードをサポートする。
図1を参照するに、INTRA4×4およびINTRA8×8予測モードが概ね参照符号100によって示されている。
図1において、参照符号0は、垂直予測モードを示し、参照符号1は、水平予測モードを示し、参照符号3は、斜め下/左予測モードを示し、参照符号4は、斜め下/右予測モードを示し、参照符号5は、垂直右予測モードを示し、参照符号6は、水平下予測モードを示し、参照符号7は、垂直左予測モードを示し、参照符号8は、水平上予測モードを示す。INTRA4×4およびINTRA8×8の各予測モードの部分であるDCモードは図示されていない。
図2を参照するに、INTRA16×16予測モードが概ね参照符号200によって示されている。
図2において、参照符号0は、垂直予測モードを示し、参照符号1は、水平予測モードを示し、参照符号3は、平面予測モードを示している。INTRA16×16の予測モードの部分であるDCモードは図示されていない。
【0005】
MPEG−4 AVC規格における基本的な符号化単位はマクロブロックである、即ち、サイズは16×16であるため、マクロブロック内部のパーティション・タイプは、全て、16×16、8×8、または4×4のいずれかである。
図3に示すように、マクロブロック内部で複数のパーティション・タイプが混在することはない。
図3を参照するに、intra16×16ブロック310において使用するための動きパーティションが概ね参照符号300によって示されている。パーティションには、16×16、8×8、および4×4のパーティションが含まれる。
【0006】
上述したように、INTRA4×4は、4×4DCT変換を使用し、INTRA8×8は、8×8の変換を使用し、INTRA16×16は、カスケードされた4×4の変換を使用する。信号による伝達のため、INTRA4×4およびINTRA8×8は、同一のマクロブロックのタイプ(mb_type)0を共有し、これらは、変換サイズ・フラグ(transform_8×8_size_flag)によって区別される。次に、INTRA4×4またはINTRA8×8におけるイントラ予測モードの選択が、おそらくは、そのモードを用いて信号により伝達される。信号による伝達は、必要であれば、残りのモードを用いて行われることがある。INTRA16×16では、符号化されたブロック・パターン(cbp)・タイプと共に全てのイントラ予測モードがmb_typeで信号により伝達される。これは、1〜24のmb_type値を使用する。イントラ・クロマ符号化では、イントラ符号化されたマクロブロックの各8×8クロマ成分は、4つのイントラ予測モードを使用し、さらに、2×2のDCアダマール変換とカスケードされた4×4の整数DCTを使用して予測される。ルマ・パーティション・タイプに依存することなく、イントラ・クロマ符号化は固定されている。イントラ・クロマ符号化は、コンテンツに適応化しないため、クロマ符号化の忠実性が低下する。
【0007】
MPEG−4 AVC規格における4:4:4の場合、イントラ・ルマのパーティション・タイプおよび予測モードが全ての3つの色成分のために使用される。共通モードおよび独立モードがサポートされる。共通のモードにおいては、全ての3つの成分は、パーティション・タイプおよび予測モードを含み、ルマ成分と全く同じ情報を共有する。独立モードにおいては、3つの色成分の各々は、別個の平面として、ルマ平面の場合と同一の符号化方法を使用して符号化される。
【0008】
MPEG−4 AVC 規格の拡張版における大きなイントラ・パーティション
第1の従来技術に係るアプローチにおいては、イントラ方向モードの数を9より大きな数に増加させることによって、イントラ符号化のために予測ブロック単位が拡張される。しかしながら、第1の従来技術に係るアプローチでは、クロマの場合について記載したり、想定したりしているものはない。第2の従来技術に係るアプローチにおいては、クロマ・パーティション・タイプは、MPEG−4 AVC規格の場合と同様にChroma_8×8に固定されている。イントラ予測モードおよび変換については、クロマ・パーティション・タイプは、MPEG−4 AVC規格におけるルマintra_16×16、intra_8×8、およびintra_4×4と同一のままにされる、即ち、4つのクロマ予測モードおよびカスケードされた4×4変換を使用する。イントラ_32×32では、クロマは、表1に示されている場合と同様に、4つのクロマ予測モードおよびカスケードされた8×8の変換を使用する。即ち、表1は、4:2:0フォーマットの各イントラ予測モードに使用される予測パーティション・サイズおよび変換を示している。第2の従来技術に係るアプローチにおいて使用されるスキームは、実際、幾つかの欠点を有する。第2の従来技術に係るアプローチの1つの欠点は、全てのルマ・パーティション・タイプについて、クロマ符号化パーティション・タイプが固定されることである。第2の従来技術に係るアプローチの別の欠点は、クロマ符号化のために選択された符号化モードまたは変換が最良ではないことである。第2の従来技術に係るアプローチの別の欠点は、クロマ符号化にほとんど柔軟性がないことである。
【表1】
【発明を実施するための形態】
【0017】
本発明の原理は、改善されたイントラ・クロマ符号化および復号のための方法および装置に関する。
【0018】
本説明は、本発明の原理を例示するものである。従って、本明細書において明示的に記載、または図示されていなくとも、当業者が本発明の原理を実施する様々な構成を企図することが可能であり、このような構成が本発明の精神および範囲の中に包含されることが理解されよう。
【0019】
本明細書に記載された全ての例および条件付の文言は、本発明の原理を読者が理解するのを助けるための教示目的のものであり、発明者によって寄与された概念は、技術を発展させるものであり、このような具体的に記載された例や条件に限定されるように解釈されるべきではない。
【0020】
また、本明細書における本発明の原理、態様、および、実施形態についての全ての記載、さらに、その特定の例は、構造的な均等物、機能的な均等物の双方を包含するように意図したものである。さらに、このような均等物は、現在公知の均等物だけでなく、将来において開発される均等物、即ち、構造に係らず、同一の機能を実行するように開発された全ての要素を包含するように意図されている。
【0021】
従って、例えば当業者であれば、本明細書において示されたブロック図は、本発明の原理を実施する回路を例示する概念図であることが理解されよう。同様に、フローチャート、フロー図、状態遷移図、擬似コードなどは、いずれも様々な処理を表すことが理解されよう。これらの処理は、実質的にコンピュータによって読み取り可能なメディアにおいて表すことができ、コンピュータまたはプロセッサにより実行され、このようなコンピュータまたはプロセッサがはっきりと図示されているかどうかに係るものではない。
【0022】
各図面において示される様々な要素の機能は、専用のハードウェアの使用により提供されてもよく、適切なソフトウェアと関連付けてソフトウェアを実行することが可能なハードウェアの使用によって提供されてもよい。機能がプロセッサによって提供される場合にも、単一の専用プロセッサによって提供されてもよく、単一の共有プロセッサによって提供されてもよく、複数の別個のプロセッサによって提供されてもよく、プロセッサの中に共有されているものがあってもよい。さらに、用語「プロセッサ」または「コントローラ」を明示的に使用した場合であっても、ソフトウェアを実行することが可能なハードウェアのみを意味するように解釈されるべきではなく、限定するものではないが、ディジタル信号プロセッサ(DSP)・ハードウェア、ソフトウェアを格納する読み出し専用メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、および不揮発性の記憶装置を暗黙的に含むことがある。
【0023】
また、従来のおよび/または慣習的な他のハードウェアを含むこともある。同様に、図面に示されたどのスイッチも概念的なものに過ぎない。これらの機能はプログラム・ロジックの動作を介して、専用のロジックを介して、プログラム制御と専用のロジックとのインタラクションを介して、または、手動でも実行されることがある。状況に応じて具体的に理解されるように、実施者により、特定の技術を選択可能である。
【0024】
請求の範囲において、特定の機能を実施するための手段として表現されたいずれの要素も、この機能をどのような方法で実行するものも包含するように意図している。例えばa)機能を実行する回路要素を組み合わせたもの、または、b)形態に関わらず、ソフトウェア、つまり、ファームウェア、マイクロコード等を含み、機能を実施するためにソフトウェアの実行に適した回路と組み合わせたものも包含する。このような請求の範囲によって定義される本発明の原理は、請求項に記載された様々な手段によって提供される機能が請求の範囲の要件として、組み合わせられ、まとめられている事実に基づいたものである。従って、このような機能を提供することが可能な手段はどのようなものであっても、本願において示されているものと均等であるとみなされる。
【0025】
明細書において、本発明の原理の「一実施形態」、「実施形態」、または、この類の表現が言及されている場合、これは、実施形態に関して記載される特定の特徴事項、構造、特性などが本発明の原理の少なくとも1つの実施形態に含まれることを意味する。従って、明細書全体に渡って様々な箇所に存在する文言「一実施形態においては」、「実施形態においては」、または、この類の表現は、必ずしも、全てが同一の実施形態について言及するものではない。
【0026】
「/(スラッシュ)」、「および/または」、さらに、「〜のうちの少なくとも一方(〜のうちの少なくとも1つ)」の使用は、例えば「A/B」、「Aおよび/またはB」、「AおよびBのうちの少なくとも一方」の場合、1番目に列挙されたオプション(A)のみの選択、2番目に列挙されたオプション(B)のみの選択、または、両方のオプション(AおよびB)の選択を包含するものと意図されている。別の例として、「A、B、および/またはC」、さらに、「A、B、およびCのうちの少なくとも1つ」の場合、このような文言は、1番目に列挙されたオプション(A)のみの選択、2番目に列挙されたオプション(B)のみの選択、3番目に列挙されたオプション(C)のみの選択、1番目および2番目に列挙されたオプション(AおよびB)のみの選択、1番目および3番目に列挙されたオプション(AおよびC)のみの選択、2番目および3番目に列挙されたオプション(BおよびC)のみの選択、または、全ての3つのオプション(A、B、およびC)の選択を包含するものと意図されている。列挙された数の項目の分だけ、このことが拡張されることは、当該技術分野、さらに、関連する技術分野における通常の技術知識を有するものであれば容易に理解できるであろう。
【0027】
また、本明細書において使用される単語「ピクチャ」および「イメージ」は、同じ意味で使用され、静止画像または、ビデオ・シーケンスからのピクチャを意味する。公知であるように、ピクチャは、フレームやフィールドであったりする。
【0028】
また、本明細書において使用される単語「信号伝達(signal)」は、特に、何かを対応する復号器に示すものを指す。例えば符号化器は、符号化器の側で使用した特定のパーティション・タイプおよび/またはパーティション・モードを復号器に知らせるために、クロマ符号化のための特定のパーティション・タイプおよび/またはパーティション・モードを信号により伝達する。このようにして、同一の機能を符号化器側と、復号器側の双方で用いることができる。従って、例えば符号化器は、特定のパーティション・タイプおよび/またはパーティション・モードを復号器に送信し、復号器が同一のパーティション・タイプおよび/またはパーティション・モードを用いることができるようにしてもよく、復号器が既に他のものと共に特定のパーティション・タイプおよび/またはパーティション・モードを有する場合には、(データを送信することなく)信号による伝達により、単純に、復号器に対し、特定のパーティション・タイプおよび/またはパーティション・モードを知らせ、これを選択させるようにしてもよい。任意の実際の特定のパーティション・タイプおよび/またはパーティション・モードの送信を回避することによって、ビット節約を実現できる。信号による伝達は、様々な方法で行えることが理解されよう。例えば1つ以上のシンタックス要素、フラグなどを用いて対応する復号器に情報を信号により伝達することができる。
【0029】
さらに、本明細書において使用される用語「スーパーブロック」は、1つ以上のマクロブロックを指す。
【0030】
さらに、本明細書において使用される表現「マルチパーティション・タイプ(複数のパーティション・タイプ)がイントラ・クロマ符号化のためにサポートされる」は、イントラ・クロマ符号化のためのパーティション・タイプが1つの特定のパーティション・タイプに固定されずに、むしろ、選択がイントラ・クロマ符号化のための複数のパーティション・タイプのセットに関して行われ、イントラ・クロマ符号化のための複数のパーティション・タイプのセットが符号化のためにさらに利用可能なイントラ・ルマ符号化の複数のパーティション・タイプのセットとは異なる場合を指す。
【0031】
さらに、本明細書において、本発明の原理の1つ以上の実施形態は、MPEG−4 AVC規格に関して記載されているが、本発明の原理は、この規格のみに限定されるものではなく、従って、本発明の原理は、本発明の原理の精神を逸脱することなく、MPEG−4 AVC規格の拡張版を含む、他のビデオ符号化規格、勧告およびその拡張版にも利用できることが理解されよう。
【0032】
図4を参照するに、本発明の原理が適用される例示的なビデオ符号化器が概ね参照符号400によって示されている。
【0033】
ビデオ符号化器400は、結合器485の非反転入力部と信号通信する出力部を有するフレーム順序付けバッファ410を含む。結合器485の出力部は、変換器/量子化器425の第1の入力部と信号通信するように結合されている。変換器/量子化器425の出力部は、エントロピー符号化器445の第1の入力部と、逆変換器/逆量子化器450の第1の入力部と信号通信するように結合されている。エントロピー符号化器445の出力部は、結合器490の第1の非反転入力部と信号通信するように結合されている。結合器490の出力部は、出力バッファ435の第1の入力部と信号通信するように結合されている。
【0034】
符号化器コントローラ405の第1の出力部は、フレーム順序付けバッファ410の第2の入力部と、逆変換器/逆量子化器450の第2の入力部と、ピクチャ・タイプ決定モジュール415の入力部と、マクロブロック・タイプ(MBタイプ)決定モジュール420の第1の入力部と、クロマ符号化のためのマルチパーティションをサポートしたイントラ予測モジュール460の第2の入力部と、デブロッキング・フィルタ465の第2の入力部と、動き補償器470の第1の入力部と、動き推定器475の第1の入力部と、参照ピクチャ・バッファ480の第2の入力部と信号通信するように結合されている。
【0035】
符号化器コントローラ405の第2の出力部は、補助拡張情報(SEI)挿入器430の第1の入力部と、変換器/量子化器425の第2の入力部と、エントロピー符号化器445の第2の入力部と、出力バッファ435の第2の入力部と、シーケンス・パラメータ・セット(Sequence Parameter Set(SPS))/ピクチャ・パラメータ・セット(Picture Parameter Set(PPS))挿入器440の入力部と信号通信するように結合されている。
【0036】
SEI挿入器430の出力部は、結合器490の第2の非反転入力部と信号通信するように結合されている。
【0037】
ピクチャ・タイプ決定モジュール415の第1の出力部は、フレーム順序付けバッファ410の第3の入力部と信号通信するように結合されている。ピクチャ・タイプ決定モジュール415の第2の出力部は、マクロブロック・タイプ決定モジュール420の第2の入力部と信号通信するように結合されている。
【0038】
シーケンス・パラメータ・セット(SPS)/ピクチャ・パラメータ・セット(PPS)挿入器440の出力部は、結合器490の第3の非反転入力部と信号通信するように結合されている。
【0039】
逆変換器/逆量子化器450の出力部は、結合器419の第1の非反転入力部と信号通信するように結合されている。結合器419の出力部は、クロマ符号化のためのマルチパーティションをサポートしたイントラ予測モジュール460の第1の入力部と、デブロッキング・フィルタ465の第1の入力部と信号通信するように結合されている。デブロッキング・フィルタ465の出力部は、参照ピクチャ・バッファ480の第1の入力部と信号通信するように結合されている。参照ピクチャ・バッファ480の出力部は、動き推定器475の第2の入力部と動き補償器470の第3の入力部と信号通信するように結合されている。動き推定器475の第1の出力部は、動き補償器470の第2の入力部と信号通信するように結合されている。動き推定器475の第2の出力部は、エントロピー符号化器445の第3の入力部と信号通信するように結合されている。
【0040】
動き補償器470の出力部は、スイッチ497の第1の入力部と信号通信するように結合されている。クロマ符号化のためのマルチパーティションをサポートしたイントラ予測モジュール460の出力部は、スイッチ497の第2の入力部と信号通信するように結合されている。マクロブロック・タイプ決定モジュール420の出力部は、スイッチ497の第3の入力部と信号通信するように結合されている。スイッチ497の第3の入力部は、スイッチの(制御入力部、即ち、第3の入力部と比較される)「データ」入力が、動き補償器470またはクロマ符号化のためのマルチパーティションをサポートしたイントラ予測モジュール460によって供給されるかどうかを判定する。スイッチ497の出力部は、結合器419の第2の非反転入力部および結合器485の反転入力部と信号通信するように結合されている。
【0041】
フレーム順序付けバッファ410の第1の入力部および符号化器コントローラ405の入力部は、符号化器400の入力部として、入力ピクチャ401を受信するために利用可能である。さらに、補助拡張情報(SEI)挿入器430の第2の入力部は、符号化器400の入力部として、メタデータを受信するために利用可能である。出力バッファ435の出力部は、符号化器400の出力部として、ビットストリームを出力するために利用可能である。
【0042】
図5を参照するに、本発明の原理が適用される例示的なビデオ復号器が概ね参照符号500によって示されている。
【0043】
ビデオ復号器500は、エントロピー復号器545の第1の入力部と信号通信するように結合された出力部を有する入力バッファ510を含む。エントロピー復号器545の第1の出力部は、逆変換器/逆量子化器550の第1の入力部と信号通信するように結合されている。逆変換器/逆量子化器550の出力部は、結合器525の第2の非反転入力部と信号通信するように結合されている。結合器525の出力部は、デブロッキング・フィルタ565の第2の入力部と、クロマ復号のためのマルチパーティションをサポートしたイントラ予測モジュール560の第1の入力部と信号通信するように結合されている。デブロッキング・フィルタ565の第2の出力部は、参照ピクチャ・バッファ580の第1の入力部と信号通信するように結合されている。参照ピクチャ・バッファ580の出力部は、動き補償器570の第2の入力部と信号通信するように結合されている。
【0044】
エントロピー復号器545の第2の出力部は、動き補償器570の第3の入力部と、デブロッキング・フィルタ565の第1の入力部とクロマ復号のためのマルチパーティションをサポートしたイントラ予測器560の第3の入力部と信号通信するように結合されている。エントロピー復号器545の第3の出力部は、復号器コントローラ505の入力部と信号通信するように結合されている。復号器コントローラ505の第1の出力部は、エントロピー復号器545の第2の入力部と信号通信するように結合されている。復号器コントローラ505の第2の出力部は、逆変換器/逆量子化器550の第2の入力部と信号通信するように結合されている。復号器コントローラ505の第3の出力部は、デブロッキング・フィルタ565の第3の入力部と信号通信するように結合されている。復号器コントローラ505の第4の出力部は、クロマ復号のためのマルチパーティションをサポートしたイントラ予測モジュール560の第2の入力部と、動き補償器570の第1の入力部と、参照ピクチャ・バッファ580の第2の入力部と信号通信するように結合されている。
【0045】
動き補償器570の出力部は、スイッチ597の第1の入力部と信号通信するように結合されている。クロマ復号のためのマルチパーティションをサポートしたイントラ予測モジュール560の出力部は、スイッチ597の第2の入力部と信号通信するように結合されている。スイッチ597の出力部は、結合器525の第1の非反転入力部と信号通信するように結合されている。
【0046】
入力バッファ510の入力部は、復号器500の入力部として、入力ビットストリームを受信するために利用可能である。デブロッキング・フィルタ565の第1の出力部は、復号器500の出力部として、出力ピクチャを出力するために利用可能である。
【0047】
符号化器400に関し、クロマ符号化のためのマルチパーティションをサポートしたイントラ予測器460は、本発明の原理に係る1つ以上の実施形態に従った改善されたイントラ・クロマ符号化を実行するように構成されている。復号器500に関し、クロマ復号のためのマルチパーティションをサポートしたイントラ予測器560は、本発明の原理に係る1つ以上の実施形態に従った改善されたイントラ・クロマ復号を実行するように構成されている。
【0048】
上述したように、本発明の原理は、改善されたイントラ・クロマ符号化および復号に関する。さらに、上述したように、従来技術に関しては、イントラ・クロマ符号化のために1つのパーティション・タイプのみを使用することができる。イントラ符号化されたマクロブロックの各8×8のクロマ成分は、4つのイントラ予測モードを用いて予測され、2×2のDCアダマール変換とカスケードされた4×4の整数DCTを使用する。ルマ・パーティション・タイプに関わらず、クロマ・パーティション・タイプは固定されている。従って、改善の余地があることを認識し、イントラ・クロマ符号化のための改善された符号化効率のアプローチを開発した。本発明の原理に係る1つ以上の実施形態は、大きなイントラ・パーティション・タイプに対して特に効果的である。
【0049】
上述したように、1つ以上の実施形態は、例示的な目的でMPEG−4 AVC規格について言及していることがあるが、本発明の原理は、このMPEG−4 AVC規格のみに限定されるものではなく、本発明の原理の精神を逸脱することなく、他のビデオ符号化規格、勧告およびその拡張版にも利用することができる。さらに、例示的な目的でMPEG−4 AVC規格の4:2:0フォーマットに関して1つ以上の実施形態について記載していることがあるが、本発明の原理は、上述したもののみに限定されるものではなく、従って、限定するものではないが、本発明の原理の精神を逸脱することなく、MPEG−4 AVC規格の4:2:2フォーマットまたは4:4:4フォーマットを含み、他の規格、勧告および/またはその拡張版の他のフォーマットにも適用することができる。むしろ、各実施形態に共通する特定の態様は、イントラ・クロマ符号化のマルチパーティション・タイプ(複数のパーティション・タイプ)を使用可能にすることに関わる。
【0050】
方法1
第1の例示的な方法(この方法は、本明細書において方法1とも呼ぶ)に従って、クロマ・パーティション・タイプがルマ・パーティション・タイプによって決定される。しかしながら、第2の従来技術に係るアプローチの場合とは異なり、クロマ・パーティション・タイプは、パーティション・タイプの所定のセットについて、ルマ・パーティション・タイプに合わせられる。例えば、ルマ・パーティション・タイプが8×8である場合、4:2:0フォーマットのためのクロマ・パーティション・タイプは、第2の従来技術に係るアプローチの場合と同様に、8×8のクロマの代わりに4×4になる。これは、クロマのサイズがルマの1/2だからである。変換に関しては、各クロマ・パーティション・タイプについて、所定の変換セットからのパーティション・タイプと一致する最も大きなサイズの利用可能な変換を選択する。最も大きなサイズの利用可能な変換が、パーティション・タイプよりも小さい場合には、一般に、カスケードされた変換と呼ぶDC係数に対するアダマール変換を適用することができる。パーティション・タイプ内でのルマ・イントラ予測モードおよびクロマ・イントラ予測モードに対する制約は課さない。ルマ・イントラ・モードおよびクロマ予測モードは、同一であることもあるし、異なることもある。信号による伝達に関しては、ルマ・パーティション・タイプのみを信号により伝達し、クロマ・パーティション・タイプは信号により伝達しない。この理由は、クロマ・パーティション・タイプは、ルマ・パーティション・タイプに基づいて決定されるからである。ルマ・パーティション・タイプは、絶対的に符号化されることもあれば、近傍のブロックから差分符号化されることもある。
【0051】
実施形態1
次に、方法1の例示的な実施形態(以下、「実施形態1」と呼ぶ)について記載する。スーパーブロックのサイズが32×32であると仮定する。Luma_Partition_Type ={Luma_32×32, Luma_16×16, Luma_8×8, Luma_4×4}、 Chroma_Partition_Type = {Chroma_16×16, Chroma_8×8, Chroma_4×4}、さらにDCT_Transform_Size = {16×16, 8×8, 4×4}を規定する。本発明の原理に基づいて、基本的な符号化単位を8×8であると定める。luma_partition_typeとchroma_partition_typeとの間の詳細なマッピングおよび対応する変換が表2に示されている。即ち、表2は、本発明の原理の実施形態に従って、4:2:0のフォーマットのイントラ符号化に使用される予測パーティション・サイズおよび変換を示す。スーパーブロック内の符号化を実行する際、全てのルマ・パーティション・タイプに対するループを実行し、ルマ成分に対してモード決定を実行して最良のルマ・パーティション・タイプ(luma_partition_type)およびルマ・イントラ予測モードを選択する。次に、クロマ・パーティション・タイプが最良のルマ・パーティション・タイプ(luma_partition_type)に基づいて決定され、最良のクロマ・イントラ予測モードが選択される。ルマ・パーティション・タイプ(luma_partition_type)、ルマ・モード、およびクロマ・モードのみを信号により伝達する。復号器側において、ルマ・パーティション・タイプ(luma_partition_type)、ルマ・モード、およびクロマ・モードのみをパージングする。
【表2】
【0052】
図6を参照するに、イントラ・クロマ符号化のための例示的な方法が概ね参照符号600によって示されている。方法600は、上述した実施形態1の一実施態様に対応する。方法600は、制御を機能ブロック610に受け渡す開始ブロック605を含む。機能ブロック610は、符号化セットアップを実行し、制御をループ端ブロック620に受け渡す。ループ端ブロック620は、各スーパーブロックに対するループを開始し、制御をループ端ブロック630に受け渡す。ループ端ブロック630は、ルマ・パーティションに対するループを開始し、制御を機能ブロック640に受け渡す。機能ブロック640は、(例えば、レート歪みコストに基づいて)最良のルマ・モードを選択し、制御をループ端ブロック650に受け渡す。ループ端ブロック650は、各ルマ・パーティションに対するループを終了し、制御を機能ブロック660に受け渡す。機能ブロック660は、(例えば、レート歪みコストに基づいて)最良のルマ・パーティションおよびルマ・モードを設定し、制御を機能ブロック670に受け渡す。機能ブロック670は、最良のルマ・パーティションに基づいて最良のクロマ・パーティションを設定し、制御を機能ブロック680に受け渡す。機能ブロック680は、最良のクロマ・モードを選択し、制御を機能ブロック690に受け渡す。機能ブロック690は、ルマ・パーティション、ルマ・モード、および、クロマ・モードを符号化し、制御をループ端ブロック695に受け渡す。ループ端ブロック695は、スーパーブロックに対するループを終了し、制御を終了ブロック699に受け渡す。機能ブロック690に関し、ルマ・パーティションは、絶対的に符号化されることもあれば、1つ以上の近傍のブロックから差分符号化されることもある。
【0053】
図7を参照するに、イントラ・クロマ復号のための例示的な方法が概ね参照符号700によって示されている。方法700は、上述した実施形態1の一実施態様に対応する。方法700は、制御をループ端ブロック710に受け渡す開始ブロック705を含む。ループ端ブロック710は、各スーパーブロックに対するループを開始し、制御を機能ブロック720に受け渡す。機能ブロック720は、ルマ・パーティションをパージングし、制御を機能ブロック730に受け渡す。機能ブロック730は、(機能ブロック720によってパージングされるルマ・パーティションに基づいて)クロマ・パーティションを設定し、制御を機能ブロック740に受け渡す。機能ブロック740はルマ・モードをパージングし、制御を機能ブロック750に受け渡す。機能ブロック750は、クロマ・モードをパージングし、制御を機能ブロック760に受け渡す。機能ブロック760は、(機能ブロック720、730、740、および750によってパージング/設定された項目を使用して)1つのスーパーブロックを復号し、制御をループ端ブロック770に受け渡す。ループ端ブロック770は、スーパーブロックに対するループを終了し、制御を終了ブロック799に受け渡す。
【0054】
シンタックス1
表3は、本発明の原理に係る実施形態に従った、実施形態1の例示的なマクロブロック層シンタックスを示している。
【表3】
【0055】
表3におけるシンタックス要素のセマンティックスは、以下の通りである。
【0056】
intra32_flag equal to 1(intra32_flagが1である)は、32×32の大きなブロックのためにLuma_32×32が使用されることを規定する。
intra32_flag equal to 0(intra32_flagが0である)は、32×32の大きなブロックがさらに、16×16のパーティションに分割されることを規定する。
【0057】
intra_luma_pred_mode_32は、Luma_32×32のイントラ予測モードを規定する。
【0058】
intra_chroma_pred_mode_16は、Chroma_16×16のイントラ予測モードを規定する。
【0059】
sip_type_16[i]は、i番目の16×16のルマ・ブロックにおける空間イントラ・パーティション・タイプを規定する。空間イントラ・パーティション・タイプには、Luma_16×16、Luma_8×8、およびLuma_4×4がある。
【0060】
intra_luma_pred_mode_16[i]は、i番目の16×16のルマ・ブロックのLuma_16×6のイントラ予測モードを規定する。
【0061】
intra_chroma_pred_mode_8[i]は、i番目の16×16のルマ・ブロックのChroma_8×8のイントラ予測モードを規定する。
【0062】
intra_luma_pred_mode_8[i]は、i番目の8×8のルマ・ブロックのLuma_8×8のイントラ予測モードを規定する。
【0063】
intra_luma_pred_mode_4[i]は、i番目の4×4のルマ・ブロックのLuma_4×4のイントラ予測モードを規定する。
【0064】
intra_chroma_pred_mode_4[i]は、i番目の8×8のルマ・ブロックのChroma_4×4のイントラ予測モードを規定する。
【0065】
方法2
第2の方法(方法2とも呼ぶ)においては、イントラ・ルマ・パーティション・タイプおよびクロマ・パーティション・タイプは、マクロブロック(MB)またはスーパーブロック内で独立して符号化される。MPEG−4 AVC規格における4:4:4のセパレート・モードとの差異は、スライスに基づくことなくマクロブロック/スーパーブロックに基づいて決定が行われ、ルマおよびクロマは、異なるイントラ予測モードを有することがある点である。他のプロファイルのためのMPEG−4AVC規格との差異は、MPEG−4 AVC規格では1つのクロマ・パーティション・タイプしか利用できないのに対し、本実施形態では、複数のクロマ・パーティション・タイプのセットを利用できる点である。変換選択ルールは、方法1のものと同様である。信号による伝達については、ルマ・パーティション・タイプおよびクロマ・パーティション・タイプ、さらに、ルマ・モードおよびクロマ・モードを信号により伝達する。ルマ・パーティション・タイプおよびクロマ・パーティション・タイプは、絶対的に符号化されることもあれば、近傍のブロックから差分符号化されることがある。代替的には、クロマ・パーティション・タイプは、ルマ・パーティション・タイプから差分符号化されることがある。クロマは、ルマと同一のエントロピー符号化エンジンを使用することもあるし、ルマとは異なるエントロピー符号化エンジンを使用することもある。
【0066】
実施形態2
次に、方法2の例示的な実施形態(以下、「実施形態2」と呼ぶ)について記載する。スーパーブロックのサイズが32×32であると仮定する。Luma_Partition_Type ={Luma_32×32, Luma_16×16, Luma_8×8, Luma_4×4}、 Chroma_Partition_Type = {Chroma_16×16, Chroma_8×8, Chroma_4×4}、さらにDCT_Transform_Size = {16×16, 8×8, 4×4}を規定する。スーパーブロック内の符号化を実行する際、全ての想定されるルマ・パーティション・タイプおよび対応する予測モードに対するループを試行することによって、まず、ルマ成分を符号化し、その後、最良のルマ・パーティション・タイプおよびモードを選択する。次に、全ての想定されるクロマ・パーティション・タイプおよび対応する予測モードに対するループを試行することによって、クロマ成分を符号化し、その後、最良のルマ・パーティション・タイプおよびモードを選択する。ルマ・パーティション・タイプおよびクロマ・パーティション・タイプの双方を符号化する。復号器側では、ルマ・パーティション・タイプおよびクロマ・パーティション・タイプの両方のシンタックスをパージングする。
【0067】
図8を参照するに、イントラ・クロマ符号化のための別の例示的な方法が概ね参照符号800によって示されている。方法800は、上述した実施形態2の一実施態様に対応する。方法800は、制御を機能ブロック810に受け渡す開始ブロック805を含む。機能ブロック810は、符号化セットアップを実行し、制御をループ端ブロック820に受け渡す。ループ端ブロック820は、各スーパーブロックに対するループを開始し、制御をループ端ブロック830に受け渡す。ループ端ブロック830は、各ルマ・パーティションに対するループを開始し、制御を機能ブロック840に受け渡す。機能ブロック840は、(例えば、レート歪みコストに基づいて)最良のルマ・モードを選択し、制御をループ端ブロック850に受け渡す。ループ端ブロック850は、ルマ・パーティションに対するループを終了し、制御を機能ブロック860に受け渡す。機能ブロック860は、(例えば、レート歪みコストに基づいて)最良のルマ・パーティションおよびルマ・モードを設定し、制御をループ端ブロック870に受け渡す。ループ端ブロック870は、各クロマ・パーティションに対するループを開始し、制御を機能ブロック875に受け渡す。機能ブロック875は、最良のクロマ・モードを選択し、制御をループ端ブロック880に受け渡す。ループ端ブロック880は、各クロマ・パーティションに対するループを終了し、制御を機能ブロック885に受け渡す。機能ブロック885は、最良のクロマ・パーティションおよびクロマ・モードを設定し、制御を機能ブロック890に受け渡す。機能ブロック890は、ルマ・パーティション、ルマ・モード、クロマ・パーティション、およびクロマ・モードを符号化し、制御をループ端ブロック895に受け渡す。ループ端ブロック895は、スーパーブロックに対するループを終了し、制御を終了ブロック899に受け渡す。機能ブロック890に関し、ルマ・パーティションおよびクロマ・パーティションは、絶対的に符号化されることもあれば、1つ以上の近傍のブロックから差分符号化されることもある。また、クロマ・パーティションは、ルマ・パーティションから差分符号化されることがある。
【0068】
図9を参照するに、イントラ・クロマ復号のための別の例示的な方法が概ね参照符号900によって示されている。方法900は、上述した実施形態2の一実施態様に対応する。方法900は、制御をループ端ブロック910に受け渡す開始ブロック905を含む。ループ端ブロック910は、各スーパーブロックに対するループを開始し、制御を機能ブロック920に受け渡す。機能ブロック920は、ルマ・パーティションをパージングし、制御を機能ブロック930に受け渡す。機能ブロック930は、ルマ・モードをパージングし、制御を機能ブロック940に受け渡す。機能ブロック940は、クロマ・パーティションをパージングし、制御を機能ブロック950に受け渡す。機能ブロック950は、クロマ・モードをパージングし、制御を機能ブロック960に受け渡す。機能ブロック960は、(機能ブロック920、930、940、および950によってパージングされた各項目を使用して)1つのスーパーブロックを復号し、制御をループ端ブロック970に受け渡す。ループ端ブロック970は、スーパーブロックに対するループを終了し、制御を終了ブロック999に受け渡す。
【0069】
シンタックス2
表4は、本発明の原理に係る実施形態に従った、実施形態2の例示的なマクロブロック層シンタックスを示している。
【表4】
【0070】
表4におけるシンタックス要素のセマンティックスは、以下の通りである。
【0071】
intra32_flag equal to 1(intra32_flagが1である)は、32×32の大きなブロックのためにLuma_32×32が使用されることを規定する。
intra32_flag equal to 0(intra32_flagが0である)は、32×32の大きなブロックがさらに、16×16のパーティションに分割されることを規定する。
【0072】
intra_luma_pred_mode_32は、Luma_32×32のイントラ予測モードを規定する。
【0073】
sip_type_16[i]は、i番目の16×16のルマ・ブロックにおける空間イントラ・パーティション・タイプを規定する。空間イントラ予測タイプには、Luma_16×16、Luma_8×8、およびLuma_4×4がある。
【0074】
intra_luma_pred_mode_16[i]は、i番目の16×16のルマ・ブロックのLuma_16×6のイントラ予測モードを規定する。
【0075】
intra_luma_pred_mode_8[i]は、i番目の8×8のルマ・ブロックのLuma_8×8のイントラ予測モードを規定する。
【0076】
intra_luma_pred_mode_4[i]は、i番目の4×4のルマ・ブロックのLuma_4×4のイントラ予測モードを規定する。
【0077】
sip_chroma_type_16[i]は、i番目の16×16のクロマ・ブロックにおける空間イントラ・パーティション・タイプを規定する。空間イントラ・パーティション・タイプには、Chroma_16×16、Chroma_8×8、およびChroma_4×4がある。
【0078】
intra_chroma_pred_mode_16は、Chroma_16×16のイントラ予測モードを規定する。
【0079】
intra_chroma_pred_mode_8[i]は、i番目の8×8のクロマ・ブロックのChroma_8×8のイントラ予測モードを規定する。
【0080】
intra_chroma_pred_mode_4[i]は、i番目の4×4のクロマ・ブロックのChroma_4×4のイントラ予測モードを規定する。
【0081】
本発明の多くの付随する利点/特徴の幾つかについて説明する。これらの幾つかは既に述べた通りのものである。例えば1つの利点/特徴は、ピクチャ内の少なくともブロックについてのピクチャ・データを符号化する符号化器を有する装置である。ブロックのイントラ・クロマ符号化のために、複数のパーティション・タイプがサポートされる。複数のパーティション・タイプは、クロマ・パーティション・タイプのセットとルマ・パーティション・タイプのセットを含む。クロマ・パーティション・タイプのセットは、ルマ・パーティション・タイプのセットとは異なる。
【0082】
さらに、別の利点/特徴は、上述した符号化器を有する装置であって、ブロックまたは1つ以上の近傍のブロックを符号化するために利用されるルマ・パーティション・タイプに応じて、クロマ・パーティション・タイプのセットから、ブロックを符号化するための特定のクロマ・パーティション・タイプが決定され、ルマ・パーティション・タイプがルマ・パーティション・タイプのセットに含まれる、この装置である。
【0083】
さらに、別の利点/特徴は、上述したような、符号化器を有し、ブロックまたは1つ以上の近傍のブロックを符号化するために利用されるルマ・パーティション・タイプに応じて、クロマ・パーティション・タイプのセットから、ブロックを符号化するための特定のクロマ・パーティション・タイプが決定され、ルマ・パーティション・タイプがルマ・パーティション・タイプのセットに含まれる装置であって、特定のクロマ・パーティション・タイプのために、この特定のクロマ・パーティション・タイプと一致する最も大きなサイズの利用可能な変換が変換のセットから選択される、この装置である。
【0084】
さらに、別の利点/特徴は、上述したような、符号化器を有し、ブロックまたは1つ以上の近傍のブロックを符号化するために利用されるルマ・パーティション・タイプに応じて、クロマ・パーティション・タイプのセットから、ブロックを符号化するための特定のクロマ・パーティション・タイプが決定され、ルマ・パーティション・タイプがルマ・パーティション・タイプのセットに含まれる装置であって、ブロックを符号化するために選択された特定のルマ・パーティション・タイプおよび特定のクロマ・パーティション・タイプのうち、特定のルマ・パーティション・タイプのみが信号により伝達され、特定のルマ・パーティション・タイプは、ルマ・パーティション・タイプのセットから選択され、特定のクロマ・パーティション・タイプは、クロマ・パーティション・タイプのセットから選択される、この装置である。
【0085】
さらに、別の利点/特徴は、上述したような、符号化器を有し、ブロックを符号化するために選択された特定のルマ・パーティション・タイプおよび特定のクロマ・パーティション・タイプのうち、特定のルマ・パーティション・タイプのみが信号により伝達され、特定のルマ・パーティション・タイプは、ルマ・パーティション・タイプのセットから選択され、特定のクロマ・パーティション・タイプは、クロマ・パーティション・タイプのセットから選択される装置であって、特定のルマ・パーティション・タイプが絶対的に符号化される、または、1つ以上の近傍のブロックから差分符号化される、この装置である。
【0086】
さらに、別の利点/特徴は、上述した符号化器を有する装置であって、ブロックを符号化するために使用される特定のクロマ・パーティション・タイプは、ブロックを符号化するために使用される特定のルマ・パーティション・タイプとは独立して決定され、特定のクロマ・パーティション・タイプは、クロマ・パーティション・タイプのセットから決定され、特定のルマ・パーティション・タイプは、ルマ・パーティション・タイプのセットから決定される、この装置である。
【0087】
さらに、別の利点/特徴は、上述したような、符号化器を有し、ブロックを符号化するために使用される特定のクロマ・パーティション・タイプは、ブロックを符号化するために使用される特定のルマ・パーティション・タイプとは独立して決定され、特定のクロマ・パーティション・タイプは、クロマ・パーティション・タイプのセットから決定され、特定のルマ・パーティション・タイプは、ルマ・パーティション・タイプのセットから決定される装置であって、特定のクロマ・パーティション・タイプおよび特定のルマ・パーティション・タイプの両方が信号によって伝達される、この装置である。
【0088】
さらに、別の利点/特徴は、上述したような、符号化器を有し、特定のクロマ・パーティション・タイプおよび特定のルマ・パーティション・タイプの両方が信号によって伝達される装置であって、特定のルマ・パーティション・タイプおよび前記特定のクロマ・パーティション・タイプが絶対的に符号化される、または、1つ以上の近傍のブロックから差分符号化される、この装置である。
【0089】
さらに、別の利点/特徴は、上述したような、符号化器を有し、特定のクロマ・パーティション・タイプおよび特定のルマ・パーティション・タイプの両方が信号によって伝達される装置であって、特定のクロマ・パーティション・タイプが特定のルマ・パーティション・タイプから差分符号化される、この装置である。
【0090】
さらに、別の利点/特徴は、上述した符号化器を有する装置であって、ブロックを符号化するために使用されるクロマ・エントロピー符号化エンジンがブロックを符号化するために使用されるルマ・エントロピー符号化エンジンとは異なる、この装置である。
【0091】
本発明の原理のこれらの特徴およびその他の特徴は、関連する分野において通常の知識を有するものであれば、本明細書中の開示内容に基づいて、容易に解明することができるであろう。本発明の原理の開示内容は、ハードウェア、ソフトウェア、ファームウェア、特定用途向けプロセッサ、または、これらを組み合わせたものの形態で実施できることが理解されよう。
【0092】
より好ましくは、本発明の原理の開示内容は、ハードウェアおよびソフトウェアを組み合わせて実施される。さらに、ソフトウェアは、プログラム記憶装置上に現実的に実装されるアプリケーション・プログラムとして実施される。アプリケーション・プログラムは、適切なアーキテクチャからなるマシンにアップロードされ、このマシンによって実行されるようにしてもよい。好ましくは、このマシンは、1つ以上の中央処理装置(CPU)、ランダム・アクセス・メモリ(RAM)、入出力(I/O)インタフェースなどのハードウェアを有するコンピュータ・プラットフォーム上で実施される。また、コンピュータ・プラットフォームは、オペレーティング・システムおよびマイクロインストラクション・コードを含むようにしてもよい。本明細書中で開示される様々な処理および機能は、マイクロインストラクション・コードの一部を構成するものでもよいし、アプリケーション・プログラムの一部を構成するものであってもよいし、これらを組み合わせたものであってもよいし、CPUによって実行されるものであってもよい。さらに、追加的なデータ記憶装置や印刷機等、コンピュータ・プラットフォームに様々な他の周辺機器を結合するようにしてもよい。
【0093】
添付図面に示すシステムの構成要素および方法のステップの幾つかは、好ましくは、ソフトウェアの形態によって実施されるため、システムの構成要素または処理機能ブロック間の実際の結合は、本発明の原理をプログラムする方法によって異なる場合があることが理解されよう。本明細書の開示する内容に基づいて、関連する技術における通常の技術知識を有するものであれば、本発明の原理の実施態様または構成、さらに、類似した実施態様または構成を企図できるであろう。
【0094】
添付図面を参照して本明細書中で例示的な実施形態について説明したが、本発明はこれらの実施形態に厳格に限定されるものではなく、関連技術に関して通常の技術を有する者であれば、本発明の原理の範囲または精神を逸脱することなく、様々な変更、改変を施すことが可能であることが理解されよう。このような変更、改変は、全て、添付の請求の範囲に記載されたような本発明の原理の範囲に含まれるように意図されている。