(57)【要約】【課題】長方形のブロックを用いる動画像符号化において発生する符号量を削減する。【解決手段】第１符号化部４１１は、動画像に含まれる符号化対象画像を複数のブロックに分割し、フィルタ処理を用いた予測符号化によって各ブロックを符号化する。第２符号化部４１２は、フィルタ処理における画素列の方向を示すパラメータを符号化する。このとき、第２符号化部４１２は、複数のブロックの１つである符号化対象ブロックの形状が長方形である場合、長方形の長辺の方向に応じて、フィルタ処理における画素列の方向を示すパラメータを符号化する処理を変更する。【選択図】図４
2019036772.tif 000002
【特許請求の範囲】
【請求項１】
動画像に含まれる符号化対象画像を複数のブロックに分割し、フィルタ処理を用いた予測符号化によって各ブロックを符号化する第１符号化部と、
前記フィルタ処理における画素列の方向を示すパラメータを符号化する第２符号化部とを備え、
前記第２符号化部は、前記複数のブロックの１つである符号化対象ブロックの形状が長方形である場合、前記長方形の長辺の方向に応じて、前記パラメータを符号化する処理を変更することを特徴とする動画像符号化装置。
【請求項２】
前記第２符号化部は、コンテキスト適応型二値算術符号化における可変の確率を用いて、前記パラメータを符号化することを特徴とする請求項１記載の動画像符号化装置。
【請求項３】
前記第２符号化部は、前記コンテキスト適応型二値算術符号化においてシンボルの生起確率を記述するコンテキスト変数を、前記符号化対象ブロックの予測方法がイントラ予測又はインター予測のうちいずれであるかに応じて変更することを特徴とする請求項２記載の動画像符号化装置。
【請求項４】
前記第２符号化部は、前記画素列の方向が前記長方形のいずれかの辺と平行である場合、前記コンテキスト適応型二値算術符号化においてシンボルの生起確率を記述するコンテキスト変数を用いて、前記パラメータを符号化することを特徴とする請求項２記載の動画像符号化装置。
【請求項５】
前記第２符号化部は、前記符号化対象ブロックを含む所定領域内において、第１方向の辺の長さが第２方向の辺の長さよりも長い１つ以上の長方形のブロックの面積と、前記第２方向の辺の長さが前記第１方向の辺の長さよりも長い１つ以上の長方形のブロックの面積との差分に関する指標を求め、前記指標に基づいて、複数のコンテキスト変数の中から前記コンテキスト変数を選択することを特徴とする請求項４記載の動画像符号化装置。
【請求項６】
前記第２符号化部は、前記符号化対象ブロックを含む所定領域内において、第１方向の辺の長さが第２方向の辺の長さよりも長い１つ以上の長方形のブロックの面積と、前記第２方向の辺の長さが前記第１方向の辺の長さよりも長い１つ以上の長方形のブロックの面積との差分に関する指標を求め、前記指標に基づいて、前記コンテキスト変数が表す優勢シンボルの値を変更し、変更したコンテキスト変数を用いて前記パラメータを符号化し、前記パラメータを符号化した後に前記優勢シンボルの値を元の値に戻すことを特徴とする請求項４記載の動画像符号化装置。
【請求項７】
前記第２符号化部は、前記画素列の方向が前記長方形のいずれかの辺と平行である場合、前記符号化対象ブロックを含む所定領域内における複数のブロックが、第１方向の辺の長さが第２方向の辺の長さよりも長い長方形である度合いに関する指標を求め、前記指標を用いて、前記コンテキスト適応型二値算術符号化における優勢シンボルの値と前記優勢シンボルの生起確率とを計算し、計算した前記優勢シンボルの値と前記優勢シンボルの生起確率とを用いて、前記パラメータを符号化することを特徴とする請求項２記載の動画像符号化装置。
【請求項８】
動画像に含まれる符号化対象画像を複数のブロックに分割し、フィルタ処理を用いた予測符号化によって各ブロックを符号化する第１符号化部と、
前記フィルタ処理における画素列の方向を示すパラメータを符号化する第２符号化部とを備え、
前記第１符号化部は、前記複数のブロックの１つである符号化対象ブロックの形状が長方形である場合、前記長方形の長辺の方向に基づいて前記画素列の方向を決定し、前記第２符号化部は、前記符号化対象ブロックの形状が長方形ではない場合、前記パラメータを符号化することを特徴とする動画像符号化装置。
【請求項９】
動画像に含まれる符号化対象画像を複数のブロックに分割する第１工程と、
フィルタ処理を用いた予測符号化によって各ブロックを符号化する第２工程と、
前記フィルタ処理における画素列の方向を示すパラメータを符号化する第３工程とを備え、
前記第３工程は、前記複数のブロックの１つである符号化対象ブロックの形状が長方形である場合、前記長方形の長辺の方向に応じて、前記パラメータを符号化する処理を変更する、
ことを特徴とする動画像符号化方法。
【請求項１０】
動画像に含まれる符号化対象画像を複数のブロックに分割する第１工程と、
フィルタ処理を用いた予測符号化によって各ブロックを符号化する第２工程と、
前記フィルタ処理における画素列の方向を示すパラメータを符号化する第３工程とを備え、
前記第２工程は、前記複数のブロックの１つである符号化対象ブロックの形状が長方形である場合、前記長方形の長辺の方向に基づいて前記画素列の方向を決定し、
前記第３工程は、前記符号化対象ブロックの形状が長方形ではない場合、前記パラメータを符号化する、
ことを特徴とする動画像符号化方法。
【請求項１１】
コンピュータに動画像符号化処理を実行させるための動画像符号化プログラムであって、
前記動画像符号化処理は、
動画像に含まれる符号化対象画像を複数のブロックに分割する第１工程と、
フィルタ処理を用いた予測符号化によって各ブロックを符号化する第２工程と、
前記フィルタ処理における画素列の方向を示すパラメータを符号化する第３工程とを備え、
前記第３工程は、前記複数のブロックの１つである符号化対象ブロックの形状が長方形である場合、前記長方形の長辺の方向に応じて、前記パラメータを符号化する処理を変更する、
ことを特徴とする動画像符号化プログラム。
【請求項１２】
コンピュータに動画像符号化処理を実行させるための動画像符号化プログラムであって、
前記動画像符号化処理は、
動画像に含まれる符号化対象画像を複数のブロックに分割する第１工程と、
フィルタ処理を用いた予測符号化によって各ブロックを符号化する第２工程と、
前記フィルタ処理における画素列の方向を示すパラメータを符号化する第３工程とを備え、
前記第２工程は、前記複数のブロックの１つである符号化対象ブロックの形状が長方形である場合、前記長方形の長辺の方向に基づいて前記画素列の方向を決定し、
前記第３工程は、前記符号化対象ブロックの形状が長方形ではない場合、前記パラメータを符号化する、
ことを特徴とする動画像符号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像符号化装置、動画像符号化方法、及び動画像符号化プログラムに関する。
【背景技術】
【０００２】
現在、“High Efficiency Video Coding（ＨＥＶＣ）”標準の第４版が出版されようとしており、ＨＥＶＣが安定期に入っている。International Telecommunication Union Telecommunication Standardization Sector（ＩＴＵ−Ｔ）は、ＩＴＵの１つのセクタとして知られている。また、ＩＳＯ／ＩＥＣ  ＪＴＣ  １は、International Organization for Standardization（ＩＳＯ）とInternational Electrotechnical Commission（ＩＥＣ）のJoint Technical Committee 1である。
【０００３】
近年、ＩＴＵ−Ｔ  ＷＰ３／１６とＩＳＯ／ＩＥＣ  ＪＣＴ１／ＳＣ２９／ＷＧ１１は、Joint Video Exploration Team（ＪＶＥＴ）と呼ばれる新たなグループを設立した。ＪＶＥＴは、動画像圧縮技術の強化策を評価する指導的な検討作業を担当しており、そのメンバによって作成された文書は、“http://phenix.it-sudparis.eu/jvet/”のウェブサイトにアップロードされている。
【０００４】
ＨＥＶＣ標準の主要な側面の１つは、正方形のブロックを４個の等価な小ブロックに再帰的に分割する四分木構造を用いることである。再帰的に分割される基本ブロックは、Coding Tree Unit（ＣＴＵ）と呼ばれる。
【０００５】
連続する複数のＣＴＵは、スライスと呼ばれるより大きなデータ要素にグループ化される。スライスは、イントラ予測又はインター予測のうちいずれが許容されるかによって、イントラ予測スライス又はインター予測スライスとして定義することができる。
【０００６】
また、最近では、ＪＶＥＴに対して、Quadtree plus binary tree（ＱＴＢＴ）と呼ばれるブロック分割が提案されている（例えば、非特許文献１及び非特許文献２を参照）。ＱＴＢＴブロック分割によれば、正規の四分木によるブロック分割が行われた後で、二分木によるブロック再分割が連続して行われる。
【０００７】
二分木によるブロック再分割では、現在のブロックの形状にかかわらず、各ブロックが水平又は垂直に２個のサブブロックに分割される。したがって、分割後の各サブブロックは、長方形になることがある。例えば、８×１６（画素）のブロックは、２個の４×１６のブロックに再分割されることもあり、２個の８×８のブロックに再分割されることもある。
【０００８】
動画像符号化におけるサンプルアダプティブオフセット（Sample Adaptive Offset，ＳＡＯ）処理及びコンテキスト適応算術符号化も知られている（例えば、特許文献１及び２を参照）。色差信号の変換ブロック形状として長方形を用いる技術も知られている（例えば、特許文献３を参照）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】国際公開第２０１３／１７５７４８号パンフレット
【特許文献２】国際公開第２０１３／１８３２６８号パンフレット
【特許文献３】国際公開第２０１３／１１４９９２号パンフレット
【非特許文献】
【００１０】
【非特許文献１】“[966] Block partitioning structure for next generation video coding”、［online］、ＩＴＵ、［平成２９年７月２０日検索］、インターネット＜ＵＲＬ：http://www.itu.int/md/T13-SG16-C-0966/en＞
【非特許文献２】“Quadtree plus binary tree structure integration with JEM tools”, JVET-B0023, Joint Video Exploration Team of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, February 20, 2016.
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ＱＴＢＴブロック分割を採用した動画像符号化では、長方形のブロックの形状に基づくＳＡＯ処理の確率的な変化が、発生する符号量の制御に利用されていない。
【００１２】
なお、かかる問題は、ＱＴＢＴブロック分割を採用した動画像符号化に限らず、長方形のブロックを用いる他の動画像符号化においても生ずるものである。
【００１３】
１つの側面において、本発明は、長方形のブロックを用いる動画像符号化において発生する符号量を削減することを目的とする。
【課題を解決するための手段】
【００１４】
１つの案では、動画像符号化装置は、第１符号化部及び第２符号化部を含む。第１符号化部は、動画像に含まれる符号化対象画像を複数のブロックに分割し、フィルタ処理を用いた予測符号化によって各ブロックを符号化する。第２符号化部は、フィルタ処理における画素列の方向を示すパラメータを符号化する。
【００１５】
このとき、第２符号化部は、複数のブロックの１つである符号化対象ブロックの形状が長方形である場合、長方形の長辺の方向に応じて、フィルタ処理における画素列の方向を示すパラメータを符号化する処理を変更する。
【発明の効果】
【００１６】
実施形態によれば、長方形のブロックを用いる動画像符号化において発生する符号量を削減することができる。
【図面の簡単な説明】
【００１７】
【図１】パラメータを示す図である。
【図２】パラメータに対する固定長符号化を示す図である。
【図３】長方形のサブブロックを示す図である。
【図４】動画像符号化装置の機能的構成図である。
【図５】動画像符号化処理のフローチャートである。
【図６】動画像符号化装置の具体例を示す機能的構成図である。
【図７】動画像符号化処理の具体例を示すフローチャートである。
【図８】パラメータの符号化処理のフローチャートである。
【図９】第１のビンの符号化処理の第１の具体例を示すフローチャートである。
【図１０】第２のビンの符号化処理の第１の具体例を示すフローチャートである。
【図１１】指標計算処理のフローチャートである。
【図１２】第２のビンの符号化処理の第２の具体例を示すフローチャートである。
【図１３Ａ】第２のビンの符号化処理の第３の具体例を示すフローチャート（その１）である。
【図１３Ｂ】第２のビンの符号化処理の第３の具体例を示すフローチャート（その２）である。
【図１４】第２のビンの符号化処理の第４の具体例を示すフローチャートである。
【図１５】第１のビンの符号化処理の第２の具体例を示すフローチャートである。
【図１６】第２のビンの符号化処理の第５の具体例を示すフローチャートである。
【図１７】ＳＡＯフィルタの機能的構成図である。
【図１８】パラメータ決定処理のフローチャートである。
【図１９】情報処理装置の構成図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照しながら、実施形態を詳細に説明する。
上述したＱＴＢＴブロック分割では、最小幅及び最小高さに対する制約が指定されている。また、分割処理によって直接生成されるブロックに対して、離散コサイン変換（Discrete Cosine Transform，ＤＣＴ）のような周波数変換を行うことも提案されている。この場合、様々な非正方形（長方形）の変換が発生することになる。
【００１９】
一方、現在のＨＥＶＣ標準によってサポートされているＳＡＯフィルタは、将来策定される動画像符号化標準によってもサポートされるものと考えられる。このＳＡＯフィルタは、符号化されたブロックの高周波数成分の量子化によって生じるリンギングノイズを削減するために用いられ、以下の２つの主要な動作モードを有する。
（１）バンドオフセットモード
各画素の画素値が属するレンジに応じて、そのレンジに対応するオフセット値がその画素に対して適用される。
（２）エッジオフセットモード
各画素の画素値が所定方向に沿って隣接する２個の画素よりも小さいか又は大きい場合に、その画素に対してオフセット値が適用される。
【００２０】
このうち、エッジオフセットモードでは、各画素の画素値と、ビットストリームにおいて指定される方向に沿って並んでいる２個の隣接画素の画素値とを比較することで、その画素に対してエッジオフセットフィルタが適用される。このとき、フィルタ処理が適用される対象画素の元の画素値とその周囲の画素の画素値とに応じて、異なるオフセット値が元の画素値に加算される。これにより、対象画素の画素値と２個の隣接画素の画素値の平均値との差分を削減することができる。
【００２１】
各対象画素に対して隣接画素が選択される方向は、ＣＴＵ毎に決定されて伝送される。輝度成分及び色差成分に対するエッジオフセットフィルタの方向は、ビットストリームパラメータであるsao_eo_class_luma及びsao_eo_class_chromaによって、それぞれ伝送される。
【００２２】
図１は、sao_eo_class_luma及びsao_eo_class_chromaの値の例を示している。エッジオフセット方向は、エッジオフセットフィルタの方向を表す。パラメータ“０”は水平方向を表し、パラメータ“１”は垂直方向を表し、パラメータ“２”は１３５度の対角方向を表し、パラメータ“３”は４５度の対角方向を表す。
【００２３】
さらに、動画像符号化標準は、過去に符号化済みのブロックの情報を用いて符号化対象ブロックの情報を圧縮する予測方法として、イントラ予測及びインター予測の２つの方法を採用している。イントラ予測は、符号化対象ブロックに対して距離的に近いブロックの画素値を用いる予測方法である。イントラ予測では、符号化対象ブロックの画素値を予測するために、その周囲のブロックの画素値が用いられることがある。
【００２４】
一方、インター予測は、符号化対象ブロックに対して時間的に近いブロックの画素値を用いる予測方法である。インター予測では、符号化対象ブロックの画素値を予測するために、複数の符号化済みピクチャ内の符号化済みブロックの組み合わせが探索されることがある。この場合、それらの符号化済みブロックを組み合わせて、符号化対象ブロックを近似するブロックが生成される。
【００２５】
イントラ予測又はインター予測によって生成される画素値と元の画素値との差分は、残差又は予測誤差と呼ばれる。この予測誤差は、後続する処理によって、画素領域から周波数領域へ変換される。周波数領域の要素はさらに量子化されるため、符号化における損失が生じる。このような予測符号化の直接的な結果として、予測誤差が大きいほど量子化によって生じる損失も大きくなる。
【００２６】
さらに、動画像符号化標準は、ビットストリーム上でデータを送信するために、データの二値化及びエントロピー符号化を採用している。二値化とは、例えば、パラメータをビット列に変換することである。ＨＥＶＣにおけるいくつかの二値化パターンのうち固定長符号化が、sao_eo_class_luma及びsao_eo_class_chromaの値をビット列に変換するために用いられる。
【００２７】
図２は、図１のパラメータに対する固定長符号化の例を示している。ビット列は、固定長符号化によって生成され、第１のビン及び第２のビンの２つのビット値からなる。各ビンはビット位置を表し、第１のビンはMost Significant Bit側に対応し、第２のビンはLeast Significant Bit側に対応する。
【００２８】
パラメータ“０”はビット列“００”に変換され、パラメータ“１”はビット列“０１”に変換され、パラメータ“２”はビット列“１０”に変換され、パラメータ“３”はビット列“１１”に変換される。
【００２９】
ＨＥＶＣにおけるエントロピー符号化は、コンテキスト適応型二値算術符号化（Context-Adaptive Binary Arithmetic Coding，ＣＡＢＡＣ）を用いて行われる。ＣＡＢＡＣを用いることで、発生しやすい値に対して少ないビットを割り当て、発生しにくい値に対して多くのビットを割り当てることが可能になる。
【００３０】
ＣＡＢＡＣでは、ビット列の各ビット位置において論理“１”又は論理“０”のビット値（シンボル）が生起する確率を用いて、そのビット列が符号化される。各ビット位置のビット値は、可変の確率又は固定の確率のいずれかを用いて符号化される。
【００３１】
可変の確率を用いる場合は、優勢シンボル（Most Probable Symbol，ＭＰＳ）、劣勢シンボル（Least Probable Symbol，ＬＰＳ）、ＭＰＳの生起確率、及びＬＰＳの生起確率を特定する情報が、コンテキスト変数を用いて記述される。ＭＰＳは、論理“１”又は論理“０”のうち出現する確率が高い方のビット値を表し、ＬＰＳは、出現する確率が低い方のビット値を表す。各シンボルの生起確率は、対応するビット位置の実際のビット値に基づいて更新される。
【００３２】
一方、固定の確率を用いる場合は、論理“１”の生起確率及び論理“０”の生起確率がともに５０％に固定され、各シンボルの生起確率は更新されない。固定の確率を用いた符号化は、バイパス符号化と呼ばれる。
【００３３】
以上考察したように、ＱＴＢＴブロック分割を採用する際には、次の２点を考慮することが望ましい。
（ａ）分割後のサブブロックは長方形になることがあり、長方形のサブブロックの幅は、そのサブブロックの高さとは異なる長さになる。
（ｂ）予測処理の対象となるサブブロックは、周波数変換の対象となるサブブロックと同じである。
【００３４】
図３は、長方形のサブブロックの例を示している。長方形のサブブロックがイントラ予測を用いて符号化される場合、サブブロック内の画素の位置によって、参照される周囲のブロックまでの距離が大きく変化する。
【００３５】
例えば、縦長のブロック３０１の場合、ブロック３０１の高さが幅よりも長く、ブロック３０１の長辺の方向は垂直方向である。このため、ブロック３０１内の画素から左側に隣接するブロックまでの水平方向の最大距離３１１よりも、ブロック３０１内の画素から上側に隣接するブロックまでの垂直方向の最大距離３１２の方が大きい。
【００３６】
一方、横長のブロック３０２の場合、ブロック３０２の幅が高さよりも長く、ブロック３０２の長辺の方向は水平方向である。このため、ブロック３０２内の画素から左側に隣接するブロックまでの水平方向の最大距離３２１の方が、ブロック３０２内の画素から上側に隣接するブロックまでの垂直方向の最大距離３２２よりも大きい。
【００３７】
したがって、長方形のブロックの短辺近くに位置する画素が参照画素として用いられる場合、符号化対象画素と参照画素との距離が大きくなる。
【００３８】
動画像では画素間の距離が大きくなるほどそれらの画素値の相関が小さくなるため、複数の参照画素が符号化対象画素から遠くなるほど、それらの参照画素の画素値と符号化対象画素の画素値との相関は、統計的に小さくなる。
【００３９】
このため、長方形のブロックに対するイントラ予測によって予測誤差を生成した場合、そのブロックの長辺の軸に沿った予測誤差のばらつきの方が、短辺の軸に沿った予測誤差のばらつきよりも大きくなると考えられる。この予測誤差を周波数領域へ変換すると、長辺の方向における複数の異なる周波数成分の方が、短辺の方向における複数の異なる周波数成分よりも広範囲に広がった、エネルギー配分が得られる。一方の方向のみにおいてエネルギーが広がっている場合、量子化によって、その方向においてより大きな損失が生じる。
【００４０】
ＳＡＯフィルタはこのような損失を修正するために適用されるものであるため、エッジオフセットフィルタの方向は、最大の損失が生じる方向と一致する可能性が高い。しかしながら、ＳＡＯフィルタの実装において、このような可能性を利用して伝送コストを削減することは行われていない。
【００４１】
一方、長方形のサブブロックがインター予測を用いて符号化される場合、予測誤差がイントラ予測符号化のような傾向を示すことはない。しかしながら、ブロックの形状とその形状に基づく周波数変換は、変換によって得られる係数の配分及び量子化による損失のパターンに影響を与える。
【００４２】
動画像符号化において、周波数変換は、できる限り限定された個数の値の範囲内にデータを寄せ集めるために行われる。例えば、大きな正方形の予測誤差ブロックに対してＤＣＴを適用した場合、高周波数成分のほとんどが０に近い値になり、ほとんどの情報が低周波数成分に保持される。
【００４３】
このようなＤＣＴを長方形の予測誤差ブロックに対して適用した場合、異なる周波数成分の個数が最大となる次元において、高周波数成分の値が小さくなり、エネルギー圧縮性能が向上するものと推測される。一方、異なる周波数成分の個数が最小となる次元においては、高周波数成分の値が大きくなり、エネルギー圧縮性能が低下するものと考えられる。
【００４４】
このため、一様に広がったエネルギーを有する予測誤差に対して長方形の周波数変換を行った場合、短い方の次元の高周波数成分に対する量子化損失は、長い方の次元の高周波数成分に対する量子化損失よりも大きくなる。したがって、インター予測を用いた場合のエッジオフセットフィルタの方向は、長方形の短辺に対応する方向と一致する可能性が高くなる。
【００４５】
このように、長方形の短辺の方向における変化を表す周波数成分においてより多くの情報が失われる傾向は、インター予測の場合に限らず、イントラ予測の場合にも生じるものである。しかしながら、イントラ予測によって生成される予測誤差のばらつきの影響は、周波数変換に基づく損失の影響よりもはるかに大きい。
【００４６】
現在のＳＡＯパラメータ伝送方法では、ＱＴＢＴブロック分割に伴うエッジオフセットフィルタの方向の可能性を考慮していない。このため、エッジオフセットフィルタの方向を示すパラメータは、固定の確率を用いたバイパス符号化によって符号化される。この場合、長方形のブロックの形状に基づくエッジオフセットフィルタの方向の確率的な変化が、ＣＡＢＡＣによって発生する符号量に反映されず、パラメータを伝送するための符号量は削減されない。
【００４７】
図４は、実施形態の動画像符号化装置の機能的構成例を示している。図４の動画像符号化装置４０１は、第１符号化部４１１及び第２符号化部４１２を含む。
【００４８】
図５は、図４の動画像符号化装置４０１が行う動画像符号化処理の例を示すフローチャートである。まず、第１符号化部４１１は、動画像に含まれる符号化対象画像を複数のブロックに分割し（ステップ５０１）、フィルタ処理を用いた予測符号化によって各ブロックを符号化する（ステップ５０２）。次に、第２符号化部４１２は、フィルタ処理における画素列の方向を示すパラメータを符号化する（ステップ５０３）。
【００４９】
動画像符号化処理の第１の具体例において、第２符号化部４１２は、複数のブロックの１つである符号化対象ブロックの形状が長方形である場合、長方形の長辺の方向に応じて、フィルタ処理における画素列の方向を示すパラメータを符号化する処理を変更する。
【００５０】
動画像符号化処理の第２の具体例において、第１符号化部４１１は、複数のブロックの１つである符号化対象ブロックの形状が長方形である場合、長方形の長辺の方向に基づいて、フィルタ処理における画素列の方向を決定する。そして、第２符号化部４１２は、符号化対象ブロックの形状が長方形ではない場合、フィルタ処理における画素列の方向を示すパラメータを符号化する。
【００５１】
このような動画像符号化装置４０１によれば、長方形のブロックを用いる動画像符号化において発生する符号量を削減することができる。
【００５２】
図６は、図４の動画像符号化装置４０１の具体例を示している。図６の動画像符号化装置４０１は、第１符号化部４１１、第２符号化部４１２、及び合成部６１１を含む。
【００５３】
第１符号化部４１１は、制御部６２１、スイッチ６２２、合成部６２３、イントラ予測部６２４、インター予測部６２５、及びフレームメモリ６２６を含む。さらに、第１符号化部４１１は、変換部６２７、逆変換部６２８、ＳＡＯフィルタ６２９、パラメータ符号化部６３０、予測誤差符号化部６３１、及び合成部６３２を含む。第２符号化部４１２は、パラメータ符号化部６４１を含む。
【００５４】
動画像符号化装置４０１は、例えば、ハードウェア回路として実装することができる。この場合、動画像符号化装置４０１の各構成要素を個別の回路として実装してもよく、１つの集積回路として実装してもよい。
【００５５】
動画像符号化装置４０１は、入力される符号化対象動画像を符号化し、符号化動画像をビットストリームとして出力する。符号化対象動画像は、複数のピクチャを含む。各ピクチャは、符号化対象画像に対応し、フレームと呼ばれることもある。各ピクチャは、カラー画像であってもよく、モノクロ画像であってもよい。ピクチャがカラー画像の場合、画素値はＲＧＢ形式であってもよく、ＹＵＶ形式であってもよい。
【００５６】
図６の例では、各ピクチャは、複数のスライスを含み、各スライスは、複数のＣＴＵを含む。制御部６２１は、各スライスをイントラ予測スライスとして符号化するか、又はインター予測スライスとして符号化するかを決定し、決定したスライスの種別をスイッチ６２２及び合成部６３２へ出力する。
【００５７】
スイッチ６２２は、符号化対象ピクチャをＱＴＢＴブロック分割によって複数のブロックに分割する。そして、スイッチ６２２は、イントラ予測スライスに含まれる符号化対象ブロックをイントラ予測部６２４へ出力し、インター予測スライスに含まれる符号化対象ブロックをインター予測部６２５へ出力する。
【００５８】
イントラ予測部６２４は、符号化対象ブロックに対するイントラ予測を行って、イントラ予測の予測誤差及び予測パラメータを変換部６２７へ出力し、ＣＴＵのブロック分割に関する情報を合成部６３２へ出力する。イントラ予測部６２４が出力する予測誤差は、大きな値になる傾向がある。
【００５９】
フレームメモリ６２６は、各ブロックの局所復号画像を記憶し、局所復号画像を符号化対象ブロックの参照画像として合成部６２３へ出力する。合成部６２３は、スイッチ６２２が出力する符号化対象ブロックと、フレームメモリ６２６が出力する参照画像とを、インター予測部６２５へ出力する。
【００６０】
インター予測部６２５は、符号化対象ブロックに対するイントラ予測及びインター予測を併用して、インター予測の予測誤差及び予測パラメータを変換部６２７へ出力し、ＣＴＵのブロック分割に関する情報を合成部６３２へ出力する。インター予測部６２５が出力する予測誤差は、イントラ予測部６２４が出力する予測誤差と比較して小さな値になる。
【００６１】
変換部６２７は、予測誤差に対する周波数変換及び量子化を行って係数情報を生成し、その係数情報及び圧縮パラメータを逆変換部６２８、パラメータ符号化部６３０、及び予測誤差符号化部６３１へ出力する。圧縮パラメータは、予測パラメータ、量子化パラメータ等を含む。
【００６２】
逆変換部６２８は、変換部６２７が出力する係数情報に対する逆量子化及び逆周波数変換を行って、再構成画素値を生成し、その再構成画素値をＳＡＯフィルタ６２９へ出力する。
【００６３】
ＳＡＯフィルタ６２９は、バンドオフセットモード又はエッジオフセットモードのいずれかの動作モードを選択して、再構成画素値に対してＳＡＯフィルタ処理を適用し、フィルタ処理後の再構成画素値を生成する。そして、ＳＡＯフィルタ６２９は、フィルタ処理後の再構成画素値からなる局所復号画像を、フレームメモリ６２６へ出力し、ＳＡＯフィルタ処理のパラメータを合成部６３２へ出力する。ＳＡＯフィルタ処理のパラメータは、動作モード、オフセット値、エッジオフセットフィルタの方向等を含む。
【００６４】
フレームメモリ６２６は、ＳＡＯフィルタ６２９が出力する局所復号画像を記憶する。フレームメモリ６２６が記憶する局所復号画像は、後続する画像に対する参照画像として用いられる。
【００６５】
合成部６３２は、制御部６２１が出力するスライスの種別、イントラ予測部６２４又はインター予測部６２５が出力するＣＴＵのブロック分割に関する情報、及びＳＡＯフィルタ６２９が出力するパラメータを合成して、パラメータ符号化部６４１へ出力する。パラメータ符号化部６４１は、スライスの種別及びブロック分割に関する情報に基づいて、ＳＡＯフィルタ処理のパラメータを符号化し、符号化パラメータのビット列を合成部６１１へ出力する。
【００６６】
パラメータ符号化部６３０は、変換部６２７が出力する圧縮パラメータを符号化して、符号化圧縮パラメータのビット列を合成部６１１へ出力する。予測誤差符号化部６３１は、変換部６２７が出力する係数情報を符号化して、符号化係数情報のビット列を合成部６１１へ出力する。パラメータ符号化部６４１、パラメータ符号化部６３０、及び予測誤差符号化部６３１は、例えば、ＣＡＢＡＣによって符号化対象の情報を符号化することができる。
【００６７】
合成部６１１は、パラメータ符号化部６４１、パラメータ符号化部６３０、及び予測誤差符号化部６３１が出力するビット列を合成して、符号化動画像のビットストリームを出力する。
【００６８】
動画像符号化装置４０１は、通信ネットワークを介して、ビットストリームを不図示の動画像復号装置へ送信することができる。この場合、動画像復号装置は、ビットストリームを復号して符号化対象動画像を復元する。また、動画像符号化装置４０１は、後段の画像処理で利用するために、ビットストリームを記憶装置に保存することもできる。
【００６９】
動画像符号化装置４０１は、様々な用途に利用される。例えば、動画像符号化装置４０１を、ビデオカメラ、映像送信装置、映像受信装置、テレビ電話システム、コンピュータ、又は携帯電話機に組み込むことも可能である。
【００７０】
図７は、図６の動画像符号化装置４０１が行う動画像符号化処理の具体例を示すフローチャートである。まず、第１符号化部４１１は、符号化対象動画像に含まれる１つの符号化対象ピクチャ内の１つのＣＴＵを、ＱＴＢＴブロック分割によって複数のブロックに分割する（ステップ７０１）。そして、ＣＴＵ内の１つのブロックに対する予測符号化を行って、予測誤差を符号化し（ステップ７０２）、圧縮パラメータを符号化する（ステップ７０３）。
【００７１】
次に、第２符号化部４１２は、ＳＡＯフィルタ処理のパラメータを符号化する（ステップ７０４）。ＳＡＯフィルタ処理のパラメータは、ＣＴＵのブロック分割に関する情報を用いて符号化されるため、ブロック分割に関する情報の後で符号化される。
【００７２】
次に、第１符号化部４１１は、ＣＴＵ内のすべてのブロックを符号化したか否かをチェックする（ステップ７０５）。符号化していないブロックが残っている場合（ステップ７０５，ＮＯ）、動画像符号化装置４０１は、次のブロックについてステップ７０２以降の処理を繰り返す。
【００７３】
すべてのブロックを符号化した場合（ステップ７０５，ＹＥＳ）、第１符号化部４１１は、符号化対象ピクチャ内のすべてのＣＴＵを符号化したか否かをチェックする（ステップ７０６）。符号化していないＣＴＵが残っている場合（ステップ７０６，ＮＯ）、動画像符号化装置４０１は、次のＣＴＵについてステップ７０１以降の処理を繰り返す。
【００７４】
すべてのＣＴＵを符号化した場合（ステップ７０６，ＹＥＳ）、第１符号化部４１１は、符号化対象動画像内のすべてのピクチャを符号化したか否かをチェックする（ステップ７０７）。符号化していないピクチャが残っている場合（ステップ７０７，ＮＯ）、動画像符号化装置４０１は、次のピクチャについてステップ７０１以降の処理を繰り返す。そして、すべてのピクチャを符号化した場合（ステップ７０７，ＹＥＳ）、動画像符号化装置４０１は、処理を終了する。
【００７５】
図８は、エッジオフセットフィルタの方向を示すパラメータの符号化処理の例を示すフローチャートである。図８の符号化処理は、図７のステップ７０４において、第２符号化部４１２のパラメータ符号化部６４１によって行われる。
【００７６】
この符号化処理では、図２に示したエッジオフセットフィルタの方向を示すパラメータのビット列が、ＣＡＢＡＣを用いて符号化される。このとき、パラメータのビット列の少なくとも一部に対して可変の確率を適用することで、符号化対象ブロックの形状に応じたエッジオフセットフィルタの方向の確率の違いを、符号化処理に反映させることができる。
【００７７】
まず、パラメータ符号化部６４１は、ビット列の第１のビンのビット値を符号化する（ステップ８０１）。次に、パラメータ符号化部６４１は、ビット列の第２のビンのビット値を符号化する（ステップ８０２）。
【００７８】
次に、図９から図１６までを参照しながら、動画像符号化処理の第１の具体例について説明する。動画像符号化処理の第１の具体例では、ＣＴＵのブロック分割に関する情報に基づいて、ＳＡＯフィルタ処理のパラメータの符号化処理が変更される。
【００７９】
図９は、図８のステップ８０１における第１のビンの符号化処理の第１の具体例を示すフローチャートである。第１の具体例では、２つのコンテキスト変数のいずれかを用いて、第１のビンのビット値が符号化される。
【００８０】
まず、パラメータ符号化部６４１は、制御部６２１が出力するスライスの種別に基づいて、符号化対象ブロックを含むＣＴＵがイントラ予測スライス又はインター予測スライスのいずれに属するかを判定する（ステップ９０１）。
【００８１】
ＣＴＵがイントラ予測スライスに属する場合（ステップ９０１，ＹＥＳ）、パラメータ符号化部６４１は、ＣＡＢＡＣのコンテキスト変数Ｖ１を選択する（ステップ９０２）。一方、ＣＴＵがインター予測スライスに属する場合（ステップ９０１，ＮＯ）、パラメータ符号化部６４１は、別のコンテキスト変数Ｖ２を選択する（ステップ９０３）。
【００８２】
次に、パラメータ符号化部６４１は、選択したコンテキスト変数を用いて第１のビンのビット値を符号化する（ステップ９０４）。そして、パラメータ符号化部６４１は、そのビット値に基づいて、そのビット値の符号化に用いたコンテキスト変数の値を更新する。
【００８３】
図２のビット列において、第１のビンのビット値が論理“１”である場合、エッジオフセットフィルタの方向は、１３５度又は４５度の対角方向である。この場合、１３５度の対角方向と４５度の対角方向は等確率性を有すると考えられるため、第２のビンの符号化では、可変の確率を用いた符号化ではなく、固定の確率を用いたバイパス符号化が適用される。
【００８４】
一方、第１のビンのビット値が論理“０”である場合、エッジオフセットフィルタの方向は、水平方向又は垂直方向のいずれかである。この場合、イントラ予測スライスに属するＣＴＵのエッジオフセットフィルタの方向を伝送するために、３つのコンテキスト変数の集合が用いられる。また、インター予測スライスに属するＣＴＵのエッジオフセットフィルタの方向を伝送するために、別の３つのコンテキスト変数の集合が用いられる。
【００８５】
この場合、パラメータ符号化部６４１は、ＣＴＵ内に含まれる１つ以上の縦長の長方形のブロックの面積と、１つ以上の横長の長方形のブロックの面積との差分に関する指標に基づいて、各集合に含まれる３つのコンテキスト変数のうちいずれかを選択する。
【００８６】
図１０は、図８のステップ８０２における第２のビンの符号化処理の第１の具体例を示すフローチャートである。第１の具体例では、第１のビンのビット値が論理“０”である場合、６つのコンテキスト変数のいずれかを用いて、第２のビンのビット値が符号化される。
【００８７】
まず、パラメータ符号化部６４１は、第１のビンのビット値が論理“１”であるか否かをチェックする（ステップ１００１）。第１のビンのビット値が論理“１”である場合（ステップ１００１，ＹＥＳ）、パラメータ符号化部６４１は、バイパス符号化によって第２のビンのビット値を符号化する（ステップ１００２）。
【００８８】
一方、第１のビンのビット値が論理“０”である場合（ステップ１００１，ＮＯ）、パラメータ符号化部６４１は、指標Ｒを計算する（ステップ１００３）。指標Ｒは、符号化対象ブロックを含むＣＴＵ内に含まれる１つ以上の縦長の長方形のブロックの面積と、１つ以上の横長の長方形のブロックの面積との差分に関する指標である。
【００８９】
次に、パラメータ符号化部６４１は、制御部６２１が出力するスライスの種別に基づいて、符号化対象ブロックを含むＣＴＵがイントラ予測スライス又はインター予測スライスのいずれに属するかを判定する（ステップ１００４）。
【００９０】
ＣＴＵがイントラ予測スライスに属する場合（ステップ１００４，ＹＥＳ）、パラメータ符号化部６４１は、指標Ｒを閾値ＴＨ１と比較する（ステップ１００５）。ＲがＴＨ１よりも大きい場合（ステップ１００５，ＹＥＳ）、パラメータ符号化部６４１は、ＣＡＢＡＣのコンテキスト変数Ｖ１１を選択する（ステップ１００６）。
【００９１】
一方、ＲがＴＨ１以下である場合（ステップ１００５，ＮＯ）、パラメータ符号化部６４１は、Ｒを閾値ＴＨ２と比較する（ステップ１００７）。ＴＨ２は、ＴＨ１よりも小さな値に設定される。ＲがＴＨ２よりも小さい場合（ステップ１００７，ＹＥＳ）、パラメータ符号化部６４１は、別のコンテキスト変数Ｖ１２を選択する（ステップ１００８）。
【００９２】
一方、ＲがＴＨ２以上である場合（ステップ１００７，ＮＯ）、パラメータ符号化部６４１は、さらに別のコンテキスト変数Ｖ１３を選択する（ステップ１００９）。
【００９３】
ＣＴＵがインター予測スライスに属する場合（ステップ１００４，ＮＯ）、パラメータ符号化部６４１は、ＲをＴＨ１と比較する（ステップ１０１０）。ＲがＴＨ１よりも大きい場合（ステップ１０１０，ＹＥＳ）、パラメータ符号化部６４１は、ＣＡＢＡＣのコンテキスト変数Ｖ２１を選択する（ステップ１０１１）。
【００９４】
一方、ＲがＴＨ１以下である場合（ステップ１０１０，ＮＯ）、パラメータ符号化部６４１は、ＲをＴＨ２と比較する（ステップ１０１２）。ＲがＴＨ２よりも小さい場合（ステップ１０１２，ＹＥＳ）、パラメータ符号化部６４１は、別のコンテキスト変数Ｖ２２を選択する（ステップ１０１３）。
【００９５】
一方、ＲがＴＨ２以上である場合（ステップ１０１２，ＮＯ）、パラメータ符号化部６４１は、さらに別のコンテキスト変数Ｖ２３を選択する（ステップ１０１４）。
【００９６】
次に、パラメータ符号化部６４１は、選択したコンテキスト変数を用いて第２のビンのビット値を符号化する（ステップ１０１５）。そして、パラメータ符号化部６４１は、そのビット値に基づいて、そのビット値の符号化に用いたコンテキスト変数の値を更新する。
【００９７】
図１１は、図１０のステップ１００３における指標計算処理の例を示すフローチャートである。この指標計算処理では、画素の個数を表す変数としてＨＰＸ、ＶＰＸ、及びＳＰＸが用いられる。ＨＰＸは、符号化対象ブロックを含むＣＴＵ内の１つ以上の横長の長方形のブロックに属する画素の個数を表し、ＶＰＸは、そのＣＴＵ内の１つ以上の縦長の長方形のブロックに属する画素の個数を表す。ＳＰＸは、そのＣＴＵ内の１つ以上の正方形のブロックに属する画素の個数を表す。
【００９８】
まず、パラメータ符号化部６４１は、ＨＰＸ、ＶＰＸ、及びＳＰＸを初期化する（ステップ１１０１）。これにより、ＨＰＸ及びＶＰＸの値は０に設定され、ＳＰＸの値はＴＰＸに設定される。ＴＰＸは、符号化対象ブロックを含むＣＴＵに属する画素の総数を表す。
【００９９】
次に、パラメータ符号化部６４１は、ＣＴＵのブロック分割に関する情報を参照して、未処理の分割情報が存在するか否かをチェックする（ステップ１１０２）。未処理の分割情報が存在する場合（ステップ１１０２，ＹＥＳ）、パラメータ符号化部６４１は、１つの分割情報を選択する（ステップ１１０４）。分割情報は、分割前のブロックの幅及び高さを示す情報と、分割後の複数のブロック各々の幅及び高さを示す情報とを含む。
【０１００】
次に、パラメータ符号化部６４１は、選択した分割情報が示す分割前のブロックの高さをそのブロックの幅と比較する（ステップ１１０５）。分割前のブロックの高さが幅と等しい場合（ステップ１１０５，ＹＥＳ）、パラメータ符号化部６４１は、分割情報が示す分割線の方向をチェックする（ステップ１１０６）。
【０１０１】
分割線の方向が水平方向である場合（ステップ１１０６，ＹＥＳ）、パラメータ符号化部６４１は、分割前のブロックに属する画素の個数をＨＰＸに加算することで、ＨＰＸを更新する（ステップ１１０７）。一方、分割線の方向が垂直方向である場合（ステップ１１０６，ＮＯ）、パラメータ符号化部６４１は、分割前のブロックに属する画素の個数をＶＰＸに加算することで、ＶＰＸを更新する（ステップ１１０８）。
【０１０２】
次に、パラメータ符号化部６４１は、分割前のブロックに属する画素の個数をＳＰＸから減算することで、ＳＰＸを更新して（ステップ１１０９）、ステップ１１０２以降の処理を繰り返す。
【０１０３】
分割前のブロックの高さが幅と等しくない場合（ステップ１１０５，ＮＯ）、パラメータ符号化部６４１は、そのブロックの形状をチェックする（ステップ１１１０）。分割前のブロックの高さが幅よりも長い場合、そのブロックは縦長の長方形であると判定され、幅が高さよりも長い場合、そのブロックは横長の長方形であると判定される。
【０１０４】
分割前のブロックが縦長の長方形である場合（ステップ１１１０，ＹＥＳ）、パラメータ符号化部６４１は、分割情報が示す分割線の方向をチェックする（ステップ１１１１）。分割線の方向が垂直方向である場合（ステップ１１１１，ＹＥＳ）、パラメータ符号化部６４１は、ステップ１１０２以降の処理を繰り返す。
【０１０５】
一方、分割線の方向が水平方向である場合（ステップ１１１１，ＮＯ）、パラメータ符号化部６４１は、分割後の２個のブロックの形状をチェックする（ステップ１１１２）。分割後のブロックの高さが幅と等しい場合、そのブロックは正方形であると判定される。
【０１０６】
分割後のいずれのブロックも正方形ではない場合（ステップ１１１２，ＮＯ）、パラメータ符号化部６４１は、ステップ１１０２以降の処理を繰り返す。一方、分割後のいずれかのブロックが正方形である場合（ステップ１１１２，ＹＥＳ）、パラメータ符号化部６４１は、分割後の正方形のブロックに属する画素の個数をＶＰＸから減算することで、ＶＰＸを更新する（ステップ１１１３）。
【０１０７】
次に、パラメータ符号化部６４１は、分割後の正方形のブロックに属する画素の個数をＳＰＸに加算することで、ＳＰＸを更新して（ステップ１１１７）、ステップ１１０２以降の処理を繰り返す。
【０１０８】
分割前のブロックが横長の長方形である場合（ステップ１１１０，ＮＯ）、パラメータ符号化部６４１は、分割情報が示す分割線の方向をチェックする（ステップ１１１４）。分割線の方向が水平方向である場合（ステップ１１１４，ＹＥＳ）、パラメータ符号化部６４１は、ステップ１１０２以降の処理を繰り返す。
【０１０９】
一方、分割線の方向が垂直方向である場合（ステップ１１１４，ＮＯ）、パラメータ符号化部６４１は、分割後の２個のブロックの形状をチェックする（ステップ１１１５）。分割後のいずれのブロックも正方形ではない場合（ステップ１１１５，ＮＯ）、パラメータ符号化部６４１は、ステップ１１０２以降の処理を繰り返す。
【０１１０】
一方、分割後のいずれかのブロックが正方形である場合（ステップ１１１５，ＹＥＳ）、パラメータ符号化部６４１は、分割後の正方形のブロックに属する画素の個数をＨＰＸから減算することで、ＨＰＸを更新する（ステップ１１１６）。そして、パラメータ符号化部６４１は、ステップ１１１７以降の処理を行う。
【０１１１】
そして、すべての分割情報を処理した場合（ステップ１１０２，ＮＯ）、パラメータ符号化部６４１は、指標Ｒを次式により計算する（ステップ１１０３）。
Ｒ＝（ＨＰＸ−ＶＰＸ）／ＴＰＸ      （１）
【０１１２】
図９及び図１０の符号化処理によれば、イントラ予測スライスに属するＣＴＵのパラメータ及びインター予測スライスに属するＣＴＵのパラメータに対して、それぞれ異なる確率モデルを適用することが可能になる。したがって、長方形のブロックがイントラ予測符号化された場合のエッジオフセットフィルタの方向と、長方形のブロックがインター予測符号化された場合のエッジオフセットフィルタの方向との間の確率的な違いを、発生する符号量に反映させることができる。
【０１１３】
可変の確率を記述するコンテキスト変数の値は、例えば、ＨＥＶＣ標準に規定されたパターンに従って初期化され、更新される。長期間に渡って符号化処理を継続した場合にコンテキスト変数が到達する値を学習することで、その初期値を最適な値に設定することができる。
【０１１４】
例えば、イントラ予測スライスで用いられるコンテキスト変数が記述するＭＰＳの初期値は、インター予測スライスで用いられるコンテキスト変数が記述するＭＰＳの初期値とは逆のビット値に設定される。
【０１１５】
また、図１０の符号化処理によれば、第１のビンのビット値が論理“０”である場合、ＣＴＵがイントラ予測スライス又はインター予測スライスのいずれに属するかにかかわらず、指標Ｒの値に応じて異なる確率モデルを適用することが可能になる。したがって、ＣＴＵ内の縦長のブロックの面積と横長のブロックの面積との差分を、発生する符号量に反映させることができる。
【０１１６】
図１２は、図８のステップ８０２における第２のビンの符号化処理の第２の具体例を示すフローチャートである。第２の具体例では、第１のビンのビット値が論理“０”であり、かつ、指標Ｒが所定の条件を満たす場合、バイパス符号化によって第２のビンのビット値が符号化される。
【０１１７】
図１２のステップ１２０１〜ステップ１２０４及びステップ１２１５の処理は、図１０のステップ１００１〜ステップ１００４及びステップ１０１５の処理と同様である。
【０１１８】
ＣＴＵがイントラ予測スライスに属する場合（ステップ１２０４，ＹＥＳ）、パラメータ符号化部６４１は、指標Ｒを閾値ＴＨ１と比較する（ステップ１２０５）。ＲがＴＨ１よりも大きい場合（ステップ１２０５，ＹＥＳ）、パラメータ符号化部６４１は、ＣＡＢＡＣのコンテキスト変数Ｖ３１を選択する（ステップ１２０７）。
【０１１９】
一方、ＲがＴＨ１以下である場合（ステップ１２０５，ＮＯ）、パラメータ符号化部６４１は、Ｒを閾値ＴＨ２と比較する（ステップ１２０６）。ＲがＴＨ２よりも小さい場合（ステップ１２０６，ＹＥＳ）、パラメータ符号化部６４１は、別のコンテキスト変数Ｖ３２を選択する（ステップ１２０８）。
【０１２０】
一方、ＲがＴＨ２以上である場合（ステップ１２０６，ＮＯ）、パラメータ符号化部６４１は、バイパス符号化によって第２のビンのビット値を符号化する（ステップ１２０９）。
【０１２１】
ＣＴＵがインター予測スライスに属する場合（ステップ１２０４，ＮＯ）、パラメータ符号化部６４１は、ＲをＴＨ１と比較する（ステップ１２１０）。ＲがＴＨ１よりも大きい場合（ステップ１２１０，ＹＥＳ）、パラメータ符号化部６４１は、別のコンテキスト変数Ｖ３３を選択する（ステップ１２１１）。
【０１２２】
一方、ＲがＴＨ１以下である場合（ステップ１２１０，ＮＯ）、パラメータ符号化部６４１は、ＲをＴＨ２と比較する（ステップ１２１２）。ＲがＴＨ２よりも小さい場合（ステップ１２１２，ＹＥＳ）、パラメータ符号化部６４１は、別のコンテキスト変数Ｖ３４を選択する（ステップ１２１３）。
【０１２３】
一方、ＲがＴＨ２以上である場合（ステップ１２１２，ＮＯ）、パラメータ符号化部６４１は、バイパス符号化によって第２のビンのビット値を符号化する（ステップ１２１４）。
【０１２４】
図１２の符号化処理によれば、図１０の符号化処理よりも処理を簡略化することができるとともに、コンテキスト変数の個数が少なくて済むため、コンテキスト変数を記憶するメモリ領域を削減することができる。
【０１２５】
図１３Ａ及び図１３Ｂは、図８のステップ８０２における第２のビンの符号化処理の第３の具体例を示すフローチャートである。第３の具体例では、第１のビンのビット値が論理“０”である場合、４つのコンテキスト変数のいずれかを用いて、第２のビンのビット値が符号化される。
【０１２６】
図１３Ａのステップ１３０１〜ステップ１３０４及びステップ１３１５の処理は、図１０のステップ１００１〜ステップ１００４及びステップ１０１５の処理と同様である。
【０１２７】
ＣＴＵがイントラ予測スライスに属する場合（ステップ１３０４，ＹＥＳ）、パラメータ符号化部６４１は、指標Ｒを閾値ＴＨ１と比較する（ステップ１３０５）。ＲがＴＨ１よりも大きい場合（ステップ１３０５，ＹＥＳ）、パラメータ符号化部６４１は、ＣＡＢＡＣのコンテキスト変数Ｖ４１を選択する（ステップ１３０７）。
【０１２８】
一方、ＲがＴＨ１以下である場合（ステップ１３０５，ＮＯ）、パラメータ符号化部６４１は、Ｒを閾値ＴＨ２と比較する（ステップ１３０６）。この場合、ＴＨ２は、ＴＨ１を用いて次式により計算される。
ＴＨ２＝１−ＴＨ１        （２）
【０１２９】
ＲがＴＨ２よりも小さい場合（ステップ１３０６，ＹＥＳ）、パラメータ符号化部６４１は、別のコンテキスト変数Ｖ４２を選択する（ステップ１３０８）。
【０１３０】
一方、ＲがＴＨ２以上である場合（ステップ１３０６，ＮＯ）、パラメータ符号化部６４１は、コンテキスト変数Ｖ４１を選択し（ステップ１３０９）、コンテキスト変数Ｖ４１が記述するＭＰＳの値を反転させる（ステップ１３１６）。例えば、ＭＰＳが論理“１”である場合、その値が論理“０”に変更され、ＭＰＳが論理“０”である場合、その値が論理“１”に変更される。
【０１３１】
次に、パラメータ符号化部６４１は、反転したＭＰＳを記述するコンテキスト変数Ｖ４１を用いて、第２のビンのビット値を符号化し、そのビット値に基づいて、コンテキスト変数Ｖ４１の値を更新する（ステップ１３１７）。そして、パラメータ符号化部６４１は、コンテキスト変数Ｖ４１が記述するＭＰＳの値を、再度反転させる（ステップ１３１８）。
【０１３２】
ＣＴＵがインター予測スライスに属する場合（ステップ１３０４，ＮＯ）、パラメータ符号化部６４１は、ＲをＴＨ１と比較する（ステップ１３１０）。ＲがＴＨ１よりも大きい場合（ステップ１３１０，ＹＥＳ）、パラメータ符号化部６４１は、別のコンテキスト変数Ｖ４３を選択する（ステップ１３１１）。
【０１３３】
一方、ＲがＴＨ１以下である場合（ステップ１３１０，ＮＯ）、パラメータ符号化部６４１は、ＲをＴＨ２と比較する（ステップ１３１２）。ＲがＴＨ２よりも小さい場合（ステップ１３１２，ＹＥＳ）、パラメータ符号化部６４１は、別のコンテキスト変数Ｖ４４を選択する（ステップ１３１３）。
【０１３４】
一方、ＲがＴＨ２以上である場合（ステップ１３１２，ＮＯ）、パラメータ符号化部６４１は、コンテキスト変数Ｖ４３を選択し（ステップ１３１４）、コンテキスト変数Ｖ４３が記述するＭＰＳの値を反転させる（ステップ１３１９）。
【０１３５】
次に、パラメータ符号化部６４１は、反転したＭＰＳを記述するコンテキスト変数Ｖ４３を用いて、第２のビンのビット値を符号化し、そのビット値に基づいて、コンテキスト変数Ｖ４３の値を更新する（ステップ１３２０）。そして、パラメータ符号化部６４１は、コンテキスト変数Ｖ４３が記述するＭＰＳの値を、再度反転させる（ステップ１３２１）。
【０１３６】
図１３Ａ及び図１３Ｂの符号化処理によれば、異なる範囲のＲの値に対して１つのコンテキスト変数を併用することが可能になる。これにより、図１０の符号化処理よりも少ないコンテキスト変数を用いて、図１０と同等の符号化処理を実現することができ、コンテキスト変数を記憶するメモリ領域を削減することができる。
【０１３７】
図１４は、図８のステップ８０２における第２のビンの符号化処理の第４の具体例を示すフローチャートである。第４の具体例では、第１のビンのビット値が論理“０”である場合、４つのコンテキスト変数のいずれかを用いて、第２のビンのビット値が符号化される。
【０１３８】
図１４のステップ１４０１〜ステップ１４０４及びステップ１４１１の処理は、図１０のステップ１００１〜ステップ１００４及びステップ１０１５の処理と同様である。
【０１３９】
ＣＴＵがイントラ予測スライスに属する場合（ステップ１４０４，ＹＥＳ）、パラメータ符号化部６４１は、指標Ｒを閾値ＴＨ１と比較する（ステップ１４０５）。ＲがＴＨ１よりも大きい場合（ステップ１４０５，ＹＥＳ）、パラメータ符号化部６４１は、ＣＡＢＡＣのコンテキスト変数Ｖ５１を選択する（ステップ１４０６）。
【０１４０】
一方、ＲがＴＨ１以下である場合（ステップ１４０５，ＮＯ）、パラメータ符号化部６４１は、別のコンテキスト変数Ｖ５２を選択する（ステップ１４０７）。
【０１４１】
ＣＴＵがインター予測スライスに属する場合（ステップ１４０４，ＮＯ）、パラメータ符号化部６４１は、ＲをＴＨ１と比較する（ステップ１４０８）。ＲがＴＨ１よりも大きい場合（ステップ１４０８，ＹＥＳ）、パラメータ符号化部６４１は、別のコンテキスト変数Ｖ５３を選択する（ステップ１４０９）。
【０１４２】
一方、ＲがＴＨ１以下である場合（ステップ１４０８，ＮＯ）、パラメータ符号化部６４１は、別のコンテキスト変数Ｖ５４を選択する（ステップ１４１０）。
【０１４３】
図１４の符号化処理によれば、図１０の符号化処理よりも処理を簡略化することができるとともに、コンテキスト変数の個数が少なくて済むため、コンテキスト変数を記憶するメモリ領域を削減することができる。
【０１４４】
図１５は、図８のステップ８０１における第１のビンの符号化処理の第２の具体例を示すフローチャートである。第２の具体例では、バイパス符号化によって第１のビンのビット値が符号化される。
【０１４５】
パラメータ符号化部６４１は、符号化対象ブロックを含むＣＴＵがイントラ予測スライス又はインター予測スライスのいずれに属するかにかかわらず、バイパス符号化によって第１のビンのビット値を符号化する（ステップ１５０１）。
【０１４６】
図１５の符号化処理によれば、図９の符号化処理よりも処理を簡略化することができる。
【０１４７】
図１６は、図８のステップ８０２における第２のビンの符号化処理の第５の具体例を示すフローチャートである。第５の具体例では、第１のビンのビット値が論理“０”である場合、コンテキスト変数を用いる代わりに、指標Ｘを用いてＭＰＳ及び生起確率が計算され、計算されたＭＰＳ及び生起確率を用いて、第２のビンのビット値が符号化される。
【０１４８】
図１６のステップ１６０１及びステップ１６０２の処理は、図１０のステップ１００１及びステップ１００２の処理と同様である。
【０１４９】
第１のビンのビット値が論理“０”である場合（ステップ１６０１，ＮＯ）、パラメータ符号化部６４１は、符号化対象ブロックを含むＣＴＵ内の各ブロックの高さ及び幅を用いて、指標Ｘを次式により計算する（ステップ１６０３）。
Ｘ＝ＳＵＭ（ＲＨＷＢｉ＊ＮＰＸＢｉ）／ＳＵＭ（ＮＰＸＢｉ）      （３）
ＲＨＷＢｉ＝Ｈｉ／Ｗｉ      （４）
ＮＰＸＢｉ＝Ｈｉ＊Ｗｉ      （５）
【０１５０】
式（４）及び式（５）のＨｉ及びＷｉは、それぞれ、ＣＴＵ内のｉ番目のブロックの高さ及び幅を表す。式（４）のＲＨＷＢｉは、ｉ番目のブロックの幅に対する高さの比率を表し、式（５）のＮＰＸＢｉは、ｉ番目のブロックに含まれる画素の個数を表す。式（３）のＳＵＭ（）は、ＣＴＵ内のすべてのブロックに関する総和を表し、ＳＵＭ（ＮＰＸＢｉ）は、ＣＴＵに含まれる画素の総数を表す。
【０１５１】
ＣＴＵ内のすべてのブロックが正方形である場合、ＲＨＷＢｉ＝１であるため、Ｘ＝１となる。ＣＴＵ内のすべてのブロックが縦長の長方形である場合、ＲＨＷＢｉ＞１であるため、Ｘ＞１となる。ＣＴＵ内のすべてのブロックが横長の長方形である場合、ＲＨＷＢｉ＜１であるため、Ｘ＜１となる。
【０１５２】
したがって、式（３）のＸは、符号化対象ブロックを含むＣＴＵ内に含まれるブロックが縦長の長方形である度合いに関する指標である。Ｘが大きいほど、より多くの縦長の長方形のブロックがＣＴＵ内に含まれており、Ｘが小さいほど、より多くの横長の長方形のブロックがＣＴＵ内に含まれている。
【０１５３】
次に、パラメータ符号化部６４１は、制御部６２１が出力するスライスの種別に基づいて、符号化対象ブロックを含むＣＴＵがイントラ予測スライス又はインター予測スライスのいずれに属するかを判定する（ステップ１６０４）。
【０１５４】
ＣＴＵがイントラ予測スライスに属する場合（ステップ１６０４，ＹＥＳ）、パラメータ符号化部６４１は、ＭＰＳの生起確率Ｐを次式により計算する（ステップ１６０５）。
Ｐ＝ＭａｘＰ＊Ｙ      （６）
Ｙ＝（Ｘ＜１？（Ｘ＊ＭｉｎＷ／ＭａｘＨ）：（ＭｉｎＨ／ＭａｘＷ／Ｘ））  （７）
【０１５５】
式（６）のＭａｘＰは、事前に決められた定数であり、式（６）の右辺が表す最大確率に相当する。式（７）の右辺は、条件演算を表し、Ｘ＜１である場合、Ｙ＝Ｘ＊ＭｉｎＷ／ＭａｘＨとなり、Ｘ≧１である場合、Ｙ＝ＭｉｎＨ／ＭａｘＷ／Ｘとなる。
【０１５６】
ＭａｘＨは、輝度成分のブロックの高さの最大値を表し、ＭｉｎＨは、輝度成分のブロックの高さの最小値を表す。ＭａｘＷは、輝度成分のブロックの幅の最大値を表し、ＭｉｎＷは、輝度成分のブロックの幅の最小値を表す。
【０１５７】
次に、パラメータ符号化部６４１は、ＭＰＳのビット値Ｓを次式により計算する（ステップ１６０６）。
Ｓ＝（Ｘ＜１？１：０）      （８）
【０１５８】
式（８）の右辺は、条件演算を表し、Ｘ＜１である場合、Ｓ＝１となり、Ｘ≧１である場合、Ｓ＝０となる。
【０１５９】
ＣＴＵがインター予測スライスに属する場合（ステップ１６０４，ＮＯ）、パラメータ符号化部６４１は、ＭＰＳの生起確率Ｐを次式により計算する（ステップ１６０７）。
Ｐ＝ＭａｘＰ＊Ｚ      （９）
Ｚ＝（Ｘ＞１？（Ｘ＊ＭｉｎＷ／ＭａｘＨ）：（ＭｉｎＨ／ＭａｘＷ／Ｘ））  （１０）
【０１６０】
式（１０）の右辺は、条件演算を表し、Ｘ＞１である場合、Ｚ＝Ｘ＊ＭｉｎＷ／ＭａｘＨとなり、Ｘ≦１である場合、Ｚ＝ＭｉｎＨ／ＭａｘＷ／Ｘとなる。
【０１６１】
次に、パラメータ符号化部６４１は、ＭＰＳのビット値Ｓを次式により計算する（ステップ１６０８）。
Ｓ＝（Ｘ＞１？１：０）      （１１）
【０１６２】
式（１１）の右辺は、条件演算を表し、Ｘ＞１である場合、Ｓ＝１となり、Ｘ≦１である場合、Ｓ＝０となる。
【０１６３】
次に、パラメータ符号化部６４１は、コンテキスト変数の代わりに、計算した生起確率Ｐ及びビット値Ｓを用いて、第２のビンのビット値を符号化する（ステップ１６０９）。この場合、コンテキスト変数は使用されていないため、第２のビンのビット値がＭＰＳに対応するか否かにかかわらず、コンテキスト変数の更新は行われない。
【０１６４】
図１６の符号化処理によれば、ＣＴＵ内における様々な形状のブロックの分布を、発生する符号量に対して、より正確に反映させることができる。
【０１６５】
次に、図１７及び図１８を参照しながら、動画像符号化処理の第２の具体例について説明する。動画像符号化処理の第２の具体例では、ＣＴＵのブロック分割に関する情報に基づいて、ＳＡＯフィルタ処理のパラメータの符号化処理を変更する代わりに、ＣＴＵのブロック分割に関する情報に基づいて、ＳＡＯフィルタ処理のパラメータ自体が決定される。例えば、図６のＳＡＯフィルタ６２９は、符号化対象ブロックの形状が長方形である場合、長方形の長辺の方向に基づいて、エッジオフセットフィルタの方向を決定することができる。
【０１６６】
図１７は、このようなＳＡＯフィルタ６２９の機能的構成例を示している。図１７のＳＡＯフィルタ６２９は、入力部１７０１、決定部１７０２、フィルタ部１７０３、及びバッファ１７０４を含み、ＣＴＵ内のブロック毎に、異なる方向のエッジオフセットフィルタを適用する。
【０１６７】
入力部１７０１は、逆変換部６２８が出力する再構成画素値を受信し、フィルタ部１７０３から完了信号を受信する度に、１つのＣＴＵの再構成画素値を決定部１７０２へ出力する。決定部１７０２は、バンドオフセットモード又はエッジオフセットモードを選択して、選択した動作モードにおけるパラメータを決定する。例えば、エッジオフセットモードが選択された場合、ブロックの形状に応じて、エッジオフセットフィルタの方向及びオフセット値が決定される。
【０１６８】
フィルタ部１７０３は、決定部１７０２が決定したパラメータを用いて、各ＣＴＵに含まれる各画素に対するＳＡＯフィルタ処理を行い、フィルタ処理後の再構成画素値からなる局所復号画像を、バッファ１７０４及びフレームメモリ６２６へ出力する。そして、フィルタ部１７０３は、１つのＣＴＵのＳＡＯフィルタ処理が完了する度に、完了信号を入力部１７０１へ出力する。
【０１６９】
バッファ１７０４は、フィルタ部１７０３が出力する局所復号画像を蓄積し、フィルタ部１７０３へ出力する。バッファ１７０４が出力する局所復号画像は、隣接するＣＴＵのＳＡＯフィルタ処理において用いられる。
【０１７０】
図１８は、図１７の決定部１７０２が行うパラメータ決定処理の例を示すフローチャートである。まず、決定部１７０２は、符号化対象ＣＴＵ内に未処理のブロックが存在するか否かをチェックする（ステップ１８０１）。未処理のブロックが存在する場合（ステップ１８０１，ＹＥＳ）、決定部１７０２は、１つのブロックを選択する（ステップ１８０２）。
【０１７１】
次に、決定部１７０２は、選択したブロックの高さＨ及び幅Ｗを用いて、ブロックの形状を示す指標ＲＢを、次式により計算する（ステップ１８０３）。
ＲＢ＝Ｃ＊（Ｗ／Ｈ）      （１２）
【０１７２】
式（１１）の定数Ｃは、Ｗ／Ｈの値を整数化するために用いられる。例えば、Ｃ＝１２８であってもよい。指標ＲＢは、ブロックの高さに対する幅の比率を示している。
【０１７３】
次に、決定部１７０２は、ＲＢを閾値ＴＨ１１と比較する（ステップ１８０４）。ＲＢがＴＨ１１よりも大きい場合（ステップ１８０４，ＹＥＳ）、決定部１７０２は、所定の方向Ｄ１をエッジオフセットフィルタの方向として選択し（ステップ１８０５）、ステップ１８０１以降の処理を繰り返す。ＲＢがＴＨ１１よりも大きい場合は、ブロックが横長の長方形である場合に対応する。
【０１７４】
一方、ＲＢがＴＨ１１以下である場合（ステップ１８０４，ＮＯ）、決定部１７０２は、ＲＢを閾値ＴＨ１２と比較する（ステップ１８０６）。ＴＨ１２は、ＴＨ１１よりも小さな値に設定される。ＲＢがＴＨ１２よりも大きい場合（ステップ１８０６，ＹＥＳ）、決定部１７０２は、ＨＥＶＣ標準に従ってエッジオフセットフィルタの方向を計算し（ステップ１８０８）、ステップ１８０１以降の処理を繰り返す。ＲＢがＴＨ１１以下であり、かつ、ＲＢがＴＨ１２よりも大きい場合は、ブロックが正方形である場合に対応する。
【０１７５】
この場合、量子化によって最大の損失が生じる方向が計算され、計算された方向がエッジオフセットフィルタの方向に決定される。決定部１７０２は、最大の損失が生じる方向をＣＴＵ毎に計算してもよい。
【０１７６】
一方、ＲＢがＴＨ１２以下である場合（ステップ１８０６，ＮＯ）、決定部１７０２は、所定の方向Ｄ２をエッジオフセットフィルタの方向として選択し（ステップ１８０７）、ステップ１８０１以降の処理を繰り返す。ＲＢがＴＨ１２以下である場合は、ブロックが縦長の長方形である場合に対応する。
【０１７７】
方向Ｄ１は、横長の長方形のブロックに対して事前に決められた方向であり、方向Ｄ２は、縦長の長方形のブロックに対して事前に決められた方向である。方向Ｄ１は、ブロックがイントラ予測符号化されるか又はインター予測符号化されるかに応じて、異なる方向であってもよい。同様に、方向Ｄ２は、ブロックがイントラ予測符号化されるか又はインター予測符号化されるかに応じて、異なる方向であってもよい。
【０１７８】
例えば、ブロックがイントラ予測符号化される場合、Ｄ１及びＤ２をそれぞれ水平方向及び垂直方向に設定することができる。一方、ブロックがインター予測符号化される場合、Ｄ１及びＤ２をそれぞれ垂直方向及び水平方向に設定することができる。
【０１７９】
エッジオフセットフィルタの方向がＤ１又はＤ２に決定された場合、パラメータ符号化部６４１は、決定された方向を示すパラメータを符号化せず、動画像符号化装置４０１は、決定された方向を示すパラメータを動画像復号装置へ送信しない。これにより、エッジオフセットフィルタの方向を示すパラメータの符号量を削減することができる。
【０１８０】
一方、ステップ１８０８においてエッジオフセットフィルタの方向が決定された場合、パラメータ符号化部６４１は、決定された方向を示すパラメータを符号化し、動画像符号化装置４０１は、決定された方向を示すパラメータを動画像復号装置へ送信する。
【０１８１】
動画像復号装置は、図１８のパラメータ決定処理と同様にして、復号対象ブロックの形状を示す指標ＲＢを計算し、ＲＢに基づいてエッジオフセットフィルタの方向を決定することができる。動画像復号装置は、ＲＢがＴＨ１１よりも大きい場合、方向Ｄ１をエッジオフセットフィルタの方向として選択し、ＲＢがＴＨ１２以下である場合、方向Ｄ２をエッジオフセットフィルタの方向として選択する。
【０１８２】
また、ＲＢがＴＨ１１以下であり、かつ、ＲＢがＴＨ１２よりも大きい場合、動画像復号装置は、動画像符号化装置４０１から受信したパラメータが示す方向を、エッジオフセットフィルタの方向として選択する。
【０１８３】
図４及び図６の動画像符号化装置４０１の構成は一例に過ぎず、動画像符号化装置４０１の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。図１７のＳＡＯフィルタ６２９の構成は一例に過ぎず、動画像符号化装置４０１の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。
【０１８４】
図５、図７〜図１６、及び図１８に示したフローチャートは一例に過ぎず、動画像符号化装置４０１の構成又は条件に応じて一部の処理を省略又は変更してもよい。
【０１８５】
図１及び図２のエッジオフセットフィルタの方向を示すパラメータは一例に過ぎず、動画像符号化装置４０１の構成又は条件に応じて別のパラメータを用いてもよい。例えば、パラメータは、３ビット以上のビット列であってもよい。図３の長方形のサブブロックは一例に過ぎず、ブロックの形状は、符号化対象動画像に応じて変化する。
【０１８６】
式（１）〜式（１２）は一例に過ぎず、動画像符号化装置４０１の構成又は条件に応じて別の計算式を用いてもよい。例えば、式（１）の代わりに、次式を用いて指標Ｒを計算してもよい。
Ｒ＝（ＶＰＸ−ＨＰＸ）／ＴＰＸ      （１３）
【０１８７】
また、式（１２）の代わりに、次式を用いて指標ＲＢを計算してもよい。
ＲＢ＝Ｃ＊（Ｈ／Ｗ）      （１４）
【０１８８】
動画像符号化装置４０１は、ＱＴＢＴブロック分割の代わりに、長方形のブロックを用いる他のブロック分割を採用して、動画像符号化処理を行ってもよい。
【０１８９】
図４及び図６の動画像符号化装置４０１は、ハードウェア回路として実装することもでき、図１９に示すような情報処理装置（コンピュータ）を用いて実装することもできる。
【０１９０】
図１９の情報処理装置は、Central Processing Unit（ＣＰＵ）１９０１、メモリ１９０２、入力装置１９０３、出力装置１９０４、補助記憶装置１９０５、媒体駆動装置１９０６、及びネットワーク接続装置１９０７を含む。これらの構成要素はバス１９０８により互いに接続されている。
【０１９１】
メモリ１９０２は、例えば、Read Only Memory（ＲＯＭ）、Random Access Memory（ＲＡＭ）、フラッシュメモリ等の半導体メモリであり、動画像符号化処理に用いられるプログラム及びデータを記憶する。メモリ１９０２は、図６のフレームメモリ６２６及び図１７のバッファ１７０４として用いることができる。
【０１９２】
ＣＰＵ１９０１（プロセッサ）は、例えば、メモリ１９０２を利用してプログラムを実行することにより、図４及び図６の第１符号化部４１１及び第２符号化部４１２として動作する。
【０１９３】
ＣＰＵ１９０１は、メモリ１９０２を利用してプログラムを実行することにより、図６の合成部６１１、制御部６２１、スイッチ６２２、合成部６２３、イントラ予測部６２４、及びインター予測部６２５としても動作する。ＣＰＵ１９０１は、メモリ１９０２を利用してプログラムを実行することにより、変換部６２７、逆変換部６２８、ＳＡＯフィルタ６２９、パラメータ符号化部６３０、予測誤差符号化部６３１、合成部６３２、及びパラメータ符号化部６４１としても動作する。
【０１９４】
ＣＰＵ１９０１は、メモリ１９０２を利用してプログラムを実行することにより、図１７の入力部１７０１、決定部１７０２、及びフィルタ部１７０３としても動作する。
【０１９５】
入力装置１９０３は、例えば、キーボード、ポインティングデバイス等であり、ユーザ又はオペレータからの指示や情報の入力に用いられる。出力装置１９０４は、例えば、表示装置、プリンタ、スピーカ等であり、ユーザ又はオペレータへの問い合わせや処理結果の出力に用いられる。
【０１９６】
補助記憶装置１９０５は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置１９０５は、ハードディスクドライブであってもよい。情報処理装置は、補助記憶装置１９０５にプログラム及びデータを格納しておき、それらをメモリ１９０２にロードして使用することができる。
【０１９７】
媒体駆動装置１９０６は、可搬型記録媒体１９０９を駆動し、その記録内容にアクセスする。可搬型記録媒体１９０９は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体１９０９は、Compact Disk Read Only Memory（ＣＤ−ＲＯＭ）、Digital Versatile Disk（ＤＶＤ）、又はUniversal Serial Bus（ＵＳＢ）メモリであってもよい。ユーザ又はオペレータは、この可搬型記録媒体１９０９にプログラム及びデータを格納しておき、それらをメモリ１９０２にロードして使用することができる。
【０１９８】
このように、処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体には、メモリ１９０２、補助記憶装置１９０５、及び可搬型記録媒体１９０９のような、物理的な（非一時的な）記録媒体が含まれる。
【０１９９】
ネットワーク接続装置１９０７は、Local Area Network（ＬＡＮ）、インターネット等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェース回路である。ネットワーク接続装置１９０７は、ビットストリームを動画像復号装置へ送信することができる。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置１９０７を介して受け取り、それらをメモリ１９０２にロードして使用することもできる。
【０２００】
なお、情報処理装置が図１９のすべての構成要素を含む必要はなく、用途又は条件に応じて一部の構成要素を省略することも可能である。例えば、ユーザ又はオペレータとのインタフェースが不要である場合は、入力装置１９０３及び出力装置１９０４を省略してもよい。また、情報処理装置が可搬型記録媒体１９０９にアクセスしない場合は、媒体駆動装置１９０６を省略してもよい。
【０２０１】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【０２０２】
図１乃至図１９を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
（付記１）
動画像に含まれる符号化対象画像を複数のブロックに分割し、フィルタ処理を用いた予測符号化によって各ブロックを符号化する第１符号化部と、
前記フィルタ処理における画素列の方向を示すパラメータを符号化する第２符号化部とを備え、
前記第２符号化部は、前記複数のブロックの１つである符号化対象ブロックの形状が長方形である場合、前記長方形の長辺の方向に応じて、前記パラメータを符号化する処理を変更することを特徴とする動画像符号化装置。
（付記２）
前記第２符号化部は、コンテキスト適応型二値算術符号化における可変の確率を用いて、前記パラメータを符号化することを特徴とする付記１記載の動画像符号化装置。
（付記３）
前記第２符号化部は、前記コンテキスト適応型二値算術符号化においてシンボルの生起確率を記述するコンテキスト変数を、前記符号化対象ブロックの予測方法がイントラ予測又はインター予測のうちいずれであるかに応じて変更することを特徴とする付記２記載の動画像符号化装置。
（付記４）
前記第２符号化部は、前記画素列の方向が前記長方形のいずれかの辺と平行である場合、前記コンテキスト適応型二値算術符号化においてシンボルの生起確率を記述するコンテキスト変数を用いて、前記パラメータを符号化することを特徴とする付記２記載の動画像符号化装置。
（付記５）
前記第２符号化部は、前記符号化対象ブロックを含む所定領域内において、第１方向の辺の長さが第２方向の辺の長さよりも長い１つ以上の長方形のブロックの面積と、前記第２方向の辺の長さが前記第１方向の辺の長さよりも長い１つ以上の長方形のブロックの面積との差分に関する指標を求め、前記指標に基づいて、複数のコンテキスト変数の中から前記コンテキスト変数を選択することを特徴とする付記４記載の動画像符号化装置。
（付記６）
前記第２符号化部は、前記符号化対象ブロックを含む所定領域内において、第１方向の辺の長さが第２方向の辺の長さよりも長い１つ以上の長方形のブロックの面積と、前記第２方向の辺の長さが前記第１方向の辺の長さよりも長い１つ以上の長方形のブロックの面積との差分に関する指標を求め、前記指標に基づいて、前記コンテキスト変数が表す優勢シンボルの値を変更し、変更したコンテキスト変数を用いて前記パラメータを符号化し、前記パラメータを符号化した後に前記優勢シンボルの値を元の値に戻すことを特徴とする付記４記載の動画像符号化装置。
（付記７）
前記第２符号化部は、前記画素列の方向が前記長方形のいずれかの辺と平行である場合、前記符号化対象ブロックを含む所定領域内における複数のブロックが、第１方向の辺の長さが第２方向の辺の長さよりも長い長方形である度合いに関する指標を求め、前記指標を用いて、前記コンテキスト適応型二値算術符号化における優勢シンボルの値と前記優勢シンボルの生起確率とを計算し、計算した前記優勢シンボルの値と前記優勢シンボルの生起確率とを用いて、前記パラメータを符号化することを特徴とする付記２記載の動画像符号化装置。
（付記８）
動画像に含まれる符号化対象画像を複数のブロックに分割し、フィルタ処理を用いた予測符号化によって各ブロックを符号化する第１符号化部と、
前記フィルタ処理における画素列の方向を示すパラメータを符号化する第２符号化部とを備え、
前記第１符号化部は、前記複数のブロックの１つである符号化対象ブロックの形状が長方形である場合、前記長方形の長辺の方向に基づいて前記画素列の方向を決定し、前記第２符号化部は、前記符号化対象ブロックの形状が長方形ではない場合、前記パラメータを符号化することを特徴とする動画像符号化装置。
（付記９）
動画像に含まれる符号化対象画像を複数のブロックに分割する第１工程と、
フィルタ処理を用いた予測符号化によって各ブロックを符号化する第２工程と、
前記フィルタ処理における画素列の方向を示すパラメータを符号化する第３工程とを備え、
前記第３工程は、前記複数のブロックの１つである符号化対象ブロックの形状が長方形である場合、前記長方形の長辺の方向に応じて、前記パラメータを符号化する処理を変更する、
ことを特徴とする動画像符号化方法。
（付記１０）
前記第３工程は、コンテキスト適応型二値算術符号化における可変の確率を用いて、前記パラメータを符号化することを特徴とする付記９記載の動画像符号化方法。
（付記１１）
動画像に含まれる符号化対象画像を複数のブロックに分割する第１工程と、
フィルタ処理を用いた予測符号化によって各ブロックを符号化する第２工程と、
前記フィルタ処理における画素列の方向を示すパラメータを符号化する第３工程とを備え、
前記第２工程は、前記複数のブロックの１つである符号化対象ブロックの形状が長方形である場合、前記長方形の長辺の方向に基づいて前記画素列の方向を決定し、
前記第３工程は、前記符号化対象ブロックの形状が長方形ではない場合、前記パラメータを符号化する、
ことを特徴とする動画像符号化方法。
（付記１２）
コンピュータに動画像符号化処理を実行させるための動画像符号化プログラムであって、
前記動画像符号化処理は、
動画像に含まれる符号化対象画像を複数のブロックに分割する第１工程と、
フィルタ処理を用いた予測符号化によって各ブロックを符号化する第２工程と、
前記フィルタ処理における画素列の方向を示すパラメータを符号化する第３工程とを備え、
前記第３工程は、前記複数のブロックの１つである符号化対象ブロックの形状が長方形である場合、前記長方形の長辺の方向に応じて、前記パラメータを符号化する処理を変更する、
ことを特徴とする動画像符号化プログラム。
（付記１３）
前記第３工程は、コンテキスト適応型二値算術符号化における可変の確率を用いて、前記パラメータを符号化することを特徴とする付記１２記載の動画像符号化プログラム。
（付記１４）
コンピュータに動画像符号化処理を実行させるための動画像符号化プログラムであって、
前記動画像符号化処理は、
動画像に含まれる符号化対象画像を複数のブロックに分割する第１工程と、
フィルタ処理を用いた予測符号化によって各ブロックを符号化する第２工程と、
前記フィルタ処理における画素列の方向を示すパラメータを符号化する第３工程とを備え、
前記第２工程は、前記複数のブロックの１つである符号化対象ブロックの形状が長方形である場合、前記長方形の長辺の方向に基づいて前記画素列の方向を決定し、
前記第３工程は、前記符号化対象ブロックの形状が長方形ではない場合、前記パラメータを符号化する、
ことを特徴とする動画像符号化プログラム。
【符号の説明】
【０２０３】
３０１、３０２  ブロック
３１１、３１２、３２１、３２２  最大距離
４０１  動画像符号化装置
４１１  第１符号化部
４１２  第２符号化部
６１１、６２３、６３２  合成部
６２１  制御部
６２２  スイッチ
６２４  イントラ予測部
６２５  インター予測部
６２６  フレームメモリ
６２７  変換部
６２８  逆変換部
６２９  ＳＡＯフィルタ
６３０、６４１  パラメータ符号化部
６３１  予測誤差符号化部
１７０１  入力部
１７０２  決定部
１７０３  フィルタ部
１７０４  バッファ
１９０１  ＣＰＵ
１９０２  メモリ
１９０３  入力装置
１９０４  出力装置
１９０５  補助記憶装置
１９０６  媒体駆動装置
１９０７  ネットワーク接続装置
１９０８  バス
１９０９  可搬型記録媒体
【図１】
2019036772.tif 000003
【図２】
2019036772.tif 000004
【図３】
2019036772.tif 000005
【図４】
2019036772.tif 000006
【図５】
2019036772.tif 000007
【図６】
2019036772.tif 000008
【図７】
2019036772.tif 000009
【図８】
2019036772.tif 000010
【図９】
2019036772.tif 000011
【図１０】
2019036772.tif 000012
【図１１】
2019036772.tif 000013
【図１２】
2019036772.tif 000014
【図１３Ａ】
2019036772.tif 000015
【図１３Ｂ】
2019036772.tif 000016
【図１４】
2019036772.tif 000017
【図１５】
2019036772.tif 000018
【図１６】
2019036772.tif 000019
【図１７】
2019036772.tif 000020
【図１８】
2019036772.tif 000021
【図１９】
2019036772.tif 000022
【手続補正書】
【提出日】平成30年5月28日(2018.5.28)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０１７２
【補正方法】変更
【補正の内容】
【０１７２】
式（１２）の定数Ｃは、Ｗ／Ｈの値を整数化するために用いられる。例えば、Ｃ＝１２８であってもよい。指標ＲＢは、ブロックの高さに対する幅の比率を示している。