(57)【要約】  本発明の態様は、イントラ予測システムおよびその方法に関する。本発明の一態様によれば、マクロブロックは、２つまたはそれ以上のブロックセットに分割される。第１のブロックセット内のブロックの画素値が、隣接するマクロブロックだけから再構成された値を用いて、予測される。次に、他のブロックセット内のブロックの画素値が、先に再構成されたブロックセット内のブロックから再構成された値、および／または、隣接するマクロブロックから再構成された値を用いて、予測される。ブロックセット内のブロックの画素値は、並列的に予測される。
2013524670.tif 000002
【特許請求の範囲】
【請求項１】
マクロブロックのイントラ予測の方法であって、
（ａ）動画像装置において、マクロブロックの第１のブロックにおける複数の画素値を予測する工程を含み、
（i）上記第１のブロックが、上記マクロブロックのパーティションにおける、第１の複数のブロック内にある場合には、上記複数の画素値を予測する上記工程は、上記マクロブロックに隣接する１つまたは複数のマクロブロックだけから再構成された画素値を使用し、
（ii）上記第１のブロックが、上記マクロブロックの上記パーティションにおける、第２の複数のブロック内にある場合には、上記複数の画素値を予測する上記工程は、上記第１の複数のブロックから再構成された画素値、または、上記マクロブロックに隣接する１つまたは複数のマクロブロックから再構成された画素値を使用する、方法。
【請求項２】
上記動画像装置は、動画像符号化器、動画像復号器、および動画像トランスコーダから成る群から選択される装置である、請求項１に記載の方法。
【請求項３】
上記第１の複数のブロックおよび上記第２の複数のブロックは、互いに市松模様を形成する、請求項１に記載の方法。
【請求項４】
上記第２の複数のブロックの各ブロックは、上記第１の複数のブロック内の第１の隣接ブロックを有する、請求項１に記載の方法。
【請求項５】
上記パーティションを決定する工程をさらに含む、請求項１に記載の方法。
【請求項６】
上記パーティションを決定する上記工程は、ビットストリームからの情報を復号する工程を含む、請求項５に記載の方法。
【請求項７】
上記第１のブロックが、上記マクロブロックの上記パーティションにおける、第３の複数のブロック内にある場合には、上記複数の画素値を予測する上記工程は、上記第１の複数のブロックから再構成された画素値、上記第２の複数のブロックから再構成された画素値、または、上記マクロブロックに隣接する１つまたは複数のマクロブロックから再構成された画素値を使用する、請求項１に記載の方法。
【請求項８】
（ａ）上記第１のブロックに関連する第１の残差を算出する工程と、
（ｂ）上記第１の残差を、ビットストリームにおいて符号化する工程とをさらに含む、請求項１に記載の方法。
【請求項９】
（ａ）上記第１のブロックに関連する第１の残差を復号する工程と、
（ｂ）上記第１の残差を、予測された上記複数の画素値と組み合わせる工程とをさらに含む、請求項１に記載の方法。
【請求項１０】
マクロブロックのイントラ予測の方法であって、
（ａ）動画像装置において、再構成されたマクロブロックだけから再構成された画素値を用いて、マクロブロック内の第１の複数のブロックを予測する工程と、
（ｂ）上記動画像装置において、上記第１の複数のブロックを予測する上記工程の後に、上記第１の複数のブロック内の再構成されたブロック、または上記再構成されたマクロブロックを用いて、上記マクロブロック内の第２の複数のブロックを予測する工程とを含む方法。
【請求項１１】
上記動画像装置は、動画像符号化器、動画像復号器、および動画像トランスコーダから成る群から選択される装置である、請求項１０に記載の方法。
【請求項１２】
上記第１の複数のブロックおよび上記第２の複数のブロックは、互いに市松模様を形成する、請求項１０に記載の方法。
【請求項１３】
上記第２の複数のブロックの各ブロックは、上記第１の複数のブロック内の第１の隣接ブロックを有する、請求項１０に記載の方法。
【請求項１４】
上記第１の複数のブロックを予測する上記工程、および、上記第２の複数のブロックを予測する上記工程の後に、上記第１の複数のブロック内の再構成されたブロック、上記第２の複数のブロック内の再構成されたブロック、または、上記再構成されたマクロブロックを用いて、上記マクロブロック内の第３の複数のブロックを予測する工程をさらに含む、請求項１０に記載の方法。
【請求項１５】
上記マクロブロックを、上記第１の複数のブロックと、上記第２の複数のブロックと、上記第３の複数のブロックとに分割する工程をさらに含む、請求項１４に記載の方法。
【請求項１６】
上記再構成されたマクロブロックは、上記マクロブロックに隣接するマクロブロックである、請求項１０に記載の方法。
【請求項１７】
上記マクロブロックを、上記第１の複数のブロックと上記第２の複数のブロックとに分割する工程をさらに含む、請求項１０に記載の方法。
【請求項１８】
上記分割する工程は、ビットストリームからの情報を復号して、上記第１の複数のブロックおよび上記第２の複数のブロックを決定する工程を含む、請求項１７に記載の方法。
【請求項１９】
コンピュータ可読の媒体に記憶されたコンピュータプログラムプロダクトであって、コンピューティングシステムによって処理可能なコンピュータプログラムを備え、上記コンピュータプログラムは、上記コンピューティングシステムに、
（ａ）再構成されたマクロブロックだけから再構成された画素値を用いてマクロブロック内の第１の複数のブロックを予測する工程と、
（ｂ）上記第１の複数のブロックを予測する上記工程の後に、上記マクロブロック内の第２の複数のブロックを、上記第１の複数のブロック内の再構成されたブロック、または上記再構成されたマクロブロックを用いて予測する工程とを含む方法を実行させる、コンピュータプログラムプロダクト。
【請求項２０】
上記方法は、上記マクロブロックを、上記第１の複数のブロックと上記第２の複数のブロックとに分割する工程をさらに含む、請求項１９に記載のコンピュータプログラムプロダクト。
【請求項２１】
上記分割する工程は、ビットストリームを復号して、上記第１の複数のブロックおよび上記第２の複数のブロックを決定する工程を含む、請求項２０に記載のコンピュータプログラムプロダクト。
【請求項２２】
上記方法は、上記第１の複数のブロックを予測する上記工程、および、上記第２の複数のブロックを予測する上記工程の後に、上記第１の複数のブロック内の再構成されたブロック、上記第２の複数のブロック内の再構成されたブロック、または上記再構成されたマクロブロックを用いて、上記マクロブロック内の第３の複数のブロックを予測する工程をさらに含む、請求項１９に記載のコンピュータプログラムプロダクト。
【請求項２３】
上記方法は、上記マクロブロックを、上記第１の複数のブロックと、上記第２の複数のブロックと、上記第３の複数のブロックとに分割する工程をさらに含む、請求項２２に記載のコンピュータプログラムプロダクト。
【請求項２４】
上記第１の複数のブロックおよび上記第２の複数のブロックは、互いに市松模様を形成する、請求項１９に記載のコンピュータプログラムプロダクト。
【請求項２５】
上記第２の複数のブロックの各ブロックは、上記第１の複数のブロック内の第１の隣接ブロックを有する、請求項１９に記載のコンピュータプログラムプロダクト。
【請求項２６】
上記再構成されたマクロブロックは、上記マクロブロックに隣接するマクロブロックである、請求項１９に記載のコンピュータプログラムプロダクト。
【請求項２７】
上記コンピューティングシステムは、動画像符号化器、動画像復号器、および動画像トランスコーダから成る群から選択される装置の一部である、請求項１９に記載のコンピュータプログラムプロダクト。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、概して、動画像データの符号化および復号に関し、特に、イントラ予測方法およびイントラ予測システムに関する。
【背景技術】
【０００２】
従来技術の動画像符号化規格、例えばＨ．２６４／ＡＶＣや他の動画像符号化規格は、計算の複雑度の増大を代償として、高い符号化効率を提供可能である。計算の複雑度が増大すると、結果的に、符号化および／または復号速度が遅くなってしまう。さらに、計算の複雑度は、品質および解像度に関する要求が高くなるにつれて増大し得る。並列型復号および並列型符号化は、復号および符号化速度をそれぞれ向上させることが可能である。さらに、並列型復号および並列型符号化は、それぞれ、復号および符号化プロセスのメモリ帯域幅に関する要求を低減可能である。また、マルチコアプロセッサの発展に伴い、マルチコアプロセッサの能力を十分に利用するためには、並列型復号および並列型符号化が望ましい。
【発明の概要】
【０００３】
本発明の幾つかの実施形態は、イントラ予測方法およびイントラ予測システムを含む。
【０００４】
本発明の第１の態様によれば、１つのマクロブロックが、２つまたはそれ以上のブロックセットに分割される。１つのブロックセットは、複数のブロックまたは一群のブロックと呼ばれる。これらの複数のブロックセットは、マクロブロックのパーティションと呼ばれる。
【０００５】
本発明の第２の態様によれば、第１のブロックセット内の１つのブロックに対して、画素値を、隣接する１つまたは複数のマクロブロックのみから再構成された画素値を用いて予測することが可能である。次に、別のブロックセット内の１つのブロック内の画素値を、マクロブロックのパーティション内の、先に再構成された複数のブロックセットから再構成された画素値を用いて、および／または、隣接するマクロブロック内の再構成された画素値を用いて、予測する。
【０００６】
本発明の第３の態様によれば、マクロブロックのパーティション内の１つのブロックセット内のブロックを、並列的に符号化する。
【０００７】
本発明の第４の態様によれば、マクロブロックのパーティション内の１つのブロックセット内のブロックを、並列的に復号する。
【０００８】
本発明の上述および他の目的、特徴、および、利点は、以下の発明の詳細な説明を添付の図面と共に参照することによって、より容易に理解されよう。
【図面の簡単な説明】
【０００９】
【図１】Ｈ．２６４／ＡＶＣ用の、８ｘ８イントラ予測および４ｘ４イントラ予測の処理の順序、並びに他の符号化規格を示す図である（従来技術）。
【図２】Ｈ．２６４／ＡＶＣ用の、４ｘ４イントラ予測および８ｘ８イントラ予測のための、９つのイントラ予測モードの方向を示す図である（従来技術）。
【図３Ａ】典型的な１つのブロックを、隣接する再構成されたサンプルと共に示す図である（従来技術）。
【図３Ｂ】垂直方向のイントラ予測モードに関連する再構成された画素値を示す図である（従来技術）。
【図３Ｃ】水平方向のイントラ予測モードに関連する再構成された画素値を示す図である（従来技術）。
【図３Ｄ】対角線左下のイントラ予測モードに関連するイントラ予測モード方向を示す図である（従来技術）。
【図３Ｅ】対角線右下のイントラ予測モードに関連するイントラ予測モード方向を示す図である（従来技術）。
【図３Ｆ】垂直右のイントラ予測モードに関連付けられたイントラ予測モード方向を示す図である（従来技術）。
【図３Ｇ】水平下方のイントラ予測モードに関連付けられたイントラ予測モード方向を示す図である（従来技術）。
【図３Ｈ】垂直左のイントラ予測モードに関連付けられたイントラ予測モード方向を示す図である（従来技術）。
【図３Ｉ】水平上方のイントラ予測モードに関連付けられたイントラ予測モード方向を示す図である（従来技術）。
【図４】本発明の実施形態にかかる、マクロブロックを２つのブロックセットに分割する典型的な図である。
【図５Ａ】本発明の実施形態にかかる、マクロブロックを２つのブロックセットに分割する典型的な図である。
【図５Ｂ】本発明の実施形態にかかる、マクロブロックを２つのブロックセットに分割する典型的な図である。
【図５Ｃ】本発明の実施形態にかかる、マクロブロックを２つのブロックセットに分割する典型的な図である。
【図５Ｄ】本発明の実施形態にかかる、マクロブロックを２つのブロックセットに分割する典型的な図である。
【図５Ｅ】本発明の実施形態にかかる、マクロブロックを２つのブロックセットに分割する典型的な図である。
【図６Ａ】本発明の実施形態にかかる、マクロブロックを３つのブロックセットに分割する典型的な図である。
【図６Ｂ】本発明の実施形態にかかる、マクロブロックを３つのブロックセットに分割する典型的な図である。
【図７Ａ】本発明の実施形態にかかる、４ｘ４ブロックを３２ｘ３２マクロブロックに分割する典型的な図である。
【図７Ｂ】本発明の実施形態にかかる、４ｘ４ブロックを３２ｘ３２マクロブロックに分割する典型的な図である。
【図８】本発明の実施形態にかかる、マクロブロックを４つのブロックセットに分割する典型的な図である。
【図９】２つの１６ｘ１６マクロブロックと、隣接するマクロブロック画素とを含む画像の典型的な部分を示す図である。
【図１０】本発明の実施形態に係る、マクロブロックを２つのブロックセットに分割する典型的な図であり、モード予測のための、隣接ブロックを示す図である。
【図１１】典型的なマクロブロックと隣接する画素とを示す図である。
【図１２】本発明の実施形態に係る１８のイントラ予測モード方向を示す図である。
【図１３Ａ】本発明の実施形態に係る、対角線左下のイントラ予測モード方向の反対の方向におけるイントラ予測モード方向を示す図である。
【図１３Ｂ】本発明の実施形態に係る、対角線左下のイントラ予測モード方向の反対のイントラ予測モード方向のイントラ予測であって、回転を介し、かつ、「モード４」予測式を用いたイントラ予測を示す図である。
【図１４Ａ】本発明の実施形態に係る、対角線右下のイントラ予測モード方向の反対の方向におけるイントラ予測モード方向を示す図である。
【図１４Ｂ】本発明の実施形態に係る、対角線右下のイントラ予測モード方向の反対のイントラ予測モード方向のイントラ予測であって、回転を介し、かつ、「モード４」予測式を用いたイントラ予測を示す図である。
【図１５Ａ】本発明の実施形態に係る、垂直右のイントラ予測モード方向の反対の方向におけるイントラ予測モード方向を示す図である。
【図１５Ｂ】本発明の実施形態に係る、垂直右のイントラ予測モード方向の反対のイントラ予測モード方向のイントラ予測であって、回転を介し、かつ、「モード５」予測式を用いたイントラ予測を示す図である。
【図１６Ａ】本発明の実施形態に係る、水平下方のイントラ予測モード方向の反対の方向におけるイントラ予測モード方向を示す図である。
【図１６Ｂ】本発明の実施形態に係る、水平下方のイントラ予測モード方向の反対のイントラ予測モード方向のイントラ予測であって、回転を介し、かつ、「モード６」予測式を用いたイントラ予測を示す図である。
【図１７Ａ】本発明の実施形態に係る、垂直左のイントラ予測モード方向の反対の方向におけるイントラ予測モード方向を示す図である。
【図１７Ｂ】本発明の実施形態に係る、垂直左のイントラ予測モード方向の反対のイントラ予測モード方向のイントラ予測であって、回転を介し、かつ、「モード６」予測式を用いたイントラ予測を示す図である。
【図１８Ａ】本発明の実施形態に係る、水平上方のイントラ予測モード方向の反対の方向におけるイントラ予測モード方向を示す図である。
【図１８Ｂ】本発明の実施形態に係る、水平上方のイントラ予測モード方向の反対の方向イントラ予測モード方向におけるイントラ予測であって、反転を介して、かつ、「モード６」予測式を用いたイントラ予測を示す図である。
【図１９】反対方向の予測モードを用いてブロック画素値を予測することが有利である典型的なブロックを示す図である。
【図２０】本発明の実施形態に係る動画像符号化器を示す図である。
【図２１】本発明の実施形態に係る動画像復号器を示す図である。
【図２２】本発明の実施形態に係る符号語動画像符号化技術を示す図である。
【発明を実施するための形態】
【００１０】
本発明の実施形態は、図面を参照することによって、最も良好に理解されよう。図面では、全体を通して、類似の部分は類似の番号によって示されている。先に一覧で示した図面は、詳細な説明の一部として含まれることは明らかである。
【００１１】
ここに一般的に説明されると共に図面に記載される本発明の部材は、種々の異なる構成に配置または設計され得ることは理解されよう。従って以下の、本発明の方法およびシステムの実施形態のより詳細な説明は、発明の範囲を限定することを意図するものではなく、単に、本発明の、現在のところ好ましい実施形態を示すものである。
【００１２】
本発明の実施形態の構成要素は、ハードウェア、ファームウェア、および／またはソフトウェアにおいて実施され得る。ここに記載される典型的な実施形態は、これらの形態のうちの１つだけを記載するものであるが、当業者は、本発明の範囲内で、これらの構成要素をこれらの任意の形態において実現可能であろうことは理解されよう。
【００１３】
従来技術の動画像符号化規格、例えば、Ｈ．２６４／ＡＶＣおよび他の動画像符号化規格は、計算の複雑度の増大を代償として、より高い符号化効率を提供可能である。計算の複雑度が増大すると、結果として、符号化および／または復号速度が遅くなってしまう。さらに、計算の複雑度は、品質および解像度に関する要件が高くなるにつれて増大する。並列型復号および並列型符号化は、それぞれ、復号および符号化速度を向上させる。さらに、並列型復号および並列型符号化は、それぞれ、復号および符号化プロセスのメモリ帯域幅に関する要求を低減させることが可能である。また、マルチコアプロセッサの発展に伴い、マルチコアプロセッサの能力を十分に利用するためには、並列型復号および並列型符号化が望ましい。
【００１４】
イントラ予測は、動画像符号化の効率を下げる主な要因であり得る。多くの従来技術のビデオコーデック（符号化器／復号器）は、イントラ予測を用いて、空間冗長度を低減させる。これらの符号化器および復号器では、イントラ予測は、再構成された隣接ブロックを用いて、現在のブロックを予測する。従って、符号化器は、予測モードおよび予測残差だけを通知する。しかし、再構成された隣接ブロックへの依存性により、イントラ予測の並列化が妨げられる。ブロックのサイズがより小さいイントラ予測モードの場合には、この直列的依存性がより深刻な問題となる。多くのビデオコーデックは、画素のブロックをマクロブロックと呼ばれるより大きなブロックに統合する。例えば、１６ｘ１６マクロブロックが８ｘ８イントラ予測を用いるならば、マクロブロックを構成する４つの８ｘ８ブロックが連続的に処理される必要がある。しかし、１６ｘ１６マクロブロックが４ｘ４イントラ予測を用いるならば、１６個の４ｘ４ブロックが連続的に処理されなければならない。現在のイントラ予測スキームの直列的設計によれば、４ｘ４イントラ復号、８ｘ８イントラ復号、および１６ｘ１６イントラといった異なる予測モードに関連するマクロブロックの処理が、異なる復号サイクルをとる場合に、負荷が非均等になる。さらに、全てのマクロブロックが、イントラ４ｘ４符号化されるならば、全てのブロックは、連続的に処理されなければならない。
【００１５】
本発明の幾つかの実施形態は、符号化効率にほとんど影響しない並列型の実施が可能なイントラ予測のための方法およびシステムを含む。
【００１６】
ここでは、本発明の幾つかの実施形態は、輝度チャンネル信号に関連して説明される。これは、説明のためであり、限定するためのものではない。当業者には明らかであるように、ここで輝度チャンネル信号に関連して説明される本発明の実施形態を、色度チャンネル、ディスプレイチャンネル、および他の信号源に関連して用いてもよい。
【００１７】
本発明の実施形態は、動画像装置に関する。典型的な動画像装置は、動画像符号化器、動画像復号器、動画像トランスコーダ、および他の動画像装置を含んでいてよい。
【００１８】
本発明の幾つかの実施形態は、Ｈ．２６４／ＡＶＣに関連して説明され得る。次の章では、Ｈ．２６４／ＡＶＣにおけるイントラ予測を簡単に紹介する。
【００１９】
〔Ｈ．２６４／ＡＶＣにおけるイントラ予測の紹介〕
イントラ予測は、１つのフレームまたは画像内の空間的関係を利用するものである。符号化器において、現在のブロックが、現在のブロックの上および／または左に位置する、隣接する先に符号化されたブロック（再構成されたブロックとも考えられる）から予測され、現在のブロックの予測モードおよび予測残差が符号化される。復号器において、現在のブロックが、予測モードに従って、現在のブロックの上および／または左に位置する、隣接する再構成されたブロックから予測されると共に、該ブロックの復号された予測残差が、この予測に加えられて、ブロック信号値が得られる。３つの種類のイントラ輝度予測、例えば、Ｈ．２６４／ＡＶＣにおいて規定された、イントラ４ｘ４予測、イントラ８ｘ８予測、およびイントラ１６ｘ１６予測が存在する。より大きなブロックのサイズも望ましい。
【００２０】
１６ｘ１６マクロブロックでは、４個の８ｘ８ブロックまたは１６個の４ｘ４ブロックが存在する。図１は、Ｈ．２６４／ＡＶＣの場合および他の符号化規格の、イントラ８ｘ８予測２、および、イントラ４ｘ４予測４の処理の順序を示す図である。この処理の順序は、ジグザグの処理の順序と呼ばれる。これらの規格では、現在のブロックは、先に再構成された隣接ブロックを用いて予測される。従って、この走査順序において先に行われるブロック処理は、現在のブロックが処理される前に完了する必要がある。４ｘ４イントラ予測は、８ｘ８イントラ予測や１６ｘ１６イントラ予測と比べて、より直列的依存性が高い。この直列的依存性は、動作サイクルの増大、イントラ予測の速度低下、異なる種類のイントラ予測の処理能力の非均一、および、他の望ましくない処理特徴を生じさせる。
【００２１】
Ｈ．２６４／ＡＶＣでは、４ｘ４イントラ予測および８ｘ８イントラ予測は、図２に示されるように、９つの予測モード１０を有している。現在のブロック内の画素値は、現在のブロックに対して上および／または左に隣接する、再構成されたブロック内の画素値から予測される。１つのモードを示す矢印の方向は、該モードの予測方向を示している。図２では、中心点１１は、方向を示しているのではなく、この中心点は、「モード２」とも呼ばれるＤＣ予測モードに関連している。中心点１１から右にのびる水平矢印１２は、「モード１」とも呼ばれる、水平方向の予測モードを示している。中心点１１から下方にのびる垂直矢印１３は、「モード０」とも呼ばれる垂直方向の予測モードを示している。中心点１１から対角線右下に、水平面から約４５度の角度でのびる矢印１４は、「モード４」とも呼ばれる、対角線右下（ＤＤＲ）の予測モードを示している。中心点１１から対角線左下に、水平面から約４５度の角度でのびる矢印１５は、「モード３」とも呼ばれる対角線左下（ＤＤＬ）の予測モードを示している。これら両方のＤＤＲおよびＤＤＬ予測モードは、対角線予測モードと呼ばれる。中心点１１から対角線右上に、水平面から約２２．５度の角度でのびる矢印１６は、「モード８」とも呼ばれる水平上方（ＨＵ）の予測モードを示している。中心点１１から対角線右下に、水平面から約２２．５度の角度でのびる矢印１７は、「モード６」とも呼ばれる水平下方（ＨＤ）の予測モードを示している。中心点１１から対角線右下に、水平面から約６７．５度の角度でのびる矢印１８は、「モード５」とも呼ばれる垂直右（ＶＲ）の予測モードを示している。中心点１１から対角線左下に、水平面から約６７．５度の角度でのびる矢印１９は、「モード７」とも呼ばれる垂直左（ＶＬ）の予測モードを示している。これらのＨＵ、ＨＤ、ＶＲ、および、ＶＬ予測モードは、集合的に、中間角度予測モードと呼ばれる。
【００２２】
図３Ａは、Ａ−Ｍと記された隣接する再構成されたサンプルから予測される、ａ−ｐと記された典型的な４ｘ４ブロック２０のサンプルを示す図である。幾つかの規格の形態では、サンプルＥ−Ｈが利用できない場合には、利用できないサンプルを、サンプルＤと置き換えてよい。代替的な実施例では、利用できないサンプルは、固定のデフォルト値と置き換えてもよい。この初期値は、データのビット深度に関連している。例えば、８ビットのデータでは、デフォルト値は１２８であり、１０ビットのデータの場合には、デフォルト値は５１２であり、一般にデフォルト値は、２ｂ−１（ここで、ｂは画像データのビット深度）であり得る。他の実施例では、利用できないサンプルを置き換えるために、規格の仕様によって規定される他の値を用いてもよい。
【００２３】
イントラ予測モード０（図２の１３で示される予測モード方向）は、垂直モードイントラ予測と呼ばれる。モード０または垂直モードイントラ予測では、現在のブロックのサンプルは、現在のブロックの上方のブロック内の再構成されたサンプルから垂直方向に予測される。図３Ｂは、４ｘ４ブロック内のサンプルの典型的な垂直モードイントラ予測２１を示す図である。図３Ｂでは、図３Ａのａ−ｐと記されたサンプルが、図３Ａからの、これらが予測されるサンプルラベルのラベルに置き換えられた状態で示されている。
【００２４】
イントラ予測モード１（図２の１２で示される予測モード方向）は、水平モードイントラ予測と呼ばれる。モード１または水平モードイントラ予測では、ブロックのサンプルは、現在のブロックの左にあるブロック内の再構成されたサンプルから水平方向に予測される。図３Ｃは、４ｘ４ブロック内のサンプルの典型的な水平方向の予測２２を示す図である。図３Ｃでは、図３Ａのａ−ｐと記されたサンプルが、図３Ａからの、これらが予測される、サンプルラベルのラベルに置き換えられた状態で示されている。
【００２５】
イントラ予測モード３（図２の１５で示される予測モード方向）は、対角線左下モードイントラ予測と呼ばれる。モード３では、ブロック２３のサンプルは、図３Ｄに示される方向に隣接するブロックから予測される。
【００２６】
イントラ予測モード４（図２の１４で示される予測モード方向）は、対角線右下モードイントラ予測と呼ばれる。モード４では、ブロック２４のサンプルは、図３Ｅに示される方向に隣接するブロックから予測される。
【００２７】
イントラ予測モード５（図２の１８で示される予測モード方向）は、垂直右モードイントラ予測と呼ばれる。モード５では、ブロック２５のサンプルは、図３Ｆに示される方向に隣接するブロックから予測される。
【００２８】
イントラ予測モード６（図２の１７で示される予測モード方向）は、水平下方モードイントラ予測と呼ばれる。モード６では、ブロック２６のサンプルは、図３Ｇに示される方向に隣接するブロックから予測される。
【００２９】
イントラ予測モード７（図２の１９で示される予測モード方向）は、垂直左モードイントラ予測と呼ばれる。モード７では、ブロック２７のサンプルは、図３Ｈに示される方向に隣接するブロックから予測される。
【００３０】
イントラ予測モード８（図２の１６で示される予測モード方向）は、水平上方モードイントラ予測と呼ばれる。モード８では、ブロック２８のサンプルは、図３Ｉに示される方向に隣接するブロックから予測される。
【００３１】
ＤＣモードと呼ばれるイントラ予測モード２では、図３Ａにおいてａ−ｐと記された全てのサンプルが、図３ＡのＡ−ＤおよびＩ−Ｌと記されたサンプルの平均と置き換えられる。
【００３２】
上述の９つのイントラ予測モードは、Ｈ．２６４／ＡＶＣにおける、１６ｘ１６マクロブロックの４ｘ４サブブロックの、輝度サンプルのための９つのイントラ予測モードに対応する。
【００３３】
Ｈ．２６４／ＡＶＣは、４つの１６ｘ１６イントラ輝度予測モードをサポートしている。これらのモードでは、１６ｘ１６マクロブロックのサンプルが、該マクロブロックに上および／または左に隣接し、符号化および再構成されたサンプルから外挿される。これらのサンプルは、垂直に外挿される（モード０（４ｘ４のサイズのブロックの場合のモード０と同様））か、または、水平に外挿され得る（モード１（４ｘ４サイズのブロックの場合のモード１と同様））。これらのサンプルは、平均値と置き換えられる（モード２（４ｘ４サイズのブロックの場合のＤＣモードと同様）か、または、平面モードと呼ばれるモード３を用いてもよい。モード３では、線形的な平面関数が、上および左のサンプルにフィットされる。これで、Ｈ．２６４／ＡＶＣイントラ予測の簡単な紹介を終える。
【００３４】
本発明の幾つかの実施形態では、イントラ予測の、ブロック間の直列的依存性を壊すために、マクロブロック内のブロックは、第１の複数のブロック（第１の群のブロックまたは第１のブロックセットともみなされる）と、第２の複数のブロック（第２の群のブロックまたは第２のブロックセットともみなされる）とに分割される。ブロックは、ｍ×ｎサイズの画素のブロックであってよい。これらの実施形態のうちの幾つかでは、第１の複数のブロック内のブロックは、先に符号化された１つまたは複数の隣接するマクロブロックだけから再構成された画素値を用いて、符号化され、その後、第２の複数のブロック内のブロックは、第１の複数のブロックおよび／または隣接するマクロブロックに関連する、先に符号化されたブロックだけから再構成された画素値を用いて、符号化される。
【００３５】
これに応じて、本発明の幾つかの実施形態では、第１の複数のブロック内のブロックは、隣接するマクロブロックだけから再構成された画素値を用いて、復号される。その後、第２の複数のブロック内のブロックは、第１の複数のブロックおよび／または隣接するマクロブロックに関連する、再構成されたブロックから再構成された画素値を用いて、復号される。
【００３６】
第１の複数のブロック内のブロックは、完全または部分的に、並列的に符号化されてよく、第２の複数のブロック内のブロックは、完全または部分的に、並列的に符号化されてよい。第１の複数のブロック内のブロックは、完全または部分的に、並列的に復号されてよく、第２の複数のブロック内のブロックは、完全または部分的に、並列的に復号されてよい。
【００３７】
本発明の幾つかの実施形態では、マクロブロック内の全てのブロックは、先に復号された１つまたは複数の隣接するマクロブロックだけから再構成された画素値を用いて、符号化され得る。従って、マクロブロック内のブロックは、完全または部分的に、並列的に符号化され得る。
【００３８】
これに応じて、本発明の幾つかの実施形態では、マクロブロック内の全てのブロックは、隣接する１つまたは複数のマクロブロックだけから再構成された画素値を用いて、復号され得る。従って、マクロブロック内のブロックは、完全または部分的に、並列的に復号され得る。
【００３９】
Ｎ個のブロックを有するマクロブロックでは、並列度はＮ／２である。例えば、１６ｘ１６マクロブロック用の４ｘ４イントラ予測の迅速化は、８倍に近い。
【００４０】
Ｍ×ＮマクロブロックのＭ／４×Ｎ／４のイントラ予測の場合の典型的なパーティション４０が、図４に示されている。幾つかの実施形態では、ＭおよびＮは同じ値であってよい。他の実施形態では、ＭおよびＮは異なる値であってよい。この典型的なパーティションでは、１６個のブロック４１−５６が、８個ずつの２セットのブロックにグループ分けされており、それぞれが市松模様に配置されている。一方のセットの８個のブロックは、白４１、４４、４５、４８、４９、５２、５３、５６で示され、他方のセットの８個のブロックは、斜交平行線模様４２、４３、４６、４７、５０、５１、５４、５５で示されている。最初に、１つのブロックセットが、先に再構成されたマクロブロックを用いて、並列的に復号または符号化され、その後、第２のブロックセットが、上記第１のセットおよび／または先に再構成されたマクロブロックに関連して再構成されたブロックを用いて、並列的に復号または符号化される。どのセットを、処理の順序において一番目に配置してもよい。幾つかの実施形態では、最初に処理されるセットを、予め規定していてもよく、これは、ビットストリーム通知を必要としない。他の実施形態では、どのセットが最初に処理されるかの選択を、ビットストリームにおいて通知してもよい。
【００４１】
ビットストリーム通知は、ビットストリーム内の通知情報、または、保存されたメモリ内の通知情報であり得る。
【００４２】
他の典型的なパーティション６０、８０、１００、１２０、Ａ１が、図５Ａ−５Ｅに示されている。図５Ａに示される典型的なパーティション６０では、１つのマクロブロック内のブロック６１−７６が、２つのブロックセット、すなわち、白で示された１つのセット６１−６４、６９−７２と、斜交平行線模様で示された別のセット６５−６８、７３−７６とにグループ分けされている。図５Ｂに示される典型的なパーティション８０では、１つのマクロブロック内のブロック８１−９６が、２つのブロックセット、すなわち、白で示された１つのセット８１、８４、８６、８７、９０、９１、９３、９６と、斜交平行線模様で示された別のセット８２、８３、８５、８８、８９、９２、９４、９５とにグループ分けされている。図５Ｃに示される典型的なパーティション１００では、１つのマクロブロック内のブロック１０１−１１６が、２つのブロックセット、すなわち、白で示された１つのセット１０１−１０８と、斜交平行線模様で示された別のセット１０９−１１６とにグループ分けされている。図５Ｄに示される典型的なパーティション１２０では、１つのマクロブロック内のブロック１２１−１３６は、２つのブロックセット、すなわち、白で示された１つのセット１２１、１２３、１２５、１２７、１２９、１３１、１３３、１３５と、斜交平行線模様で示された別のセット１２２、１２４、１２６、１２８、１３０、１３２、１３４、１３６とにグループ分けされている。図５Ｅに示される８ｘ８マクロブロック内の４つの４ｘ４ブロックの典型的なパーティションＡ１では、ブロックＡ２−Ａ５は、２つのブロックセット、白で示された１つのセットＡ２−Ａ３と立下がりスロープハッチングで示された別のセットＡ４−Ａ５とにグループ分けされている。図４および図５Ａ−５Ｅに示される典型的なパーティションは、他のマクロブロックやブロックのサイズに容易に拡張可能であることは、当業者には明らかであろう。
【００４３】
本発明の他の実施形態では、１つのマクロブロックは、３つの複数のブロックに分割される。これらの実施形態のうちの幾つかでは、符号化プロセスにおいて、第１の複数のブロックが、先に符号化された隣接するマクロブロックのみから再構成された画素値を用いて、予測される。次に、符号化プロセスでは、第２の複数のブロックが、第１の複数のブロックに関連する先に符号化されたブロックから再構成された画素値を用いて、および／または、先に符号化された隣接するマクロブロックから再構成された画素値を用いて、予測される。その後、符号化プロセスでは次に、第３の複数のブロックが、第１の複数のブロックに関連する先に符号化されたブロックから再構成された画素値、第２の複数のブロックに関連する先に符号化されたブロックから再構成された画素値、および／または、先に符号化された隣接するマクロブロックから再構成された画素値を用いて、予測される。幾つかの実施形態では、複数のブロック内のブロックは、完全または部分的に、並列的に符号化され得る。
【００４４】
これに応じて、本発明の幾つかの実施形態では、復号プロセスにおいて、第１の複数のブロックが、隣接するマクロブロックだけにおいて再構成された画素値を用いて、予測される。次に、復号プロセスでは、第２の複数のブロックが、第１の複数のブロックに関連する再構成されたブロックにおいて再構成された画素値、および／または、隣接するマクロブロックにおいて再構成された画素値を用いて、予測される。その後、復号プロセスでは、第３の複数のブロックが、第１の複数のブロックに関連する先に復号されたブロックから再構成された画素値、第２の複数のブロックに関連する先に復号されたブロックから再構成された画素値、および／または、先に復号された隣接するマクロブロックから再構成された画素値を用いて、予測される。幾つかの実施形態では、複数のブロックを有するブロックが、完全または部分的に、並列的に復号され得る。
【００４５】
図６Ａおよび図６Ｂは、１つのマクロブロックの、典型的な３つのグループのパーティション１４０、１６０を示す図である。図６Ａに示される典型的なパーティション１４０では、立下がりスロープハッチングで示されるブロック１４６、１４８、１５４、１５６が、１つのグループのブロックに割り当てられ、白で示されるブロック１４１、１４３、１４９、１５１が、別のグループのブロックに割り当てられ、斜交平行線模様で示されるブロック１４２、１４４、１４５、１４７、１５０、１５２、１５３、１５５が、さらに他のグループのブロックに割り当てられる。図６Ｂに示される典型的なパーティション１６０では、立下がりスロープハッチング１６６、１６７、１６８、１７０、１７４で示されるブロックが、１つのグループのブロックに割り当てられ、斜交平行線模様で示されるブロック１６２、１６４、１６５、１７２、１７３、１７５が、別のグループのブロックに割り当てられ、白で示されるブロック１６１、１６３、１６９、１７１、１７６が、さらに他のグループのブロックに割り当てられる。
【００４６】
本発明の他の実施形態では、１つのマクロブロックは、２つ以上の複数のブロックに分割されてよい。これらの実施形態のうちの幾つかでは、符号化器において、第１の複数のブロックが、先に符号化された隣接するマクロブロックのみから再構成された画素値を用いて、予測される。符号化器では、次の複数のブロックが、先に符号化されたパーティションの先に符号化されたブロックから再構成された画素値、および／または、先に符号化された隣接するマクロブロックから再構成された画素値を用いて、予測される。これに対応して、本発明の幾つかの実施形態では、復号器において、第１の複数のブロックが、隣接するマクロブロックからのみ再構成された画素値を用いて予測され、次に、復号器では、パーティションに関連する複数のブロックが、先に復号されたパーティションの、先に復号されたブロックから、再構成された画素を用いて、および／または、隣接するマクロブロック内の先に復号され再構成された画素値を用いて、予測される。幾つかの実施形態では、複数のブロックを有するブロックは、完全または部分的に、並列的に符号化され得る。幾つかの実施形態では、複数のブロックを有するブロックは、完全または部分的に、並列的に復号され得る。
【００４７】
図７Ａは、３２ｘ３２マクロブロック内の４ｘ４ブロックの典型的なパーティション２００を示す図である。この典型的なパーティション２００では、６４個の４ｘ４ブロック２０１−２６４が、４つの３２ｘ８サブマクロブロック、すなわち、立下がりスロープハッチングで示された１６個の４ｘ４ブロック２０１−２１６から成る第１のサブマクロブロック２７０、斜交平行線模様で示される１６個の４ｘ４ブロック２１７−２３２から成る第２のサブマクロブロック２７２、立上がりスロープハッチングで示される１６個の４ｘ４ブロック２３３−２４８から成る第３のサブマクロブロック２７４、および、垂直ハッチで示される１６個の４ｘ４ブロック２４９−２６４から成る第４のサブマクロブロック２７６に分割されている。各サブマクロブロック２７０、２７２、２７４、２７６は、３つのブロックセット、すなわち、軽く影を付した第１のブロックセット（第１のサブマクロブロック２７０ではブロック２１０、２１２、２１４、２１６、第２のサブマクロブロック２７２ではブロック２２６、２２８、２３０、２３２、第３のサブマクロブロック２７４ではブロック２４２、２４４、２４６、２４８、第４のサブマクロブロック２７６ではブロック２５８、２６０、２６２、２６４）、濃く影を付した第２のブロックセット（第１のサブマクロブロック２７０ではブロック２０１、２０３、２０５、２０７、第２のサブマクロブロック２７２ではブロック２１７、２１９、２２１、２２３、第３のサブマクロブロック２７４ではブロック２３３、２３５、２３７、２３９、第４のサブマクロブロック２７６ではブロック２４９、２５１、２５３、２５５）、および、影を付していない第３のブロックセット（第１のサブマクロブロック２７０ではブロック２０２、２０４、２０６、２０８、２０９、２１１、２１３、２１５、第２のサブマクロブロック２７２ではブロック２１８、２２０、２２２、２２４、２２５、２２７、２２９、２３１、第３のサブマクロブロック２７４ではブロック２３４、２３６、２３８、２４０、２４１、２４３、２４５、２４７、第４のサブマクロブロック２７６ではブロック２５０、２５２、２５４、２５６、２５７、２５９、２６１、２６３）に分割される。
【００４８】
図７Ｂは、１６ｘ１６マクロブロック内の１６個の４ｘ４ブロックの典型的なパーティションＢ０を示す図である。この典型的なパーティションＢ０では、１６個の４ｘ４ブロックＢ１−Ｂ１６が、４つの８ｘ８サブマクロブロック、すなわち、立上がりスロープハッチングで示される４つの４ｘ４ブロックＢ１−Ｂ４から成る第１のサブマクロブロック、斜交平行線模様で示される４つの４ｘ４ブロックＢ５−Ｂ８から成る第２のサブマクロブロック、立下がりスロープハッチングで示される４つの４ｘ４ブロックＢ９−Ｂ１２から成る第３のサブマクロブロック、および、細かい点で示される４つの４ｘ４ブロックＢ１３−Ｂ１６から成る第４のサブマクロブロックに分割されている。各サブマクロブロックは、２つのブロックセット、すなわち、第１のブロックセット（第１のサブマクロブロック内のブロックＢ１−Ｂ２、第２のサブマクロブロック内のブロックＢ５−Ｂ８、第３のサブマクロブロック内のブロックＢ９−Ｂ１０、第４のサブマクロブロック内のブロックＢ１３−Ｂ１４）、および、第２のブロックセット（第１のサブマクロブロック内のブロックＢ３−Ｂ４、第３のサブマクロブロック内のブロックＢ１１−Ｂ１２、第４のサブマクロブロック内のブロックＢ１５−Ｂ１６）に、分割されている。
【００４９】
幾つかの実施形態では、処理するセットの順序は、予め規定されていてよい。これは、ビットストリーム通知を必要としない。他の実施形態では、処理の順序の選択を、ビットストリームにおいて通知してもよい。
【００５０】
本発明の幾つかの実施形態では、サブマクロブロックは、完全または部分的に、並列的に処理される。幾つかの実施形態では、各サブマクロブロック内の第１の複数のブロックが、符号化器において、先に符号化された隣接するマクロブロック内のみの画素値から、予測される。次に、複数のグループのブロックが、先に符号化された複数のグループのブロック内の画素値から、および／または、先に符号化された隣接するマクロブロック内の画素値から、予測される。幾つかの実施形態では、各サブマクロブロック内の第１の複数のブロックが、復号器において、先に再構成された隣接するマクロブロックだけからの画素値を用いて、復号される。次に、複数のグループのブロックが、先に再構成された複数のグループのブロック内の画素値から、および／または、先に再構成された隣接するマクロブロック内の画素値から、再構成される。
【００５１】
Ｍ×ＮマクロブロックのＭ／４×Ｎ／４のイントラ予測の場合の、１つの典型的なパーティション２８０が、図８に示されている。幾つかの実施形態では、ＭおよびＮは同じ値であってよい。他の実施形態では、ＭおよびＮは異なる値であってよい。この典型的なパーティションでは、マクロブロックの１６個のブロック２８１−２９６は、１セットが４つのブロックの４つのセットにグループ分けされてよく、これらの各ブロックは、交互の行の交互のパターンに配置されている。これらの４つのブロック、すなわち、１つのセットは白２８１、２８３、２８９、２９１で示され、第２のセットは斜交平行線模様２８２、２８４、２９０、２９２で示され、第３のセットは立下がりスロープの斜交平行線模様２８６、２８８、２９４、２９６で示され、および、第４のセットは垂直ハッチング２８５、２８７、２９３、２９５で示されている。１つのブロックセットが、最初に復号され、次に、第２のブロックセットが復号され、その後、第３のセット、そして最後に第４のセットが復号される。幾つかの実施形態では、１つのブロックセット内のブロックは、完全または部分的に、並列的に復号される。幾つかの実施形態では、セット処理の順序は、予め規定されていてよい。これは、ビットストリーム通知を必要としない。他の実施形態では、処理の順序の選択を、ビットストリームにおいて通知してもよい。
【００５２】
本発明の典型的な実施形態によれば、符号化器において、第１の複数のブロック内のブロックの画素値が、Ｈ．２６４／ＡＶＣのために規定された９つの予測モードを用いて、隣接する左および／または上の、符号化されたマクロブロックのみからの画素値を用いて予測される。第１の複数のブロック内の各ブロックのためのモードは、当該分野において公知のモード選択方法に従って選択されてよく、各ブロックの残りは、符号化される。これに対応して、復号器において、第１の複数のブロック内のブロックの画素値が、再構成された左および／または上に隣接するマクロブロックのみからの画素値を用いて予測される。他の実施形態では、第１の複数のブロックは、符号化器において利用可能な予測モードを用いて、隣接する左および／または上の符号化されたマクロブロックのみからの画素値を用いて予測される。
【００５３】
最初に処理されたブロックセット内のブロックの符号化および復号は、図９との関係で理解されよう。図９は、２つの１６ｘ１６マクロブロック３０２、３０４を含む画像の典型的な部分３００を示す図である。左３０２上のマクロブロック（白で示される画素、例えば３０６、および、細かい点が付された画素、例えば３０７）の符号化および復号では、右３０４上のマクロブロックの画素値（立下がりスロープハッチングで示される画素、例えば３０８）は、このマクロブロック３０４が再構成されていないので、利用することはできない。しかし、現在のマクロブロック３０２の上および左に隣接するマクロブロック内の画素は、利用可能である。現在のマクロブロック３０２の上および左に隣接するマクロブロック、例えば、３１０、３１２、３１４における画素は、斜交平行線模様で示されている。最初に符号化されたブロックセットの１つのブロック、例えば（斜め点線で示される）３１６では、画素値は、現在のマクロブロックの上および左の隣接するマクロブロック内の利用可能な画素値（例えば、斜交平行線模様で示される画素）から、予測される。本発明の幾つかの実施形態では、符号化器において、各予測モードの値が予測され、残差が最も小さいモードが選択される。他の実施形態では、予測モードを選択するために、当該分野において公知の他のモード選択方法を用いてもよい。
【００５４】
本発明の幾つかの実施形態では、予測される画素値は、マクロブロックに拡張されたＨ．２６４／ＡＶＣの４ｘ４予測式に基づいて、算出され得る。
【００５５】
本発明の幾つかの実施形態では、Ｎ×Ｎブロックの場合のモード０（垂直モードイントラ予測）に基づく予測が、疑似コードに基づいて行われてよい。ここで、pred[y][x]は予測された画素値を示し、ｙは行番号を示し、ｘは列番号を示す。
・  // Vertical
・  // pU array holds upper neighbors
・  BLOCK_SIZE = N;
・  for (y=0; y<BLOCK_SIZE; y++)
・    for  (x=0; x<BLOCK_SIZE; x++)
・      pred[y][x] = pU[x];
・  //  end pseudo code.
本発明の幾つかの実施形態では、Ｎ×Ｎブロックの場合のモード１（水平モードイントラ予測）に基づく予測が、疑似コードに基づいて行われてよい。ここで、pred[y][x]は予測された画素値を示し、ｙは行番号を示し、ｘは列番号を示す。
・  // Horizontal
・  // pL array holds left neighbors 
・  BLOCK_SIZE = N;
・  for (y=0; y<BLOCK_SIZE; y++)
・    for  (x=0; x<BLOCK_SIZE; x++)
pred[y][x] = pL[y];
・  //  end pseudo code.
本発明の幾つかの実施形態では、Ｎ×Ｎブロック（Ｎ＝２ｎ）の場合のモード２（ＤＣモードイントラ予測）に基づく予測が、疑似コードに基づいて行われてよい。ここで、pred[y][x]は予測された画素値を示し、ｙは行番号を示し、ｘは列番号を示す。
・  // DC
・  // pU array holds upper neighbors 
・  // pL array holds left neighbors 
・  BLOCK_SIZE = N;
・  if all pU samples and all pL samples are available then
・    for (y=0; y<BLOCK_SIZE; y++)
・      for  (x=0; x<BLOCK_SIZE; x++)
・      {
・          pred[y][x] = (pU[0] + pU[1] + … + pU[N-1] +
・                                pL[0] + pL[1] + … + pL[N-1] + (1<<n))  >> (n+1);
・      }
・  if any pU samples are unavailable and all pL samples are available then
・    for (y=0; y<BLOCK_SIZE; y++)
・      for  (x=0; x<BLOCK_SIZE; x++)
・      {
・          pred[y][x] = (pL[0] + pL[1] + … + pL[N-1] + (1<<(n-1)))  >> n
・      }
・  if all pU samples are available and any pL samples are unavailable then
・    for (y=0; y<BLOCK_SIZE; y++)
・      for  (x=0; x<BLOCK_SIZE; x++)
・      {
・          pred[y][x] = (pU[0] + pU[1] + … + pU[N-1] + (1<<(n-1)))  >> n;
・      }
・  if any pU samples are unavailable and any pL samples are unavailable then
・    for (y=0; y<BLOCK_SIZE; y++)
・      for  (x=0; x<BLOCK_SIZE; x++)
・      {
・          pred[y][x] = DefaultValue;   //  DefaultValue  = 2^(b-1)  for an image with bitdepth = b
・      }
・  //  end pseudo code.
本発明の幾つかの実施形態では、Ｎ×Ｎブロックの場合のモード３（対角線左下モードイントラ予測）に基づく予測が、疑似コードに基づいて行われてよい。ここで、pred[y][x]は予測された画素値を示し、ｙは行番号を示し、ｘは列番号を示す。
・  // Diagonal Down Left
・  // pU array holds upper neighbors 
・  // pL array holds left neighbors 
・  BLOCK_SIZE = N;
・  bound = BLOCK_SIZE-1;
・  for (y=0; y<BLOCK_SIZE; y++)
・    for  (x=0; x<BLOCK_SIZE; x++)
・    {
・        if (x!=bound||y!=bound)
・           pred[y][x] = (pU[x+y] + 2*pU[x+y+1] + pU[x+y+2] +2) >> 2;
・       else
・          pred[y][x] = (pU[bound*2] + 3*pU[bound*2+1] +2) >> 2;
・    }
・  //  end pseudo code.
本発明の幾つかの実施形態では、Ｎ×Ｎブロックの場合のモード４（対角線右下モードイントラ予測）に基づく予測が、疑似コードに基づいて行われてよい。ここで、pred[y][x]は予測される画素値であり、ｙは行番号を示し、ｘは列番号を示す。
・  // Diagonal Down Right
・  // pU array holds upper neighbors 
・  // pL array holds left neighbors 
・  BLOCK_SIZE = N;
・  bound = BLOCK_SIZE-1;
・  if (x>y)
・    pred[y][x]  = (pU[x-y-2] + 2*pU[x-y-1] + pU[x-y] +2) >> 2;
・  else if (x<y)
・    pred[y][x]  = (pL[y-x-2] + 2*pL[y-x-1] + pL[y-x] +2) >> 2;
・   else
・    pred[y][x]  = (pU[0] + 2*pU[-1] + pL[0] +2) >> 2;
・  //  end pseudo code.
本発明の幾つかの実施形態では、Ｎ×Ｎブロックの場合のモード５（垂直右モードイントラ予測）に基づく予測が、疑似コードに基づいて行われてよい。ここで、pred[y][x]は予測された画素値を示し、ｙは行番号を示し、ｘは列番号を示す。
・  // Vertical Right
・  // pU array holds upper neighbors 
・  // pL array holds left neighbors 
・  BLOCK_SIZE = N;
・  bound = BLOCK_SIZE-1;
・  zVR = 2*x-y;
・  if ( ((zVR&0x1) == 0) && (zVR>=0) && zVR<=2*bound )   
・     pred[y][x] = (pU[x-(y>>1)-1] + pU[x-(y>>1)] +1) >> 1;
・  else if ( ((zVR&0x1) == 1) && (zVR> 0) && zVR<2*bound) 
・     pred[y][x]   = (pU[x-(y>>1)-2] + 2*pU[x-(y>>1)-1] + pU[x-(y>>1)] +2) >> 2;
・  else if (zVR == -1)  
・     pred[y][x]   = (pL[0] + 2*pU[-1] + pU[0] +2) >> 2;
・  else 
・      pred[y][x]   = (pL[y-(x<<1)-1] + 2*pL[y-(x<<1)-2] + pL[y-(x<<1)-3] +2) >> 2;
・    //  end pseudo code.
本発明の幾つかの実施形態では、Ｎ×Ｎブロックの場合のモード６（水平下方モードイントラ予測）に基づく予測が、疑似コードに基づいて行われてよい。ここで、pred[y][x]は予測された画素値を示し、ｙは行番号を示し、ｘは列番号を示す。：
・  // Horizontal Down
・  // pU array holds upper neighbors 
・  // pL array holds left neighbors 
・  BLOCK_SIZE = N;
・  bound = BLOCK_SIZE-1;
・  zHD = 2*y-x;
・  if ( ((zHD&0x1) == 0) && (zHD>=0) && zHD<=2*bound )    
・     pred[y][x] = (pL[y-(x>>1)-1] + pL[y-(x>>1)] +1) >> 1;
・  else if ( ((zHD&0x1) == 1) && (zHD>0) && zHD<2*bound)  
・     pred[y][x] = (pL[y-(x>>1)-2] + 2*pL[y-(x>>1)-1] + pL[y-(x>>1)] +2) >> 2;
・  else if (zHD == -1)  
・    pred[y][x] = (pL[0] + 2*pU[-1] + pU[0] +2) >> 2;
・  else 
・    pred[y][x] = (pU[x-(y<<1)-1] + 2*pU[x-(y<<1)-2] + pU[x-(y<<1)-3] +2) >> 2;
・  //  end pseudo code.
本発明の幾つかの実施形態では、Ｎ×Ｎブロックの場合のモード７（垂直左モードイントラ予測）に基づく予測が、疑似コードに基づいて行われてよい。ここで、pred[y][x]は予測された画素値を示し、ｙは行番号を示し、ｘは列番号を示す。：
・  // Vertical Left
・  // pU array holds upper neighbors 
・  // pL array holds left neighbors 
・  BLOCK_SIZE = N;
・  bound = BLOCK_SIZE-1;
・  if ((y&0x1) == 0)    //even
・     pred[y][x] = (pU[x+(y>>1)] + pU[x+(y>>1)+1] +1) >> 1;
・  else    //odd
・     pred[y][x] = (pU[x+(y>>1)] + 2*pU[x+(y>>1)+1] + pU[x+(y>>1)+2] +2) >> 2;
・  //  end pseudo code.
本発明の幾つかの実施形態では、Ｎ×Ｎブロックの場合のモード８（水平上方モードイントラ予測）に基づく予測が、疑似コードに基づいて行われてよい。ここで、pred[y][x]は予測された画素値を示し、ｙは行番号を示し、ｘは列番号を示す。
・  // Horizontal Up
・  // pU array holds upper neighbors 
・  // pL array holds left neighbors 
・  BLOCK_SIZE = N;
・  bound = BLOCK_SIZE-1;
・   zHU = x+2*y;
・    if ( ((zHU&0x1) == 0) && zHU<=2*(bound-1) )     
・       pred[y][x] = (pL[y+(x>>1)] + pL[y+(x>>1)+1]+1) >> 1;
・    else if ( ((zHU&0x1) ==1) && zHU<2*(bound-1))  
・       pred[y][x] = (pL[y+(x>>1)] + 2*pL[y+(x>>1)+1] + pL[y+(x>>1)+2] +2)  >>2;
・    else if (zHU>2*bound-1)                                          
・        pred[y][x]  = pL[bound];
・    else              // (zHU==2*bound-1) 29 for MB, 13 for 8x8 block, 5 for 4x4 block
・        pred[y][x]  = (pL[bound-1] + 3*pL[bound] +2) >> 2;
・  //  end pseudo code.
上記した疑似コードは、説明のためであり、限定のために記載したものではない。また、他の実施例を排除することや、上述の予測式の拡張を排除することを意図するものではない。
【００５６】
本発明の幾つかの実施形態では、ＤＣ予測（モード２）および他の予測モードでは、隣接する上および左のマクロブロックの画素値は、予測されるブロックまでの距離に応じて、重み付けされる。例えば、図９の典型的なブロック３１６における画素値を予測する場合には、左に隣接するマクロブロックの画素値が、上に隣接するマクロブロックの画素値よりも大きく重み付けされる。本発明の幾つかの実施形態では、距離は、予測されるブロックと上に隣接するマクロブロックとの間のマクロブロックの数＋１として、および、予測されるブロックと左に隣接するマクロブロックとの間のマクロブロックの数＋１として規定される。本発明の他の実施形態では、この距離は、ジグザグ走査順序において、予測されるブロックと隣接する上／左のマクロブロックとの間のマクロブロックの数として規定される。本発明の幾つかの実施形態では、隣接する上のブロックの画素値に割り当てられた重みは、予測されるブロックと隣接する左のマクロブロックとの間の距離と、予測されるブロックと隣接する左および上の各マクロブロックとの間の距離の合計との比である。本発明の幾つかの実施形態では、隣接する左のブロックの画素値に割り当てられた重みは、予測されるブロックと隣接する上のマクロブロックとの間の距離と、予測されるブロックと隣接する左および上の各マクロブロックとの間の距離の合計との比である。
【００５７】
本発明の幾つかの実施形態は、モード予測を含んでいてよい。Ｈ．２６４／ＡＶＣにおいて、イントラモードを通知するために用いられるビットを低減するためには、ブロック用のイントラ予測モードは、Ｍｉｎ（intraMxMPredModeA、intraMxMPredModeB）に従って、上に隣接するブロックおよび左に隣接するブロックのモードから予測される。ここで、intraMxMPredModeAは、左に隣接するブロックのモードを示し、intraMxMPredModeBは、上に隣接するブロックのモードを示す。イントラモードを決定する場合には、符号化器において、レート歪み最適化（ＲＤＯ）判定がなされる。ＲＤＯの決定ステップでは、イントラモードを送信することによって用いられるレートを計算するために、レート計算が行われる。
【００５８】
本発明の幾つかの実施形態によれば、隣接するマクロブロックから再構成された画素を用いて最初に符号化された第１の複数のブロック内のブロックでは、同じく第１の複数のブロックまたは隣接するマクロブロック内にある利用可能な最も近いブロックのモードが、モード予測の間、および、レート歪み最適化の間に用いられる。利用可能なブロックとは、イントラ予測モードが決定されたブロックを指す。
【００５９】
これらの実施形態は、図１０に示される例に関連して理解されよう。図１０は、典型的なマクロブロック３３０を示す図である。マクロブロック３３０のブロック３３１−３４６は、例えば、市松模様に、２つの複数のブロック、すなわち、第１の複数のブロック３３２、３３４、３３５、３３７、３４０、３４２、３４３、３４５と、第２の複数のブロック３３１、３３３、３３６、３３８、３３９、３４１、３４４、３４６とに分割される。この例では、第１の複数のブロック内の全てのブロックが、第２の複数のブロック内のブロックよりも前に、ジグザグの順序３３２、３３５、３３４、３３７、３４０、３４３、３４２、３４５で処理される。
【００６０】
本発明の幾つかの実施形態によれば、モード予測の間に、ブロック３３７は、その上のモードのために、ブロック３３２のモードを用いる。これは、ブロック３３３は処理されていないからである。ブロック３３２は、この例のジグザグ処理の順序では、モード予測が行われているブロック３３７の上の、利用可能な最も近いブロックである。本発明の幾つかの実施形態では、最も近いブロックは、ブロック間のユークリッド距離に基づいて決定される。その左のモードでは、ブロック３３７は、ブロック３３５のモードを使用する。これは、ブロック３３６が処理されていないからである。ブロック３３５は、この例のジグザグ処理の順序では、モード予測が行われているブロック３３７の左の、利用可能な最も近いブロックである。これらの本発明の実施形態では、モード予測は、モード予測が行われているブロックの上のブロック、しかし、すぐ真上のブロックではないブロックを用いてよい。本発明のこれらの実施形態では、モード予測は、モード予測が行われているブロックの左のブロック、しかし、すぐ左のブロックではないブロックを用いてよい。
【００６１】
さらに説明すると、イントラ予測モードが、モード予測が行われているブロックの上方および左のブロックから予測される、本発明の幾つかの実施形態によれば、図１０のブロック３３５のためのモード予測は、その左のモードのためには、隣接する利用可能なマクロブロック内のブロック３４８のモードを使用し、その上方のモードのためには、隣接する利用可能なマクロブロック内のブロック３４７のモードを使用する。本発明の他の実施形態では、隣接する利用可能なマクロブロック内のブロック３５１のモードを、上方のモードのために使用してもよい。
【００６２】
さらに説明すると、イントラ予測モードが、モード予測が行われているブロックの上方および左のブロックから予測される、本発明の幾つかの実施形態によれば、図１０のブロック３３４のためのモード予測は、その左のモードのためには、利用可能なブロック３３２のモードを使用し、その上方のモードのためには、隣接する利用可能なマクロブロック内のブロック３４９のモードを使用する。本発明の他の実施形態では、隣接する利用可能なマクロブロック内のブロック３５０のモードを、左のモードのために使用してもよい。
【００６３】
他の実施形態では、モード予測は、モードが予測されるブロックに方向的に関連して配置された、他の利用可能なブロックのモードを使用してよい。例えば、ブロックのためのイントラ予測モードは、下方のブロックおよび右のブロックのモードから予測される。
【００６４】
他の実施形態では、先に符号化された隣接するマクロブロック内のブロックのモードを、モード予測に用いてもよい。これらの実施形態は、図１０に示される例に関連して理解されよう。本発明のこれらの実施形態によれば、モード予測の間に、ブロック３３７は、その上方のモードのために、上に隣接する先に符号化されたマクロブロックからのブロック３５０のモードを使用し、このモードのために、左に隣接する先に符号化されたマクロブロックからのブロック３４８のモードを使用する。
【００６５】
本発明の幾つかの実施形態では、上述のモード予測方法のどちらも、利用可能である。符号化器は、ビットストリームにおいて、複数のブロックのために用いられるモード予測方法を通知する。本発明の幾つかの実施形態では、通知は、ピクチャーパラメータセット、シーケンスパラメータセット、または他のパラメータセットを含む、メタデータと共に生じる。本発明の幾つかの実施形態では、通知は、マクロブロックレベルにて行われる。本発明の他の実施形態では、通知は、スライスレベルにおいて行われる。
【００６６】
本発明の幾つかの実施形態では、第１の複数のブロックに続いて処理される複数のブロック内のブロックのために、現在または以前の複数のブロック、または隣接するマクロブロック内の最も近い利用可能なブロックのモードが、モード予測およびレート歪み最適化の間に、用いられる。本発明の他の実施形態では、第１の複数のブロックに続いて処理される複数のブロック内のブロックのために、現在の複数のブロックまたは隣接するマクロブロック内の最も近い利用可能なブロックのモードだけが、モード予測およびレート歪み最適化の間に、用いられる。本発明の幾つかの実施形態では、異なる複数のブロックにおけるブロックは、異なる、イントラ予測の方法を用いてよい。これらのブロックのために、現在の、または隣接するマクロブロック内にあり、同じイントラ予測の方法を使用する、最も近い利用可能なブロックのモードだけが、モード予測およびレート歪み最適化の間に用いられる。本発明の幾つかの実施形態では、異なるイントラ予測の方法が、フラグ付きで信号される。本発明の幾つかの実施形態では、異なるイントラ予測の方法が、マルチフラグ付きで信号される。
【００６７】
先に再構成された上および／または左の隣接ブロックに加えて、再構成された第１のブロックセットに引き続き再構成されたブロックセット内のブロックのために、先に再構成された右および下部の隣接ブロックが、イントラ予測に利用可能である。これらのさらなる、再構成されたブロックは、イントラ予測を向上させるために用いることが可能であり、従って、ブロック間の相関性が高いため、符号化効率を改善することが可能である。
【００６８】
本発明の幾つかの実施形態では、イントラ予測に、先に再構成された非隣接ブロックを用いてもよい。これらの実施形態のうちの幾つかでは、先に再構成された信号値の予測値への寄与は、再構成されたブロックから現在のブロックまでの距離によって重み付けされる。
【００６９】
本発明の幾つかの実施形態では、先に記載した９つの予測モード方向に関連する等式は、標準的に規定された予測モードと関連する標準的に規定された予測モード方向と呼ばれる。この等式を変形させて、イントラ予測に、先に符号化された、現在のブロックの右および／または下方のブロックを用いるようにしてもよい。図４に示される典型的なパーティションのための予測式の典型的な変形は、４ｘ４イントラ予測を説明するものであり、図１１および表１に関連して理解可能であろう。
【００７０】
図１１は、１６個の画素３６１−３７６の典型的な４ｘ４ブロック３６０を示す図である。この図では、列ｘおよび行ｙのある画素は、ｐ（ｘ，ｙ）で示される。ブロック３６０が、図４に従って市松模様に分割された１６ｘ１６マクロブロックの、１つの４ｘ４ブロックであり、ブロック３６０が符号化された第２の複数のブロック内にあるならば、先に再構成された画素３８１−３９６は、マクロブロック３６０の上の画素（３８１−３８４）、下の画素（３８５−３８８）、右の画素（３８９−３９２）、および、左の画素（３９３−３９６）において利用可能である。コーナー画素３９７−４００の値は、利用可能ではない。幾つかの実施形態では、これらの利用不可能なコーナー画素値は、隣接する、利用可能な画素値から補間される。幾つかの実施形態では、画素値は、下記に従って補間され得る。
【００７１】
【数１】
2013524670.tif 000003
【００７２】
ここで、画素値は、図１１に記載の通りである。表１は、元の予測式、および、変形された（拡大されたとみなされる）予測式を示すものである。幾つかの実施形態では、イントラ予測モードに必要な画素値が利用可能でないならば、このモードは使用されない。なお、幾つかの予測モードでは、元の予測式を変形することはできない。
【００７３】
【表１】
2013524670.tif 000004
2013524670.tif 000005
【００７４】
本発明の幾つかの実施形態では、上述の９つのイントラ予測モード方向の逆方向の９つの方向のイントラ予測モードが、規定される。これらの反対方向のモードを、図１２に関連して説明する。現在のブロック内の画素値は、現在のブロックの上、左、下、および／または、右の、再構成されたブロック内の画素値から予測される。図１２では、モードを示す矢印の方向は、各モードの予測方向を示している。
【００７５】
図１２では、中心点４２２は、方向を示しているのではなく、この中心点は、「モード２」および「モード１１」とも呼ばれるＤＣ予測モードに関連している。本発明の幾つかの実施形態では、「モード２」で予測された値は、４ｘ４イントラ予測の場合には、次のように予測される。
【００７６】
【数２】
2013524670.tif 000006
【００７７】
そして、「モード１１」で予測された値は、４ｘ４イントラ予測の場合には、次のように予測される。
【００７８】
【数３】
2013524670.tif 000007
【００７９】
ここで、画素の位置および値は、図１１に記載の通りである。他の実施形態では、「モード２」および「モード１１」で予測された値は、４ｘ４イントラ予測の場合には、次のように予測され得る。
【００８０】
【数４】
2013524670.tif 000008
【００８１】
中心点４２２から下方向にのびる垂直矢印４２０は、「モード０」と呼ばれる第１の垂直予測モードを示し、中心点４２２から上方向にのびる垂直矢印４２９は、「モード９」と呼ばれる第２の垂直予測モードを示す。本発明の幾つかの実施形態では、「モード０」で予測された値は、４ｘ４イントラ予測の場合、次のように予測される。
【００８２】
【数５】
2013524670.tif 000009
【００８３】
そして、「モード９」で予測された値は、４ｘ４イントラ予測の場合、次のように予測される。
【００８４】
【数６】
2013524670.tif 000010
【００８５】
ここで、画素の位置および値は、図１１に示される通りである。
【００８６】
中心点４２２から右にのびる水平矢印４２１は、「モード１」と呼ばれる第１の水平方向の予測モードを示す。中心点４２２から左にのびる水平矢印４３０は、「モード１０」と呼ばれる第２の水平方向の予測モードを示す。本発明の幾つかの実施形態では、「モード１」で予測された値は、４ｘ４イントラ予測の場合、次のように予測される。
【００８７】
【数７】
2013524670.tif 000011
【００８８】
そして、「モード１０」で予測された値は、４ｘ４イントラ予測の場合、次のように予測される。
【００８９】
【数８】
2013524670.tif 000012
【００９０】
ここで、画素の位置および値は、図１１に示される通りである。
【００９１】
中心点４２２から対角線左下に、水平面から約４５度の角度でのびる矢印４２３は、「モード３」とも呼ばれる、対角線左下（ＤＤＬ）の予測モードを示しており、中心点４２２から１８０度反対の方向にのびる矢印４３２は、「モード１２」またはＤＤＬ２モードと呼ばれる、対角線右上（ＤＵＲ）の予測モードを示している。本発明の幾つかの実施形態では、「モード３」で予測された値は、４ｘ４イントラ予測の場合、次のように予測される。
【００９２】
【数９】
2013524670.tif 000013
【００９３】
ここで、画素の位置および値は、図１１に示される通りである。本発明の幾つかの実施形態では、「モード１２」で予測された値は、４ｘ４イントラ予測の場合には、ブロックデータおよび隣接するデータを時計回りに９０度回転させ、「モード４」予測式を用いることによって、予測される。
【００９４】
【数１０】
2013524670.tif 000014
【００９５】
ここで、画素の位置および値は、図１１に示される通りである。
【００９６】
図１３Ａおよび図１３Ｂは、このプロセスを示す図である。図１３Ａに示されるように、１６個の画素４５１−４６６の４ｘ４ブロック４５０は、左の４７０−４７３および下の４７５−４７８に再構成された画素値、並びに補間されたコーナー画素値４７４から、対角線右上方向４７９に予測される。図１３Ｂは、図１３Ａの画素を時計回りに９０度回転させた後の画素を示す図である。１６個の画素４８１−４９６の４ｘ４ブロック４８０は、左の５０５−５０８および上の５０１−５０４に再構成された画素、並びに補間されたコーナー画素５００から、「モード４」予測式を用いて、対角線右下方向５０９に予測される。これらの予測される画素値４８１−４９６は、９０度反時計回りに回転させることによって、適切な画素にマップし直される。本発明の幾つかの実施形態では、「モード１２」で予測された値は、回転を介し、かつ、「モード４」予測式を用いて、予測される。他の実施形態では、「モード１２」で予測された値は、４ｘ４イントラ予測の場合、次のように直接予測され得る。
【００９７】
【数１１】
2013524670.tif 000015
【００９８】
ここで、画素値および位置は、図１３Ａに示される。
【００９９】
中心点４２２から対角線右下に、水平面から約４５度の角度でのびる矢印４２４は、「モード４」と呼ばれる、対角線右下（ＤＤＲ）の予測モードを示しており、中心点４２２から１８０度反対方向にのびる矢印４３３は、「モード１３」またはＤＤＲ２モードと呼ばれる、対角線左上（ＤＵＬ）の予測モードを示している。本発明の幾つかの実施形態では、「モード４」で予測された値は、４ｘ４イントラ予測の場合、次のように予測される。
【０１００】
【数１２】
2013524670.tif 000016
【０１０１】
ここで、画素の位置および値は、図１１に示される通りである。本発明の幾つかの実施形態では、「モード１３」で予測された値は、４ｘ４イントラ予測の場合、ブロックデータおよび隣接するデータを１８０度回転させ、「モード４」予測式を用いることによって、予測される。
【０１０２】
図１４Ａおよび図１４Ｂは、このプロセスを示す図である。図１４Ａに示されるように、１６個の画素５２１−５３６の４ｘ４ブロック５２０は、右の５４５−５４８および下の５４０−５４３に再構成された画素値、並びに補間されたコーナー画素値５４４から、対角線左上方向５４９に予測される。図１４Ｂは、図１４Ａの画素を１８０度回転させた後の画素を示す図である。１６個の画素５５１−５６６の４ｘ４ブロック５５０は、左の５７５−５７８および上の５７１−５７４に再構成された画素、並びに補間されたコーナー画素５７０から、「モード４」予測式を用いて、対角線右下方向５７９に予測される。これらの予測される画素値５５１−５６６は、１８０度の回転によって、適切な画素に、マップし直される。本発明の幾つかの実施形態では、「モード１３」で予測された値は、回転を介し、かつ、「モード４」予測式を用いて、予測される。他の実施形態では、「モード１３」で予測された値は、４ｘ４イントラ予測の場合、次のように直接予測され得る。
【０１０３】
【数１３】
2013524670.tif 000017
【０１０４】
ここで、画素値および位置は、図１４Ａに示されている。
【０１０５】
中心点４２２から、対角線右下に、水平面から約６７．５度の角度でのびる矢印４２５は、「モード５」と呼ばれる、垂直右（ＶＲ）の予測モードを示しており、中心点４２２から１８０度反対の方向にのびる矢印４３４は、「モード１４」またはＶＲ２モードと呼ばれる、垂直右２予測モードを示している。本発明の幾つかの実施形態では、「モード５」で予測された値は、４ｘ４イントラ予測の場合、次のように予測される。
【０１０６】
【数１４】
2013524670.tif 000018
【０１０７】
ここで、画素の位置および値は、図１１に示される通りである。本発明の幾つかの実施形態では、「モード１４」で予測された値は、４ｘ４イントラ予測の場合、ブロックデータおよび隣接するデータを１８０度回転させると共に、「モード５」予測式を用いることによって、予測される。
【０１０８】
図１５Ａおよび図１５Ｂは、このプロセスを示す図である。図１５Ａに示されるように、１６個の画素５９１−６０６の４ｘ４ブロック５９０は、右の６１５−６１８および下の６１０−６１３に再構成された画素値、並びに補間されたコーナー画素値６１４から、垂直右２方向６１９に予測される。図１５Ｂは、図１５Ａの画素を１８０度回転させた後の画素を示す図である。１６個の画素６２１−６３６の４ｘ４ブロック６２０は、左の６４５−６４８および上の６４１−６４４に再構成された画素、並びに補間されたコーナー画素６４０から、垂直右方向６４９に、「モード５」予測式を用いて予測される。これらの予測される画素値６２１−６３６は、１８０度回転させることによって、適切な画素にマップし直される。本発明の幾つかの実施形態では、「モード１４」で予測された値は、回転を介し、かつ、「モード５」予測式を用いて予測される。他の実施形態では、「モード１４」で予測された値は、４ｘ４イントラ予測の場合には、下記に従って直接予測される。
【０１０９】
【数１５】
2013524670.tif 000019
【０１１０】
ここで、画素値および位置は、図１５Ａに示されている。
【０１１１】
中心点から対角線右下に、水平面から約２２．５度の角度でのびる矢印４２６は、「モード６」と呼ばれる、水平下方（ＨＤ）の予測モードを示しており、中心点４２２から１８０度反対の方向にのびる矢印４３５は、「モード１５」またはＨＤ２モードと呼ばれる、水平下方２予測モードを示している。本発明の幾つかの実施形態では、「モード６」で予測された値は、４ｘ４イントラ予測の場合、次のように予測される。
【０１１２】
【数１６】
2013524670.tif 000020
【０１１３】
ここで、画素の位置および値は、図１１に示される通りである。本発明の幾つかの実施形態では、「モード１５」で予測された値は、４ｘ４イントラ予測の場合、ブロックデータおよび隣接するデータを１８０度回転させ、「モード６」予測式を用いることによって、予測される。
【０１１４】
図１６Ａおよび図１６Ｂは、このプロセスを示す図である。図１６Ａに示されるように、１６個の画素５６１−６７６の４ｘ４ブロック６６０は、右の６８５−６８８および下の６８０−６８３に再構成された画素値、並びに補間されたコーナー画素値６８４から、水平下方２方向６８９に予測される。図１６Ｂは、図１６Ａの画素を１８０度回転させた後の画素を示す図である。１６個の画素６９１−７０６の４ｘ４ブロック６９０は、左の７１５−７１８および上の７１１−７１４に再構成された画素、並びに補間されたコーナー画素７１０から、「モード６」予測式を用いて、水平下方の方向７１９に予測される。これらの予測される画素値６９１−７０６は、１８０度回転させることによって、適切な画素にマップし直される。本発明の幾つかの実施形態では、「モード１５」で予測された値は、回転を介して、かつ、「モード６」予測式を用いて予測される。他の実施形態では、「モード１５」で予測された値は、４ｘ４イントラ予測の場合、次のように直接予測される。
【０１１５】
【数１７】
2013524670.tif 000021
【０１１６】
ここで、画素値および位置は、図１６Ａに示されている。
【０１１７】
中心点４２２から対角線左下に、水平面から約６７．５度の角度でのびる矢印４２７は、「モード７」と呼ばれる垂直左（ＶＬ）の予測モードを示しており、中心点４２２から１８０度反対の方向にのびる矢印４３６は、「モード１６」またはＶＬ２モードと呼ばれる、垂直左の２予測モードを示している。本発明の幾つかの実施形態では、「モード７」で予測された値は、４ｘ４イントラ予測の場合、次のように予測される。
【０１１８】
【数１８】
2013524670.tif 000022
【０１１９】
ここで、画素の位置および値は、図１１に示される通りである。本発明の幾つかの実施形態では、「モード１６」で予測された値は、４ｘ４イントラ予測の場合、ブロックデータおよび隣接するデータを時計回りに９０度回転させ、「モード６」予測式を用いることによって、予測される。
【０１２０】
図１７Ａおよび図１７Ｂは、このプロセスを示す図である。図１７Ａに示されるように、１６個の画素７３１−７４６の４ｘ４ブロック７３０は、左の７５０−７５２および下の７５４−７５７に再構成された画素値、並びに補間されたコーナー画素値７５３から、垂直左２方向７５８に予測される。図１７Ｂは、図１７Ａの画素を１８０度回転させた後の画素を示す図である。１６個の画素７６１−７７６の４ｘ４ブロック７６０は、左の７９４−７９７および上の７９１−７９３に再構成された画素、並びに補間されたコーナー画素７９０から、「モード６」予測式を用いて、水平下方向７９８に予測される。これらの予測される画素値７６１−７７６は、９０度時計回りに回転させることによって、適切な画素にマップし直される。本発明の幾つかの実施形態では、「モード１６」で予測された値は、回転を介し、かつ、「モード６」予測式を用いて予測される。他の実施形態では、「モード１６」で予測された値は、４ｘ４イントラ予測の場合には、下記に従って直接予測され得る。
【０１２１】
【数１９】
2013524670.tif 000023
【０１２２】
ここで、画素値および位置は、図１７Ａに示されている。
【０１２３】
中心点から対角線右上に、水平面から約２２．５度の角度でのびる矢印４２８は、「モード８」とも呼ばれる、水平上方（ＨＵ）の予測モードを示しており、中心点４２２から１８０度反対方向にのびる矢印４３７は、「モード１７」またはＨＵ２モードと呼ばれる、水平２予測モードを示している。本発明の幾つかの実施形態では、「モード８」で予測された値は、４ｘ４イントラ予測の場合、次のように予測される。
【０１２４】
【数２０】
2013524670.tif 000024
【０１２５】
ここで、画素の位置および値は、図１１に示される通りである。本発明の幾つかの実施形態では、「モード１７」で予測された値は、４ｘ４イントラ予測の場合、ブロックデータおよび隣接するデータを、左側境界線を横切って反転させると共に、「モード６」予測式を用いることによって、予測される。
【０１２６】
図１８Ａおよび図１８Ｂは、このプロセスを示す図である。図１８Ａに示されるように、１６個の画素８１１−８２６の４ｘ４ブロック８１０は、右の８３４−８３７および上の８３０−８３２に再構成された画素値、並びに補間されたコーナー画素値８３３から、水平上方２方向８３８に予測される。図１８Ｂは、図１８Ａの画素を、左側境界線を横切って反転させた後の画素を示す図である。１６個の画素８４１−８５６の４ｘ４ブロック８４０は、左の８６４−８６７および上の８６１−８６３に再構成された画素、並びに補間されたコーナー画素８６０から、「モード６」予測式を用いて、水平下方向８６８に予測される。これらの予測される画素値８４１−８５６は、左側境界線を横切って逆反転させることによって、適切な画素にマップされる。本発明の幾つかの実施形態では、「モード１７」で予測された値は、反転を介して、かつ、「モード６」予測式を用いて予測される。他の実施形態では、「モード１７」で予測された値は、４ｘ４イントラ予測の場合、次のように直接予測され得る。
【０１２７】
【数２１】
2013524670.tif 000025
【０１２８】
ここで、画素値および位置は、図１８Ａに示されている。
【０１２９】
反対方向のモードを用いたイントラ予測の利点は、図１９に関連して理解されよう。図１９は、典型的な、１６個の画素９０１−９１６のブロック９００を示す図である。ブロック９００が、市松模様に分割されたマクロブロックの第１のブロックセット内の全てのブロックが再構成された後に再構成されたブロックセットに存在するならば、左の隣接ブロックおよび上の隣接ブロック以外の隣接ブロックにおいて再構成された画素値（例えば、９３１−９３８）が、左の隣接ブロック内の画素９２５−９２８、および、上の隣接ブロック内の画素９２１−９２４に加えて、イントラ予測の使用に利用可能である。例えば図１９において、白画素９０１−９０７、９０９、９１０、９１３、９３１、９２１−９２８、９３５、９４０−９４２、および、グレー画素９０８、９１１、９１２、９１４−９１６、９３２−９３４、９３６−９３８、９４３、９５０−９５７によって示されるような、輝度コンテンツを有する画像の場合には、ブロック９００内のグレー画素９０８、９１１、９１２、９１４−９１６、９３２−９３４の画素値は、最も良好には、右の隣接ブロックおよび下の隣接ブロックにおいて再構成された画素値から、予測される。従って、反対方向の予測モードの使用は、予測される画素値と、予測において用いられる再構成された画素値との間の相関性が高くなるため、圧縮作用を増大させる。
【０１３０】
概して、選択される対象の予測モードの数が増大するにつれて、画素値の予測が良好になるため、符号化効率も増大する。しかし、予測モードが増えると、通知要件も増大する。本発明の幾つかの実施形態では、符号化器が、モードの数と、さらなる予測モードに関連して増大するコストとのバランスをとる。
【０１３１】
本発明の幾つかの実施形態では、再構成された第１のブロックセットに続いて再構成されたブロックセット内のブロックの画素値は、標準的に規定された予測モードのうちの１つである予測モードに従って予測される。
【０１３２】
本発明の他の実施形態では、再構成された第１のブロックセットに続いて再構成されたブロックセット内のブロックの画素値は、上記で規定された反対方向のモードのうちの１つである予測モードに従って予測される。
【０１３３】
さらに他の本発明の実施形態では、再構成された第１のブロックセットに続いて再構成されたブロックセット内のブロックの画素値は、予測方向が１８０度異なる２つのモードによって予測された値を加重補間することによって、予測される。幾つかの実施形態では、画素値は、次のように予測される。
【０１３４】
【数２２】
2013524670.tif 000026
【０１３５】
ここで、ｐ（ｙ，ｘ）は、位置（ｙ，ｘ）において予測された画素値を示し、ｐ１およびｐ２は、反対の予測方向の２つの予測モードを示し、ｗｐ１（ｙ，ｘ）は、位置（ｙ，ｘ）における予測モードｐ１に関連する重みを示す。本発明の幾つかの実施形態では、重みは、隣接する画素値までの距離にほぼ比例する。表２は、４ｘ４イントラ予測の典型的な重みを示す図である。本発明の幾つかの実施形態では、重みは、各予測モード方向に保存される。本発明の他の実施形態では、サブセットの予測モード方向の重みが保存され、保存されない予測モード方向の重みは、変換、例えば、適切に保存された重みの表を回転または反転させることによって、生成される。
【０１３６】
【表２】
2013524670.tif 000027
2013524670.tif 000028
2013524670.tif 000029
【０１３７】
本発明の幾つかの実施形態では、符号化器は、変形された先に存在する９つのモード（モード０〜モード８）、これらの反対方向の９つのモード（モード９〜モード１７）、および、加重補間されたモード間を選択するＲＤＯモード選択を行う。
【０１３８】
幾つかの実施形態では、モード通知のコストを抑えるために、利用可能な場合には、９つのモードおよび加重補間モードを用いる。
【０１３９】
本発明の他の実施形態では、変形された先に存在する９つのモード（モード０〜モード８）、および、反対方向の９つのモード（モード９〜モード１７）を用いられる。フラグとも呼ばれる１つの追加的なビットを用いて、このモードが先に存在する９つのモードのうちの１つであるか、または、反対方向のモードのうちの１つであるかを通知する。本発明の幾つかの実施形態では、フラグ値とも呼ばれるビット値は、ブロックごとに通知されない。これらの実施形態では、フラグ値は、マクロブロックパーティションにおける、現在処理されている複数のブロック内の隣接するブロックのフラグ値から、予測される。他の実施形態では、フラグ値は、選択可能なイントラ予測モードを通知するためにフラグ値も用いる複数のブロック内の、隣接するブロックのフラグ値から予測される。説明のために、マクロブロック内の第１の複数のブロックは、フラグ値を用いて他のイントラ予測モードを通知しないが、マクロブロック内の第２の複数のブロックは、フラグ値を用いて他のイントラ予測モードを通知することとする。他の実施形態では、フラグ値は、フラグ値を用いる最も近いブロックから予測される。さらに他の実施形態では、フラグ値は、水平方向における、フラグ値を用いる最も近いブロック、および、垂直方向における、フラグ値を用いる最も近いブロックから予測される。さらに他の実施形態では、フラグ値は、フラグ値を用いる隣接するマクロブロックにおける、最も近いブロックから予測される。さらに他の実施形態では、フラグ値は、現在のマクロブロックの左に隣接するマクロブロックにおける、フラグ値を用いる最も近いブロックから予測される。他の実施形態では、フラグ値は、現在のマクロブロックの上に隣接するマクロブロックにおける、フラグ値を用いるマクロブロック内の最も近いブロックから予測される。本発明の幾つかの実施形態では、フラグ値は、モード予測に使用される同じブロックから予測される。本発明の幾つかの実施形態では、符号化器は、予測されるフラグ値が正しいか否かを通知する。本発明の幾つかの実施形態では、復号器は、予測されるフラグ値が正しいか否かに関する、受信されたビットストリームからの情報を復号する。
【０１４０】
本発明のさらに他の実施形態では、変形された先に存在する９つのモード（モード０〜モード８）、および、加重補間されたモードが用いてよい。フラグとも呼ばれるさらなるビットを用いて、このモードが変形された先に存在する９つのモードのうちの１つであるか、または、加重補間されたモードのうちの１つであるかについて通知する。本発明の幾つかの実施形態では、フラグ値とも呼ばれるこのビット値は、ブロックごとに通知されない。これらの実施形態では、フラグ値は、マクロブロックパーティションにおける、現在処理された複数のブロック内の隣接するブロックのフラグ値から、予測される。他の実施形態では、フラグ値は、選択可能なイントラ予測モードを通知するためにフラグ値も用いる複数のブロック内の、隣接するブロックのフラグ値から予測される。説明のために、マクロブロック内の第１の複数のブロックは、フラグ値を用いて他のイントラ予測モードを通知しないが、マクロブロック内の第２の複数のブロックは、フラグ値を用いて他のイントラ予測モードを通知することとする。他の実施形態では、フラグ値は、フラグ値を用いる最も近いブロックから予測される。さらに他の実施形態では、フラグ値は、水平方向における、フラグ値を用いる最も近いブロック、および、垂直方向における、フラグ値を用いる最も近いブロックから予測される。さらに他の実施形態では、フラグ値は、フラグ値を用いる隣接するマクロブロックにおける、最も近いブロックから予測される。さらに他の実施形態では、フラグ値は、現在のマクロブロックの左に隣接するマクロブロックにおける、フラグ値を用いる最も近いブロックから予測される。他の実施形態では、フラグ値は、現在のマクロブロックの上に隣接するマクロブロックにおける、フラグ値を用いるマクロブロック内の最も近いブロックから予測される。本発明の幾つかの実施形態では、フラグ値は、モード予測に使用される同じブロックから予測される。本発明の幾つかの実施形態では、符号化器は、予測されるフラグ値が正しいか否かを通知する。本発明の幾つかの実施形態では、復号器は、予測されるフラグ値が正しいか否かに関する、受信されたビットストリームからの情報を復号する。
【０１４１】
本発明のさらに他の実施形態では、反対方向のモード（モード９〜モード１７）、および、加重補間モードが用いられる。フラグとも呼ばれるさらなるビットが、このモードが、変形された先に存在する９つのモードのうちのいずれか、または、加重補間モードのうちのいずれかであるかどうかを通知する。本発明の幾つかの実施形態では、フラグ値とも呼ばれるビット値は、ブロックごとに通知されない。これらの実施形態では、ビット値は、マクロブロックパーティションにおいて、現在処理されている複数のブロック内の隣接するブロックのビット値から予測される。他の実施形態では、フラグ値は、選択可能なイントラ予測モードを通知するためにフラグ値も用いる複数のブロック内の、隣接するブロックのフラグ値から予測される。説明のために、マクロブロック内の第１の複数のブロックは、フラグ値を用いて他のイントラ予測モードを通知しないが、マクロブロック内の第２の複数のブロックは、フラグ値を用いて他のイントラ予測モードを通知することとする。他の実施形態では、フラグ値は、フラグ値を用いる最も近いブロックから予測される。さらに他の実施形態では、フラグ値は、水平方向における、フラグ値を用いる最も近いブロック、および、垂直方向における、フラグ値を用いる最も近いブロックから予測される。さらに他の実施形態では、フラグ値は、フラグ値を用いる隣接するマクロブロックにおける、最も近いブロックから予測される。さらに他の実施形態では、フラグ値は、現在のマクロブロックの左に隣接するマクロブロックにおける、フラグ値を用いる最も近いブロックから予測される。他の実施形態では、フラグ値は、現在のマクロブロックの上に隣接するマクロブロックにおける、フラグ値を用いるマクロブロック内の最も近いブロックから予測される。本発明の幾つかの実施形態では、フラグ値は、モード予測に使用される同じブロックから予測される。本発明の幾つかの実施形態では、符号化器は、予測されるフラグ値が正しいか否かを通知する。本発明の幾つかの実施形態では、復号器は、予測されるフラグ値が正しいか否かに関する、受信されたビットストリームからの情報を復号する。
【０１４２】
本発明のさらに他の実施形態では、画素値は、任意の２つの無関係なイントラモードの加重補間を用いて、予測される。
【０１４３】
本発明の幾つかの実施形態では、モードには、「０」〜「８」の番号が付されている。これらの実施形態では、第１のセットのイントラブロックのモード予測は、このモードの番号付けによっては、影響されない。表３は、４ｘ４イントラ予測の典型的なシンタックスを示している。イタリック体で記載した文は、既存のＨ．２６４／ＡＶＣのシンタックスに、本発明の実施形態に従って新たに追記したものである。
【０１４４】
【表３】
2013524670.tif 000030
【０１４５】
フラグ「MB_has_weighted_intra_block_flag」は、マクロブロック内の任意のブロックが加重イントラ予測モードを用いるかどうかを特定するものである。「MB_has_weighted_intra_block_flag」が０であるならば、マクロブロック内のブロックは、加重イントラ予測モードを用いない。フラグ「MB_has_weighted_intra_block_flag」が１であるならば、マクロブロックは、加重イントラ予測モードを用いる少なくとも１つのブロックを含む。
【０１４６】
フラグ「intra4x4_pred_weighted_flag」は、４ｘ４イントラ予測モードが、加重イントラ予測モードであるかどうかを特定するものである。このフラグは、「MB_has_weighted_intra_block_flag」が１であり、４ｘ４ブロックが加重イントラ予測モードを有することが可能な位置にある場合にのみ、存在する。加重イントラ予測モードを有し得るブロックは、右および下部に隣接するものがないブロック１５を除く、第２のブロックセット内のブロックであり得る。フラグ「intra4x4_pred_weighted_flag」が０であるならば、ブロックのイントラ予測モードは、上および左の隣接体から予測される元のイントラ予測モードであり得る。フラグ「intra4x4_pred_weighted_flag」が１であるならば、ブロックのイントラ予測モードは、上および左の隣接体からの予測と下部および右の隣接体からの予測とを組み合わせた加重予測を用いて、ブロック値を予測する加重イントラ予測モードであり得る。本発明の幾つかの実施形態では、フラグ値は、ブロックごとに通知されない。この実施形態では、フラグ値は、マクロブロックパーティション内の、現在処理されている複数のブロックにおける、隣接するブロックのフラグ値から予測される。他の実施形態では、フラグ値は、選択可能なイントラ予測モードを通知するためにフラグ値も用いる複数のブロック内の、隣接するブロックのフラグ値から予測される。説明のために、マクロブロック内の第１の複数のブロックは、フラグ値を用いて他のイントラ予測モードを通知しないが、マクロブロック内の第２の複数のブロックは、フラグ値を用いて他のイントラ予測モードを通知することとする。他の実施形態では、フラグ値は、フラグ値を用いる最も近いブロックから予測される。さらに他の実施形態では、フラグ値は、水平方向における、フラグ値を用いる最も近いブロック、および、垂直方向における、フラグ値を用いる最も近いブロックから予測される。さらに他の実施形態では、フラグ値は、フラグ値を用いる隣接するマクロブロックにおける、最も近いブロックから予測される。さらに他の実施形態では、フラグ値は、現在のマクロブロックの左に隣接するマクロブロックにおける、フラグ値を用いる最も近いブロックから予測される。他の実施形態では、フラグ値は、現在のマクロブロックの上に隣接するマクロブロックにおける、フラグ値を用いるマクロブロック内の最も近いブロックから予測される。本発明の幾つかの実施形態では、フラグ値は、モード予測に使用される同じブロックから予測される。本発明の幾つかの実施形態では、符号化器は、予測されるフラグ値が正しいか否かを通知する。本発明の幾つかの実施形態では、復号器は、予測されるフラグ値が正しいか否かに関する、受信されたビットストリームからの情報を復号する。
【０１４７】
本発明の幾つかの実施形態では、１つのブロックのためのイントラ予測モード、すなわち、intra4x4PredMode［luma4x4BlkIdx］を、以下の疑似コードに従って、導出する。
・  predIntra4x4PredMode = Min( intraMxMPredModeA, intraMxMPredModeB )
・  if( prev_intra4x4_pred_mode_flag[ luma4x4BlkIdx ] )
・       Intra4x4PredMode[ luma4x4BlkIdx ] = predIntra4x4PredMode
・  else                            
・    if( rem_intra4x4_pred_mode[ luma4x4BlkIdx ] < predIntra4x4PredMode )
・         Intra4x4PredMode[ luma4x4BlkIdx ] = rem_intra4x4_pred_mode[ luma4x4BlkIdx ]
・    else
・        Intra4x4PredMode[ luma4x4BlkIdx ] = rem_intra4x4_pred_mode[ luma4x4BlkIdx ] + 1.
この疑似コードでは、intraMxMPredModeAおよびintraMxMPredModeBは、イントラ予測モードが利用可能な、第１および第２の隣接ブロックの予測モードであり、prev_intra4x4_pred_mode_flag［ luma4x4BlkIdx ］、および、rem_intra4x4_pred_mode[ luma4x4BlkIdx ]は、指数luma4x4BlkIdx＝０，…，１５を有する、４ｘ４輝度ブロックのIntra_4x4予測を特定する。
【０１４８】
利用可能なイントラ予測モードとは、イントラ予測モードが決定されたブロックのためのイントラ予測モードを指す。利用可能なブロックとは、イントラ予測モードが決定されたブロックを指す。
【０１４９】
本発明の幾つかの実施形態では、第１のブロックセットおよび第２のブロックセットの残差データは、Ｈ．２６４／ＡＶＣおよび他の動画像規格において規定のように、通知される。本発明の他の実施形態では、残差データは、ブロック符号化順に通知されてよい。例えば、幾つかの実施形態では、最初に、第１のブロックセットの残差が、ビットストリームにおいて送信され、続いて、第２のブロックセットの残差が、ビットストリームにおいて送信される。これらの実施形態のうちの幾つかでは、復号器は、残差データをエントロピー復号したすぐ後に、第１のブロックセットの再構成を開始する。本発明の幾つかの実施形態は、第１のブロックセットおよび第２のイントラ４ｘ４ブロックセットの残差データが、別々に送信されたかどうかを特定する、ビットフラグ「parallelResidualSignaling」を含む。このフラグ、フラグ「parallelResidualSignaling」が０であるならば、マクロブロックの残差データが、Ｈ．２６４／ＡＶＣに規定されるような１つのマクロブロックとして送信される。このフラグ「parallelResidualSignaling」が１であるならば、最初に、マクロブロック内の第１のイントラ４ｘ４ブロックセットの残差データが送信され、続いて、第２の並列イントラ４ｘ４ブロックセットの残差データが送信される。表４は、フラグ「parallelResidualSignaling」を含む典型的なシンタックスを示す一覧である。本発明の幾つかの実施形態では、このフラグビット「parallelResidualSignaling」は、シーケンスパラメータセットにおいて送信される。他の実施形態では、フラグビット「parallelResidualSignaling」は、ピクチャーパラメータセットにおいて送信される。
【０１５０】
【表４】
2013524670.tif 000031
【０１５１】
本発明の幾つかの実施形態では、複数のブロックの予測モードが、ブロック残差とインターリーブされた状態で、通知される。他の実施形態では、複数のブロック内のブロックのための残差が通知される前に、複数のブロック内の全てのブロックのための予測モードが、通知される。
【０１５２】
本発明の幾つかの実施形態では、符号化器は、マクロブロックパーティションを決定し、このパーティションの選択を、ビットストリームにおいて通知する。他の実施形態では、符号化器は、初期パーティションを用いてよい。
【０１５３】
本発明の幾つかの実施形態では、復号器は、ビットストリームから、マクロブロックパーティションを特定する情報を復号する。他の実施形態では、１つのパーティションを、復号器において、初期パーティションと規定する。
【０１５４】
図２０を参照する。この図は、本発明の幾つかの実施形態における典型的な符号化器１２００を説明するためのものである。任意の動画像符号化器を用いてよいことは理解されよう。入力動画像１２１０が、フレームを並び替えるために適したバッファ１２２０に供給されるか、または、必要な場合には、その一部に供給される。結合部１２３０が、好適に並び替えられたフレームの一部を、変換および量子化部１２４０に好適なように変形する。変換および量子化部１２４０は、エントロピー符号化部１２５０に信号を供給する。エントロピー符号化部１２５０は、出力ビットストリーム１２７０のために、信号を出力バッファ１２６０に供給する。入力動画像１２１０を受信する符号化器制御部１２８０が、符号化器１２００の全てのモジュールに制御信号を供給する。
【０１５５】
変換および量子化部１２４０はまた、その出力を逆変換および逆量子化部１３００に供給して、対応する復号器をシミュレートすることが可能である。フレーム順序付けバッファ１２２０には、画像種類決定部１３１０が連結されている。画像種類決定部１３１０はまた、マクロブロック種類決定部１３２０にも連結されている。このようにして、フレーム順序付けバッファ１２２０への制御が行われる。さらに、マクロブロックの種類も制御される。
【０１５６】
逆変換および逆量子化部１３００は、結合部１３３０に信号を供給する。結合部１３３０は、マクロブロック種類決定部１３２０との組み合わせにおいて、信号を、イントラ符号化予測部１３４０およびデブロッキングフィルター１３５０に供給する。デブロッキングフィルター１３５０は、参照画像バッファ１３６０に連結されている。参照画像バッファ１３６０は、信号を、動き推定部１３７０および動き補償部１３８０に供給する。動き推定部１３７０は、信号を、動き補償部１３８０およびエントロピー符号化部１２５０に供給する。選択部１３９０が、結合部１２３０のために、動き補償部１３８０の出力、または、イントラ符号化予測部１３４０の出力を選択する。このようにして、結合部１２３０は、マクロブロックがイントラ符号化されたのか、または、動き補償符号化されたのかに関する情報を受信する。
【０１５７】
選択部１３９０によってなされた決定は、マクロブロック種類決定部１３２０に関連している。例えば、マクロブロック種類決定部１３２０が、マクロブロックをイントラ符号化する必要があると決定するならば、選択部は、イントラ予測の形態を選択することになる。例えば、マクロブロック種類決定部１３２０が、マクロブロックの動き補償する必要があると決定するならば、選択部は、動き補償の形態を選択することになる。マクロブロック種類決定部１３２０、画像種類決定部１３１０、選択部１３９０、および、１つまたは複数のイントラ予測技術からの選択１３４０、によってなされた決定は、全て、エントロピー符号化部１２５０によって、ビットストリームに含まれる。さらに、結合部１３３０は、選択部１３９０からの入力を受信して、なされた選択に関する情報を提供する。
【０１５８】
任意の好適な復号器を用いてよい。入力ビットストリーム１４１０のための、典型的な動画像復号器１４００は、入力バッファ１４２０を含む。入力バッファ１４２０は、エントロピー復号部１４３０に信号を供給する。エントロピー復号部１４３０は、逆変換および逆量子化部１４４０に信号を供給する。逆変換および逆量子化部１４４０は、結合部１４５０に信号を供給する。結合部１４５０は、デブロッキングフィルター１４６０およびイントラ予測部１４７０に、信号を供給する。デブロッキングフィルター１４６０は、参照画像バッファ１４８０に信号を供給する。参照画像バッファ１４８０は、動き補償部１４９０に信号を供給する。
【０１５９】
エントロピー復号部１４３０は、動き補償部１４９０およびデブロッキングフィルター１４６０に、信号を供給する。エントロピー復号部１４３０はまた、復号器制御部１５００に信号を供給する。復号器制御部は、復号器１４００の他のモジュールに連結されている。動き補償部１４９０は、スイッチ１５１０に信号を供給する。イントラ予測部１４７０は、スイッチ１５１０に信号を供給する。スイッチ１５１０は、選択的に、信号を結合部１４５０に供給する。デブロッキングフィルター１４６０は、出力画像１５２０を提供する。
【０１６０】
図２２を参照する。この図では、動画像の異なるフレームまたはその一部が、異なる技術を用いて典型的に符号化される。このような技術のうちの１つは、通常、Ｉフレーム、Ｐフレーム、およびＢフレームと呼ばれる画像の種類の使用を含む。Ｉフレームは、復号するために、他の動画像フレームを必要としない。Ｐフレームは、復号するために、以前に送信されたフレームからのデータを使用する。Ｂフレームは、復号するために、以前に送信された２つ以上のフレームを用いる。動画像の符号化は、同様に、当該フレーム内の、異なるサイズの、１つまたは複数の画素ブロックに基づいている。また、動画像の符号化は、同様に、ブロックの動き推定、スライス、空間予測に基づいており、そうでなければ、１つまたは複数のフレーム間の動き推定、スライス、空間予測に基づいている。従って、一般に、動画像ビットストリームと共に送信される復号器予測情報が存在する。復号器予測情報は、フレームの符号化の種類、フレームの予測の種類、予測の方向、どのフレームを用いるか、フレーム間の動き推定情報、フレームサイズ情報、フレーム内のブロックサイジング情報、空間予測情報、および／または、他の好適なパラメータを示すものである。従って、復号器１４００は、符号化器１２００によってビットストリームと共に供給された予測情報に基づいて、動画像のフレームを復号する。
【０１６１】
本発明の幾つかの実施形態は、コンピュータ可読の記憶媒体を備えるコンピュータプログラムプロダクトを含んでいてよい。このコンピュータ可読の記憶媒体には、ここに記載の特徴および方法のいずれかを実行するようにコンピューティングシステムをプログラムするために用いられる命令が保存されている。典型的なコンピュータ可読の記憶媒体は、フラッシュメモリ装置、ディスク記憶装置（例えば、フロッピー（登録商標）ディスク、光ディスク、光磁気ディスク、デジタル多用途ディスク（ＤＶＤ）、コンパクトディスク（ＣＤ）、マイクロデバイス、および他のディスク記憶装置）、読み出し専用メモリ（ＲＯＭ）、プログラマブル読み出し専用メモリ（ＰＲＯＭ）、消去可能なプログラマブル読み出し専用メモリ（ＥＰＲＯＭＳ）、電気的に消去可能なプログラマブル読み出し専用メモリ（ＥＥＰＲＯＭ）、ランダムアクセスメモリ（ＲＡＭＳ）、ビデオランダムアクセスメモリ（ＶＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、並びに、命令および／またはデータを保存するために適した任意の種類の媒体または装置を含んでいてよいが、これらに限定されない。
【０１６２】
上述の明細書において用いた用語および表現は、説明のための用語として、ここで用いているのであり、限定するためのものではない。また、このような用語および表現の使用において、図示および記載される特徴に等しいもの、またはその一部を排除することを意図するものでもない。本発明の範囲は、これに続く特許請求の範囲によってのみ、規定および限定されるものであることは理解されよう。
【図１】
2013524670.tif 000032
【図２】
2013524670.tif 000033
【図３Ａ】
2013524670.tif 000034
【図３Ｂ】
2013524670.tif 000035
【図３Ｃ】
2013524670.tif 000036
【図３Ｄ】
2013524670.tif 000037
【図３Ｅ】
2013524670.tif 000038
【図３Ｆ】
2013524670.tif 000039
【図３Ｇ】
2013524670.tif 000040
【図３Ｈ】
2013524670.tif 000041
【図３Ｉ】
2013524670.tif 000042
【図４】
2013524670.tif 000043
【図５Ａ】
2013524670.tif 000044
【図５Ｂ】
2013524670.tif 000045
【図５Ｃ】
2013524670.tif 000046
【図５Ｄ】
2013524670.tif 000047
【図５Ｅ】
2013524670.tif 000048
【図６Ａ】
2013524670.tif 000049
【図６Ｂ】
2013524670.tif 000050
【図７Ａ】
2013524670.tif 000051
【図７Ｂ】
2013524670.tif 000052
【図８】
2013524670.tif 000053
【図９】
2013524670.tif 000054
【図１０】
2013524670.tif 000055
【図１１】
2013524670.tif 000056
【図１２】
2013524670.tif 000057
【図１３Ａ】
2013524670.tif 000058
【図１３Ｂ】
2013524670.tif 000059
【図１４Ａ】
2013524670.tif 000060
【図１４Ｂ】
2013524670.tif 000061
【図１５Ａ】
2013524670.tif 000062
【図１５Ｂ】
2013524670.tif 000063
【図１６Ａ】
2013524670.tif 000064
【図１６Ｂ】
2013524670.tif 000065
【図１７Ａ】
2013524670.tif 000066
【図１７Ｂ】
2013524670.tif 000067
【図１８Ａ】
2013524670.tif 000068
【図１８Ｂ】
2013524670.tif 000069
【図１９】
2013524670.tif 000070
【図２０】
2013524670.tif 000071
【図２１】
2013524670.tif 000072
【図２２】
2013524670.tif 000073
【国際調査報告】
2013524670.tif 000074
2013524670.tif 000075