JP5759588B1 - イントラ予測方向決定方法及びイントラ予測方向決定プログラム - Google Patents
イントラ予測方向決定方法及びイントラ予測方向決定プログラム Download PDFInfo
- Publication number
- JP5759588B1 JP5759588B1 JP2014056241A JP2014056241A JP5759588B1 JP 5759588 B1 JP5759588 B1 JP 5759588B1 JP 2014056241 A JP2014056241 A JP 2014056241A JP 2014056241 A JP2014056241 A JP 2014056241A JP 5759588 B1 JP5759588 B1 JP 5759588B1
- Authority
- JP
- Japan
- Prior art keywords
- intra prediction
- prediction direction
- cost
- encoding target
- pixel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】イントラ予測における演算量を削減する。【解決手段】イントラ予測方向を決定するイントラ予測方向決定方法であって、符号化対象ブロックの符号化対象画素と参照画素のメモリ上での相対的な位置関係に基づいて参照画素からそれぞれ符号化対象画素群と参照画素群を選択し、符号化対象画素群と参照画素群のメモリ上での相対的な位置関係に基づき、2つ以上の方向を選択するステップと、選択した2つ以上の方向についてコストを算出し、コストが最小となる方向を選択するステップと、コストが最小となる方向と各イントラ予測方向の間の相関と、選択されなかった方向と各イントラ予測方向の間の相関とのいずれに対しての相関が相対的に高いかを判定し、コストが最小となる方向との相関が相対的に高いと判定されたイントラ予測方向についてコストを算出し、その中でコストが最小となるイントラ予測方向を選択するステップとを有する。【選択図】図1
Description
本発明は、イントラ予測方向決定方法及びイントラ予測方向決定プログラムに関する。
H.264の次の映像符号化標準方式として策定されたHEVCは、H.264を上回る符号化効率を実現する符号化方式であるが、処理が複雑化し演算量が莫大であるため、実際に製品に利用するためにはその符号化演算コストを大幅に削減しなければならないという問題を抱えている。特に、イントラ予測においてはその予測モードの選択肢が増大しており、適切な予測モードをより高速に判定することが必要となっている。ここで、図18を参照して、映像の符号化を行う装置の標準的な構成を説明する。
図18は、映像の符号化を行う装置の標準的な構成を示すブロック図である。符号化を行う装置は、符号化対象の入力画像を入力し、入力画像のピクチャをブロックに分割してブロックごとに符号化し、そのビットストリームを符号化ストリームとして出力する。この符号化のため、イントラ予測部1は、イントラ予測を行った予測信号を出力する。動き補償部2は、動き補償の予測信号を出力する。減算部3は、入力画像と、イントラ予測部1あるいは動き補償2の出力である予測信号との差分を求め、それを予測残差信号として出力する。DCT/量子化部4は、予測残差信号に対して離散コサイン変換等の直交変換を行い、変換係数を量子化し、その量子化された変換係数を出力する。エントロピー符号化処理部5は、量子化された変換係数をエントロピー符号化し、符号化ストリームとして出力する。
一方、量子化された変換係数は、逆量子化/逆DCT部6にも入力され、ここで逆量子化と逆直交変換され、予測残差信号を出力する。加算部7では、予測残差信号とイントラ予測部1あるいは動き補償部2の出力である予測信号とを加算し、符号化した符号化対象ブロックの復号映像信号を生成する。この復号映像信号は、動き補償部2で参照画像として用いるために、ループフィルタ8に対して出力される。ループフィルタ8では符号化歪みを低減するフィルタリング処理を行い、このフィルタリング処理後の画像を復号映像信号として動き補償部2に対して出力する。動きベクトル予測部9は、入力画像とループフィルタの出力を入力し、動きベクトルを予測し、その結果を動き補償部2とエントロピー符号化部5に対して出力する。符号化制御部10は、入力画像を入力し、イントラ予測部1、DCT/量子化部4、エントロピー符号化部5の処理動作を制御する。
このように、映像符号化においては、ブロック単位で予測の方法を決定しており、その予測方法は大きく分けて2つある。1つ目はイントラ予測と呼ばれる1画面の符号化情報のみを用いた予測手法、2つ目は、インター予測(動き補償)、スキップなどの複数画面の符号化情報を用いた予測手法である。以下、本発明に関係するイントラ予測についてのみ説明する。
イントラ予測は、符号化対象ブロックに隣接する符号化済み画素を用いた予測であり、その予測モードの選択肢は全部で35モード存在する。図19は、イントラ予測のモードを示す説明図である。このうち、33モードは周囲の符号化済み画素を参照し、その画素が一定方向に続くものとして予測を行うものである。例えば、予測モードの番号が26のときは垂直方向の予測となり、符号化対象ブロックの真上に隣接する符号化済み画素を、それぞれ縦に一列ずつコピーし、その差分を符号化する。一方、予測モードの番号が25のように斜め方向の予測を行う際には、その角度により隣接する符号化済み画素が存在しない可能性がある。この場合、H.264やHEVCにおいては符号化済み画素にフィルタ処理を行い、画素間位置の画素を生成して補間を行っている。この処理は、イントラスムージング処理と呼ばれている。
イントラ予測方向決定では通常各予測方向のコストを計算し、コストが最小となるものを最適なイントラ予測モードとして決定している。そのため、イントラ予測方向決定における演算量削減には、各予測モードのコストの大小をより少ない演算量で判定することが必要となる。
次に、イントラ予測を高速に行うための従来手法について説明する。始めに、SSE(Streaming SIMD Extensions)について説明する。CPUの高速処理を可能にする命令として、マイクロプロセッサに搭載されているSSEと呼ばれるマルチメディア拡張命令セットがある。これには、複数の浮動小数点数演算を同時に実行する機能や、マルチメディア処理に頻繁に使う命令が追加されている。この命令を用いた高速化は、メモリ上の一定範囲内に配置されたデータの処理において有効となる。図20は、メモリの構成の一例を示す説明図である。図20に示すように、メモリAとメモリB上にそれぞれ、データAi,Bi(i=0,1,2)が順番に格納されている場合について説明する。
AiとBiの各データの差分の絶対値Siを求める場合、
S0=abs(A0−B0)
S1=abs(A1−B1)
S2=abs(A2−B2)
によって求めることができる。
上記では、S0,S1,S2の演算処理を順番に行う。この場合、処理回数は3回としてカウントされる。
S0=abs(A0−B0)
S1=abs(A1−B1)
S2=abs(A2−B2)
によって求めることができる。
上記では、S0,S1,S2の演算処理を順番に行う。この場合、処理回数は3回としてカウントされる。
このように、SSEを用いることで、メモリ上の一定範囲内に配列されたデータに対して同一処理を行う場合、それらを一括して処理することが可能となる。しかし、SSE利用による高速化には、扱うデータがメモリ上の一定範囲内に存在しなければならないという問題がある。これは、SSEにおける次の2つの特性によるものである。
一つ目は、高速化命令用レジスタに一度に格納できるデータは、メモリ内の一定範囲内に限られるという点である。高速化命令用の各レジスタでは、一度に読み込めるメモリの容量が決まっているため、それを超える範囲に格納されるデータを同時に読み込むことができない。
二つ目は、高速化命令用レジスタへのデータ格納には、比較的処理時間がかかる点である。高速化命令用のレジスタは、前述したように容量が限られるが、その長さが大きいため、そのメモリデータ格納にも処理時間がかかる。この処理時間は、その範囲内のデータのうち、実際に演算に用いるデータが全てでも、一つのみでも同じである。このため、特にデータがメモリ上の様々な場所に点在するような場合、レジスタへのデータ格納に時間が増加してしまうため、その後のSSE処理における高速化処理の効果が得られない可能性がある。
上記2点により、SSE利用においては、演算対象のデータが、メモリ上で一定範囲内に存在する必要がある。なお、複数のデータの組み合わせ(上記例のAi,Bi)に対しても、それぞれのデータがメモリ上の一定範囲内に配列されていれば(上記例のA0,A1,A2,・・・)、同様のことが言える。上記では、1回の計算でS0,S1,S2を一度に算出できる。この場合、Aiのみメモリの一定範囲内に並んでいても、Biの配置がメモリの一定範囲内に配置されていない場合、上記の問題点に述べたように逐一Biのデータを読み込む必要が発生するため、SSEによる高速化が有効でない可能性があると考えられる。
イントラ予測の各コスト算出に前述したSSEを用いることによるイントラ予測の高速化が考えられる。しかし、一般に、符号化対象ブロック内の画素と予測に用いる符号化済み画素の、各々のメモリ上の配列が異なるため、コスト算出にSSEを用いただけでは十分な高速化ができない。以下、高速演算とは、SIMD化のような、プログラム実装において用いることが可能な高速演算手法を指すものとする。
次に、イントラ高速探索手法について説明する。イントラ予測の予測モード決定においては、通常各予測モードに対する予測画像の算出が必要であり、その予測モード数が増えるほど予測モード決定のための演算量も増加する。イントラ予測の演算量を削減する手法として、以下のように周辺画素の符号化情報あるいは符号化対象画素などを用いて予測モードの候補を予め絞り込むことにより演算量を削減する技術がある(例えば、特許文献1参照)。
ところで、イントラ予測方向のコスト算出では、符号化対象ブロック内の画素すべてについて縦横斜めの全33方向に対する誤差算出の必要があるが、その各方向に対応する形でSSEによる高速演算を行うことは適切でない。その理由について説明する。一般に、符号化対象ブロック内画素は通常画面全体で横方向に一列ずつ順番にメモリに配置されている。高速化命令用レジスタではメモリの配列に沿ってデータを読み込むため、画素のデータはそれぞれ横方向一列に沿ってのみ同一レジスタ内への取り込みが可能である。
しかし、イントラ予測方向絞り込みでは縦横斜めの33方向に対する演算が発生し、誤差算出の処理においては同一の演算処理を行うデータ群が、別々のレジスタ内に取り込まれている可能性がある。このように、同一レジスタ内画素に対して同一演算処理を実行できる状況が限られ、高速化命令用レジスタへの取り込みに必要な演算量に対して、高速化命令実行可能な処理が少ないことから、符号化処理全体としての演算量削減につながりにくいと考えられる。
一方、特許文献1によると、予測方向を絞り込む段階での手法及び絞り込みの候補となる予測方向に対して特に規定がないことから、候補となる予測方向の選択方法や絞り込み手法によっては演算量が増加、または符号化効率が悪化する可能性がある。
また、SSEと特許文献1の技術を組み合わせることにより、メモリ上のデータの配列順に基づき、高速演算を実行しにくい予測方向を選択し、特許文献1の予測モード絞り込み時に探索方向から除いて絞り込むという方法が考えられる。これは、予測モードを高速演算により絞り込み可能になることからより高速なイントラ予測ができると考えられるが、単純に高速演算しにくい方向を探索方向から除くと、符号化効率が悪化する可能性があるという問題がある。
本発明は、このような事情に鑑みてなされたもので、イントラ予測における演算量を削減することができるイントラ予測方向決定方法及びイントラ予測方向決定プログラムを提供することを目的とする。
本発明は、隣接する符号化済みブロックの画素である参照画素を用いて符号化対象ブロックをイントラ予測する際のイントラ予測方向を決定するイントラ予測方向決定方法であって、前記符号化対象ブロックの符号化対象画素と前記参照画素のメモリ上での相対的な位置関係に基づいて前記符号化対象ブロックと隣接する前記符号化済みブロックの画素である参照画素からそれぞれ符号化対象画素群と参照画素群を選択し、該符号化対象画素群と該参照画素群のメモリ上での相対的な位置関係に基づき、すべてのイントラ予測方向から2つ以上の方向を選択する第1のイントラ予測方向選択ステップと、選択した2つ以上の前記方向についてコストを算出し、該コストが最小となる方向を選択する第2のイントラ予測方向選択ステップと、前記コストが最小となる方向と各イントラ予測方向との間の相関と、前記第2のイントラ予測方向選択ステップにおいて選択されなかった方向と各イントラ予測方向との間の相関とのいずれに対する相関が相対的に高いかを判定し、前記コストが最小となる方向との相関が相対的に高いと判定されたイントラ予測方向についてコストを算出し、その中でコストが最小となるイントラ予測方向を選択する第3のイントラ予測方向選択ステップとを有することを特徴とする。
本発明は、隣接する符号化済みブロックの画素である参照画素を用いて符号化対象ブロックをイントラ予測する際のイントラ予測方向を決定するイントラ予測方向決定方法であって、前記符号化対象ブロックの符号化対象画素と前記参照画素のメモリ上での相対的な位置関係に基づき、前記符号化対象ブロックと前記隣接する符号化済みブロックの画素である参照画素からそれぞれ符号化対象画素群と参照画素群を選択し、該符号化対象画素群と該参照画素群のメモリ上での相対的な位置関係に基づき、すべてのイントラ予測方向及びイントラ予測方向ではない所定の方向から2つ以上の方向を選択する第1のイントラ予測方向選択ステップと、選択した2つ以上の前記方向についてコストを算出し、該コストが最小となる方向を選択する第2のイントラ予測方向選択ステップと、前記コストが最小となる方向と各イントラ予測方向との間の相関と、前記第2のイントラ予測方向選択ステップにおいて選択されなかった方向と各イントラ予測方向との間の相関とのいずれに対する相関が相対的に高いかを判定し、前記コストが最小となる方向との相関が相対的に高いと判定されたイントラ予測方向についてコストを算出し、その中でコストが最小となるイントラ予測方向を選択する第3のイントラ予測方向選択ステップとを有することを特徴とする。
本発明は、前記第1のイントラ予測方向選択ステップで選択する2つ以上の方向は、互いの相関が低くなる関係にあることを特徴とする。
本発明は、前記第2のイントラ予測方向選択ステップは、前記選択した2つ以上の方向についてコストを算出し、該コストが小さいものから複数の方向を選択し、前記第3のイントラ予測方向選択ステップは、前記第2のイントラ予測方向選択ステップで選択された方向のうちコストが最小となる方向を中心とする、前記第2のイントラ予測方向選択ステップで選択された方向のうちコストが最小となる方向を除いた方向を用いて定まる所定の範囲を決定し、該所定の範囲に含まれるイントラ予測方向についてコストを算出し、その中でコストが最小となるイントラ予測方向を選択することを特徴とする。
本発明は、前記第1のイントラ予測方向選択ステップは、前記符号化対象ブロックの符号化対象画素と前記参照画素のメモリ上での相対的な位置関係に加えて前記符号化対象ブロックのブロックサイズに基づき、前記符号化対象画素群と前記参照画素群を選択することを特徴とする。
本発明は、前記第1のイントラ予測方向選択ステップは、参照すべき位置に前記隣接する符号化済みブロックの画素である参照画素がない場合には、前記隣接する符号化済みブロックの画素である参照画素から小数画素を生成し、生成した小数画素を前記参照画素群に含めて前記参照画素群を選択することを特徴とする。
本発明は、前記符号化対象ブロックの符号化対象画素と前記参照画素のメモリ上での相対的な位置関係は、前記符号化対象画素が横方向または縦方向に一列ずつメモリに格納されており、前記隣接する符号化済みブロックの画素である参照画素はその1つ上に横方向にまたはその1つ左に縦方向に1列にメモリに格納されている位置関係であり、前記符号化対象画素群は、前記符号化対象ブロックの上から1段目または左から1列目であり、前記参照画素群は、前記符号化対象画素群の1つ上または1つ左の参照画素であることを特徴とする。
本発明は、コンピュータに、前記イントラ予測方向決定方法を実行させるためのイントラ予測方向決定プログラムである。
本発明によれば、イントラ予測における演算量削減を削減することができるため、符号化処理の演算量の削減を図ることができるという効果が得られる。
以下、図面を参照して、本発明の実施形態によるイントラ予測方向決定方法を説明する。イントラ予測方向決定方法は、図18に示す装置におけるイントラ予測部1において実行されるものであるため、ここでは、装置構成の説明を省略する。図1は、本発明の実施形態によるイントラ予測部1の基本処理動作を示すフローチャートである。図1を参照して、本発明の実施形態によるイントラ予測部1の基本処理動作を説明する。まず、イントラ予測部1は、イントラ予測方向絞り込み処理を行う(ステップS1)。続いて、イントラ予測部1は、コスト計算を行うことによりコスト推定を行う(ステップS2)。次に、イントラ予測部1は、全ての候補のコスト計算を行ったか否かを判定し、全ての候補についてコスト計算を行う。そして、イントラ予測部1は、イントラ予測方向の決定処理を行う(ステップS3)。このような処理動作によって、イントラ予測方向を決定する。
以下、特に定義しない場合、コストとは符号化対象画像と符号化済み画像(参照画像)との誤差またはRDコスト等発生符号量及び上述の誤差の両方またはどちらかを変数として含むという特徴を有するコストを意味するものとする。
<第1実施形態>
次に、本発明の第1実施形態によるイントラ予測方向決定方法を説明する。第1実施形態では、イントラ予測方向決定において、符号化済み画素及びそれらと相関が高い座標上の符号化対象画素を用いて、選択した2つ以上のイントラ予測方向のコストを算出する。そして、コストが最小のイントラ予測方向に基づいて決定されるイントラ予測方向の候補に絞り込み、さらに絞り込まれたイントラ予測方向の候補の中からイントラ予測方向を決定する。
次に、本発明の第1実施形態によるイントラ予測方向決定方法を説明する。第1実施形態では、イントラ予測方向決定において、符号化済み画素及びそれらと相関が高い座標上の符号化対象画素を用いて、選択した2つ以上のイントラ予測方向のコストを算出する。そして、コストが最小のイントラ予測方向に基づいて決定されるイントラ予測方向の候補に絞り込み、さらに絞り込まれたイントラ予測方向の候補の中からイントラ予測方向を決定する。
次に、図2を参照して、第1実施形態による図1に示すステップS1の処理の詳細動作を説明する。図2は、図1に示すステップS1の処理の詳細動作を示すフローチャートである。まず、イントラ予測部1は、符号化済み画素(参照画素)と符号化対象画素のメモリ上での配列及び座標から定まる相対的な位置関係に応じて、符号化対象画素からイントラ予測方向絞り込みに用いる符号化対象画素群を選択する(ステップS111)。参照画素と符号化対象画素のメモリ上での配列及び座標から定まる相対的な位置関係に応じて、参照画素から予測絞り込みに用いる参照画素群を選択する(ステップS112)。イントラ予測方向の候補から選択した符号化対象画素群と参照画素群の相対的な位置関係を考慮してイントラ予測方向絞り込みに用いる予測方向を2つ以上選択する(ステップS113)。イントラ予測方向の候補とは、HEVCの場合先述の35個のイントラ予測方向になる。
第1実施形態におけるステップS2の処理は、図1示す処理動作と同様である。すなわち、図2に示す処理動作によって選択した予測方向に対して、選択した符号化対象画素群を用いて各予測方向のコスト推定を行う。
次に、図3を参照して、第1実施形態による図1に示すステップS3の詳細動作を説明する。図3は、図1に示すステップS3の処理の詳細動作を示すフローチャートである。まず、イントラ予測部1は、コスト推定結果が最小となる予測方向Aを決定する(ステップ131)。次に、イントラ予測部1は、予測方向Aと相関が高い全てのイントラ予測方向N個(N>0)を候補として絞り込む(ステップS132)。そして、イントラ予測部1は、N個のイントラ予測方向に対してコスト計算を行い、コストが最小となる予測方向を決定する(ステップS133)。
ここで、相関が高いとは、例えば図2に示す処理によって選択された2つ以上のイントラ予測方向同士の中間位置までの領域を指し、もしその領域を180度回転した領域に絞り込み候補がない場合には、その領域も合わせて指すものとする。
このように、符号化対象画素と参照画素との相関が高い(すなわち、符号化対象画素と参照画素のメモリ上での配列及び座標から定まる相対的な位置関係がSIMDによる高速演算に適するような配置になっている)ことから、絞り込み時のコスト推定において、各予測方向への相関の大小を正しく比較できる可能性が高い。また、その結果を用いて適切な予測方向に絞り込みできることにより、符号化効率の劣化を抑えつつ演算量削減ができる。さらにメモリ上での配列が近い画素を用いてコスト推定することにより、高速演算しやすくなる。
<第2実施形態>
次に、本発明の第2実施形態によるイントラ予測方向決定方法を説明する。第2実施形態では、イントラ予測方向絞り込みにおいて、予測方向として、本来のイントラ予測方向として候補にあるものに加え、予測方向として使用可能である任意の方向を候補として用いることを可能とする。
次に、本発明の第2実施形態によるイントラ予測方向決定方法を説明する。第2実施形態では、イントラ予測方向絞り込みにおいて、予測方向として、本来のイントラ予測方向として候補にあるものに加え、予測方向として使用可能である任意の方向を候補として用いることを可能とする。
次に、図4を参照して、第2実施形態による図1に示すステップS1の処理の詳細動作を説明する。図4は、図1に示すステップS1の処理の詳細動作を示すフローチャートである。まず、イントラ予測部1は、符号化済み画素と符号化対象画素のメモリ上での配列及び座標から定まる相対的な位置関係に応じて、符号化対象画素からイントラ予測方向絞り込みに用いる符号化対象画素群を選択する(ステップS211)。次に、イントラ予測部1は、符号化済み画素と符号化対象画素のメモリ上での配列及び座標から定まる相対的な位置関係に応じて、参照画素から予測絞り込みに用いる参照画素群を選択する(ステップS212)。そして、イントラ予測部1は、イントラ予測方向またはそれ以外の方向(予測方向として使用可能である任意の方向)から絞り込みに用いる予測方向を2つ以上選択する(ステップS213)。
ここで、それ以外の方向とは、図5のAのように、イントラ予測モードのある方向と隣接する方向の間への予測方向(Aの場合は21と22の間への予測方向となっている)や、Bのように180度回転すると、イントラ予測モードの存在する範囲内にあるもの(Bの場合は5を180度回転した予測方向となっている)を意味する。
第2実施形態におけるステップS2の処理は、図1示す処理動作と同様である。すなわち、選択した予測方向に対して、選択した符号化対象画素群を用いて各予測方向のコスト推定を行う。また、第2実施形態におけるステップS3の処理についても図1に示す処理動作と同様である。すなわち、コスト推定結果が最小となる予測方向と相関が高くなる全てのイントラ予測方向から候補を絞り込み、その中からイントラ予測方向を決定する。
このように、第2実施形態は、第1実施形態に比べ、絞り込みに用いる予測方向の範囲が拡大されるため、より適切な予測方向を絞り込むことが期待できる。一方、演算量は第1実施形態と変わらないため、演算量削減を維持しつつ符号化効率向上が期待できる。
<第3実施形態>
次に、本発明の第3実施形態によるイントラ予測方向決定方法を説明する。第3実施形態では、イントラ予測方向絞り込み処理(ステップS1)において、予測方向として互いの相関が低くなるような2つ以上の予測方向を選択することを可能とする。
次に、本発明の第3実施形態によるイントラ予測方向決定方法を説明する。第3実施形態では、イントラ予測方向絞り込み処理(ステップS1)において、予測方向として互いの相関が低くなるような2つ以上の予測方向を選択することを可能とする。
次に、図6を参照して、第3実施形態による図1に示すステップS1の処理の詳細動作を説明する。図6は、図1に示すステップS1の処理の詳細動作を示すフローチャートである。まず、イントラ予測部1は、符号化済み画素と符号化対象画素のメモリ上での配列及び座標から定まる相対的な位置関係に応じて、符号化対象画素からイントラ予測方向絞り込みに用いる符号化対象画素群を選択する(ステップS311)。次に、イントラ予測部1は、符号化済み画素と符号化対象画素のメモリ上での配列及び座標から定まる相対的な位置関係に応じて、参照画素から予測絞り込みに用いる参照画素群を選択する(ステップS312)。そして、イントラ予測部1は、イントラ予測方向またはそれ以外の方向から絞り込みに用いる予測方向を互いの相関が低くなるように2つ以上選択する(ステップS313)。
ここで、予測方向を互いの相関が低くなるように2つ以上選択するとは絞り込む個数がN個(Nは正の整数)、イントラ予測方向として選択可能な全方向の両端のなす角度がα(0<α)であるとき、実際に選択される予測方向のうち、互いに隣接するもの同士のなす角βが、{(α÷N)−δ}<β<{(α÷N)+δ}(但し、δは、隣接するすべてのイントラ予測方向同士のなす角の最大値(δ<180度))となるように選択するものである。
第3実施形態におけるステップS2の処理は、図1示す処理動作と同様である。すなわち、選択した予測方向に対して、上記で選択した符号化対象画素群を用いて各予測方向のコスト推定を行う。また、第3実施形態におけるステップS3の処理についても図1に示す処理動作と同様である。すなわち、コスト推定結果が最小となる予測方向と相関が高くなる全てのイントラ予測方向から候補を絞り込み、その中からイントラ予測方向を決定する。
このように、絞り込みに用いられる方向が近い場合、相関が高く適切なコスト推定ができない場合があると考えられる。一方、図6に示す処理により、絞り込み処理における予測方向を互いの相関が低くなるように選択することで、よりコスト推定時に相関の判定がしやすくなり、より適切な予測方向を絞り込むことが期待できる。一方、演算量は第1、第2実施形態と変わらないため、演算量削減を維持しつつ符号化効率向上が期待できる。
<第4実施形態>
次に、本発明の第4実施形態によるイントラ予測方向決定方法を説明する。第4実施形態では、イントラ予測方向の選択に応じてイントラ予測方向に対して相関が高い予測方向の範囲をそれぞれ設定し、コスト推定結果に対してコスト最小となるイントラ予測方向と相関が高いと考えられる範囲からイントラ予測方向を決定する。
次に、本発明の第4実施形態によるイントラ予測方向決定方法を説明する。第4実施形態では、イントラ予測方向の選択に応じてイントラ予測方向に対して相関が高い予測方向の範囲をそれぞれ設定し、コスト推定結果に対してコスト最小となるイントラ予測方向と相関が高いと考えられる範囲からイントラ予測方向を決定する。
第4実施形態におけるステップS1の処理は、図1示す処理動作と同様である。すなわち、符号化済み画素と符号化対象画素のメモリ上での配列及び座標から定まる相対的な位置関係に応じて、符号化対象画素からイントラ予測方向絞り込みに用いる符号化対象画素群を選択する。続いて、符号化済み画素と符号化対象画素のメモリ上での配列及び座標から定まる相対的な位置関係に応じて、参照画素から予測絞り込みに用いる参照画素群を選択する。そして、イントラ予測方向の候補からイントラ予測方向絞り込みに用いる予測方向を2つ以上選択する。
第4実施形態におけるステップS2の処理は、図1示す処理動作と同様である。すなわち、選択した予測方向に対して、選択した符号化対象画素群を用いて各予測方向のコスト推定を行う。
次に、図7を参照して、第4実施形態による図1に示すステップS3の処理の詳細動作を説明する。図7は、図1に示すステップS3の処理の詳細動作を示すフローチャートである。まず、イントラ予測部1は、ステップS1で選択した予測方向の種類とステップS2のコスト推定の結果に応じて、コストが小さい順に予測方向を並び替える(ステップS431)。続いて、イントラ予測部1は、並び替えた予測方向から、コスト最小となる可能性が高いイントラ予測方向をN個(N>0)絞り込む(ステップS432)。そして、イントラ予測部1は、絞り込まれたイントラ予測方向に対してコスト算出を行い、最小となるものをイントラ予測方向として決定する(ステップS433)。
ここでの予測方向の決定は、例えば下記のようなものである。ステップS2のコストが最小となる方向から順に、各方向をX0、X1、X2、X3、・・・、また、X0とXiのなす角をαi(i=1、2、3、・・・)(αi>0)とする。このとき、方向Xiが全てイントラ予測方向の領域内にある場合、X0を中心として、
X1の方向に{(α1×2)÷3±δ1}度
X2の方向に{(α2)÷3±δ2}度
(X1、X2がX0から見て同一方向にある場合、X1と逆方向に設定)
(但しδiは、0<δi<{(αi)÷3}となる角度)
のどちらかを満たす領域内のイントラ予測方向に対してコスト算出を行い、最小となるものを決定する。ここで、イントラ予測方向の領域内であるとは、例えばHEVCのイントラ予測では、方向2から35までの各方向が規定される180度分の領域を指し、その反対側の領域(図5のBのような方向)をイントラ予測方向の領域内でないとする。
X1の方向に{(α1×2)÷3±δ1}度
X2の方向に{(α2)÷3±δ2}度
(X1、X2がX0から見て同一方向にある場合、X1と逆方向に設定)
(但しδiは、0<δi<{(αi)÷3}となる角度)
のどちらかを満たす領域内のイントラ予測方向に対してコスト算出を行い、最小となるものを決定する。ここで、イントラ予測方向の領域内であるとは、例えばHEVCのイントラ予測では、方向2から35までの各方向が規定される180度分の領域を指し、その反対側の領域(図5のBのような方向)をイントラ予測方向の領域内でないとする。
また、1番目のコストと2番目のコストの方向の間に3番目の方向がある場合、かつ1番目か2番目どちらかの方向が領域外である場合、その方向を180度回転させて探索範囲を設定する。さらに、設定された探索範囲内に領域外の方向があれば、その部分だけ180度回転したものを合わせて探索範囲とする。
これ以外に、次のような手法により予測方向を決定してもよい。ステップS2のコストが最小となる方向から順に、各方向をX0、X1、X2、X3、・・・、また、X0とXiのなす角をαi(i=1、2、3、・・・)(αi>0)、またXiのコストをSiとする。このとき、X0から時計回り方向にある方向Xki(i=1、2、・・・)、反時計回り方向にある方向Xlj(j=1、2、・・・)の、それぞれのコストの平均値の逆数の比を用いて予測方向を決定する。ここで、時計回りとはX0から時計回りに180度以内、反時計回りとはX0から反時計回りに180度以内の回転を指す。ここで、kiは、k1、k2、・・・の順に、X0から時計回りで近い順にXiを並べ替えた時の並べ替えた順番を意味し、ljは、l1、l2、・・・の順に、X0から反時計回りで近い順にXiを並べ替えた順番を意味する。任意のi、jに対してki≠ljである。
このとき、例えば、
X0から時計回り方向にある方向のコスト和の平均Sk(Nkは、時計回り方向にあるXiの個数)
X0から反時計回り方向にある方向のコスト和の平均Sl(Nlは、反時計回り方向にあるXiの個数)
であるときの予測方向は、以下のようになる。
X0から時計回り方向に
X0から反時計回り方向に
但し、αk1,αl1は、X0から時計回り方向、反時計回り方向に回転させるとき、最もX0に近いXki、Xljの方向までの角度とする。
X0から時計回り方向にある方向のコスト和の平均Sk(Nkは、時計回り方向にあるXiの個数)
X0から時計回り方向に
第1〜第3実施形態では、絞り込んだ予測方向と相関が高いイントラ予測方向を最終的なイントラ予測を行う候補としているが、第4実施形態では、コスト推定の結果すべてを用いて、その大小の分布に応じてコスト最小となる領域を推定している。コスト推定の結果からコスト最小となる領域推定を行うための演算は発生するが、その増加量はイントラ予測における演算量に比べれば非常に小さく、これにより第1〜第3実施形態とほぼ同等の演算量を保ちながらより精度よくイントラ予測を行うことが可能となる。
<第5実施形態>
次に、本発明の第5実施形態によるイントラ予測方向決定方法を説明する。第5実施形態では、イントラ予測方向決定において、符号化済み画素、及びそれらと相関が高い座標上の符号化対象画素のうちブロックのサイズに応じて制限されたサイズ内の画素を用いる。そして、予め選択した2つ以上の予測方向のコストを高速演算により推定してイントラ予測方向の候補を絞り込み、さらに絞り込まれた方向の中からイントラ予測方向を決定する。
次に、本発明の第5実施形態によるイントラ予測方向決定方法を説明する。第5実施形態では、イントラ予測方向決定において、符号化済み画素、及びそれらと相関が高い座標上の符号化対象画素のうちブロックのサイズに応じて制限されたサイズ内の画素を用いる。そして、予め選択した2つ以上の予測方向のコストを高速演算により推定してイントラ予測方向の候補を絞り込み、さらに絞り込まれた方向の中からイントラ予測方向を決定する。
次に、図8を参照して、第5実施形態による図1に示すステップS1の処理の詳細動作を説明する。図8は、図1に示すステップS1の処理の詳細動作を示すフローチャートである。まず、イントラ予測部1は、符号化済み画素と符号化対象画素のメモリ上での配列及び座標から定まる相対的な位置関係及び符号化対象画素の属するブロックサイズに応じて、符号化対象画素からイントラ予測方向絞り込みに用いる符号化対象画素群を選択する(ステップS511)。続いて、イントラ予測部1は、符号化済み画素と符号化対象画素のメモリ上での配列及び座標から定まる相対的な位置関係及び符号化対象画素の属するブロックサイズに応じて、参照画素から予測絞り込みに用いる参照画素群を選択する(ステップS512)。そして、イントラ予測部1は、イントラ予測方向の候補からイントラ予測方向絞り込みに用いる予測方向を2つ以上選択する(ステップS513)。
第5実施形態におけるステップS2の処理は、図1示す処理動作と同様である。すなわち、選択した予測方向に対して、選択した符号化対象画素群を用いて各予測方向のコスト推定を行う。また、第5実施形態におけるステップS3の処理についても図1に示す処理動作と同様である。すなわち、コスト推定結果が最小となる予測方向と相関が高くなる全てのイントラ予測方向から候補を絞り込み、その中からイントラ予測方向を決定する。
このように、符号化対象画素の属するブロックサイズに基づいて絞り込みに用いる画素数を制限することで、符号化効率の悪化を抑えつつ演算量の上限を設定することができる。
<第6実施形態>
次に、本発明の第6実施形態によるイントラ予測方向決定方法を説明する。第6実施形態では、イントラ予測方向決定において、予め選択した2つ以上の予測方向のコストを算出する際、その参照位置が画素間になりその位置に画素が存在しない場合、周囲の画素から小数画素を生成し、イントラ予測方向の候補を絞り込む。ここでの小数画素生成には、符号化方式上で用いられるイントラスムージング処理の他、アップサンプリングによる生成、または周囲の画素をそのまま引用するなど、演算量が膨大にならない手法であれば、どのような手法を用いてもよい。
次に、本発明の第6実施形態によるイントラ予測方向決定方法を説明する。第6実施形態では、イントラ予測方向決定において、予め選択した2つ以上の予測方向のコストを算出する際、その参照位置が画素間になりその位置に画素が存在しない場合、周囲の画素から小数画素を生成し、イントラ予測方向の候補を絞り込む。ここでの小数画素生成には、符号化方式上で用いられるイントラスムージング処理の他、アップサンプリングによる生成、または周囲の画素をそのまま引用するなど、演算量が膨大にならない手法であれば、どのような手法を用いてもよい。
第6実施形態におけるステップS1の処理は、図1示す処理動作と同様である。すなわち、符号化済み画素と符号化対象画素のメモリ上での配列及び座標から定まる相対的な位置関係に応じて、符号化対象画素からイントラ予測方向絞り込みに用いる符号化対象画素群を選択する。続いて、符号化済み画素と符号化対象画素のメモリ上での配列及び座標から定まる相対的な位置関係に応じて、参照画素から予測絞り込みに用いる参照画素群を選択する。そして、イントラ予測方向の候補からイントラ予測方向絞り込みに用いる予測方向を2つ以上選択する。
次に、図9を参照して、第6実施形態による図1に示すステップS2の処理の詳細動作を説明する。図9は、図1に示すステップS2の処理の詳細動作を示すフローチャートである。まず、イントラ予測部1は、予測方向Bの参照座標が画素間になっているか否かを判定する(ステップS621)。すなわち、選択した予測方向に対して、図10のようにその参照位置が画素間になりその位置に画素が存在するか否かを判定する。この判定の結果、参照位置が画素間になりその位置に画素が存在しない場合、周囲の画素から小数位置画素を生成する(ステップS622)。一方、参照位置が画素間でない場合は、ステップS622の処理をスキップする。そして、設定した符号化対象画素群を用いて各予測方向のコスト推定を行う(ステップS623)。
第6実施形態におけるステップS3の処理は、図1示す処理動作と同様である。すなわち、コスト推定結果が最小となる予測方向と相関が高くなる全てのイントラ予測方向から候補を絞り込み、その中からイントラ予測方向を決定する。
このように、各絞り込みに用いるイントラ予測方向に小数位置画素が必要となる場合、演算量を抑えつつ周囲の画素から小数位置画素を生成することで、演算量の増大を抑えつつ符号化効率を向上することができる。
<第7実施形態>
次に、本発明の第7実施形態によるイントラ予測方向決定方法を説明する。第7実施形態では、イントラ予測方向絞り込み処理において、コストを参照画素に隣接する符号化対象画素1ラインと参照画素との絶対値や二乗誤差などの差分和により求めて比較する。但し、ここで1ラインとは、メモリ上で一定範囲内に配置される画素のラインを指す。
次に、本発明の第7実施形態によるイントラ予測方向決定方法を説明する。第7実施形態では、イントラ予測方向絞り込み処理において、コストを参照画素に隣接する符号化対象画素1ラインと参照画素との絶対値や二乗誤差などの差分和により求めて比較する。但し、ここで1ラインとは、メモリ上で一定範囲内に配置される画素のラインを指す。
次に、図11を参照して、第7実施形態による図1に示すステップS1の処理の詳細動作を説明する。図11は、図1に示すステップS1の処理の詳細動作を示すフローチャートである。まず、イントラ予測部1は、符号化ブロックの上一段目(左一列目)を符号化対象画素群として選択する(ステップS711)。続いて、イントラ予測部1は、その1ライン上(または1ライン左)の画素を予測絞り込みに用いる参照画素群として選択する(ステップS712)。そして、イントラ予測部1は、イントラ予測方向の候補から、絞り込みに用いる予測方向を2つ以上選択する(ステップS713)。
次に、図12を参照して、第7実施形態による図1に示すステップS2の処理の詳細動作を説明する。図12は、図1に示すステップS2の処理の詳細動作を示すフローチャートである。まず、イントラ予測部1は、選択した予測方向に対して、設定した符号化対象画素群を用いて各予測方向のコストを符号化対象画素と参照画素との絶対値や二乗誤差などの差分和により求める(ステップS721)。
第7実施形態におけるステップS3の処理は、図1示す処理動作と同様である。すなわち、コスト推定結果が最小となる予測方向と相関が高くなる全てのイントラ予測方向から候補を絞り込み、その中からイントラ予測方向を決定する。
このように、イントラ予測方向絞り込みにかかる演算量を最小限に抑えつつ高速演算による実行を可能とし、また参照画素として隣接画素を用いることにより符号化効率の悪化を抑えることができる。
<第8実施形態>
次に、本発明の第8実施形態によるイントラ予測方向決定方法を説明する。第8実施形態は、HEVCイントラ予測に対する高速な予測方向決定のための手法である。本実施形態では、参照画素には復号画素としてメモリ上に格納されている符号化対象画素の1行上のラインの画素を用いるものとし、符号化対象画素はメモリに横方向に一列ずつ格納されているものとする(図13上図参照)。
次に、本発明の第8実施形態によるイントラ予測方向決定方法を説明する。第8実施形態は、HEVCイントラ予測に対する高速な予測方向決定のための手法である。本実施形態では、参照画素には復号画素としてメモリ上に格納されている符号化対象画素の1行上のラインの画素を用いるものとし、符号化対象画素はメモリに横方向に一列ずつ格納されているものとする(図13上図参照)。
まず、隣接画素1ラインAk(k=0、1、・・・、w+1)と符号化対象画素の上から1段目までの画素Bj(j=1、・・・、w)を用い、イントラ予測の予測方向(予測モード)のうち、18と34の方向に対して、下記計算式のようにSSEにより画素同士の誤差の絶対値和(或いは二乗和などでもよい)をコストとして算出する(図13下図参照)。ここで、wは、イントラ予測を行うブロックの横方向の画素数を表す。
なお、Ak,Bjがそれぞれイントラ予測方向絞り込みに用いる参照画素群、イントラ予測方向絞り込みに用いる符号化対象画素群であり、18と34の予測方向がイントラ予測方向絞り込みに用いる予測方向である。ここで、予測方向(予測モード)の18と34は、上述のようなメモリ上でのデータ配列においては高速化演算が可能である。さらに、共に一般に選択されやすい垂直・水平方向の予測モードである10、26の双方に対し、ちょうど中間の位置にあたる。このため、18と34どちらを選択しても10、26を予測候補として持つことで選択を誤った場合も符号化効率が悪化するリスクを抑えることが期待できる。
次に、コストが最小となる方向を最適な予測方向とする。続いて、決定した最適な予測方向毎に処理を行う。最適な予測方向が18の場合は、予測モード番号0、1、10〜26(最小となる予測方向と相関が高くなる全てのイントラ予測方向の候補に相当)に対してイントラ予測のコスト算出を行い、最小コストとなるものを最適なイントラ予測方向とする。
一方、最適な予測方向が34の場合は、予測モード番号0、1、2〜9、27〜34(最小となる予測方向と相関が高くなる全てのイントラ予測方向の候補に相当)に対してイントラ予測のコスト算出を行い、最小コストとなるものを最適なイントラ予測方向とする。
<第9実施形態>
次に、本発明の第9実施形態によるイントラ予測方向決定方法を説明する。第9実施形態は、HEVCイントラ予測に対する高速な予測方向決定のための手法である。本実施形態では、参照画素としてイントラスムージング用にメモリ上に1列に格納されている隣接画素を用いるものとし、符号化対象画素はメモリに横方向に一列ずつ格納されているものとする(図14上図参照)。
次に、本発明の第9実施形態によるイントラ予測方向決定方法を説明する。第9実施形態は、HEVCイントラ予測に対する高速な予測方向決定のための手法である。本実施形態では、参照画素としてイントラスムージング用にメモリ上に1列に格納されている隣接画素を用いるものとし、符号化対象画素はメモリに横方向に一列ずつ格納されているものとする(図14上図参照)。
まず、隣接画素1ラインAk(k=−1、0、1、・・・、w+2)と符号化対象画素の上から1段目の画素Bj(j=1、・・・、w)を用い、イントラ予測の予測方向(予測モード)のうち、−6(6を180度回転した方向とする)、14と26の方向に対して、下記計算式のようにSSEにより画素同士の誤差の絶対値和(或いは二乗和などでもよい)をコストとして算出する(図14下図参照)。ここで、wは、イントラ予測を行うブロックの横方向の画素数を表す。
なお、Ak,Bjがそれぞれイントラ予測方向絞り込みに用いる参照画素群、イントラ予測方向絞り込みに用いる符号化対象画素群であり、−6、14と26の予測方向がイントラ予測方向絞り込みに用いる予測方向である。ここで、予測方向(予測モード)の数が3つに増えることでその分演算量は増加するが、後の処理において絞り込む予測方向(予測モード)の候補数が削減され、また適切に絞り込める可能性が向上する。さらに、予測方向の−6、14と26は、前述のようなメモリ上でのデータ配列においては高速化演算が可能である。
本実施形態では、メモリが横方向に一列ずつ格納されている場合、垂直方向のコスト演算は高速化演算により容易に行うことができるが、水平方向のコスト演算は高速化演算を用いても処理速度の高速化が難しい。そのため、より水平方向に近く、かつ高速化演算可能な14と垂直方向に対して線対象な−6を予測方向として選択すると、水平・垂直方向どちらかを必ず予測候補として含むため、符号化効率が悪化するリスクを抑えることが期待できる。
次に、コストが最小となる方向を最適な予測方向とする。続いて、決定した最適な予測方向毎に処理を行う。最適な予測方向が−6の場合は、予測モード番号0、1、2〜10、32〜34(最小となる予測方向と相関が高くなる全てのイントラ予測方向の候補に相当)に対してイントラ予測のコスト算出を行い、最小コストとなるものを最適なイントラ予測方向とする。
また、最適な予測方向が14の場合は、予測モード番号0、1、10〜20(最小となる予測方向と相関が高くなる全てのイントラ予測方向の候補に相当)に対してイントラ予測のコスト算出を行い、最小コストとなるものを最適なイントラ予測方向とする。
また、最適な予測方向が26の場合は、予測モード番号0、1、20〜32(最小となる予測方向と相関が高くなる全てのイントラ予測方向の候補に相当)に対してイントラ予測のコスト算出を行い、最小コストとなるものを最適なイントラ予測方向とする。
<第10実施形態>
次に、本発明の第10実施形態によるイントラ予測方向決定方法を説明する。第10実施形態は、HEVCイントラ予測に対する高速な予測方向決定のための手法である。本実施形態では、参照画素としてイントラスムージング用にメモリ上に1列に格納されている隣接画素を用いるものとし、符号化対象画素はメモリに横方向に一列ずつ格納されているものとする(図15上図参照)。
次に、本発明の第10実施形態によるイントラ予測方向決定方法を説明する。第10実施形態は、HEVCイントラ予測に対する高速な予測方向決定のための手法である。本実施形態では、参照画素としてイントラスムージング用にメモリ上に1列に格納されている隣接画素を用いるものとし、符号化対象画素はメモリに横方向に一列ずつ格納されているものとする(図15上図参照)。
まず、隣接画素1ラインAk(k=−1、1、・・・、w+2)と符号化対象画素の上から1段目の画素Bj(j=1、・・・、w)を用い、イントラ予測の予測方向(予測モード)のうち、−6(6を180度回転した方向とする)、14と26の方向に対して、下記計算式のようにSSEにより画素同士の誤差の絶対値和(或いは二乗和などでもよい)をコストとして算出する(図15下図参照)。ここで、wは、イントラ予測を行うブロックの横方向の画素数を表す。
なお、Ak,Bjがそれぞれイントラ予測方向絞り込みに用いる参照画素群、イントラ予測方向絞り込みに用いる符号化対象画素群であり、−6、14と26の予測方向がイントラ予測方向絞り込みに用いる予測方向である。
次に、算出したコストの大小毎に、下記の条件1〜3に沿って探索範囲の予測モード番号を決定する。
(条件1)1番目のコストから2番目のコストの方向に8方向、3番目の方向に2方向分探索範囲をもつ。
(条件2)1番目のコストと2番目のコストの方向の間に3番目の方向がある場合、かつ1番目か2番目どちらかがイントラ予測方向の領域外の方向である場合、領域外になっている方向を180度回転させて探索範囲を設定する。
(条件3)上記で設定された探索範囲内で領域外になる方向があれば、その方向だけ180度回転したものを合わせて探索範囲とする。
(条件1)1番目のコストから2番目のコストの方向に8方向、3番目の方向に2方向分探索範囲をもつ。
(条件2)1番目のコストと2番目のコストの方向の間に3番目の方向がある場合、かつ1番目か2番目どちらかがイントラ予測方向の領域外の方向である場合、領域外になっている方向を180度回転させて探索範囲を設定する。
(条件3)上記で設定された探索範囲内で領域外になる方向があれば、その方向だけ180度回転したものを合わせて探索範囲とする。
具体的には、図16に示すようになる。図16に示すA〜Fでそれぞれ選択された予測モード番号の範囲を図示すると、図17のようになる。
以上説明したように、符号化対象ブロックと隣接する符号化済みブロックの画素である参照画素の相対的位置関係に基づき、コストを算出するイントラ予測方向を絞り込むことにより、符号化効率の劣化を抑えつつ演算量の削減を実現することができる。
前述した実施形態におけるイントラ予測方向決定方法をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、PLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されるものであってもよい。
以上、図面を参照して本発明の実施の形態を説明してきたが、上記実施の形態は本発明の例示に過ぎず、本発明が上記実施の形態に限定されるものではないことは明らかである。したがって、本発明の技術思想及び範囲を逸脱しない範囲で構成要素の追加、省略、置換、その他の変更を行ってもよい。
映像符号化のイントラ予測における演算量を削減することが不可欠な用途に適用できる。
1・・・イントラ予測部、2・・・動き補償部、3・・・減算部、4・・・DCT/量子化部、5・・・エントロピー符号化部、6・・・逆量子化/逆DCT部、7・・・加算部、8・・・ループフィルタ、9・・・動きベクトル予測部、10・・・符号化制御部
Claims (7)
- 隣接する符号化済みブロックの画素である参照画素を用いて符号化対象ブロックをイントラ予測する際のイントラ予測方向を決定するイントラ予測方向決定方法であって、
前記符号化対象ブロックの符号化対象画素と前記参照画素のメモリ上での相対的な位置関係に基づいて前記符号化対象ブロックと隣接する前記符号化済みブロックの画素である参照画素からそれぞれ符号化対象画素群と参照画素群を選択し、該符号化対象画素群と該参照画素群のメモリ上での相対的な位置関係に基づき、すべてのイントラ予測方向から2つ以上の方向を選択する第1のイントラ予測方向選択ステップと、
選択した2つ以上の前記方向についてコストを算出し、該コストが最小となる方向を選択する第2のイントラ予測方向選択ステップと、
前記コストが最小となる方向と各イントラ予測方向との間の相関と、前記第2のイントラ予測方向選択ステップにおいて選択されなかった方向と各イントラ予測方向との間の相関とのいずれに対する相関が相対的に高いかを判定し、前記コストが最小となる方向との相関が相対的に高いと判定されたイントラ予測方向についてコストを算出し、その中でコストが最小となるイントラ予測方向を選択する第3のイントラ予測方向選択ステップと
を有し、
前記符号化対象ブロックの符号化対象画素と前記参照画素のメモリ上での相対的な位置関係は、前記符号化対象画素が横方向または縦方向に一列ずつメモリに格納されており、前記隣接する符号化済みブロックの画素である参照画素はその1つ上に横方向にまたはその1つ左に縦方向に1列にメモリに格納されている位置関係であり、
前記符号化対象画素群は、前記符号化対象ブロックの上から1段目または左から1列目であり、
前記参照画素群は、前記符号化対象画素群の1つ上または1つ左の参照画素である
ことを特徴とするイントラ予測方向決定方法。 - 隣接する符号化済みブロックの画素である参照画素を用いて符号化対象ブロックをイントラ予測する際のイントラ予測方向を決定するイントラ予測方向決定方法であって、
前記符号化対象ブロックの符号化対象画素と前記参照画素のメモリ上での相対的な位置関係に基づき、前記符号化対象ブロックと前記隣接する符号化済みブロックの画素である参照画素からそれぞれ符号化対象画素群と参照画素群を選択し、該符号化対象画素群と該参照画素群のメモリ上での相対的な位置関係に基づき、すべてのイントラ予測方向及びイントラ予測方向ではない所定の方向から2つ以上の方向を選択する第1のイントラ予測方向選択ステップと、
選択した2つ以上の前記方向についてコストを算出し、該コストが最小となる方向を選択する第2のイントラ予測方向選択ステップと、
前記コストが最小となる方向と各イントラ予測方向との間の相関と、前記第2のイントラ予測方向選択ステップにおいて選択されなかった方向と各イントラ予測方向との間の相関とのいずれに対する相関が相対的に高いかを判定し、前記コストが最小となる方向との相関が相対的に高いと判定されたイントラ予測方向についてコストを算出し、その中でコストが最小となるイントラ予測方向を選択する第3のイントラ予測方向選択ステップと
を有し、
前記符号化対象ブロックの符号化対象画素と前記参照画素のメモリ上での相対的な位置関係は、前記符号化対象画素が横方向または縦方向に一列ずつメモリに格納されており、前記隣接する符号化済みブロックの画素である参照画素はその1つ上に横方向にまたはその1つ左に縦方向に1列にメモリに格納されている位置関係であり、
前記符号化対象画素群は、前記符号化対象ブロックの上から1段目または左から1列目であり、
前記参照画素群は、前記符号化対象画素群の1つ上または1つ左の参照画素である
ことを特徴とするイントラ予測方向決定方法。 - 前記第1のイントラ予測方向選択ステップで選択する2つ以上の方向は、互いの相関が低くなる関係にあることを特徴とする請求項1または2に記載のイントラ予測方向決定方法。
- 前記第2のイントラ予測方向選択ステップは、前記選択した2つ以上の方向についてコストを算出し、該コストが小さいものから複数の方向を選択し、
前記第3のイントラ予測方向選択ステップは、前記第2のイントラ予測方向選択ステップで選択された方向のうちコストが最小となる方向を中心とする、前記第2のイントラ予測方向選択ステップで選択された方向のうちコストが最小となる方向を除いた方向を用いて定まる所定の範囲を決定し、該所定の範囲に含まれるイントラ予測方向についてコストを算出し、その中でコストが最小となるイントラ予測方向を選択することを特徴とする請求項1から3のいずれか1項に記載のイントラ予測方向決定方法。 - 前記第1のイントラ予測方向選択ステップは、前記符号化対象ブロックの符号化対象画素と前記参照画素のメモリ上での相対的な位置関係に加えて前記符号化対象ブロックのブロックサイズに基づき、前記符号化対象画素群と前記参照画素群を選択することを特徴とする請求項1から4のいずれか1項に記載のイントラ予測方向決定方法。
- 前記第1のイントラ予測方向選択ステップは、参照すべき位置に前記隣接する符号化済みブロックの画素である参照画素がない場合には、前記隣接する符号化済みブロックの画素である参照画素から小数画素を生成し、生成した小数画素を前記参照画素群に含めて前記参照画素群を選択することを特徴とする請求項1から5のいずれか1項に記載のイントラ予測方向決定方法。
- コンピュータに、請求項1から6のいずれか1項に記載のイントラ予測方向決定方法を実行させるためのイントラ予測方向決定プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014056241A JP5759588B1 (ja) | 2014-03-19 | 2014-03-19 | イントラ予測方向決定方法及びイントラ予測方向決定プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014056241A JP5759588B1 (ja) | 2014-03-19 | 2014-03-19 | イントラ予測方向決定方法及びイントラ予測方向決定プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5759588B1 true JP5759588B1 (ja) | 2015-08-05 |
JP2015179944A JP2015179944A (ja) | 2015-10-08 |
Family
ID=53887586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014056241A Active JP5759588B1 (ja) | 2014-03-19 | 2014-03-19 | イントラ予測方向決定方法及びイントラ予測方向決定プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5759588B1 (ja) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006005438A (ja) * | 2004-06-15 | 2006-01-05 | Sony Corp | 画像処理装置およびその方法 |
US7792188B2 (en) * | 2004-06-27 | 2010-09-07 | Apple Inc. | Selecting encoding types and predictive modes for encoding video data |
JP2006246431A (ja) * | 2005-02-07 | 2006-09-14 | Matsushita Electric Ind Co Ltd | 画像符号化装置および画像符号化方法 |
JP2007251923A (ja) * | 2006-02-15 | 2007-09-27 | Mitsubishi Electric Corp | 画像符号化装置および画像符号化方法 |
JP4921240B2 (ja) * | 2007-05-10 | 2012-04-25 | キヤノン株式会社 | 画像処理装置およびその方法 |
JP5219089B2 (ja) * | 2009-04-30 | 2013-06-26 | 株式会社メガチップス | 画像データの生成方法 |
US9066068B2 (en) * | 2011-10-31 | 2015-06-23 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Intra-prediction mode selection while encoding a picture |
WO2013175732A1 (ja) * | 2012-05-24 | 2013-11-28 | パナソニック株式会社 | 画像符号化装置、画像符号化方法、および集積回路 |
-
2014
- 2014-03-19 JP JP2014056241A patent/JP5759588B1/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015179944A (ja) | 2015-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI478586B (zh) | 動向量預測編碼方法、動向量預測解碼方法、動畫像編碼裝置、動畫像解碼裝置及其程式 | |
CN107959856B (zh) | 通过帧内预测来对图像进行编码和解码的方法和设备 | |
JP5277257B2 (ja) | 動画像復号化方法および動画像符号化方法 | |
ES2875926T3 (es) | Procedimiento y dispositivo para codificar una secuencia de imágenes y procedimiento y dispositivo para descodificar una secuencia de imágenes | |
JP7261275B2 (ja) | 低減されたメモリアクセスを用いてfrucモードでビデオデータを符号化又は復号する方法及び装置 | |
JP5367098B2 (ja) | 動きベクトル予測符号化方法,動きベクトル予測復号方法,動画像符号化装置,動画像復号装置およびそれらのプログラム | |
JP2018524918A (ja) | 画像予測方法および画像予測装置 | |
JP5367097B2 (ja) | 動きベクトル予測符号化方法、動きベクトル予測復号方法、動画像符号化装置、動画像復号装置およびそれらのプログラム | |
JP2008227702A (ja) | 動きベクトル探索装置、動きベクトル探索方法及び動きベクトル探索プログラム | |
CN101682775A (zh) | 运动矢量搜索方法和装置,其程序和记录有程序的记录介质 | |
JP2011029863A (ja) | 復号化処理方法 | |
JP5759588B1 (ja) | イントラ予測方向決定方法及びイントラ予測方向決定プログラム | |
CN103688542A (zh) | 图像编码方法、图像解码方法、图像编码装置、图像解码装置、图像编码程序以及图像解码程序 | |
JP2015111774A (ja) | 映像符号化装置及び映像符号化プログラム | |
JP5281596B2 (ja) | 動きベクトル予測方法,動きベクトル予測装置および動きベクトル予測プログラム | |
JP5281597B2 (ja) | 動きベクトル予測方法,動きベクトル予測装置および動きベクトル予測プログラム | |
JP6680796B2 (ja) | 効率的な低複雑度ビデオ圧縮 | |
JP2016187134A (ja) | 予測モード判定方法及び予測モード判定プログラム | |
JP6080077B2 (ja) | 画像符号化方法及び画像符号化装置 | |
JP2016187171A (ja) | 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム | |
JP2004364333A (ja) | 画像符号化装置 | |
JP2012120108A (ja) | 補間画像生成装置及びプログラム、並びに、動画像復号装置及びプログラム | |
JP2018186456A (ja) | 画像符号化装置、画像符号化方法及びプログラム | |
KR102031120B1 (ko) | 인트라 예측 부호화 및 복호화 방법과 상기 방법을 수행하는 장치 | |
JP2020109934A5 (ja) | 動画像符号化装置、画像符号化方法、画像符号化プログラム、動画像復号装置、画像復号方法、画像復号プログラム及びビットストリーム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150602 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150605 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Ref document number: 5759588 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |