(57)【要約】【課題】デジタルビデオコンテンツを符号化する符号化方法及び装置を提供する。【解決手段】画像シーケンスのピクチャを符号化する符号化方法は、ピクチャを複数の小さい部分に分割するステップと、複数の小さい部分の少なくとも１つをフレーム符号化モードで、及び複数の小さい部分の少なくとも１つをフィールド符号化モードで選択的に符号化するステップとを有する。符号化は、マクロブロック対に対して適用され、フレーム符号化モードが選択された場合には、マクロブロック対の各マクロブロックの両方のフィールドは、一緒に符号化される。【選択図】図１１
2010022058.tif 000002
【特許請求の範囲】
【請求項１】
画像シーケンスのピクチャを符号化する符号化方法において、
上記ピクチャを複数の小さい部分に分割するステップと、
上記複数の小さい部分の少なくとも１つをフレーム符号化モードで、及び該複数の小さい部分の少なくとも１つをフィールド符号化モードで選択的に符号化するステップとを有し、
上記符号化は、マクロブロック対に対して適用され、
上記フレーム符号化モードが選択された場合には、上記マクロブロック対の各マクロブロックの両方のフィールドは、一緒に符号化されることを特徴とする符号化方法。
【請求項２】
上記マクロブロック対が上記フィールド符号化モードで符号化されているとき、上記マクロブロック対を、トップフィールドブロックとボトムフィールドブロックから形成するステップを更に有する請求項１記載の符号化方法。
【請求項３】
上記形成するステップは、
上記マクロブロック対の第１のマクロブロックのトップフィールドを形成するために上記トップフィールドブロックのトップ部を取り出すステップと、
上記マクロブロック対の第２のマクロブロックのトップフィールドを形成するために上記トップフィールドブロックのボトム部を取り出すステップと、
上記マクロブロック対の第１のマクロブロックのボトムフィールドを形成するために上記ボトムフィールドブロックのトップ部を取り出すステップと、
上記マクロブロック対の第２のマクロブロックのボトムフィールドを形成するために上記ボトムフィールドブロックのボトム部を取り出すステップとを有することを特徴とする請求項２記載の符号化方法。
【請求項４】
ビットストリームからの複数の小さい部分を有する符号化ピクチャを復号する復号方法において、
上記複数の小さい部分の少なくとも１つをフレーム符号化モードで、及び該複数の小さい部分の少なくとも１つをフィールド符号化モードで復号するステップと、
上記復号された複数の小さい部分を用いて、復号ピクチャを構成するステップとを有し、
上記復号は、マクロブロック対に対して適用され、
上記フレーム符号化モードが選択された場合には、上記マクロブロック対の各マクロブロックの両方のフィールドは、一緒に復号されることを特徴とする復号方法。
【請求項５】
上記マクロブロック対が上記フィールド符号化モードで符号化されているとき、上記マクロブロック対を、トップフィールドブロックとボトムフィールドブロックから形成するステップを更に有する請求項４記載の復号方法。
【請求項６】
上記形成するステップは、
上記マクロブロック対の第１のマクロブロックのトップフィールドを形成するために上記トップフィールドブロックのトップ部を取り出すステップと、
上記マクロブロック対の第２のマクロブロックのトップフィールドを形成するために上記トップフィールドブロックのボトム部を取り出すステップと、
上記マクロブロック対の第１のマクロブロックのボトムフィールドを形成するために上記ボトムフィールドブロックのトップ部を取り出すステップと、
上記マクロブロック対の第２のマクロブロックのボトムフィールドを形成するために上記ボトムフィールドブロックのボトム部を取り出すステップとを有することを特徴とする請求項５記載の復号方法。
【請求項７】
プロセッサで実行されたときに、該プロセッサに、ビットストリームからの複数の小さい部分を有する符号化ピクチャを復号する復号方法を実行させるコンピュータで実行可能な複数の命令を記録したコンピュータで読取可能な記録媒体において、
上記復号方法は、
上記複数の小さい部分の少なくとも１つをフレーム符号化モードで、及び該複数の小さい部分の少なくとも１つをフィールド符号化モードで復号するステップと、
上記復号された複数の小さい部分を用いて、復号ピクチャを構成するステップとを有し、
上記復号は、マクロブロック対に対して適用され、
上記フレーム符号化モードが選択された場合には、上記マクロブロック対の各マクロブロックの両方のフィールドは、一緒に復号されることを特徴とする記録媒体。
【請求項８】
上記復号方法は、
上記マクロブロック対が上記フィールド符号化モードで符号化されているとき、上記マクロブロック対を、トップフィールドブロックとボトムフィールドブロックから形成するステップを更に有すること特徴とする請求項７記載の記録媒体。
【請求項９】
上記形成するステップは、
上記マクロブロック対の第１のマクロブロックのトップフィールドを形成するために上記トップフィールドブロックのトップ部を取り出すステップと、
上記マクロブロック対の第２のマクロブロックのトップフィールドを形成するために上記トップフィールドブロックのボトム部を取り出すステップと、
上記マクロブロック対の第１のマクロブロックのボトムフィールドを形成するために上記ボトムフィールドブロックのトップ部を取り出すステップと、
上記マクロブロック対の第２のマクロブロックのボトムフィールドを形成するために上記ボトムフィールドブロックのボトム部を取り出すステップとを有することを特徴とする請求項８記載の記録媒体。
【請求項１０】
画像シーケンスのピクチャを符号化する符号化装置において、
上記ピクチャを複数の小さい部分に分割する分割手段と、
上記複数の小さい部分の少なくとも１つをフレーム符号化モードで、及び該複数の小さい部分の少なくとも１つをフィールド符号化モードで選択的に符号化する符号化手段とを備え、
上記符号化は、マクロブロック対に対して適用され、
上記フレーム符号化モードが選択された場合には、上記マクロブロック対の各マクロブロックの両方のフィールドは、一緒に符号化されることを特徴とする符号化装置。
【請求項１１】
上記マクロブロック対が上記フィールド符号化モードで符号化されているとき、上記マクロブロック対を、トップフィールドブロックとボトムフィールドブロックから形成する手段を更に備える請求項１０記載の符号化装置。
【請求項１２】
上記形成手段は、
上記マクロブロック対の第１のマクロブロックのトップフィールドを形成するために上記トップフィールドブロックのトップ部を取り出し、
上記マクロブロック対の第２のマクロブロックのトップフィールドを形成するために上記トップフィールドブロックのボトム部を取り出し、
上記マクロブロック対の第１のマクロブロックのボトムフィールドを形成するために上記ボトムフィールドブロックのトップ部を取り出し、
上記マクロブロック対の第２のマクロブロックのボトムフィールドを形成するために上記ボトムフィールドブロックのボトム部を取り出すことを特徴とする請求項１１記載の符号化装置。
【請求項１３】
ビットストリームからの複数の小さい部分を有する符号化ピクチャを復号する復号装置において、
上記複数の小さい部分の少なくとも１つをフレーム符号化モードで、及び該複数の小さい部分の少なくとも１つをフィールド符号化モードで復号する復号手段と、
上記復号された複数の小さい部分を用いて、復号ピクチャを構成する構成手段とを備え、
上記復号は、マクロブロック対に対して適用され、
上記フレーム符号化モードが選択された場合には、上記マクロブロック対の各マクロブロックの両方のフィールドは、一緒に復号されることを特徴とする復号装置。
【請求項１４】
上記マクロブロック対が上記フィールド符号化モードで符号化されているとき、上記マクロブロック対を、トップフィールドブロックとボトムフィールドブロックから形成する形成手段を更に備える請求項１３記載の復号装置。
【請求項１５】
上記形成手段は、
上記マクロブロック対の第１のマクロブロックのトップフィールドを形成するために上記トップフィールドブロックのトップ部を取り出し、
上記マクロブロック対の第２のマクロブロックのトップフィールドを形成するために上記トップフィールドブロックのボトム部を取り出し、
上記マクロブロック対の第１のマクロブロックのボトムフィールドを形成するために上記ボトムフィールドブロックのトップ部を取り出し、
上記マクロブロック対の第２のマクロブロックのボトムフィールドを形成するために上記ボトムフィールドブロックのボトム部を取り出すことを特徴とする請求項１４記載の復号装置。
【請求項１６】
プロセッサで実行されたときに、該プロセッサに、画像シーケンスのピクチャを符号化する符号化方法を実行させるコンピュータで実行可能な複数の命令を記録したコンピュータで読取可能な記録媒体において、
上記符号化方法は、
上記ピクチャを複数の小さい部分に分割するステップと、
上記複数の小さい部分の少なくとも１つをフレーム符号化モードで、及び該複数の小さい部分の少なくとも１つをフィールド符号化モードで選択的に符号化するステップとを有し、
上記符号化は、マクロブロック対に対して適用され、
上記フレーム符号化モードが選択された場合には、上記マクロブロック対の各マクロブロックの両方のフィールドは、一緒に符号化されることを特徴とする記録媒体。
【請求項１７】
上記符号化方法は、
上記マクロブロック対が上記フィールド符号化モードで符号化されているとき、上記マクロブロック対を、トップフィールドブロックとボトムフィールドブロックから形成するステップを更に有することを特徴とする請求項１６記載の記録媒体。
【請求項１８】
上記形成するステップは、
上記マクロブロック対の第１のマクロブロックのトップフィールドを形成するために上記トップフィールドブロックのトップ部を取り出すステップと、
上記マクロブロック対の第２のマクロブロックのトップフィールドを形成するために上記トップフィールドブロックのボトム部を取り出すステップと、
上記マクロブロック対の第１のマクロブロックのボトムフィールドを形成するために上記ボトムフィールドブロックのトップ部を取り出すステップと、
上記マクロブロック対の第２のマクロブロックのボトムフィールドを形成するために上記ボトムフィールドブロックのボトム部を取り出すステップとを有することを特徴とする請求項１７記載の記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルビデオコンテンツの符号化及び復号に関し、より具体的には、本発明は、ＭＰＥＧ−４ Ｐａｒｔ １０ ＡＶＣ／Ｈ．２６４ビデオ符号化規格において使用され、デジタルビデオコンテンツのマクロブロックレベルにおけるフレームモード符号化及びフィールドモード符号化に関する。
【背景技術】
【０００２】
ビデオ圧縮は、多くの既存の製品及び新規の製品において使用されている。ビデオ圧縮は、デジタルテレビジョンセットトップボックス（set-top boxes：ＳＴＢ）、デジタル衛星放送システム（digital satellite systems：ＤＳＳ）、高精細度テレビジョン（high definition television：ＨＤＴＶ）デコーダ、デジタルバーサタイルディスク（digital versatile disk：ＤＶＤ）プレーヤ、テレビ会議、インターネットビデオ及びマルチメディアコンテンツ、及び他のデジタルビデオの用途において重要である。デジタルビデオコンテンツは、ビデオ圧縮しなければ、非常にデータ量が大きいため、効率よく保存し、伝送し、表示することは不可能又は困難である。
【０００３】
デジタルビデオコンテンツは、テレビジョン受像機、コンピュータモニタ又はデジタルビデオコンテンツを表示可能な他の電子機器に画像として表示されるピクチャのストリームからなる。特定のピクチャの前に表示されるピクチャは、この特定のピクチャの「前方」にある。また、この特定のピクチャの後に表示されるピクチャは、この特定のピクチャの「後方」にある。
【０００４】
ビデオ圧縮は、各ピクチャを１つのフレーム又は２つのフィールドとして符号化するビデオ符号化処理、すなわちコーディング処理において行われる。各フレームは、空間情報の数多くのラインからなる。例えば、一般的なフレームは、４８０本の水平ラインを含む。各フィールドは、１フレームの半分のラインを含んでいる。例えば、フレームが４８０水平ラインからなるときには、各フィールドは２４０水平ラインからなる。代表的な構成では、一方のフィールドは、フレーム内の奇数ラインからなり、他方のフィールドは、フレーム内の偶数ラインからなる。以下及び特許請求の範囲では、特別に定義する場合を除いて、奇数ラインからなるフィールドを「トップ」フィールドと呼ぶ。また、以下及び特許請求の範囲では、特別に定義する場合を除いて、偶数ラインからなるフィールドを「ボトム」フィールドと呼ぶ。２つのフィールドは、互いにインタレースされ、インタレースされたフレーム（以下、インタレースフレームという。）が形成される。
【０００５】
包括的に言えば、ビデオ符号化は、デジタルビデオコンテンツデータから「必須でない（non-essential）」データを除去することによって行われる。データ量を削減することにより、放送又は伝送時に必要とされる帯域幅が削減される。圧縮されたビデオデータは、伝送された後、復号又は伸長する必要がある。この処理では、伝送されてきたビデオデータを処理して、符号化処理において除去された「必須でない」データに代えてビデオデータに組み込むための近似データを生成する。
【０００６】
ビデオ符号化は、圧縮されていないデジタルビデオコンテンツよりも少ない容量で保存できるように、又は狭い帯域幅で伝送できるように、デジタルビデオコンテンツを圧縮された形式に変換する。圧縮は、ビデオコンテンツのピクチャにおける時間的及び空間的な冗長を利用している。デジタルビデオコンテンツは、例えばハードディスク、ＤＶＤ、他の不揮発性記憶装置等のストレージ媒体に格納することができる。
【０００７】
デジタルビデオコンテンツを圧縮するビデオ符号化方法には数多くのものがある。そのため、ビデオエンコーダ及びビデオデコーダの大半が認識できる形式で圧縮デジタルビデオコンテンツを表現するように、様々なデジタルビデオ符号化方法を標準化するビデオ符号化規格が開発されている。例えば、モーションピクチャエキスパートグループ（Motion Picture Experts Group：以下、ＭＰＥＧという。）及び国際電気通信連合（International Telecommunication Union：以下、ＩＴＵ−Ｔという。）は、広く使われているビデオ符号化規格を開発している。これらの規格の例として、ＭＰＥＧ−１規格、ＭＰＥＧ−２規格、ＭＰＥＧ−４規格、ＩＴＵ−Ｔ勧告Ｈ．２６１、ＩＴＵ−Ｔ勧告Ｈ．２６３がある。
【０００８】
ＭＰＥＧ及びＩＴＵ−Ｔによって開発された規格を始めとする大部分の最新のビデオ符号化規格は、１つには、動き補償（motion compensation：以下、ＭＣという。）アルゴリズムを有する時間的予測に基づいてる。動き補償を有する時間的予測は、デジタルビデオ放送における連続するピクチャ間の時間的冗長を削減するために、用いられる。
【０００９】
動き補償アルゴリズムを有する時間的予測では、通常、個々のピクチャを符号化するために１つ又は２つの参照ピクチャを用いる。参照ピクチャは、既に符号化されたピクチャである。動き補償アルゴリズムを有する時間的予測では、符号化する特定のピクチャと参照ピクチャとを比較することによって、参照ピクチャと符号化する特定のピクチャ間の時間的冗長を利用し、仮に動き補償アルゴリズムを有する時間的予測を用いなかった場合と比べて、より高い圧縮率でピクチャを符号化することができる。参照ピクチャの一方は、符号化する特定のピクチャの後方にある。他方の参照ピクチャは、符号化する特定のピクチャの前方にある。
【００１０】
しかしながら、より高い解像度、より複雑な画像コンテンツ、より速い伝送速度を実現する要求に応じて、より優れたビデオ圧縮方法が望まれている。このために、現在、国際標準化機構（International Organization for Standardization：以下、ＩＳＯという。）及び国際電気通信連合（International Telecommunication Union：以下、ＩＴＵ−Ｔという。）が協力して新たなビデオ符号化規格を開発している。この新たなビデオ符号化規格は、ＭＰＥＧ−４ Ｐａｒｔ１０ アドバンストビデオ符号化（Advanced Video Coding：以下、ＡＶＣという。）／Ｈ．２６４規格と呼ばれている。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開平４−１０８２８５号公報
【発明の概要】
【課題を解決するための手段】
【００１２】
画像シーケンスのピクチャを符号化する本発明に係る符号化方法は、ピクチャを複数の小さい部分に分割するステップと、複数の小さい部分の少なくとも１つをフレーム符号化モードで、及び複数の小さい部分の少なくとも１つをフィールド符号化モードで選択的に符号化するステップとを有する。符号化は、マクロブロック対に対して適用され、フレーム符号化モードが選択された場合には、マクロブロック対の各マクロブロックの両方のフィールドは、一緒に符号化される。
【００１３】
ビットストリームからの複数の小さい部分を有する符号化ピクチャを復号する本発明に係る復号方法は、複数の小さい部分の少なくとも１つをフレーム符号化モードで、及び複数の小さい部分の少なくとも１つをフィールド符号化モードで復号するステップと、復号された複数の小さい部分を用いて、復号ピクチャを構成するステップとを有する。復号は、マクロブロック対に対して適用され、フレーム符号化モードが選択された場合には、マクロブロック対の各マクロブロックの両方のフィールドは、一緒に復号される。
【００１４】
本発明に係る記録媒体は、プロセッサで実行されたときに、プロセッサに、ビットストリームからの複数の小さい部分を有する符号化ピクチャを復号する復号方法を実行させるコンピュータで実行可能な複数の命令を記録したコンピュータで読取可能な記録媒体において、復号方法は、複数の小さい部分の少なくとも１つをフレーム符号化モードで、及び複数の小さい部分の少なくとも１つをフィールド符号化モードで復号するステップと、復号された複数の小さい部分を用いて、復号ピクチャを構成するステップとを有する。復号は、マクロブロック対に対して適用され、フレーム符号化モードが選択された場合には、マクロブロック対の各マクロブロックの両方のフィールドは、一緒に復号される。
【００１５】
画像シーケンスのピクチャを符号化する本発明に係る符号化装置は、ピクチャを複数の小さい部分に分割する分割手段と、複数の小さい部分の少なくとも１つをフレーム符号化モードで、及び複数の小さい部分の少なくとも１つをフィールド符号化モードで選択的に符号化する符号化手段とを備える。符号化は、マクロブロック対に対して適用され、フレーム符号化モードが選択された場合には、マクロブロック対の各マクロブロックの両方のフィールドは、一緒に符号化される。
【００１６】
ビットストリームからの複数の小さい部分を有する符号化ピクチャを復号する本発明に係る復号装置は、複数の小さい部分の少なくとも１つをフレーム符号化モードで、及び複数の小さい部分の少なくとも１つをフィールド符号化モードで復号する復号手段と、復号された複数の小さい部分を用いて、復号ピクチャを構成する構成手段とを備える。復号は、マクロブロック対に対して適用され、フレーム符号化モードが選択された場合には、マクロブロック対の各マクロブロックの両方のフィールドは、一緒に復号される。
【００１７】
本発明に係る記録媒体は、プロセッサで実行されたときに、プロセッサに、画像シーケンスのピクチャを符号化する符号化方法を実行させるコンピュータで実行可能な複数の命令を記録したコンピュータで読取可能な記録媒体において、符号化方法は、ピクチャを複数の小さい部分に分割するステップと、複数の小さい部分の少なくとも１つをフレーム符号化モードで、及び複数の小さい部分の少なくとも１つをフィールド符号化モードで選択的に符号化するステップとを有する。符号化は、マクロブロック対に対して適用され、フレーム符号化モードが選択された場合には、マクロブロック対の各マクロブロックの両方のフィールドは、一緒に符号化される。
【図面の簡単な説明】
【００１８】
【図１】ＭＰＥＧ−４ Ｐａｒｔ１０ ＡＶＣ／Ｈ．２６４規格を始めとする代表的なビデオ符号化規格に規定され、本発明を実施するのに用いられる代表的な３つのピクチャタイプのシーケンスを示す図である。
【図２】本発明に基づき、各ピクチャがマクロブロックを含むスライスに分割されることを示す図である。
【図３Ａ】本発明に基づき、マクロブロックを１６×８画素のブロックに分割できることを示す図である。
【図３Ｂ】本発明に基づき、マクロブロックを８×１６画素のブロックに分割できることを示す図である。
【図３Ｃ】本発明に基づき、マクロブロックを８×８画素のブロックに分割できることを示す図である。
【図３Ｄ】本発明に基づき、マクロブロックを１６×４画素のブロックに分割できることを示す図である。
【図３Ｅ】本発明に基づき、マクロブロックを４×８画素のブロックに分割できることを示す図である。
【図３Ｆ】本発明に基づき、マクロブロックを４×４画素のブロックに分割できることを示す図である。
【図４】本発明に基づく動き補償を有する時間的予測を用いたピクチャ構成の具体例を説明する図である。
【図５】マクロブロックをフィールドモードで符号化する際のマクロブロックのトップフィールドとボトムフィールドへの分割を説明する図である。
【図６Ａ】本発明に基づき、フィールドモードで符号化するマクロブロックを１６×８画素のブロックに分割できることを示す図である。
【図６Ｂ】本発明に基づき、フィールドモードで符号化するマクロブロックを８×８画素のブロックに分割できることを示す図である。
【図６Ｃ】本発明に基づき、フィールドモードで符号化するマクロブロックを４×８画素のブロックに分割できることを示す図である。
【図６Ｄ】本発明に基づき、フィールドモードで符号化するマクロブロックを４×４画素のブロックに分割できることを示す図である。
【図７】本発明に基づき、マクロブロックの対に対するＡＦＦ符号化に用いることができるマクロブロックの対の一例を示す図である。
【図８】フィールドモードで符号化するマクロブロックの対を１６×１６画素ブロックからなる１つのトップフィールドと、１６×１６画素ブロックからなる１つのボトムフィールドとに分割する処理を説明する図である。
【図９】マクロブロックの対のＡＦＦ符号化における２つの可能なスキャンパスを示す図である。
【図１０】マクロブロックの対に対するＡＦＦ符号化の概念を４個以上の隣接するマクロブロックのグループに対するＡＦＦ符号化に拡張した本発明の他の実施例を示す図である。
【図１１】ストリーム内の各マクロブロックに関連する情報を含むビットストリームに含まれる幾つかの情報を示す図である。
【図１２】マクロブロック内のブロックのＰＭＶを算出するための様々な好ましい手法を説明するために用いられる、符号化するブロック及びこのブロックに隣接するブロックを示す図である。
【図１３】スキャンパスが垂直スキャンパスである場合における隣接するブロックの定義を示す図である。
【図１４】本発明に基づき、各画素値が隣接するブロックの画素値から予測されることを示す図である。
【図１５】イントラ４×４符号化のための異なる符号化方向を示す図である。
【図１６Ａ】４×４画素ブロックの選択されたイントラ予測モード（intra_prediction_mode）が隣接するブロックの予測モードに強い相関関係を有することを説明する図である。
【図１６Ｂ】４×４画素ブロックの選択されたイントラ予測モード（intra_prediction_mode）が隣接するブロックの予測モードに強い相関関係を有することを説明する図である。
【図１７Ａ】符号化する現在のマクロブロックの対に関する隣接するブロックの定義を説明する図である。
【図１７Ｂ】符号化する現在のマクロブロックの対に関する隣接するブロックの定義を説明する図である。
【図１７Ｃ】符号化する現在のマクロブロックの対に関する隣接するブロックの定義を説明する図である。
【図１７Ｄ】符号化する現在のマクロブロックの対に関する隣接するブロックの定義を説明する図である。
【発明を実施するための形態】
【００１９】
本発明は、複数のピクチャのストリーム（以下、ピクチャストリームという。）からなるデジタルビデオコンテンツのマクロブロックレベルでの適応フレーム／フィールド（以下、ＡＦＦという。）符号化方法を提供する。本発明は、ピクチャレベルのＡＦＦ符号化の概念をマクロブロックに拡張する。ピクチャレベルでのＡＦＦ符号化において、符号化するピクチャストリームの各ピクチャは、他のピクチャがフレームモード又はフィールドモードの何れで符号化されているかにかかわらず、フレームモード又はフィールドモードで符号化される。ピクチャをフレームモードで符号化する場合、インタレースされたフレームを構成する２つのフィールドを一緒に符号化する。一方、ピクチャをフィールドモードで符号化する場合、インタレースされたフレームを構成する２つのフィールドを別々に符号化する。エンコーダは、フレームモード符号化とフィールドモード符号化のうちの、どちらのタイプが各ピクチャに対してより有利であるかを判定し、ピクチャの符号化タイプを選択する。フレームモードとフィールドモードとから選択する完全な方法は、本発明において重要でないので、詳細は省略する。
【００２０】
上述のように、ＭＰＥＧ−４ Ｐａｒｔ１０ ＡＶＣ／Ｈ．２６４規格は、デジタルビデオコンテンツを符号化して圧縮する新たな規格である。引用により本願に援用されるＭＰＥＧ−４ Ｐａｒｔ１０ ＡＶＣ／Ｈ．２６４規格を制定している勧告書は、ジョイントビデオチーム（Joint Video Team：ＪＶＴ）によって２００２年８月１０日に発行された「ジョイントビデオ仕様の共同最終委員会草案（Joint Final Committee Draft (JFCD) of Joint Video Specification）」を包含している（ＩＴＵ−Ｔ勧告Ｈ．２６４＆ＩＳＯ／ＩＥＣ １４４９６−１０ ＡＶＣ）。ＪＶＴは、ＩＳＯ又はＭＰＥＧ及びＩＴＵ−Ｔの専門家らによって構成されている。ＭＰＥＧ−４ Ｐａｒｔ１０ ＡＶＣ／Ｈ．２６４規格は公に知られているので、本明細書では、ＭＰＥＧ−４ Ｐａｒｔ１０ ＡＶＣ／Ｈ．２６４ビデオ符号化規格の特徴を全て詳細に記載することはしないが、本発明は、この規格の仕様に基づいて実現される。
【００２１】
ここに説明するＡＦＦ符号化方法は、ＭＰＥＧ−４ Ｐａｒｔ１０ ＡＶＣ／Ｈ．２６４規格の定めるガイドラインと互換性があり、これに則した説明を行うが、このＡＦＦ符号化方法は、特定の規格又は用途に応じて、適宜変更することができる。
【００２２】
以下、図面を参照して、本発明の好ましい実施例について説明する。
【００２３】
図１は、本発明を実現するために用いることができる３種類のピクチャのシーケンスの具体例を示しており、これらは、ＭＰＥＧ−４ Ｐａｒｔ１０ ＡＶＣ／Ｈ．２６４規格を始めとする代表的なビデオ符号化方法において定義されている。上述のように、エンコーダはピクチャを符号化し、デコーダはピクチャを復号する。エンコーダ又はデコーダは、プロセッサ、特定用途向け集積回路（application specific integrated circuit：ＡＳＩＣ）、フィールドプログラマブルゲートアレー（field programmable gate array：ＦＰＧＡ）、エンコーダ／デコーダ（coder/decoder：ＣＯＤＥＣ）、デジタルシグナルプロセッサ（digital signal processor：ＤＳＰ）、又はピクチャストリームを符号化できる他の電子回路等の何れであってもよいが、以下及び特許請求の範囲において、特別に定義する場合を除き、「エンコーダ」という用語は、ピクチャストリームからなるデジタルビデオコンテンツを符号化する全ての電子回路を含むものとする。また、「デコーダ」という用語は、ピクチャストリームからなるデジタルビデオコンテンツを復号する全ての電子回路を含むものとする。
【００２４】
ビデオ符号化方法に用いることができるピクチャの３つの種類を図１に示す。３つのピクチャタイプは、記憶されているデジタルビデオコンテンツのランダムアクセスをサポートし、動き補償を有する時間的予測を用いて、最大の冗長削減（the maximum redundancy reduction）を探索するように定義されている。３つのピクチャタイプには、イントラピクチャ（intra picture：以下、Ｉピクチャという。）（１００）と、前方予測ピクチャ（predicted picture：以下、Ｐピクチャという。）（１０２ａ、１０２ｂ）と、両方向予測ピクチャ（bi-predicted picture：以下、Ｂピクチャという。）（１０１ａ〜１０１ｄ）とがある。Ｉピクチャ（１００）は、記憶されているデジタルビデオコンテンツにランダムアクセスするためのアクセスポイントになっており、低い圧縮率で符号化される。Ｉピクチャ（１００）は、参照ピクチャを参照することなく符号化される。
【００２５】
Ｐピクチャ（１０２ａ、１０２ｂ）は、既に符号化されたＩ、Ｐ、Ｂピクチャを参照ピクチャとして用いて符号化される。符号化するＰピクチャに対して時間的に前方又は後方のピクチャの何れも参照ピクチャとして用いることができる。Ｐピクチャ（１０２ａ、１０２ｂ）は、Ｉピクチャ（１００）よりも高い圧縮率で符号化することができる。
【００２６】
Ｂピクチャ（１０１ａ〜１０１ｄ）は、前方参照ピクチャと後方参照ピクチャとの２つの時間的な参照ピクチャを用いて符号化される。前方参照ピクチャは過去参照ピクチャと呼ばれることもあり、後方参照ピクチャは未来参照ピクチャと呼ばれることもある。本発明の実施例では、前方参照ピクチャ及び後方参照ピクチャは、符号化するＢピクチャに対して時間的に同一方向にあってもよい。Ｂピクチャ（１０１ａ〜１０１ｄ）は、３つのピクチャタイプのうちで最も高い圧縮率で符号化することができる。
【００２７】
図１は、３つのピクチャタイプ間の参照関係（１０３）を示している。例えば、Ｐピクチャ（１０２ａ）は、符号化されたＩピクチャ（１００）を参照ピクチャとして用いて符号化することができる。Ｂピクチャ（１０１ａ〜１０１ｄ）は、図１に示すように、符号化されたＩピクチャ（１００）及び／又は符号化されたＰピクチャ（１０２ａ）を参照ピクチャとして用いて符号化することができる。本発明の原理に基づけば、符号化されたＢピクチャ（１０１ａ〜１０１ｄ）は、符号化する他のＢピクチャの参照ピクチャとして用いることもできる。例えば、図１に示すＢピクチャ（１０１ｃ）は、他の２つのＢピクチャ（１０１ｂ、１０１ｄ）を参照ピクチャとしている。
【００２８】
図１に示すＩピクチャ（１００）、Ｂピクチャ（１０１ａ〜１０１ｄ）、Ｐピクチャ（１０２ａ、１０２ｂ）の各番号及び順序は、ピクチャの配置の一例を示しているに過ぎず、本発明を実現する上で必須要件ではない。特定の用途に応じて、どのような数のＩピクチャ、Ｂピクチャ、Ｐピクチャをどのような順序で用いてもよい。ＭＰＥＧ−４ Ｐａｒｔ １０ ＡＶＣ／Ｈ．２６４規格は、２つの参照ピクチャ間のＢピクチャの数又は２つのＩピクチャ間のピクチャの数に関して何の制約も課していない。
【００２９】
図２に示すように、各ピクチャ（２００）は、好ましくは複数のスライス（２０２）に分割される。各スライス（２０２）は、一群のマクロブロック（２０１）を含んでいる。マクロブロック（２０１）は、一群の画素である。図２に示すように、好ましいマクロブロック（２０１）のサイズは、１６×１６画素である。
【００３０】
図３（ａ）〜図３（ｆ）は、マクロブロックが更により小さいブロックに分割できることを示している。例えば、図３（ａ）〜図３（ｆ）に示すように、マクロブロックは、更に１６×８画素（図３ａの３００）、８×１６画素（図３ｂの３０１）、８×８画素（図３ｃの３０２）、８×４画素（図３ｄの３０３）、４×８画素（図３ｅの３０４）、４×４画素（図３ｆの３０５）等のブロックサイズに分割することができる。これらのより小さなブロックサイズは、好ましくは、動き補償アルゴリズムを有する時間的予測を行う幾つかの用途において用いられる。
【００３１】
図４は、本発明の実施例として示す動き補償を有する時間的予測を用いたピクチャ構造の一例を示している。動き補償を有する時間的予測では、現在のピクチャであるピクチャＮ（４００）は、他のピクチャＮ−１（４０１）を移動することによって局所的に作る（model）ことができるとみなされる。ピクチャＮ−１（４０１）は、ピクチャＮ（４００）を符号化するための参照ピクチャであり、ピクチャＮ（４００）に対して時間的に前方にあっても後方にあってもよい。
【００３２】
図４に示すように、各ピクチャは、好ましくは、マクロブロック（２０１ａ、２０１ｂ）を含むスライスに分割されている。ピクチャＮ−１（４０１）は、ピクチャＮ（４００）に示される画像（４０３）を含んでいる。図４に示すように、画像（４０３）は、ピクチャＮ（４００）では、ピクチャＮ−１（４０１）における位置とは異なる時間的位置（４０２）にある。ピクチャＮ（４００）の各マクロブロック（２０１ａ）の画像内容は、画像（４０３）がピクチャＮ（４００）における新たな時間的位置（４０２）に移動するために必要とされるピクチャＮ−１（４０１）の各マクロブロック（２０１ｂ）の画像内容の時間的動き量を推測することによって、ピクチャＮ−１（４０１）の対応するマクロブロック（２０１ｂ）の画像内容から予測符号化される。実際には、符号化している元の画像（４０２）ではなく、画像（４０２）とこの画像の予測画像（４０３）との間の予測誤差（４０４）が符号化されて、伝送される。
【００３３】
ピクチャＮ（４００）内の各画像（４０２）に対して、時間的予測は、画像（４０３）がピクチャＮ（４００）内の新たな時間的位置（４０２）に移動するときに必要とされる時間的動き量を示す動きベクトルによって表すことができる。動き補償を有する時間的予測に使用される動きベクトル（４０６）は、符号化されて、伝送される必要がある。
【００３４】
図４は、ピクチャＮ（４００）内の画像（４０２）が、画像とこの画像の予測値間の予測誤差（４０４）と、関連する動きベクトル（４０６）とによって表現されることを示している。動きベクトルを用いた符号化の完全な方法は、特定の用途に応じて変更することができ、この変更は、当業者にとって容易である。
【００３５】
マクロブロックレベルのＡＦＦ符号化に関する理解を得るために、まず、ピクチャストリームにおけるピクチャレベルのＡＦＦ符号化の概要について説明する。インタレースシーケンスのフレームは、トップフィールドとボトムフィールドの２つのフィールドを含み、トップフィールドとボトムフィールドは、インタリーブされており、フィールド周期に対応する時間離れている。フィールド周期は、フレーム周期の半分である。ピクチャレベルのＡＦＦ符号化では、インタレースフレームの２つのフィールドを一緒に符号化してもよく、別々に符号化してもよい。これらの２つのフィールドを一緒に符号化する場合、フレームモード符号化を用いる。一方、これらの２つのフィールドを別々に符号化する場合は、フィールドモード符号化を用いる。
【００３６】
一方、固定フレーム／フィールド符号化では、ピクチャストリーム内のピクチャを１つのモードのみで符号化する。このモードは、フレームモードであってもフィールドモードであってもよい。多くの用途において、ピクチャレベルのＡＦＦ符号化では、エンコーダが、デジタルビデオ素材の内容に基づいて、フレームモード又はフィールドモードを選択して、ピクチャストリーム内の各ピクチャを符号化できるので、ピクチャレベルのＡＦＦ符号化は、固定フレーム／フィールド符号化よりも優れている。多くの場合、ＡＦＦ符号化は、固定フレーム／フィールド符号化に比べて、より良好な圧縮率を実現できる。
【００３７】
本発明の実施例では、ピクチャにおけるより小さい部分に対して、ＡＦＦ符号化を行う。この小さい部分は、マクロブロックであってもよく、マクロブロックの対であってもよく、マクロブロックのグループであってもよい。各マクロブロック、マクロブロックの対、又はマクロブロックのグループ、若しくはスライスは、ピクチャ内の他のマクロブロックがどのようなモードで符号化されるかにかかわらず、フレームモードでもフィールドモードでも符号化することができる。これらの各ケースのＡＦＦ符号化について、以下に詳細に説明する。
【００３８】
第１のケースでは、ＡＦＦ符号化を単一のマクロブロックに対して行う。マクロブロックをフレームモードで符号化する場合、マクロブロック内の２つのフィールドが一緒に符号化される。マクロブロックは、一旦フレームとして符号化されると、動き補償アルゴリズムを有する時間的予測に用いるために、図３ａ〜図３ｆに示すようなより小さなブロックに更に分割される。
【００３９】
なお、マクロブロックをフィールドモードで符号化する場合、図５に示すように、マクロブロック（５００）は、トップフィールド（５０１）とボトムフィールド（５０２）とに分割される。これらの２つのフィールドは、別々に符号化される。図５に示すマクロブロック（５００）は、Ｎ列Ｍ行の画素を有する。Ｎ及びＭの好ましい値は１６であり、この場合、マクロブロック（５００）は、１６×１６画素を含む。図５では、１行おきの画素にハッチングを施している。ハッチングされた領域は、マクロブロック（５００）のトップフィールドの画素の行を示し、ハッチングされていない領域は、マクロブロック（５００）のボトムフィールドの画素の行を示している。
【００４０】
図６ａ〜図６ｄに示すように、フィールドモードで符号化する画素は、４つの更なるブロックに分割することができる。１つのブロックは、単一のパリティを有する必要がある。この単一のパリティの要件のために、ブロックをトップフィールドとボトムフィールドから構成することができない。すなわち、ブロックは、単一のパリティのフィールドを含む必要がある。したがって、図６ａ〜図６ｄに示すように、フィールドモードマクロブロックは、１６×８画素（図６ａ：６００）、８×８画素（図６ｂ：６０１）、４×８画素（図６ｃ：６０２）、４×４画素（図６ｄ：６０３）に分割することができる。図６ａ〜図６ｄは、各ブロックが単一のパリティのフィールドを含んでいることを示している。
【００４１】
次に、マクロブロックの対に対するＡＦＦ符号化について説明する。マクロブロックの対に対するＡＦＦ符号化は、対ベースのＡＦＦ符号化（pair based AFF coding）と呼ばれることもある。図６ａ〜図６ｄに示すブロックサイズと、図３ａ〜図３ｆに示すブロックサイズとを比較することにより、フィールドモードによって符号化するブロックは、フレームモードによって符号化するマクロブロックより、分割できるブロックパターンが少ないことがわかる。単一のパリティの要件のために、フィールドモードで符号化するマクロブロックでは、１６×１６画素、８×１６画素のブロックサイズを用いることができない。これは、単一マクロブロックベースのＡＦＦ符号化は、フィールドモード符号化が強く望まれる幾つかのシーケンス又は用途においては、好ましくないことを意味している。フィールドモードでのマクロブロックの符号化の性能を保証するために、幾つかの用途では、フィールドモードで符号化するマクロブロックが、フレームモードで符号化するマクロブロックと同じブロックサイズのブロックを有することが望まれる。これは、単一のマクロブロックに対してではなく、マクロブロックの対に対してＡＦＦ符号化を行うことによって実現することができる。
【００４２】
図７は、本発明の実施例に基づき、一対のマクロブロックに対するＡＦＦ符号化において用いることができる、マクロブロックの対（７００）を示している。マクロブロックの対（７００）をフレームモードで符号化する場合、この対（７００）は、２つのフレームベースのマクロブロックとして符号化される。ここでは、各マクロブロックにおいて、各マクロブロックの２つのフィールドを一緒に符号化する。マクロブロックは、一旦フレームとして符号化された後、動き補償アルゴリズムを有する時間的予測に用いるために図３ａ〜図３ｆに示すより小さなブロックに更に分割される。
【００４３】
一方、マクロブロックの対（７００）をフィールドモードで符号化する場合、図８に示すように、マクロブロックの対（７００）は、１６×１６画素のブロックである１つのトップフィールド（８００）と、１６×１６画素のブロックである１つのボトムフィールド（８０１）とに分割される。そして、２つのフィールドは、別々に符号化される。図８に示すように、マクロブロックの対（７００）における各マクロブロックは、それぞれＮ＝１６の列とＭ＝１６の行を有する。したがって、マクロブロックの対（７００）のサイズは、１６×３２画素となる。図８では、１行おきの画素にハッチングを施している。ハッチングされた領域は、マクロブロックのトップフィールド内の画素の行を示し、ハッチングされていない領域は、マクロブロックのボトムフィールド内の画素の行を示している。トップフィールドブロック（８００）と、ボトムフィールドブロック（８０１）は、図３ａ〜図３ｆに示すブロックサイズの何れかに分割することができる。
【００４４】
本発明の実施例では、マクロブロックの対（７００）のＡＦＦ符号化において、２つのスキャンパス（scanning path）が可能である。スキャンパスは、ピクチャにおけるマクロブロックの対（７００）に対する符号化の順序を決定する。図９は、マクロブロックの対（７００）に対するＡＦＦ符号化のための２つの可能なスキャンパスを示している。スキャンパスの１つは、水平スキャンパス（９００）である。水平スキャンパス（９００）では、ピクチャ（２００）のマクロブロックの対（７００）は、図９に示すように、まず、左から右へ、そして上から下へ符号化される。もう１つのスキャンパスは、垂直スキャンパス（９０１）である。垂直スキャンパス（９０１）では、ピクチャ（２００）のマクロブロックの対（７００）は、図９に示すように、まず、上から下へ、そして左から右へ符号化される。フレームモード符号化では、まず、マクロブロックの対（７００）のトップマクロブロックが符号化され、次に、ボトムマクロブロックが符号化される。フィールドモード符号化では、マクロブロックの対（７００）のトップフィールドマクロブロックが符号化され、次に、ボトムフィールドマクロブロックが符号化される。
【００４５】
本発明の他の実施例では、一対のマクロブロックに対するＡＦＦ符号化を、図１０に示すように、４個以上の隣り合うマクロブロックのグループ（９０２）のＡＦＦ符号化に拡張する。マクロブロックのグループに対するＡＦＦ符号化は、グループベースのＡＦＦ符号化（pair based AFF coding）と呼ばれることもある。ここでは、マクロブロックの対のスキャンに用いたものと同様のスキャンパスである水平スキャンパス（９００）と垂直スキャンパス（９０１）を用いて、隣り合うマクロブロックのグループ（９０２）を符号化する。なお、図１０に示す実施例では、４個のマクロブロックを示しているが、これより多いマクロブロックによりマクロブロックのグループを構成してもよい。
【００４６】
４個のマクロブロックのグループ（９０２）をフレームモードで符号化する場合、マクロブロックのグループは、４フレームベースのマクロブロック（four frame-based macroblocks）として符号化される。各マクロブロックにおいて、各マクロブロック内の２つのフィールドは一緒に符号化される。マクロブロックは、フレームとして符号化された後、動き補償アルゴリズムを有する時間的予測に用いるために図３ａ〜図３ｆに示すより小さなブロックに更に分割される。
【００４７】
一方、例えば、４個のマクロブロックのグループ（９０２）をフィールドモードで符号化する場合、マクロブロックのグループ（９０２）は、３２×１６画素のブロックである１つのトップフィールドと、３２×１６画素のブロックである１つのボトムフィールドとに分割される。そして、２つのフィールドは、別々に符号化される。これにより、トップフィールドブロック及びボトムフィールドブロックは、マクロブロックに分割できるようになる。各マクロブロックは、図３ａ〜図３ｆに示す可能なブロックサイズの１つに分割することができる。この処理は、図８に示す処理と同様であるので、この実施例を説明する図は省略する。
【００４８】
マクロブロックレベルのＡＦＦ符号化において、好ましくは、ピクチャのビットストリームに、フレーム／フィールドフラグビットを設け、各マクロブロックを符号化する際に、フレームモードとフィールドモードの何れのモードを用いたかを示すようにする。このビットストリームは、図１１に示すように、各マクロブロックに関する情報をビットストリーム内に含んでいる。例えば、ビットストリームには、ピクチャヘッダ（１１０）と、ラン情報（１１１）と、マクロブロックタイプ情報（１１３）とを含ませることができる。ＡＦＦ符号化を個々のマクロブロックに対して行う場合は、ビットストリームにおける各マクロブロックの前にフレーム／フィールドフラグ（１１２）を設けることが好ましい。マクロブロックの対に対してＡＦＦ符号化を行う場合は、フレーム／フィールドフラグ（１１２）は、ビットストリームにおけるマクロブロックの各対の前に設けることが好ましい。そして、マクロブロックのグループに対してＡＦＦ符号化を行う場合は、フレーム／フィールドフラグ（１１２）は、ビットストリームにおけるマクロブロックの各グループの前に設けることが好ましい。一実施例においては、フレームモードを用いる場合、フレーム／フィールドフラグ（１１２）ビットを０とし、フィールドモードを用いる場合は、これを１とする。他の実施例として、フレームモードを用いる場合、フレーム／フィールドフラグ（１１２）ビットを１とし、フィールドモードを用いる場合は、これを０としてもよい。
【００４９】
本発明の他の実施例として、マクロブロックレベルのＡＦＦ符号化において、エンコーダがマクロブロックを分割するためのブロックサイズを決定する方法を説明する。理想的なブロックサイズを決定する方法は、以下に限定されるものではないが、好ましくは、バイアス又はレート歪み（rate distortion：以下、ＲＤという。）による又はよらない予測誤差の絶対値和（sum absolute difference：以下、ＳＡＤという。）に基づいて行う。例えば、ＳＡＤにより、可能なブロックサイズの性能を調べ、その結果に基づいて理想的なブロックサイズを選択する。バイアス又はＲＤによるＳＡＤに基づく決定を行うことは、当業者には容易である。
【００５０】
本発明の実施例では、フレーム及びフィールドベースの各マクロブロックは、マクロブロックレベルのＡＦＦ符号化において、イントラ符号化又はインター符号化することができる。イントラ符号化では、マクロブロックは、他のマクロブロックを時間的に参照することなく符号化される。一方、インター符号化では、動き補償を有する時間的予測を用いて、マクロブロックを符号化する。
【００５１】
インター符号化を用いる場合、１６×１６画素、１６×８画素、８×１６画素又は８×８画素のサイズのブロックは、それ自体の参照ピクチャを有することができる。ブロックは、フレームベースのマクロブロックであっても、フィールドベースのマクロブロックであってもよい。ＭＰＥＧ−４ Ｐａｒｔ １０ ＡＶＣ／Ｈ．２６４規格では、２つの参照ピクチャではなく、複数の参照ピクチャを用いることができる。複数の参照ピクチャを用いることによって、エンコーダは、符号化するブロックに最も一致した参照ピクチャのブロックを検出することができ、動き補償アルゴリズムを有する時間的予測の性能を向上させることができる。参照ピクチャは、フレームバッファ及びフィールドバッファに記憶され、符号化する現在のピクチャからの時間的距離に基づいて、参照フレーム番号及び参照フィールド番号が割り当てられている。記憶されている参照ピクチャが現在のピクチャに近い程、その参照ピクチャが選択される可能性が高い。フィールドモード符号化では、ブロック用の参照ピクチャは、参照フレームバッファ又は参照フィールドバッファの何れかにおける、いかなる参照ピクチャのトップフィールド及びボトムフィールドの何れであってもよい。
【００５２】
フレーム又はフィールドベースのマクロブロック内の各ブロックは、それ自体の動きベクトルを有することができる。動きベクトルは、空間的に予測符号化される。本発明の実施例では、インター符号化において、各ブロックに対して予測動きベクトル（prediction motion vector：以下、ＰＭＶという。）も算出する。そして、各ブロックのＰＭＶ間の代数的な差分と、そのブロックに関連した動きベクトルが算出され、符号化される。これにより、動きベクトルの圧縮ビットが生成される。
【００５３】
図１２を用いて、マクロブロック内のブロックに関するＰＭＶの様々な好ましい算出法を説明する。図１２に示す現在のブロックＥは、隣接するブロックＡ、Ｂ、Ｃ、Ｄと同様に、インター符号化される。以後、特に明示する場合を除いて、ブロックＥを現在のブロックと呼び、ブロックＡ、Ｂ、Ｃ、Ｄをこれに隣接するブロックと呼ぶ。ブロックＥのＰＭＶは、隣接するブロックの動きベクトルから導出される。図１２に示す実施例では、隣接するブロックは、ブロックＡ、Ｂ、Ｃ、Ｄである。ブロックＥのＰＭＶを算出する好ましい方法としては、ブロックＡ、Ｂ、Ｃ、Ｄの動きベクトルのメジアンを算出する方法、これらの動きベクトルの平均値を算出する方法、これらの動きベクトルの加重平均値を算出する方法等がある。ブロックＡ、Ｂ、Ｃ、Ｄの各ブロックは、フレームモードであってもフィールドモードであってもよい。
【００５４】
ブロックＥのＰＭＶを算出する他の好ましい方法として、ＹＥＳ／ＮＯ法がある。ＹＥＳ／ＮＯ法の原理では、ブロックＥのＰＭＶの計算にその動きベクトルを含ませるために、ブロックは、ブロックＥと同じフレームモード又はフィールドモードである必要がある。例えば、図１２に示すブロックＥがフレームモードである場合、ブロックＥのＰＭＶの計算にブロックＡの動きベクトルを含ませるためには、ブロックＡもフレームモードである必要がある。ブロックＥに隣接するブロックの１つがブロックＥと異なる符号化モードで符号化されている場合は、そのブロックの動きベクトルは、ブロックＥのＰＭＶの計算においては用いられない。
【００５５】
また、ブロックＥのＰＭＶの計算には、「常時法（always method）」を用いることもできる。常時法では、ブロックＡ、Ｂ、Ｃ、Ｄは、フレームモード又はフィールドモードの何れによって符号化されているかにかかわらず、常にブロックＥのＰＭＶの計算に用いられる。ブロックＥがフレームモードであり、隣接するブロックがフィールドモードである場合、ブロックＥのＰＭＶの計算を行う前に、隣接するブロックの垂直成分を２倍にする。逆に、ブロックＥがフィールドモードであり、隣接するブロックがフレームモードである場合、ブロックＥのＰＭＶの計算を行う前に、隣接するブロックの垂直成分を２で除算する。
【００５６】
また、マクロブロックが対ベースのＡＦＦ符号化又はグループベースのＡＦＦ符号化を用いて符号化されている場合は、「選択法（selective method）」を用いて、ブロックＥのＰＭＶの計算を行うことができる。選択法では、フレームベースのブロックは、参照フレームを指すフレームベースの動きベクトルを有する。ブロックには、参照フィールドを指すフィールドベースの動きベクトルも割り当てられている。フィールドベースの動きベクトルは、そのブロックのフレームベースの動きベクトルの垂直動きベクトル成分を２で除算したものである。参照フィールド番号は、参照フレーム番号を２倍にしたものである。フィールドベースのブロックは、参照フィールドを指すフィールドベースの動きベクトルを有する。このブロックには、参照フレームを指すフレームベースの動きベクトルも割り当てられている。フレームベースの動きベクトルは、そのブロックのフィールドベースのベクトルの垂直動きベクトル成分を２倍にしたものである。参照フレーム番号は、参照フィールド番号を２で除算したものである。
【００５７】
選択法によってブロックのＰＭＶを算出する方法について、図１２を用いて説明する。マクロブロックの対ベースのＡＦＦ符号化において、マクロブロック内の各ブロックは、マクロブロックの対における第２のマクロブロック内の同じ幾何学的位置にある相手方のブロック（companion block）に関連している。図１２において、ブロックＥに隣接するブロック（Ａ、Ｂ、Ｃ、Ｄ）は、ブロックＥと同じフレームモード又はフィールドモードで符号化されている場合もあり、そうでない場合もある。したがって、次のような規則が適用される。
【００５８】
ブロックＥがフレームモードであり、隣接するブロックもフレームモードである場合、隣接するブロックのフレームベースの動きベクトルがそのままブロックＥのＰＭＶの算出に用いられる。
【００５９】
ブロックＥがフレームモードであり、隣接するブロックがフィールドモードである場合、ブロックＥのＰＭＶの算出には、次のような規則が適用される。隣接するブロック（例えば、ブロックＡ）及びその相手方のフィールドベースのブロックが同じ参照フィールドを有する場合、ブロックＥのＰＭＶの算出には、これらの２つのブロックに割り当てられたフレームベースの動きベクトルの平均値を用いる。ＰＭＶの算出に用いられる参照フレーム番号は、隣接するブロックの参照フィールド番号を２で除算したものである。一方、隣接するブロック及びその相手方のフィールドベースのブロックが異なる参照フィールドを有する場合、隣接するブロックは、ブロックＥのＰＭＶの算出には用いることができない。
【００６０】
ブロックＥがフィールドモードであり、隣接するブロックがフレームモードである場合、ブロックＥのＰＭＶの算出には、次のような規則を適用することができる。隣接するブロック（例えば、ブロックＡ）及びその相手方のフレームベースのブロックが同じ参照フレームを有する場合、ブロックＥのＰＭＶの算出には、これらの２つのブロックに割り当てられたフィールドベースの動きベクトルの平均値を用いる。ＰＭＶの算出に用いられる参照フィールド番号は、隣接するブロックの参照フレーム番号を２倍にしたものである。一方、隣接するブロック及びその相手方のフィールドベースのブロックが異なる参照フレームを有する場合、隣接するブロックは、ブロックＥのＰＭＶの算出には用いることができない。
【００６１】
ブロックＥがフィールドモードであり、隣接するブロックもフィールドモードである場合、隣接するブロックのフィールドベースの動きベクトルがそのままブロックＥのＰＭＶの算出に用いられる。
【００６２】
ブロックのＰＭＶの算出に選択法を用いる場合、別の好ましいオプションを用いることもできる。図１２において、ブロックＥに隣接するブロック（Ａ、Ｂ、Ｃ、Ｄ）は、ブロックＥと同じフレームモード又はフィールドモードで符号化されている場合もあり、そうでない場合もある。したがって、選択法における別の好ましいオプションでは、次のような規則が適用される。
【００６３】
ブロックＥがフレームモードであり、隣接するブロックもフレームモードである場合、隣接するブロックのフレームベースの動きベクトルがそのままブロックＥのＰＭＶの算出に用いられる。
【００６４】
ブロックＥがフレームモードであり、隣接するブロックがフィールドモードである場合、ブロックＥのＰＭＶの算出には、隣接するブロック及びその相手方のフレームベースのブロックの加重平均値を用いる。重み係数は、隣接するブロック及びその相手方のフィールドの参照フィールド番号に基づいて決定される。
【００６５】
ブロックＥがフィールドモードであり、隣接するブロックがフレームモードである場合、ブロックＥのＰＭＶの算出には、隣接するブロック及びその相手方のフレームベースのブロックの加重平均値を用いる。重み係数は、隣接するブロック及びその相手方のフィールドの参照フィールド番号に基づいて決定される。
【００６６】
ブロックＥがフィールドモードであり、隣接するブロックもフィールドモードである場合、隣接するブロックのフィールドベースの動きベクトルがそのままブロックＥのＰＭＶの算出に用いられる。
【００６７】
ブロックのＰＭＶを算出する他の好ましい方法としては、「代替選択法（alt selective method）」がある。この方法は、単一のマクロブロックに対するＡＦＦ符号化、対ベースのＡＦＦ符号化、グループベースのＡＦＦ符号化の何れにも適用することができる。この方法では、各ブロックに対し、そのブロックの水平座標及び垂直座標を表す水平インデックス番号及び垂直インデックス番号を割り当てる。各ブロックには、水平フィールド座標及び垂直フィールド座標も割り当てられる。ブロックの水平フィールド座標は、そのブロックの水平座標と同じである。また、トップフィールドマクロブロック内のブロックについては、垂直フィールド座標は、ブロックの垂直座標の１／２であり、トップフィールド極性（top field polarity）が割り当てられる。ボトムフィールドマクロブロック内のブロックについては、垂直フィールド座標は、ブロックの垂直座標から４を減算し、結果を２で除算することにより得られる。このブロックには、ボトムフィールド極性（bottom field polarity）も割り当てられる。２つのブロックに異なるフィールド極性を割り当てることにより、同じ水平フィールド座標及び垂直フィールド座標を有するがフィールド極性が異なる２つのブロックが存在することになる。したがって、所定のブロックの座標から、フィールド座標及びそのフィールド極性を算出でき、この逆の演算も行うことができる。
【００６８】
代替選択法について、図１２を用いて説明する。ここでは、ブロックＥのＰＭＶを算出する。この具体例におけるブロックのサイズであるブロックＥの水平サイズを４で割った値をｂｘとする。ブロックＥがフレームモードであるかフィールドモードであるかに応じて、ブロックＥのＰＭＶは、次のようにして算出される。
【００６９】
ブロックＥがフレームモードであるとし、ブロックＥの水平座標及び垂直座標を（ｘ，ｙ）とする。ブロックＥに隣接するブロックは、次のように定義することができる。ブロックＡは、座標（ｘ−１，ｙ）を有するブロックである。ブロックＢは、座標（ｘ，ｙ−１）を有するブロックである。ブロックＤは、座標（ｘ−１，ｙ−１）を有するブロックである。ブロックＣは、座標（ｘ＋ｂｘ＋１，ｙ−１）を有するブロックである。ブロックＡ、Ｂ、Ｃ、Ｄの何れかがフィールドモードである場合、その垂直動きベクトルは、予測に用いる前に２倍され、その参照フレーム番号は、その参照フィールド番号を２で除算することによって算出される。
【００７０】
ここで、ブロックＥをトップフィールドモード又はボトムフィールドモードとし、ブロックＥの水平フィールド座標及び垂直フィールド座標を（ｘｆ，ｙｆ）と表すとする。この場合、ブロックＥに隣接するブロックは、次のように定義することができる。ブロックＡは、座標（ｘｆ−１，ｙｆ）を有するブロックである。ブロックＢは、座標（ｘｆ，ｙｆ−１）を有するブロックである。ブロックＤは、座標（ｘｆ−１，ｙｆ−１）を有するブロックである。ブロックＣは、座標（ｘｆ＋ｂｘ＋１，ｙｆ−１）を有するブロックである。ブロックＡ、Ｂ、Ｃ、Ｄの何れかがフレームモードである場合、その垂直動きベクトルは、予測に用いる前に２で除算され、その参照フィールド番号は、その参照フレーム番号を２倍にすることによって算出される。
【００７１】
ブロックのＰＭＶを決定する上述した全ての方法においては、スキャンパスは、水平スキャンパスである。なお、スキャンパスは、垂直スキャンパスであってもよい。この場合、現在のブロックＥに隣接するブロックは、図１３に示すような構成となる。垂直スキャンパスでは、現在のブロックＥのＰＭＶの算出に隣接する全てのブロックの情報を用いることができるので、幾つかの用途においては、垂直スキャンパスを用いることが望ましい。
【００７２】
本発明の他の実施例として、方向分割予測（directional segmentation prediction）を説明する。方向分割予測では、１６×８画素ブロック及び８×１６画素ブロックのみがそのＰＭＶの算出に適用されるという規則を有する。これらの規則は、全てのＰＭＶの算出法において、これらのブロックサイズに対して適用される。これらの規則について、図１２を用いて説明する。これらの規則のそれぞれにおいて、現在のブロックＥのＰＭＶが算出される。
【００７３】
まず、１６×１６画素のブロックは、上ブロック（upper block）と下ブロック（lower block）とから構成される。上ブロックは、上側の８行の画素を含む。下ブロックは、下側の８行の画素を含む。以下の説明では、図１２に示すブロックＥは、１６×８画素のブロックであるとする。１６×８画素ブロックを有する上ブロックについては、ブロックＢがブロックＥと同じ参照ピクチャを有している場合は、このブロックＢを用いて、ブロックＥのＰＭＶを予測する。これ以外の場合は、メジアン予測を用いて、ブロックＥのＰＭＶを予測する。１６×８画素ブロックを有する下ブロックについては、ブロックＡがブロックＥと同じ参照ピクチャを有している場合は、このブロックＡを用いて、ブロックＥのＰＭＶを予測する。これ以外の場合は、メジアン予測を用いて、ブロックＥのＰＭＶを予測する。
【００７４】
８×１６画素のブロックは、右ブロック（right block）と左ブロックに（left block）に分割されている。右ブロック及び左ブロックは、何れも８×１６画素から構成される。以下での説明では、図１２に示すブロックＥは、８×１６画素のブロックであるとする。左ブロックについては、ブロックＡがブロックＥと同じ参照ピクチャを有している場合は、このブロックＡを用いて、ブロックＥのＰＭＶを予測する。これ以外の場合は、メジアン予測を用いて、ブロックＥのＰＭＶを予測する。右ブロックについては、ブロックＣがブロックＥと同じ参照ピクチャを有している場合は、このブロックＣを用いて、ブロックＥのＰＭＶを予測する。これ以外の場合は、メジアン予測を用いて、ブロックＥのＰＭＶを予測する。
【００７５】
１６×８画素ブロック及び８×１６画素ブロックの両方について、ブロックＡ、Ｂ、Ｃは、現在のブロックＥとは異なる符号化モード（フレームモード又はフィールドモード）を有している可能性がある。両方のブロックサイズに対して、次のような規則が適用される。ブロックＥがフレームモードであり、ブロックＡ、Ｂ、Ｃの何れかがフィールドモードである場合、ブロックＡ、Ｂ、Ｃの何れかの参照フレーム番号は、その参照フィールド番号を２で除算することによって算出される。ブロックＥがフィールドモードであり、ブロックＡ、Ｂ、Ｃの何れかがフレームモードである場合、ブロックＡ、Ｂ、Ｃの何れかの参照フィールド番号は、その参照フレーム番号を２倍にすることによって算出される。
【００７６】
本発明の他の実施例では、Ｐピクチャ内のマクロブロックは、ＡＦＦ符号化においてはスキップすることができる。マクロブロックをスキップすると、そのデータは、ピクチャの符号化では、伝送されない。Ｐピクチャ内のスキップされたマクロブロックは、フレームとして時間的に最も近く符号化された参照ピクチャの同じ位置（co-located）のマクロブロックをコピーすることによって復元される。同じ位置のマクロブロックは、上述したＰＭＶを用いた動き補償により、又は動きベクトルを用いずに定義されたマクロブロックである。Ｐピクチャ内のスキップされるマクロブロックには、次のような規則が適用される。ＡＦＦ符号化がマクロブロック毎に実行されている場合、スキップされるマクロブロックは、フレームモードである。ＡＦＦ符号化がマクロブロック対に対して行われている場合、及びこの対の両方のマクロブロックがスキップされる場合、これらのマクロブロックはフレームモードである。また、マクロブロック対における一方のマクロブロックのみがスキップされる場合、このブロックの符号化モードは、同じマクロブロック対におけるスキップされないマクロブロックと同じフレームモード又はフィールドモードである。ＡＦＦ符号化がマクロブロックのグループに対して行われ、グループ内の全てのマクロブロックがスキップされる場合、これらの全てのマクロブロックはフレームモードである。また、少なくとも１つのスキップされないマクロブロックがある場合、マクロブロックのグループ内のスキップされるマクロブロックは、同じグループ内のスキップされないマクロブロックと同じフレームモード又はフィールドモードである。
【００７７】
マクロブロックのスキップに関する他の方法を説明する。マクロブロック対をスキップする場合、これをフレームモードにするかフィールドモードにするかは、左側に隣接するマクロブロック対の符号化モードに従う。左側のマクロブロック対を用いることができない場合は、上側のマクロブロック対の符号化モードに従う。左側のマクロブロック対も上側のマクロブロック対も用いることができない場合は、スキップされるマクロブロックは、フレームモードに設定される。
【００７８】
本発明の他の実施例では、Ｂピクチャ内のマクロブロックに対してダイレクトモード符号化（direct mode coding）を行う。ダイレクトモード符号化では、Ｂピクチャは、前方動きベクトル及び後方動きベクトルの２つの動きベクトルを有する。各動きベクトルは、参照ピクチャを指している。前方動きベクトルと後方動きベクトルの２つの動きベクトルは、同じ時間的方向を指すこともできる。Ｂピクチャ内のマクロブロックに対するダイレクトモード符号化では、マクロブロックの前方動きベクトル及び後方動きベクトルは、後方参照ピクチャにおいて同じ位置とされたブロックから算出される。後方参照ピクチャにおいて同じ位置とされたブロックは、フレームモードで符号化されていても、フィールドモードで符号化されていてもよい。Ｂピクチャ内のマクロブロックに対するダイレクトモード符号化では、次のような規則が適用される。
【００７９】
同じ位置とされたブロックがフレームモードであり、現在のダイレクトモードマクロブロックもフレームモードである場合、ダイレクトモードマクロブロック内のブロックに関する２つの動きベクトルは、この同じ位置とされたブロックから算出される。前方参照フレームは、同じ位置とされたブロックによって使用されるフレームの１つである。後方参照フレームは、同じ位置とされたブロックが存在するフレームと同じフレームである。
【００８０】
同じ位置とされたブロックがフレームモードであり、現在のダイレクトモードマクロブロックがフィールドモードである場合、現在のダイレクトモードマクロブロックに関する２つの動きベクトルは、同じ位置とされたブロックの動きベクトルの垂直成分を２で除算することによって算出される。前方参照フィールドは、同じ位置とされたブロックによって用いられる参照フレームにおける同じパリティのフィールドである。後方参照フィールドは、同じ位置とされたブロックが存在する後方参照フレームにおける同じパリティのフィールドである。
【００８１】
同じ位置とされたブロックがフィールドモードであり、現在のダイレクトモードマクロブロックもフィールドモードである場合、現在のダイレクトモードマクロブロックに関する２つの動きベクトルは、同じフィールドのパリティを有する同じ位置とされたブロックから算出される。前方参照フィールドは、同じ位置とされたブロックによって用いられるフィールドである。後方参照フィールドは、同じ位置とされたブロックが存在する同じフィールドである。
【００８２】
同じ位置とされたブロックがフィールドモードであり、現在のダイレクトモードマクロブロックがフレームモードである場合、現在のダイレクトモードマクロブロックに関する２つの動きベクトルは、同じ位置とされたブロックの動きベクトルの垂直成分を２倍にすることによって算出される。前方参照フレームは、同じ位置とされたブロックによって用いられるフィールドを含むフレームである。後方参照フィールドは、同じ位置とされたブロックが存在するフィールドを含むフレームである。
【００８３】
変形例として、ダイレクトモードブロックの符号化モードを、強制的に、同じ位置とされたブロックのフレームモード又はフィールドモードと同じ符号化モードにしてもよい。この場合、ダイレクトモードブロックについて同じ位置とされたブロックがフレームモードである場合は、ダイレクトモードブロックも同様にフレームモードにされる。ダイレクトモードブロックのフレームベースの２つの動きベクトルは、同じ位置とされたブロックのフレームベースの前方動きベクトルから導出される。前方参照フレームは、同じ位置とされたブロックによって用いられる。後方参照フレームは、同じ位置とされたブロックが存在するフレームである。
【００８４】
ここで、ダイレクトモードブロックについて同じ位置とされたブロックがフィールドモードである場合、ダイレクトモードブロックもフィールドモードにされる。ダイレクトモードブロックのフィールドベースの２つの動きベクトルは、同じ位置とされたブロックのフィールドベースの前方動きベクトルから導出される。前方参照フィールドは、同じ位置とされたブロックによって用いられる。後方参照フィールドは、同じ位置とされたブロックが存在するフィールドである。
【００８５】
本発明の他の実施例においては、ＡＦＦ符号化において、Ｂピクチャ内のマクロブロックをスキップすることもできる。Ｂピクチャ内のスキップされるマクロブロックは、符号化変換係数情報を用いることなく、通常のダイレクトモードマクロブロックとして復元される。Ｂピクチャにおいてスキップされるマクロブロックには、次のような規則が適用される。ＡＦＦ符号化がマクロブロック毎に実行される場合、スキップされるマクロブロックは、フレームモードで符号化してもよく、そのブロックの後方参照ピクチャにおいて同じ位置とされたブロックと同じフィールドモード又はフレームモードで符号化してもよい。ＡＦＦ符号化がマクロブロック対に対して行われている場合、及びこの対の両方のマクロブロックがスキップされる場合、これらのマクロブロックは、フレームモードで符号化してもよく、そのブロックの後方参照ピクチャにおいて同じ位置とされたマクロブロックの対と同じフィールドモード又はフレームモードで符号化してもよい。また、マクロブロック対における一方のマクロブロックのみがスキップされる場合、このブロックの符号化モードは、同じマクロブロック対におけるスキップされないマクロブロックと同じフレームモード又はフィールドモードである。ＡＦＦ符号化がマクロブロックのグループに対して行われ、グループ内の全てのマクロブロックがスキップされる場合、これらの全てのマクロブロックはフレームモードで符号化してもよく、そのブロックの後方参照ピクチャにおいて同じ位置とされたマクロブロックのグループと同じフィールドモード又はフレームモードで符号化してもよい。また、少なくとも１つのスキップされないマクロブロックがある場合、マクロブロックのグループ内のスキップされるマクロブロックは、同じグループ内のスキップされないマクロブロックと同じフレームモード又はフィールドモードである。また、少なくとも１つのスキップされないマクロブロックがある場合、マクロブロックのグループ内のスキップされるマクロブロックは、同じグループ内のスキップされないマクロブロックと同じフレームモード又はフィールドモードである。
【００８６】
上述のように、ブロックは、イントラ符号化（intra coded）することもできる。イントラブロックは、空間予測符号化される。マクロブロックレベルのＡＦＦ符号化においては、マクロブロックについて２つの可能なイントラ符号化モードがある。第１のモードは、イントラ４×４モードであり、第２のモードは、イントラ１６×１６モードである。何れの場合も、各画素値は、隣接するブロックから実際に復元された画素値を用いて予測される。画素値を予測することにより、より高度な圧縮が実現できる。イントラ４×４モード及びイントラ１６×１６モードのそれぞれについて、以下に詳細に説明する。
【００８７】
イントラ４×４モードでは、図１４に示すように、４×４画素ブロック内の画素の予測は、その画素の左側及び上側の画素に基づいて行われる。図１４では、４×４画素ブロック内の１６個の画素にａ〜ｐのラベルを付している。更に、図１４では、隣接する画素にＡ〜Ｐのラベルを付している。すなわち、隣接する画素は、大文字で表している。図１５に示すように、イントラ４×４符号化においては、９個の異なる予測方向が存在する。これらは、垂直方向（０）、水平方向１（１）、ＤＣ予測（モード２）、対角左下方向（３）、対角右下方向（４）、垂直寄り左方向（５）、水平寄り下方向（６）垂直寄り右方向（７）、及び水平寄り上方向（８）である。ＤＣ予測では、隣接する画素の全てを平均して、特定の画素値を予測する。
【００８８】
一方、イントラ１６×１６モードでは、４個の異なる予測方向が存在する。予測方向は、予測モードとも呼ばれる。これらの予測方向とは、垂直予測（０）、水平予測（１）、ＤＣ予測、及び平面予測である。平面予測については、ここでは説明しない。
【００８９】
イントラブロック及びその隣接するブロックは、フレームモードで符号化してもフィールドモードで符号化してもよい。復元されたブロックに対しては、イントラ予測が実行される。復元されたブロックは、ブロックが実際にフレームモードで符号化されているか、フィールドモードで符号化されているかにかかわらず、フレームモードでもフィールドモードでも表現できる。イントラ予測では、復元されたブロックの画素のみが用いられるため、次のような規則が適用される。
【００９０】
４×４画素のブロック又は１６×１６画素のブロックがフレームモードである場合、そのブロックの画素値の予測に用いる隣接する画素は、フレーム構造内にある。４×４画素のブロック又は１６×１６画素のブロックがフィールドモードである場合、そのブロックの画素値の予測に用いる隣接する画素は、同じフィールドパリティを有するフィールドモードである。
【００９１】
４×４画素ブロックの選択されたイントラ予測モード（intra_prediction_mode）は、隣接したブロックの予測モードに対し、高い相関性を有している。これを図１６Ａに示す。図１６Ａでは、ブロックＡ及びブロックＢがブロックＣに隣接している。ここでは、ブロックＣの予測モードを決定しようとしている。図１６Ｂは、ビットストリーム内のイントラ予測情報の順序を示している。ブロックＡ及びブロックＢの予測モードが既知である（ブロックＡ又はブロックＢ、若しくはこの両方がスライスの外側（outside）にある場合を含む。）場合、ブロックＣの最も可能性が高い予測モード（most_probable_prediction mode）が与えられる。ブロックＡ又はブロックＢの何れかが「外側（outside）」にある場合、最も可能性が高い予測モードは、ＤＣ予測（モード２）である。これ以外の場合は、最も可能性が高い予測モードは、ブロックＡ及びブロックＢに用いた予測モードの最小値（minimum）である。隣接するブロックが１６×１６イントラモードで符号化されている場合、予測モードは、ＤＣ予測モードである。隣接するブロックがイントラマクロブロックではない場合、通常及び制約されたイントラ更新（constrained intra update）では、予測モードは「モード２：ＤＣ予測」である。
【００９２】
４×４画素ブロックのための予測モード番号を伝えるために、第１のパラメータuse_most_probable_modeが伝送される。このパラメータは、１ビットのコードワードによって表され、０又は１の値をとる。use_most_probable_modeが１の場合、最も可能性が高いモードが用いられる。これ以外の場合、０〜７の値をとることができる更なるパラメータremaining_mode_selectorが３ビットコードワードとして伝送される。このコードワードは、remaining_mode_selector値のバイナリ表現である。予測モード番号は、次のようにして算出される。
if(remaining_mode_selector < most_probable_mode)
intra_pred_mode = remaining_mode_selector ;
else
intra_pred_mode = remaining_mode_selector+1 ;
したがって、ブロックＣに割り当てられる予測モードの順序は、まず、最も可能性が高いモードであり、次に残りのモードが昇順（ascending order）に割り当てられる。
【００９３】
本発明の実施例では、４×４画素ブロックのイントラ予測モード及び１６×１６画素ブロックのイントラ予測モードについて、次のような規則をイントラモード予測に適用する。ブロックＣ及びこれに隣接するブロックＡ、Ｂは、フレームモードであってもフィールドモードであってもよい。次の規則のうちの１つが適用される。以下に示す規則の説明では、図１６Ａ及び図１６Ｂを用いる。
【００９４】
規則１：ブロックＡ又はブロックＢがブロックＣと同じフレーム／フィールドモードである場合に限って、ブロックＡ又はブロックＢをブロックＣに隣接するブロックとして用いる。これ以外の場合、ブロックＡ及びブロックＢは、外側にあるとみなされる。
【００９５】
規則２：ブロックＣがフィールド／フレーム符号化モードの何れであるかにかかわらず、ブロックＡ及びブロックＢをブロックＣに隣接するブロックとして用いる。
【００９６】
規則３：ブロックＣがフレームモードで符号化され、座標（ｘ，ｙ）を有する場合、ブロックＡを座標（ｘ，ｙ−１）のブロックとし、ブロックＢを座標（ｘ−１，ｙ）のブロックとする。一方、ブロックＣがフィールドモードで符号化され、座標（ｘ，ｙ）を有する場合、ブロックＡを座標（ｘ，ｙ−１）を有し、ブロックＣと同じフィールド極性を有するフィールドとし、ブロックＢを座標（ｘ−１，ｙ）を有し、ブロックＣと同じフィールド極性を有するフィールドとする。
【００９７】
規則４：この規則は、マクロブロック対のみに適用される。図１６Ｂに示す符号３、６、７、９、１２、１３、１１、１４、１５が付されたブロックの予測モードを復号する場合、上側及び左側に接するブロックは、現在のブロックＥと同じマクロブロック内にある。一方、符号１、４、５が付されたブロックの予測モードを復号する場合、上側のブロック（ブロックＡ）は、現在のマクロブロック対とは異なるマクロブロック対内にある。また、ブロック２、８、１０が付されたブロックの予測モードを復号する場合、左側のブロック（ブロックＢ）は、異なるマクロブロック対内にある。符号０が付されたブロックの予測モードを復号する場合、上側のブロックも左側のブロックも異なるマクロブロック対内にある。フィールド復号モードにおけるマクロブロックについては、符号０、１、４、５、２、８、１０が付されたブロックに隣接するブロックは、次のように定義される。
【００９８】
図１７Ａに示すように、上側のマクロブロック対（１７０）がフィールドモードで復号されている場合、トップフィールドマクロブロック（１７３）における符号０、１、４、５が付されたブロックについては、上側のマクロブロック対（１７０）のトップフィールドマクロブロック（１７３）における符号１０、１１、１４、１５が付されたブロックのそれぞれを現在のマクロブロック対（１７１）の上側に隣接するブロックとみなす。また、図１７Ａに示すように、ボトムフィールドマクロブロック（１７４）における符号０、１、４、５が付されたブロックについては、上側のマクロブロック対（１７０）のボトムフィールドマクロブロック内の符号１０、１１、１４、１５が付されたブロックのそれぞれを現在のマクロブロック対（１７１）の上側に隣接するブロックとみなす。
【００９９】
また、上側のマクロブロック対（１７０）がフレームモードで復号されている場合、図１７Ｂに示すように、トップフィールドマクロブロック（１７３）における符号０、１、４、５が付されたブロックについては、上側のマクロブロック対（１７０）のボトムフレームマクロブロック（１７６）における符号１０、１１、１４、１５が付されたブロックのそれぞれを現在のマクロブロック対（１７１）の上側に隣接するブロックとみなす。また、図１７Ｂに示すように、ボトムフィールドマクロブロック（１７４）における符号０、１、４、５が付されたブロックについては、上側のマクロブロック対（１７０）のボトムフレームマクロブロック（１７６）内の符号１０、１１、１４、１５が付されたブロックのそれぞれを現在のマクロブロック対（１７１）の上側に隣接するブロックとみなす。
【０１００】
マクロブロック対（１７２）がフィールドモードで復号されている場合、図１７Ｃに示すように、トップフィールドマクロブロック（１７３）における符号０、２、８、１０が付されたブロックについては、左側のマクロブロック対（１７２）のトップフィールドマクロブロック（１７３）における符号５、７、１３、１５が付されたブロックのそれぞれを現在のマクロブロック対（１７１）の左側に隣接するブロックとみなす。また、図１７Ｃに示すように、ボトムフィールドマクロブロック（１７４）における符号０、２、８、１０が付されたブロックについては、左側のマクロブロック対（１７２）のボトムフィールドマクロブロック（１７４）における符号５、７、１３、１５が付されたブロックのそれぞれを現在のマクロブロック対（１７１）の左側に隣接するブロックとみなす。
【０１０１】
左側のマクロブロック対（１７２）がフレームモードで復号されている場合、図１７Ｄに示すように、トップフィールドマクロブロック（１７３）における符号０、２、８、１０が付されたブロックについては、左側のマクロブロック対（１７２）のトップフレームマクロブロック（１７５）における符号５、７、１３、１５が付されたブロックのそれぞれを現在のマクロブロック対（１７１）の左側に隣接するブロックとみなす。また、図１７Ｄに示すように、ボトムフィールドマクロブロック（１７４）における符号０、２、８、１０が付されたブロックについては、左側のマクロブロック対（１７２）のボトムフレームマクロブロック（１７６）における符号５、７、１３、１５が付されたブロックのそれぞれを現在のマクロブロック対（１７１）の左側に隣接するブロックとみなす。
【０１０２】
スライスの上側の境界におけるマクロブロック対については、左側のマクロブロック対（１７２）がフレーム復号モードである場合、フィールドマクロブロックを予測するために用いられるイントラモード予測値は、ＤＣ予測に設定される。
【０１０３】
上述したイントラ符号化及びイントラモード予測に関する説明は、適応ブロック変換に拡張することができる。
【０１０４】
本発明の他の実施例では、復元されたブロックに対し、ループフィルタリングを行う。復元されたブロックは、ブロックのフレーム／フィールド符号化モードにかかわらず、フレーム構造でもフィールド構造でも表すことができる。ループ（逆ブロック化）フィルタリングは、隣接するブロックの画素の加重平均を求める処理である。図１２を用いて、ループフィルタリングを説明する。図１２に示すブロックＥを復元されたブロックとし、ブロックＡ、Ｂ、Ｃ、Ｄを隣接する復元されたブロックとし、これらのブロック全てがフレーム構造で表されているとする。ブロックＡ、Ｂ、Ｃ、Ｄ、Ｅは、それぞれフレーム符号化されていてもフィールド符号化されていてもよいため、次のような規則が適用される。
【０１０５】
規則１：ブロックＥがフレーム符号化されている場合、ループフィルタリングは、ブロックＥ及びこれに隣接するブロックＡ、Ｂ、Ｃ、Ｄの画素に亘って実行される。
【０１０６】
規則２：ブロックＥがフィールド符号化されている場合、ループフィルタリングは、ブロックＥ及びこれに隣接するブロックＡ、Ｂ、Ｃ、Ｄのトップフィールド画素及びボトムフィールド画素に対して別々に実行される。
【０１０７】
本発明の他の実施例として、境界の画素を繰り返すことにより、復元されたフレームに対してパディング処理（Padding）を施すこともできる。境界ブロックは、フレームモードで符号化されていてもフィールドモードで符号化されていてもよいため、次のような規則が適用される。
【０１０８】
規則１：境界ブロックの左側の垂直ライン又は右側の垂直ライン上の画素を必要に応じて繰り返す。
【０１０９】
規則２：境界ブロックがフレーム符号化されている場合、境界ブロックの上側の水平ライン又は下側の水平ライン上の画素を繰り返す。
【０１１０】
規則３：境界ブロックがフィールド符号化されている場合、境界ブロックの２つの上側の又は２つの下側の水平ライン（２つのフィールド）の画素を交互に繰り返す。
【０１１１】
本発明の他の実施例では、エントロピ符号化の前に、２次元変換係数を１次元の一連の係数に変換する。スキャンパスは、ジグザグ状であっても非ジグザグ状であってもよい。ジグザグスキャンは、プログレッシブシーケンスに用いることが好ましいが、これを遅い動きでインタレースシーケンスに用いてもよい。非ジグザグスキャンは、インタレースシーケンスに用いることが好ましい。マクロブロックレベルのＡＦＦ符号化では、次のようなオプションを使用できる。
【０１１２】
オプション１：フレームモードのマクロブロックにジグザグスキャンを用い、フィールドモードのマクロブロックには非ジグザグスキャンを用いる。
【０１１３】
オプション２：フィールドモード及びフレームモードの両方のマクロブロックにジグザグスキャンを用いる。
【０１１４】
オプション３：フィールドモード及びフレームモードの両方のマクロブロックにジグザグスキャンを用いる。
【０１１５】
上述の説明は、本発明の実施の形態の一例を例示的に示したものであって、発明を完全に包括し限定することを意図したものではない。上述した記載に基づいて、多くの変形及び変更が可能である。
【０１１６】
上述の実施の形態は、本発明の原理及び幾つかの実際的な用途を例示的に示すために選択されたものである。上述の説明により、当業者は、様々な形態で本発明を利用することができ、個々の用途に応じて様々な変形例を想到することができる。本発明は、特許請求の範囲によって定義される。
【図１】
2010022058.tif 000003
【図２】
2010022058.tif 000004
【図３Ａ】
2010022058.tif 000005
【図３Ｂ】
2010022058.tif 000006
【図３Ｃ】
2010022058.tif 000007
【図３Ｄ】
2010022058.tif 000008
【図３Ｅ】
2010022058.tif 000009
【図３Ｆ】
2010022058.tif 000010
【図４】
2010022058.tif 000011
【図５】
2010022058.tif 000012
【図６Ａ】
2010022058.tif 000013
【図６Ｂ】
2010022058.tif 000014
【図６Ｃ】
2010022058.tif 000015
【図６Ｄ】
2010022058.tif 000016
【図７】
2010022058.tif 000017
【図８】
2010022058.tif 000018
【図９】
2010022058.tif 000019
【図１０】
2010022058.tif 000020
【図１１】
2010022058.tif 000021
【図１２】
2010022058.tif 000022
【図１３】
2010022058.tif 000023
【図１４】
2010022058.tif 000024
【図１５】
2010022058.tif 000025
【図１６Ａ】
2010022058.tif 000026
【図１６Ｂ】
2010022058.tif 000027
【図１７Ａ】
2010022058.tif 000028
【図１７Ｂ】
2010022058.tif 000029
【図１７Ｃ】
2010022058.tif 000030
【図１７Ｄ】
2010022058.tif 000031
【手続補正書】
【提出日】平成21年11月20日(2009.11.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画像シーケンスのピクチャを符号化する符号化方法において、
上記ピクチャを複数の小さい部分に分割するステップと、
上記複数の小さい部分の少なくとも１つをフレーム符号化モードで、及び該複数の小さい部分の少なくとも１つをフィールド符号化モードで選択的に符号化するステップとを有し、
上記符号化は、マクロブロック対に対して適用され、
上記フレーム符号化モードが選択された場合には、上記マクロブロック対の各マクロブロックの両方のフィールドは、一緒に符号化されることを特徴とする符号化方法。
【請求項２】
上記マクロブロック対を上記フィールド符号化モードで符号化するときには、該マクロブロック対を、トップフィールドブロックとボトムフィールドブロックから形成するステップを更に有する請求項１記載の符号化方法。
【請求項３】
上記マクロブロック対を形成するステップは、
上記マクロブロック対の第１のマクロブロックのトップフィールドを形成するために上記トップフィールドブロックのトップ部を取り出すステップと、
上記マクロブロック対の第２のマクロブロックのトップフィールドを形成するために上記トップフィールドブロックのボトム部を取り出すステップと、
上記マクロブロック対の第１のマクロブロックのボトムフィールドを形成するために上記ボトムフィールドブロックのトップ部を取り出すステップと、
上記マクロブロック対の第２のマクロブロックのボトムフィールドを形成するために上記ボトムフィールドブロックのボトム部を取り出すステップとを有することを特徴とする請求項２記載の符号化方法。
【請求項４】
ビットストリームからの複数の小さい部分を有する符号化ピクチャを復号する復号方法において、
上記複数の小さい部分の少なくとも１つをフレーム符号化モードで、及び該複数の小さい部分の少なくとも１つをフィールド符号化モードで復号するステップと、
上記復号された複数の小さい部分を用いて、復号ピクチャを構成するステップとを有し、
上記復号は、マクロブロック対に対して適用され、
上記フレーム符号化モードが選択された場合には、上記マクロブロック対の各マクロブロックの両方のフィールドは、一緒に復号されることを特徴とする復号方法。
【請求項５】
上記マクロブロック対が上記フィールド符号化モードで符号化されているときには、上記マクロブロック対を、トップフィールドブロックとボトムフィールドブロックから形成するステップを更に有する請求項４記載の復号方法。
【請求項６】
上記マクロブロック対を形成するステップは、
上記マクロブロック対の第１のマクロブロックのトップフィールドを形成するために上記トップフィールドブロックのトップ部を取り出すステップと、
上記マクロブロック対の第２のマクロブロックのトップフィールドを形成するために上記トップフィールドブロックのボトム部を取り出すステップと、
上記マクロブロック対の第１のマクロブロックのボトムフィールドを形成するために上記ボトムフィールドブロックのトップ部を取り出すステップと、
上記マクロブロック対の第２のマクロブロックのボトムフィールドを形成するために上記ボトムフィールドブロックのボトム部を取り出すステップとを有することを特徴とする請求項５記載の復号方法。
【請求項７】
プロセッサで実行されたときに、該プロセッサに、ビットストリームからの複数の小さい部分を有する符号化ピクチャを復号する復号方法を実行させるコンピュータで実行可能な複数の命令を記録したコンピュータで読取可能な記録媒体において、
上記復号方法は、
上記複数の小さい部分の少なくとも１つをフレーム符号化モードで、及び該複数の小さい部分の少なくとも１つをフィールド符号化モードで復号するステップと、
上記復号された複数の小さい部分を用いて、復号ピクチャを構成するステップとを有し、
上記復号は、マクロブロック対に対して適用され、
上記フレーム符号化モードが選択された場合には、上記マクロブロック対の各マクロブロックの両方のフィールドは、一緒に復号されることを特徴とする記録媒体。
【請求項８】
上記復号方法は、
上記マクロブロック対が上記フィールド符号化モードで符号化されているときには、上記マクロブロック対を、トップフィールドブロックとボトムフィールドブロックから形成するステップを更に有すること特徴とする請求項７記載の記録媒体。
【請求項９】
上記マクロブロック対を形成するステップは、
上記マクロブロック対の第１のマクロブロックのトップフィールドを形成するために上記トップフィールドブロックのトップ部を取り出すステップと、
上記マクロブロック対の第２のマクロブロックのトップフィールドを形成するために上記トップフィールドブロックのボトム部を取り出すステップと、
上記マクロブロック対の第１のマクロブロックのボトムフィールドを形成するために上記ボトムフィールドブロックのトップ部を取り出すステップと、
上記マクロブロック対の第２のマクロブロックのボトムフィールドを形成するために上記ボトムフィールドブロックのボトム部を取り出すステップとを有することを特徴とする請求項８記載の記録媒体。
【請求項１０】
画像シーケンスのピクチャを符号化する符号化装置において、
上記ピクチャを複数の小さい部分に分割する分割手段と、
上記複数の小さい部分の少なくとも１つをフレーム符号化モードで、及び該複数の小さい部分の少なくとも１つをフィールド符号化モードで選択的に符号化する符号化手段とを備え、
上記符号化は、マクロブロック対に対して適用され、
上記フレーム符号化モードが選択された場合には、上記マクロブロック対の各マクロブロックの両方のフィールドは、一緒に符号化されることを特徴とする符号化装置。
【請求項１１】
上記マクロブロック対を上記フィールド符号化モードで符号化するときには、該マクロブロック対を、トップフィールドブロックとボトムフィールドブロックから形成する形成手段を更に備える請求項１０記載の符号化装置。
【請求項１２】
上記形成手段は、
上記マクロブロック対の第１のマクロブロックのトップフィールドを形成するために上記トップフィールドブロックのトップ部を取り出し、
上記マクロブロック対の第２のマクロブロックのトップフィールドを形成するために上記トップフィールドブロックのボトム部を取り出し、
上記マクロブロック対の第１のマクロブロックのボトムフィールドを形成するために上記ボトムフィールドブロックのトップ部を取り出し、
上記マクロブロック対の第２のマクロブロックのボトムフィールドを形成するために上記ボトムフィールドブロックのボトム部を取り出すことを特徴とする請求項１１記載の符号化装置。
【請求項１３】
ビットストリームからの複数の小さい部分を有する符号化ピクチャを復号する復号装置において、
上記複数の小さい部分の少なくとも１つをフレーム符号化モードで、及び該複数の小さい部分の少なくとも１つをフィールド符号化モードで復号する復号手段と、
上記復号された複数の小さい部分を用いて、復号ピクチャを構成する構成手段とを備え、
上記復号は、マクロブロック対に対して適用され、
上記フレーム符号化モードが選択された場合には、上記マクロブロック対の各マクロブロックの両方のフィールドは、一緒に復号されることを特徴とする復号装置。
【請求項１４】
上記マクロブロック対が上記フィールド符号化モードで符号化されているときには、上記マクロブロック対を、トップフィールドブロックとボトムフィールドブロックから形成する形成手段を更に備える請求項１３記載の復号装置。
【請求項１５】
上記形成手段は、
上記マクロブロック対の第１のマクロブロックのトップフィールドを形成するために上記トップフィールドブロックのトップ部を取り出し、
上記マクロブロック対の第２のマクロブロックのトップフィールドを形成するために上記トップフィールドブロックのボトム部を取り出し、
上記マクロブロック対の第１のマクロブロックのボトムフィールドを形成するために上記ボトムフィールドブロックのトップ部を取り出し、
上記マクロブロック対の第２のマクロブロックのボトムフィールドを形成するために上記ボトムフィールドブロックのボトム部を取り出すことを特徴とする請求項１４記載の復号装置。
【請求項１６】
プロセッサで実行されたときに、該プロセッサに、画像シーケンスのピクチャを符号化する符号化方法を実行させるコンピュータで実行可能な複数の命令を記録したコンピュータで読取可能な記録媒体において、
上記符号化方法は、
上記ピクチャを複数の小さい部分に分割するステップと、
上記複数の小さい部分の少なくとも１つをフレーム符号化モードで、及び該複数の小さい部分の少なくとも１つをフィールド符号化モードで選択的に符号化するステップとを有し、
上記符号化は、マクロブロック対に対して適用され、
上記フレーム符号化モードが選択された場合には、上記マクロブロック対の各マクロブロックの両方のフィールドは、一緒に符号化されることを特徴とする記録媒体。
【請求項１７】
上記符号化方法は、
上記マクロブロック対を上記フィールド符号化モードで符号化するときには、該マクロブロック対を、トップフィールドブロックとボトムフィールドブロックから形成するステップを更に有することを特徴とする請求項１６記載の記録媒体。
【請求項１８】
上記マクロブロック対を形成するステップは、
上記マクロブロック対の第１のマクロブロックのトップフィールドを形成するために上記トップフィールドブロックのトップ部を取り出すステップと、
上記マクロブロック対の第２のマクロブロックのトップフィールドを形成するために上記トップフィールドブロックのボトム部を取り出すステップと、
上記マクロブロック対の第１のマクロブロックのボトムフィールドを形成するために上記ボトムフィールドブロックのトップ部を取り出すステップと、
上記マクロブロック対の第２のマクロブロックのボトムフィールドを形成するために上記ボトムフィールドブロックのボトム部を取り出すステップとを有することを特徴とする請求項１７記載の記録媒体。