JP2012191295A - 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム - Google Patents
画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム Download PDFInfo
- Publication number
- JP2012191295A JP2012191295A JP2011051268A JP2011051268A JP2012191295A JP 2012191295 A JP2012191295 A JP 2012191295A JP 2011051268 A JP2011051268 A JP 2011051268A JP 2011051268 A JP2011051268 A JP 2011051268A JP 2012191295 A JP2012191295 A JP 2012191295A
- Authority
- JP
- Japan
- Prior art keywords
- intra prediction
- prediction mode
- processing unit
- prediction
- unit
- 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.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】 複数のモードを持つイントラ予測を行う符号化方式においては、参照する隣接画素が存在しない場合、選ばれない予測モードは禁止されているが、情報として冗長になっていた。
【解決手段】 入力された画像を処理対象のブロックに分割し、分割された処理対象のブロックを単位として、該処理対象のブロックの画面内予測のモードを決定し、前記処理対象のブロックの周辺のブロックが参照可能か否かを判定し、判定の結果に基づいて、禁止されている符号を用いて所定の予測値を符号化する。
【選択図】 図1
【解決手段】 入力された画像を処理対象のブロックに分割し、分割された処理対象のブロックを単位として、該処理対象のブロックの画面内予測のモードを決定し、前記処理対象のブロックの周辺のブロックが参照可能か否かを判定し、判定の結果に基づいて、禁止されている符号を用いて所定の予測値を符号化する。
【選択図】 図1
Description
本発明は画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラムに関し、特に画像中の画面内予測符号化方法に関する。
動画像の圧縮記録方法として、H.264/MPEG−4 AVC(以下H.264)が知られている。H.264は1セグメント地上波デジタル放送などで広く使われている。H.264の特徴は、従来の符号化方式に加えて4×4画素単位で整数変換を用い、イントラ予測が複数用意されている点にある。イントラ予測は4×4画素単位のほかに8×8画素単位でも用意されている。また、ループ・フィルタを用い、前後に複数のフレームの参照を可能にしつつ、動き補償を7種類のサブブロックで行うという特徴がある。また、MPEG−4と同様に、1/4画素精度の動き補償を行うことができる。さらに、エントロピー符号化として、ユニバーサル可変長符号化やコンテキスト適応可変長符号化等を用いるという特徴がある。
ISO/IEC 14496−10;2004 Information technology――Coding of audio−visual objects ―― Part 10: Advanced Video Coding
ITU−T H.264 Advanced video coding for generic audiovisual services
図25は従来のH.264のブロック図である。ブロック分割部1501は画像データをマクロブロックに分割し、処理ユニット分割部1502はブロック内を処理ユニットである4画素×4画素等のブロックに分割する。イントラ予測モード決定部1503は周辺の画素から処理対象のユニットのイントラ予測のモードを決定する。H.264の場合、予め決められた予測方向に周囲の所定の画素を参照する予測と、周囲の参照画素から平均値を求めて予測値とする予測がある。イントラ予測モード符号化部1504はイントラ予測モード決定部1503で決定されたモードを符号化する。H.264においてモードの符号化は、参照画素の有無にかかわらず、9つのモードの符号が割り当てられる。ただし、周辺の画素がなく参照画素が得られないモードに関しては符号として出力されない。しかし、符号として禁止されているだけで、周辺の画素がなく参照画素が得られないモードであっても、最大4ビットの符号を使用している。
したがって、本願発明では、参照画素がない場合に冗長になっている符号を用い、予測誤差を小さくすることによって、高効率のイントラ予測モード情報符号化・復号化を実現することを目的としている。
したがって、本願発明では、参照画素がない場合に冗長になっている符号を用い、予測誤差を小さくすることによって、高効率のイントラ予測モード情報符号化・復号化を実現することを目的としている。
上述の問題点を解決するため、本発明の画像符号化装置は以下の構成を有する。すなわち、入力画像を大きさの異なる複数のブロックに分割し、前記分割されたブロック単位で画像を符号化する画像符号化方法において、処理対象ブロックの属性情報を取得する取得工程と、前記処理対象ブロックの画質を制御する制御パラメータを設定する設定工程と、前記属性情報に基づいて予測制御パラメータを決定する決定工程と、前記設定工程で算出された前記制御パラメータと前記予測制御パラメータとの差分値を算出する算出工程と、前記算出工程で算出された差分値を符号化する符号化工程とを備えることを特徴とする。
本発明により、予測誤差を抑えることで、高効率のイントラ予測モード情報符号化・復号化が可能になる。
以下、添付の図面を参照して、本願発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
<実施形態1>
以下、本発明の実施形態を、図面を用いて説明する。図1は本実施形態の画像符号化装置を示すブロック図である。図1において、101は入力画像を複数のブロックに分割するブロック分割部である。説明を容易にするために、入力画像は8ビットの画素値を持つこととするが、これに限定されない。
以下、本発明の実施形態を、図面を用いて説明する。図1は本実施形態の画像符号化装置を示すブロック図である。図1において、101は入力画像を複数のブロックに分割するブロック分割部である。説明を容易にするために、入力画像は8ビットの画素値を持つこととするが、これに限定されない。
102はブロック分割部101で分割された各ブロックを、該ブロックと同一サイズもしくはブロックよりも小さいサイズの処理ユニットに分割する処理ユニット分割部である。103は各処理ユニットにおいてイントラ予測モード(画面内予測モード)を決定し、予測誤差を出力するイントラ予測モード決定部である。104はイントラ予測モード決定部103で決定したイントラ予測モードを符号化するイントラ予測モード符号化部である。105はイントラ予測の予測誤差を変換・量子化する変換・量子化部であり、106は変換・量子化部105の結果を符号化するエントロピー符号化部である。107は符号化対象の処理ユニットの周辺の処理ユニット(周辺ユニット)が参照可能かを判定する周辺処理ユニット判定部である。108は予測・変換・量子化部105の逆の動作により、復号画像と同じ画像を生成する逆量子化・逆変換部である。109は逆量子化・逆変換部108の出力を格納する復号画像保持部である。
上記画像符号化装置における画像の符号化動作を以下に説明する。本実施形態では動画像データをフレーム単位に入力する構成となっているが、1フレーム分の静止画像データを入力する構成としても構わない。また、本願発明は、説明を容易にするため、イントラ予測符号化の処理のみを説明するが、これに限定されずインター予測符号化の処理においても適用可能である。
本実施形態では説明のため、ブロック分割部101においては8画素×8画素のブロックに分割するものとして説明するがこれに限定されない。またブロックの分割に関しては縦横1/2のサイズに4分割する方法を例にとって説明するが、これにブロックの形状、サイズは限定されない。
入力された1フレーム分の画像データはブロック分割部101に入力され、8画素×8画素のブロック単位に分割される。ブロック単位に分割された画像データはさらに処理ユニット分割部102に入力され、ブロック分割部101で分割されたブロックと同一もしくは小さい大きさの処理ユニット(4画素×4画素)に分割される。また、処理ユニット分割部102は、符号化対象の処理ユニットの位置を周辺処理ユニット判定部107に入力する。
具体的には、符号化対象の処理ユニット内の左上画素のフレーム内での垂直位置および水平位置を入力する方法などが考えられるがこれに限定されない。フレーム内での符号化対象ブロックのブロック番号およびブロック内での符号化対象処理ユニットの処理ユニット番号を入力する方法を用いてもよい。
周辺処理ユニット判定部107では、符号化対象の処理ユニットの位置とこれまでに符号化済みの処理ユニットの状況から、符号化対象の処理ユニットの周辺の処理ユニットが参照可能か否かを判定する。周辺処理ユニット判定部107は、判定した参照可能情報をイントラ予測モード決定部103およびイントラ予測モード符号化部104に出力する。
処理ユニット分割部102の結果である処理ユニット単位に分割された画像データおよび周辺処理ユニット判定部107の出力である参照可能情報はイントラ予測モード決定部103に入力される。
処理ユニット分割部102の結果である処理ユニット単位に分割された画像データおよび周辺処理ユニット判定部107の出力である参照可能情報はイントラ予測モード決定部103に入力される。
説明を簡単にするために、図2にイントラ予測方法の例を示す。図2(a)において、201はイントラ予測を行う処理ユニット(4画素×4画素)を表す。処理ユニット201内には4画素×4画素のaからpまでの画素が含まれる。図2(b)は垂直方向の予測の様子を表す図であり、処理ユニット201に隣接する空間的に上方の画素群202(V1からV4)から垂直方向の予測を行う。本予測を垂直予測(Vertical)モードと呼び、予測モード番号を0とする。図2(c)は水平方向の予測の様子を表す図であり、処理ユニット201に隣接する左方の画素群203(H1からH4)から水平方向の予測を行う。本予測を水平予測(Horizontal)モードと呼び、予測モード番号を1とする。図2(d)は平均値予測の様子を表す図であり、処理ユニット201に隣接する上方と左方の画素群の平均値に基づいて予測を行う。すなわち、平均値をaveとすると以下式(1)で表される。本予測を平均値予測モードと呼び、予測モード番号を2とする。
ave = (V1+V2+V3+V4+H1+H2+H3+H4)/8 (1)
なお、平均値予測モードについて、上方の画素群202や左方の画素群203が参照不能な場合、参照不能な画素群を除いた画素群の平均値を算出する。例えば、情報の画素群202に参照不能であり、左方の画素群203が参照可能な場合には、左方の画素群203(H1、H2、H3、H4)の平均値を算出する。さらに、上方の画素群、左方の画素群共に参照不能な場合(すなわちフレーム内最も左上の処理ユニット)には、予め決められた値(128)をaveとして与える。
ave = (V1+V2+V3+V4+H1+H2+H3+H4)/8 (1)
なお、平均値予測モードについて、上方の画素群202や左方の画素群203が参照不能な場合、参照不能な画素群を除いた画素群の平均値を算出する。例えば、情報の画素群202に参照不能であり、左方の画素群203が参照可能な場合には、左方の画素群203(H1、H2、H3、H4)の平均値を算出する。さらに、上方の画素群、左方の画素群共に参照不能な場合(すなわちフレーム内最も左上の処理ユニット)には、予め決められた値(128)をaveとして与える。
図2(e)は左斜め下方向の予測の様子を表す図であり、処理ユニット201に隣接する空間的に上方の画素群202(V2からV4)と右上方の画素群204(V5からV8)から左斜め方向の予測を行う。本予測を左斜め下予測(Diagonal_Down_Left)モードと呼び、予測モード番号を3とする。
図2(f)は右斜め下方向の予測の様子を表す図であり、処理ユニット201に隣接する空間的に上方の画素群202(V1、V2)と斜め上の画素(C0)と左方の画素群203(H1、H2)から斜め方向の予測を行う。本予測を右斜め下予測(Diagonal_Down_Right)モードと呼び、予測モード番号を4とする。
図2(g)は垂直右斜め方向の予測の様子を表す図であり、処理ユニット201に隣接する空間的に上方の画素群202(V1からV3)と斜め上の画素(C0)から斜め方向の予測を行う。本予測を垂直右斜め予測(Vertical_Right)モードと呼び、予測モード番号を5とする。
図2(h)は水平斜め下方向の予測の様子を表す図であり、処理ユニット201に隣接する空間的に左方の画素群203(H1からH3)と斜め上の画素(C0)から斜め下方向の予測を行う。本予測を水平斜め下予測(Horizontal_Down)モードと呼び、予測モード番号を6とする。
図2(i)は垂直左斜め方向の予測の様子を表す図であり、処理ユニット201に隣接する空間的に上方の画素群202(V2からV4)と右上方の画素204(V5)から斜め方向の予測を行う。本予測を垂直左斜め予測(Vertical_Left)モードと呼び、予測モード番号を7とする。
図2(j)は水平斜め上方向の予測の様子を表す図であり、処理ユニット201に隣接する空間的に左方の画素群203(H2からH4)と左下方の画素206(H5)から斜め上方向の予測を行う。本予測を水平斜め上予測(Horizontal_Up)モードと呼び、予測モード番号を8とする。
図2(f)は右斜め下方向の予測の様子を表す図であり、処理ユニット201に隣接する空間的に上方の画素群202(V1、V2)と斜め上の画素(C0)と左方の画素群203(H1、H2)から斜め方向の予測を行う。本予測を右斜め下予測(Diagonal_Down_Right)モードと呼び、予測モード番号を4とする。
図2(g)は垂直右斜め方向の予測の様子を表す図であり、処理ユニット201に隣接する空間的に上方の画素群202(V1からV3)と斜め上の画素(C0)から斜め方向の予測を行う。本予測を垂直右斜め予測(Vertical_Right)モードと呼び、予測モード番号を5とする。
図2(h)は水平斜め下方向の予測の様子を表す図であり、処理ユニット201に隣接する空間的に左方の画素群203(H1からH3)と斜め上の画素(C0)から斜め下方向の予測を行う。本予測を水平斜め下予測(Horizontal_Down)モードと呼び、予測モード番号を6とする。
図2(i)は垂直左斜め方向の予測の様子を表す図であり、処理ユニット201に隣接する空間的に上方の画素群202(V2からV4)と右上方の画素204(V5)から斜め方向の予測を行う。本予測を垂直左斜め予測(Vertical_Left)モードと呼び、予測モード番号を7とする。
図2(j)は水平斜め上方向の予測の様子を表す図であり、処理ユニット201に隣接する空間的に左方の画素群203(H2からH4)と左下方の画素206(H5)から斜め上方向の予測を行う。本予測を水平斜め上予測(Horizontal_Up)モードと呼び、予測モード番号を8とする。
さらに、図2(a)において、上方の画素群202や左方の画素群203が参照不能な場合、予め決められた固定値群から予測値を選択して予測を行う。本予測を固定値選択予測モードと呼び、予測モード番号を9とする。
イントラ予測モード決定部103では以上の10種類のイントラ予測モードから最適なイントラ予測モードが決定され、イントラ予測モード符号化部104、変換・量子化部105に出力される。さらにイントラ予測モード符号化部104は、イントラ予測モードを、符号化済みの処理ユニットのイントラ予測のモードとして保持し、次以降の判定の際に参照される。また、周辺処理ユニット判定部107では下記の5つの処理ユニット参照の可否を1ビットの情報で表すこととする。
(1)上方画素群202を含む処理ユニット
(2)左方画素群203を含む処理ユニット
(3)左上方画素205を含む処理ユニット
(4)左下方画素206を含む処理ユニット
(5)右上方画素204を含む処理ユニット
また、処理ユニットが参照可能な場合は1を参照が不可能な場合を0とする。これらの1ビット上記の順に並べた5ビットの情報を参照可否情報とする。ただし、参照する処理ユニット、ビットの構成はこれに限定されない。
(1)上方画素群202を含む処理ユニット
(2)左方画素群203を含む処理ユニット
(3)左上方画素205を含む処理ユニット
(4)左下方画素206を含む処理ユニット
(5)右上方画素204を含む処理ユニット
また、処理ユニットが参照可能な場合は1を参照が不可能な場合を0とする。これらの1ビット上記の順に並べた5ビットの情報を参照可否情報とする。ただし、参照する処理ユニット、ビットの構成はこれに限定されない。
一方、イントラ予測モード符号化部104では、周辺処理ユニット判定部107の出力である参照可能情報を入力としてイントラ予測モード決定部103の出力であるイントラ予測モードを所定の方法で符号化し、イントラ予測モード符号化データを得る。
図3にイントラ予測モード符号化部104の詳細なブロック図を示す。
図3において、130は画像データを入力する端子であり、処理ユニット分割部102から処理ユニットの画素値が入力される。131は、復号画像保持部109から、周辺の処理ブロックの復号結果である参照画素の画素値を入力する端子である。
133から142はそれぞれイントラ予測を行う予測器であるが、それぞれ端子130から処理ユニットの画素値を、端子131から参照画素を入力し、周辺処理ユニット判定部107から周辺の処理ユニットの参照可否情報を入力する。
図3において、130は画像データを入力する端子であり、処理ユニット分割部102から処理ユニットの画素値が入力される。131は、復号画像保持部109から、周辺の処理ブロックの復号結果である参照画素の画素値を入力する端子である。
133から142はそれぞれイントラ予測を行う予測器であるが、それぞれ端子130から処理ユニットの画素値を、端子131から参照画素を入力し、周辺処理ユニット判定部107から周辺の処理ユニットの参照可否情報を入力する。
133は垂直予測を行うVertical予測器である。参照可否情報の先頭の第1ビットが1であれば、垂直方向の予測を行い、予測誤差を生成する。そうでなければ動作せず、出力も生成しない。
134は水平予測を行うHorizontal予測器である。参照可否情報の第2ビットが1であれば、水平方向の予測を行い、予測誤差を生成する。そうでなければ動作せず、出力も生成しない。
135は左斜め下方向の予測を行うDiagonal_Down_Left予測器である。参照可否情報の第1ビットと第5ビットがともに1であれば、左斜め下方向の予測を行い、予測誤差を生成する。そうでなければ動作せず、出力も生成しない。
136は右斜め下方向の予測を行うDiagonal_Down_Right予測器である。参照可否情報の第1ビット、第2ビット、第3ビットが全て1であれば、右斜め下方向の予測を行い、予測誤差を生成する。そうでなければ動作せず、出力も生成しない。
137は垂直右斜め方向の予測を行うVertical_Right予測器である。参照可否情報の第1ビットと第3ビットがともに1であれば、垂直右斜め方向の予測を行い、予測誤差を生成する。そうでなければ動作せず、出力も生成しない。
138は水平斜め下方向の予測を行うHorizontal_Down予測器である。参照可否情報の第2ビットと第3ビットがともに1であれば、水平斜め下方向の予測を行い、予測誤差を生成する。そうでなければ動作せず、出力も生成しない。
139は垂直左斜め方向の予測を行うVertical_Left予測器である。参照可否情報の第1ビットと第5ビットがともに1であれば、直左斜め方向の予測を行い、予測誤差を生成する。そうでなければ動作せず、出力も生成しない。
140は水平斜め上方向の予測を行うHorizontal_Up予測器である。参照可否情報の第2ビットと第4ビットがともに1であれば、水平斜め上方向の予測を行い、予測誤差を生成する。そうでなければ動作せず、出力も生成しない。
141は平均値予測を行う平均値予測器である。参照可否情報の第1ビット、第2ビットがともに1であれば、(1)式に従って平均値予測を行う。予測誤差を生成する。そうでなければ、固定値の128を出力する。
142は固定値選択予測を行う固定値選択予測器である。参照可否情報のいずれかのビットが0であれば、予め決められた固定値から予測誤差を最小とする固定値とその固定値に基づいて最小となった予測誤差を出力する。そうでなければ動作せず、なにも出力しない。
143は各予測器から出力された予測誤差の中からその絶対値和が最小となるものを選択し、最小となった予測器の予測モードとその最小予測誤差を出力する予測モード決定器である。ただし、決定に関しては絶対値和に限定されない。144はイントラ予測モード符号を図1のエントロピー符号化部106に出力する端子である。145は図1の変換・量子化部105に予測値を出力する端子である。
134は水平予測を行うHorizontal予測器である。参照可否情報の第2ビットが1であれば、水平方向の予測を行い、予測誤差を生成する。そうでなければ動作せず、出力も生成しない。
135は左斜め下方向の予測を行うDiagonal_Down_Left予測器である。参照可否情報の第1ビットと第5ビットがともに1であれば、左斜め下方向の予測を行い、予測誤差を生成する。そうでなければ動作せず、出力も生成しない。
136は右斜め下方向の予測を行うDiagonal_Down_Right予測器である。参照可否情報の第1ビット、第2ビット、第3ビットが全て1であれば、右斜め下方向の予測を行い、予測誤差を生成する。そうでなければ動作せず、出力も生成しない。
137は垂直右斜め方向の予測を行うVertical_Right予測器である。参照可否情報の第1ビットと第3ビットがともに1であれば、垂直右斜め方向の予測を行い、予測誤差を生成する。そうでなければ動作せず、出力も生成しない。
138は水平斜め下方向の予測を行うHorizontal_Down予測器である。参照可否情報の第2ビットと第3ビットがともに1であれば、水平斜め下方向の予測を行い、予測誤差を生成する。そうでなければ動作せず、出力も生成しない。
139は垂直左斜め方向の予測を行うVertical_Left予測器である。参照可否情報の第1ビットと第5ビットがともに1であれば、直左斜め方向の予測を行い、予測誤差を生成する。そうでなければ動作せず、出力も生成しない。
140は水平斜め上方向の予測を行うHorizontal_Up予測器である。参照可否情報の第2ビットと第4ビットがともに1であれば、水平斜め上方向の予測を行い、予測誤差を生成する。そうでなければ動作せず、出力も生成しない。
141は平均値予測を行う平均値予測器である。参照可否情報の第1ビット、第2ビットがともに1であれば、(1)式に従って平均値予測を行う。予測誤差を生成する。そうでなければ、固定値の128を出力する。
142は固定値選択予測を行う固定値選択予測器である。参照可否情報のいずれかのビットが0であれば、予め決められた固定値から予測誤差を最小とする固定値とその固定値に基づいて最小となった予測誤差を出力する。そうでなければ動作せず、なにも出力しない。
143は各予測器から出力された予測誤差の中からその絶対値和が最小となるものを選択し、最小となった予測器の予測モードとその最小予測誤差を出力する予測モード決定器である。ただし、決定に関しては絶対値和に限定されない。144はイントラ予測モード符号を図1のエントロピー符号化部106に出力する端子である。145は図1の変換・量子化部105に予測値を出力する端子である。
図4に固定値選択予測器142の詳細なブロック図を示す。150は端子であり、図1の周辺処理ユニット判定部107で算出された参照可否情報を入力する。167は端子であり、図3の端子130経由で入力された処理ユニットの画素値が入力される。
151から166は固定値を格納した固定値テーブルである。各固定値テーブルでは、参照可否情報に基づいて複数個の固定値を格納している。この固定値の個数は、所定の処理ユニットが参照できない場合に使用できない予測モードの数に対応している。すなわち、所定の処理ユニットが参照できない場合に使用を禁止されている予測モードに割り当てられるビットに対して、該予測モードに代えて、最小予測誤差を最小にできる可能性のある固定値を割り当てている。
固定値テーブル151は参照可否情報が11110の時に使われる固定値を格納する。すなわち、右上方の処理ユニットが参照できない場合、2つの固定値を格納する。例えば、0、255のような値でも良い。この値はこれに限定されず、64、192といった値でも構わない。
固定値テーブル152は参照可否情報が11101の時に使われる固定値を格納する。すなわち、左方の処理ユニットが参照できない場合、1つの固定値を格納する。例えば、128のような値でも良い。
固定値テーブル153は参照可否情報が11100の時に使われる固定値を格納する。すなわち、右上方と左下方の処理ユニットが参照できない場合、3つの予測値を格納する。例えば、64,128、192のような値でも良い。
固定値テーブル154は参照可否情報が11011の時に使われる固定値を格納する。すなわち、左上方の処理ユニットが参照できない場合、3つの固定値を格納する。例えば、64,128、192のような値でも良い。
固定値テーブル155は参照可否情報が11010の時に使われる固定値を格納する。すなわち、左上方と右上方の処理ユニットが参照できない場合、5つの固定値を格納する。例えば、0、64、128、192、255のような値でも良い。
固定値テーブル156は参照可否情報が11001の時に使われる固定値を格納する。すなわち、左上方と左下方の処理ユニットが参照できない場合、4つの固定値を格納する。例えば、0、85、170、255のような値でも良い。
固定値テーブル157は参照可否情報が11000の時に使われる固定値を格納する。すなわち、左上方と左下方と右上方の処理ユニットが参照できない場合、6つの固定値を格納する。例えば、0、51、102、153、204、255のような値でも良い。
固定値テーブル158は参照可否情報が10111または10101の時に使われる固定値を格納する。すなわち、左方の処理ユニットが参照できない場合、または左方と左下方の処理ユニットが参照できない場合、4つの固定値を格納する。例えば、0、85、170、255のような値でも良い。
固定値テーブル159は参照可否情報が10110または10100の時に使われる固定値を格納する。すなわち、左方と右上方の処理ユニットが参照できない場合、または左方と左下方と右上方の処理ユニットが参照できない場合、6つの固定値を格納する。例えば、0、51、102、153、204、255のような値でも良い。
固定値テーブル160は参照可否情報が10011または10001の時に使われる固定値を格納する。すなわち、左方と左上方の処理ユニットが参照できない場合、または左方と左上方と左下方の処理ユニットが参照できない場合、5つの固定値を格納する。例えば、0、64、128、192、255のような値でも良い。
固定値テーブル161は参照可否情報が10010または10000の時に使われる固定値を格納する。すなわち、上方と左上方の処理ユニットまたは上方の処理ユニットのみ参照できる場合、または上方の処理ユニットのみが参照できる場合、7つの固定値を格納する。例えば、0、43、85、128、170、213、255のような値でも良い。
固定値テーブル162は参照可否情報が01111または01110の時に使われる固定値を格納する。すなわち、上方の処理ユニットが参照できない場合、または上方と右上方の処理ユニットが参照できない場合、5つの固定値を格納する。例えば、0、64、128、192、255のような値でも良い。
固定値テーブル163は参照可否情報が01101または01100の時に使われる固定値を格納する。すなわち、上方と左下方の処理ユニットが参照できない場合、または上方と左下方と右上方の処理ユニットが参照できない場合、6つの固定値を格納する。例えば、0、51、102、153、204、255のような値でも良い。
固定値テーブル164は参照可否情報が01011または01010の時に使われる固定値を格納する。すなわち、上方と左上方の処理ユニットが参照できない場合、または上方と左上方と右上方の処理ユニットが参照できない場合、6つの固定値を格納する。例えば、0、51、102、153、204、255のような値でも良い。
固定値テーブル165は参照可否情報が01001または01000の時に使われる固定値を格納する。すなわち、左方の処理ユニットのみを参照できる場合、または左方と右上方の処理ユニットのみを参照できる場合、7つの固定値を格納する。例えば、0、43、85、128、170、213、255のような値でも良い。
固定値テーブル166は参照可否情報が00111,00110,00101、00100、00011、00010,00001,00000の時に使われる固定値を格納する。すなわち、上方と左方の処理ユニットの両方が参照できない場合、8つの固定値を格納する。例えば、0、36、73、109、146、182、219、255のような値でも良い。
固定値テーブル152は参照可否情報が11101の時に使われる固定値を格納する。すなわち、左方の処理ユニットが参照できない場合、1つの固定値を格納する。例えば、128のような値でも良い。
固定値テーブル153は参照可否情報が11100の時に使われる固定値を格納する。すなわち、右上方と左下方の処理ユニットが参照できない場合、3つの予測値を格納する。例えば、64,128、192のような値でも良い。
固定値テーブル154は参照可否情報が11011の時に使われる固定値を格納する。すなわち、左上方の処理ユニットが参照できない場合、3つの固定値を格納する。例えば、64,128、192のような値でも良い。
固定値テーブル155は参照可否情報が11010の時に使われる固定値を格納する。すなわち、左上方と右上方の処理ユニットが参照できない場合、5つの固定値を格納する。例えば、0、64、128、192、255のような値でも良い。
固定値テーブル156は参照可否情報が11001の時に使われる固定値を格納する。すなわち、左上方と左下方の処理ユニットが参照できない場合、4つの固定値を格納する。例えば、0、85、170、255のような値でも良い。
固定値テーブル157は参照可否情報が11000の時に使われる固定値を格納する。すなわち、左上方と左下方と右上方の処理ユニットが参照できない場合、6つの固定値を格納する。例えば、0、51、102、153、204、255のような値でも良い。
固定値テーブル158は参照可否情報が10111または10101の時に使われる固定値を格納する。すなわち、左方の処理ユニットが参照できない場合、または左方と左下方の処理ユニットが参照できない場合、4つの固定値を格納する。例えば、0、85、170、255のような値でも良い。
固定値テーブル159は参照可否情報が10110または10100の時に使われる固定値を格納する。すなわち、左方と右上方の処理ユニットが参照できない場合、または左方と左下方と右上方の処理ユニットが参照できない場合、6つの固定値を格納する。例えば、0、51、102、153、204、255のような値でも良い。
固定値テーブル160は参照可否情報が10011または10001の時に使われる固定値を格納する。すなわち、左方と左上方の処理ユニットが参照できない場合、または左方と左上方と左下方の処理ユニットが参照できない場合、5つの固定値を格納する。例えば、0、64、128、192、255のような値でも良い。
固定値テーブル161は参照可否情報が10010または10000の時に使われる固定値を格納する。すなわち、上方と左上方の処理ユニットまたは上方の処理ユニットのみ参照できる場合、または上方の処理ユニットのみが参照できる場合、7つの固定値を格納する。例えば、0、43、85、128、170、213、255のような値でも良い。
固定値テーブル162は参照可否情報が01111または01110の時に使われる固定値を格納する。すなわち、上方の処理ユニットが参照できない場合、または上方と右上方の処理ユニットが参照できない場合、5つの固定値を格納する。例えば、0、64、128、192、255のような値でも良い。
固定値テーブル163は参照可否情報が01101または01100の時に使われる固定値を格納する。すなわち、上方と左下方の処理ユニットが参照できない場合、または上方と左下方と右上方の処理ユニットが参照できない場合、6つの固定値を格納する。例えば、0、51、102、153、204、255のような値でも良い。
固定値テーブル164は参照可否情報が01011または01010の時に使われる固定値を格納する。すなわち、上方と左上方の処理ユニットが参照できない場合、または上方と左上方と右上方の処理ユニットが参照できない場合、6つの固定値を格納する。例えば、0、51、102、153、204、255のような値でも良い。
固定値テーブル165は参照可否情報が01001または01000の時に使われる固定値を格納する。すなわち、左方の処理ユニットのみを参照できる場合、または左方と右上方の処理ユニットのみを参照できる場合、7つの固定値を格納する。例えば、0、43、85、128、170、213、255のような値でも良い。
固定値テーブル166は参照可否情報が00111,00110,00101、00100、00011、00010,00001,00000の時に使われる固定値を格納する。すなわち、上方と左方の処理ユニットの両方が参照できない場合、8つの固定値を格納する。例えば、0、36、73、109、146、182、219、255のような値でも良い。
なお、各固定値テーブルが格納可能な固定値の個数は、上述で示した数以下であってももちろん構わない。また、割り当てる固定値の数が同じものを同じ固定値テーブルとしても構わない。
168は端子150から入力される参照可否情報によって、入力先を選択するセレクタである。169は入力されたそれぞれの固定値に対して、端子167から入力される画素値を用いて予測誤差を算出する予測誤差算出器である。170はそれぞれの固定値に対する予測誤差から最小値を選択し、その予測値を出力する予測値決定器である。171は選択された予測値と予測誤差の最小値を図3の予測モード決定器145に出力する端子である。
以上の構成において、セレクタ168は端子150から入力された参照可否情報に基づいて入力先を選択する。例えば、端子150から参照可否情報11001が入力されたら、固定値テーブル156を選択する。
予測誤差算出器169は固定値Pi(iは各固定値テーブルによって異なる)と画素値X(x,y)(但し、x=0…3、y=0…3)から予測誤差Eiを(2)式に従って算出する。
Ei(x,y)=(X(x,y)−Pi) (2)
上記の入力に対してiは0から3になり、固定値P0=0、P1=85、P2=170、P3=255となる。算出された予測誤差Eiと対応する固定値Piは予測値決定器170に入力される。予測誤差Ei(x,y)から(3)式に従って、それぞれの絶対値和Aiを算出する。
Ai=ΣΣEi(x,y) (3)
このAiが最小値となる予測誤差Emin(x,y)と固定値Pminを求める。この予測誤差Emin(x,y)と固定値Pminが端子170を介して図3の予測モード決定器143に入力される。
Ei(x,y)=(X(x,y)−Pi) (2)
上記の入力に対してiは0から3になり、固定値P0=0、P1=85、P2=170、P3=255となる。算出された予測誤差Eiと対応する固定値Piは予測値決定器170に入力される。予測誤差Ei(x,y)から(3)式に従って、それぞれの絶対値和Aiを算出する。
Ai=ΣΣEi(x,y) (3)
このAiが最小値となる予測誤差Emin(x,y)と固定値Pminを求める。この予測誤差Emin(x,y)と固定値Pminが端子170を介して図3の予測モード決定器143に入力される。
図3に戻り、各予測器は周辺処理ユニット判定部107から入力された参照可否情報を参考にそれぞれの処理ユニット単位で動作・非動作を行い、それぞれの予測モードでの予測誤差を算出する。予測モード決定器143は動作する予測器から予測誤差を入力する。固定値選択予測器142からは予測誤差を算出した固定値も入力する。その後、各予測器から入力された予測誤差の絶対値和をそれぞれ算出し、絶対値和が最小となると予測誤差を決定する。その予測誤差を算出した予測器の予測モードをイントラ予測モードとして決定し、その予測モード番号をイントラ予測モード符号化部104に入力する。また、その際の予測誤差は端子145を介して、変換・量子化部105にも入力される。
図1に戻り、イントラ予測モード符号化部104は入力された予測モード番号を符号化する。イントラ予測モード符号化部104では符号化済みの周囲のイントラ予測モードから符号化処理する処理ユニットのイントラ予測モードを予測する。予測の結果が実際の処理ユニットのイントラ予測モードと一致した場合は1を、そうでなければ0を予測モードフラグとして符号化する。予測モードフラグが0であれば、符号化済みの周囲のイントラ予測モードと固定値選択予測モードを除いた所定種類のモードを3ビットで符号化する。
イントラ予測モードとして予測モード番号9が入力された、すなわち固定値選択予測が選択された場合、入力された固定値を符号化する。イントラ予測モード符号化部104は周辺処理ユニット判定部107から参照可否情報を取得する。取得された参照可否情報によって、使用されない予測モードが存在するので、それらのモード判定を行う。表1に各参照可否情報によって使用されない予測モード番号を示す。
これらの不使用の予測モード番号に対して、固定値をあてはめる。例えば、参照可否情報11001の場合、不使用の予測モード番号は4、5、6、8の4つとなる。使用される固定値テーブルは固定値テーブル156であり、4つの予測値を格納しており、これを順にあてはめる。本実施形態では予測値を0、85、170、255とした。したがって、予測モード番号4に予測値0を、予測モード番号5に予測値85を、予測モード番号6に予測値170を、予測モード番号8に予測値255をあてはめる。
このようにて得られた予測モード番号を上記の方法で3ビットに符号化する。符号化されたデータはエントロピー符号化部106に入力される。また、イントラ予測モード決定部103で算出された予測誤差は変換・量子化部105に入力される。
変換・量子化部105ではその予測誤差が変換・量子化される。量子化された係数データはエントロピー符号化部106で符号化された後、イントラ予測モード符号化部104で符号化されたイントラ予測モード符号化データとともにビットストリームとして出力される。
図5は、実施形態1に係る画像符号化装置における画像符号化処理を示すフローチャートである。まず、ステップS301にて、ブロック分割部101は、フレーム単位の入力画像をブロック単位(8画素×8画素)に分割する。
ステップS302にて、処理ユニット分割部102はブロック分割部101にて分割されたそれぞれのブロックに対して、該ブロックと同一もしくは小さい大きさの処理ユニット(4画素×4画素)に分割する。
ステップS303にて、イントラ予測モード決定部103は、符号化対象の処理ユニットのイントラ予測モードの決定と符号化対象の処理ユニットの予測誤差の算出を行う。決定されたイントラ予測モードは保持される。また、イントラ予測モード符号化部104はイントラ予測モード決定部103で決定された予測モードの符号化を行う。本処理に関しての詳細は後述する。
ステップS304にて、変換・量子化部105は、入力された予測誤差の変換・量子化を行う。
ステップS303にて、イントラ予測モード決定部103は、符号化対象の処理ユニットのイントラ予測モードの決定と符号化対象の処理ユニットの予測誤差の算出を行う。決定されたイントラ予測モードは保持される。また、イントラ予測モード符号化部104はイントラ予測モード決定部103で決定された予測モードの符号化を行う。本処理に関しての詳細は後述する。
ステップS304にて、変換・量子化部105は、入力された予測誤差の変換・量子化を行う。
次にステップS305にて、エントロピー符号化部106において、量子化された係数をエントロピー符号化し、イントラ予測モードの符号とともに出力する。また、同時に逆量子化・逆変換部108にて逆量子化、逆変換を行い、復号画像保持部109において保持し、以降の処理ユニットの予測に用いる。
ステップS306において、画像符号化装置は、ブロック内の全ての処理ユニットの符号化が終了したか否かの判定を行い、終了していればステップS307に進み、終了していなければ次の処理ユニットを対象としてステップS302に戻る。
ステップS307にて、画像符号化装置は、フレーム内の全てのブロックの符号化が終了したか否かの判定を行い、終了していれば全ての動作を停止して処理を終了し、そうでなければ次のブロックを対象としてステップS301に戻る。
ステップS307にて、画像符号化装置は、フレーム内の全てのブロックの符号化が終了したか否かの判定を行い、終了していれば全ての動作を停止して処理を終了し、そうでなければ次のブロックを対象としてステップS301に戻る。
図6はステップS303の詳細な処理を示すフローチャートである。まず、周辺処理ユニット判定部107は、ステップS401〜S403、S440〜S452で符号化対象の処理ユニットの周辺の所定の処理ユニットが参照可能か否かの判定を行う。
具体的にはステップS401において、符号化対象の処理ユニットの上方に存在する処理ユニットが参照可能か否かを判定し、参照可能な場合にはステップS402に進み、参照不可能の場合にはステップS403に進む。
ステップS402において、符号化対象の処理ユニットの左方に存在する処理ユニットが参照可能か否かを判定し、参照可能な場合にはステップS440に進み、参照不可能な場合にはステップS441に進む。
ステップS403においても、符号化する処理ユニットの左方に存在する処理ユニットが参照可能か否かを判定し、参照可能な場合にはステップS442に進み、参照不可能の場合にはステップS412に進む。
ステップS440、S441、S442において、符号化対象の処理ユニットの左上方に存在する処理ユニットが参照可能か否かを判定する。ステップS440では参照可能な場合にはステップS443に進み、参照不可能な場合にはステップS444に進む。ステップS441では参照可能な場合にはステップS451に進み、参照不可能な場合にはステップS452に進む。ステップS442では参照可能な場合にはステップS445に進み、参照不可能な場合にはステップS446に進む。
ステップS443、S444において、符号化対象の処理ユニットの左下方に存在する処理ユニットが参照可能か否かを判定する。ステップS443では参照可能な場合にはステップS447に進み、参照不可能な場合にはステップS448に進む。ステップS444では参照可能な場合にはステップS449に進み、参照不可能な場合にはステップS450に進む。
ステップS445〜S452において、符号化対象の処理ユニットの右上方に存在する処理ユニットが参照可能か否かを判定する。
ステップS445では参照可能な場合にはステップS486に進み、参照不可能な場合にはステップS489に進む。ステップS446では参照可能な場合にはステップS492に進み、参照不可能な場合にはステップS495に進む。ステップS447では参照可能な場合にはステップS404に進み、参照不可能な場合にはステップS453に進む。ステップS448では参照可能な場合にはステップS456に進み、参照不可能な場合にはステップS459に進む。ステップS449では参照可能な場合にはステップS462に進み、参照不可能な場合にはステップS465に進む。ステップS450では参照可能な場合にはステップS468に進み、参照不可能な場合にはステップS471に進む。ステップS451では参照可能な場合にはステップS474に進み、参照不可能な場合にはステップS477に進む。ステップS452では参照可能な場合にはステップS480に進み、参照不可能な場合にはステップS483に進む。
ステップS404において、周辺処理ユニットのいずれも参照可能なため、固定値選択予測モードを除く全てのイントラ予測モード(平均値予測モードと8方向の予測モード)の中から当該処理ユニットの最適なイントラ予測モードを決定する。最適なイントラ予測モードの決定方法に関しては、前述の通り、それぞれのイントラ予測モードについて予測誤差を計算し、最も予測誤差の小さい予測値を生成したモードに決定することが一般的であるが、これに限定されない。
ステップS405において、イントラ予測モード符号化部104は決定されたイントラ予測モード情報を前述の通り、1ビットの予測モードフラグとイントラ予測モードを表す3ビットに符号化する。
ステップS453では、参照可否情報は上方、左方、左上方、左下方の処理ユニットが参照可能で右上方処理ユニットが参照不可能な場合である。この場合、左斜め下予測モードと垂直左斜め予測モードは使用できない。これら以外の予測モードを用いてそれぞれの予測誤差を算出する。
ステップS454において、イントラ予測モード決定部103は、この状況で選択可能な6方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップS456では、参照可否情報は上方、左方、左上方、右上方の処理ユニットが参照可能で左下方処理ユニットが参照不可能な場合である。この場合、水平斜め上予測モードは使用できない。これ以外の予測モードを用いてそれぞれの予測誤差を算出する。
ステップS457において、イントラ予測モード決定部103は、この状況で選択可能な7方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップS459では、参照可否情報は上方、左方、左上方の処理ユニットが参照可能で左下方処理ユニットと右上方処理ユニットが参照不可能な場合である。この場合、左斜め下予測モード、垂直左斜め予測モード、水平斜め上予測モードは使用できない。これら以外の予測モードを用いてそれぞれの予測誤差を算出する。
ステップS460において、イントラ予測モード決定部103は、この状況で選択可能な5方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップS462では、参照可否情報は上方、左方、左下方、右上方の処理ユニットが参照可能で左上方処理ユニットが参照不可能な場合である。この場合、右斜め下予測モード、垂直右斜め予測モード、水平斜め下予測モードは使用できない。これら以外の予測モードを用いてそれぞれの予測誤差を算出する。
ステップS463において、イントラ予測モード決定部103は、この状況で選択可能な5方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップS465では、参照可否情報は上方、左方、左上方の処理ユニットが参照可能で左下方、右上方の処理ユニットが参照不可能な場合である。この場合、左斜め下予測モード、右斜め下予測モード、垂直右斜め予測モード、水平斜め下予測モード、垂直左斜め予測モードは使用できない。これら以外の予測モードを用いてそれぞれの予測誤差を算出する。
ステップS466において、イントラ予測モード決定部103は、この状況で選択可能な3方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップS468では、参照可否情報は上方、左方、右上方の処理ユニットが参照可能で左上方、左下方処理ユニットが参照不可能な場合である。この場合、右斜め下予測モード、垂直右斜め予測モード、水平斜め下予測モード、水平斜め上予測モードは使用できない。これ以外の予測モードを用いてそれぞれの予測誤差を算出する。
ステップS469において、イントラ予測モード決定部103は、この状況で選択可能な4方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップS471では、参照可否情報は上方、左方の処理ユニットが参照可能で左上方、左下方、右上方処理ユニットが参照不可能な場合である。この場合、垂直予測モード、水平予測モードのみが使用できる。これらの予測モードを用いてそれぞれの予測誤差を算出する。
ステップS472において、イントラ予測モード決定部103は、この状況で選択可能な2方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップS474では、参照可否情報は上方、左上方、右上方の処理ユニットが参照可能で左方処理ユニットが参照不可能な場合である。この場合、水平予測モード、右斜め下予測モード、水平斜め下予測モード、水平斜め上予測モードは使用できない。これ以外の予測モードを用いてそれぞれの予測誤差を算出する。
ステップS475において、イントラ予測モード決定部103は、この状況で選択可能な4方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップS477では、参照可否情報は上方、左上方の処理ユニットが参照可能で左方、右上方処理ユニットが参照不可能な場合である。この場合、垂直予測モードと垂直右斜め予測モードのみが使用できる。これらの予測モードを用いてそれぞれの予測誤差を算出する。
ステップS478において、イントラ予測モード決定部103は、この状況で選択可能な2方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップS480では、参照可否情報は上方、右上方の処理ユニットが参照可能で左方、左上方処理ユニットが参照不可能な場合である。この場合、垂直予測モード、左斜め下予測モード、垂直左斜め予測モードが使用できる。これらの予測モードを用いてそれぞれの予測誤差を算出する。
ステップS481において、イントラ予測モード決定部103は、この状況で選択可能な3方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップS483では、参照可否情報は上方処理ユニットが参照可能で左方、左上方、右上方処理ユニットが参照不可能な場合である。この場合、垂直予測モードのみが使用できる。この予測モードを用いてそれぞれの予測誤差を算出する。
ステップS484において、イントラ予測モード決定部103は、この状況で選択可能な垂直方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップS486では、参照可否情報は左方、左上方、左下方の処理ユニットが参照可能で上方処理ユニットが参照不可能な場合である。この場合、水平予測モード、水平斜め下予測モード、水平斜め上予測モードが使用できる。これらの予測モードを用いてそれぞれの予測誤差を算出する。
ステップS487において、イントラ予測モード決定部103は、この状況で選択可能な3方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップS489では、参照可否情報は左方、左上方の処理ユニットが参照可能で上方、左下方処理ユニットが参照不可能な場合である。この場合、水平予測モード、水平斜め下予測モードのみが使用できる。これらの予測モードを用いてそれぞれの予測誤差を算出する。
ステップS490において、イントラ予測モード決定部103は、この状況で選択可能な2方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップS492では、参照可否情報は左方、左下方の処理ユニットが参照可能で上方、左上方処理ユニットが参照不可能な場合である。この場合、水平予測モードと水平斜め上予測モードのみが使用できる。これ以外の予測モードを用いてそれぞれの予測誤差を算出する。
ステップS493において、イントラ予測モード決定部103は、この状況で選択可能な2方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップS495では、参照可否情報は左方の処理ユニットが参照可能で上方、左上方、左下方処理ユニットが参照不可能な場合である。この場合、水平予測モードのみが使用できる。この予測モードを用いてそれぞれの予測誤差を算出する。
ステップS496において、イントラ予測モード決定部103は、この状況で選択可能な水平方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップS412では、参照可否情報は周囲の処理ユニットの全てが参照不可能な場合である。この場合、予測値を128とする平均値予測モードか固定値選択予測モードを用いてそれぞれの予測誤差を算出する。
ステップS413において、イントラ予測モード決定部103は、この状況で前述の平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップS455、S458、S461、S464、S467、S470、S473、S476、S479、S482、S485、S488、S491、S494、S497、S414において、イントラ予測モードを符号化する。イントラ予測モード符号化部104は、固定値選択予測モード以外の場合にはその予測モード番号を符号化する。固定値選択予測モードの場合は使用不可能な予測モード番号にぞれぞれの予測値を割り当てて符号化する。
ステップS402において、符号化対象の処理ユニットの左方に存在する処理ユニットが参照可能か否かを判定し、参照可能な場合にはステップS440に進み、参照不可能な場合にはステップS441に進む。
ステップS403においても、符号化する処理ユニットの左方に存在する処理ユニットが参照可能か否かを判定し、参照可能な場合にはステップS442に進み、参照不可能の場合にはステップS412に進む。
ステップS440、S441、S442において、符号化対象の処理ユニットの左上方に存在する処理ユニットが参照可能か否かを判定する。ステップS440では参照可能な場合にはステップS443に進み、参照不可能な場合にはステップS444に進む。ステップS441では参照可能な場合にはステップS451に進み、参照不可能な場合にはステップS452に進む。ステップS442では参照可能な場合にはステップS445に進み、参照不可能な場合にはステップS446に進む。
ステップS443、S444において、符号化対象の処理ユニットの左下方に存在する処理ユニットが参照可能か否かを判定する。ステップS443では参照可能な場合にはステップS447に進み、参照不可能な場合にはステップS448に進む。ステップS444では参照可能な場合にはステップS449に進み、参照不可能な場合にはステップS450に進む。
ステップS445〜S452において、符号化対象の処理ユニットの右上方に存在する処理ユニットが参照可能か否かを判定する。
ステップS445では参照可能な場合にはステップS486に進み、参照不可能な場合にはステップS489に進む。ステップS446では参照可能な場合にはステップS492に進み、参照不可能な場合にはステップS495に進む。ステップS447では参照可能な場合にはステップS404に進み、参照不可能な場合にはステップS453に進む。ステップS448では参照可能な場合にはステップS456に進み、参照不可能な場合にはステップS459に進む。ステップS449では参照可能な場合にはステップS462に進み、参照不可能な場合にはステップS465に進む。ステップS450では参照可能な場合にはステップS468に進み、参照不可能な場合にはステップS471に進む。ステップS451では参照可能な場合にはステップS474に進み、参照不可能な場合にはステップS477に進む。ステップS452では参照可能な場合にはステップS480に進み、参照不可能な場合にはステップS483に進む。
ステップS404において、周辺処理ユニットのいずれも参照可能なため、固定値選択予測モードを除く全てのイントラ予測モード(平均値予測モードと8方向の予測モード)の中から当該処理ユニットの最適なイントラ予測モードを決定する。最適なイントラ予測モードの決定方法に関しては、前述の通り、それぞれのイントラ予測モードについて予測誤差を計算し、最も予測誤差の小さい予測値を生成したモードに決定することが一般的であるが、これに限定されない。
ステップS405において、イントラ予測モード符号化部104は決定されたイントラ予測モード情報を前述の通り、1ビットの予測モードフラグとイントラ予測モードを表す3ビットに符号化する。
ステップS453では、参照可否情報は上方、左方、左上方、左下方の処理ユニットが参照可能で右上方処理ユニットが参照不可能な場合である。この場合、左斜め下予測モードと垂直左斜め予測モードは使用できない。これら以外の予測モードを用いてそれぞれの予測誤差を算出する。
ステップS454において、イントラ予測モード決定部103は、この状況で選択可能な6方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップS456では、参照可否情報は上方、左方、左上方、右上方の処理ユニットが参照可能で左下方処理ユニットが参照不可能な場合である。この場合、水平斜め上予測モードは使用できない。これ以外の予測モードを用いてそれぞれの予測誤差を算出する。
ステップS457において、イントラ予測モード決定部103は、この状況で選択可能な7方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップS459では、参照可否情報は上方、左方、左上方の処理ユニットが参照可能で左下方処理ユニットと右上方処理ユニットが参照不可能な場合である。この場合、左斜め下予測モード、垂直左斜め予測モード、水平斜め上予測モードは使用できない。これら以外の予測モードを用いてそれぞれの予測誤差を算出する。
ステップS460において、イントラ予測モード決定部103は、この状況で選択可能な5方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップS462では、参照可否情報は上方、左方、左下方、右上方の処理ユニットが参照可能で左上方処理ユニットが参照不可能な場合である。この場合、右斜め下予測モード、垂直右斜め予測モード、水平斜め下予測モードは使用できない。これら以外の予測モードを用いてそれぞれの予測誤差を算出する。
ステップS463において、イントラ予測モード決定部103は、この状況で選択可能な5方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップS465では、参照可否情報は上方、左方、左上方の処理ユニットが参照可能で左下方、右上方の処理ユニットが参照不可能な場合である。この場合、左斜め下予測モード、右斜め下予測モード、垂直右斜め予測モード、水平斜め下予測モード、垂直左斜め予測モードは使用できない。これら以外の予測モードを用いてそれぞれの予測誤差を算出する。
ステップS466において、イントラ予測モード決定部103は、この状況で選択可能な3方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップS468では、参照可否情報は上方、左方、右上方の処理ユニットが参照可能で左上方、左下方処理ユニットが参照不可能な場合である。この場合、右斜め下予測モード、垂直右斜め予測モード、水平斜め下予測モード、水平斜め上予測モードは使用できない。これ以外の予測モードを用いてそれぞれの予測誤差を算出する。
ステップS469において、イントラ予測モード決定部103は、この状況で選択可能な4方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップS471では、参照可否情報は上方、左方の処理ユニットが参照可能で左上方、左下方、右上方処理ユニットが参照不可能な場合である。この場合、垂直予測モード、水平予測モードのみが使用できる。これらの予測モードを用いてそれぞれの予測誤差を算出する。
ステップS472において、イントラ予測モード決定部103は、この状況で選択可能な2方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップS474では、参照可否情報は上方、左上方、右上方の処理ユニットが参照可能で左方処理ユニットが参照不可能な場合である。この場合、水平予測モード、右斜め下予測モード、水平斜め下予測モード、水平斜め上予測モードは使用できない。これ以外の予測モードを用いてそれぞれの予測誤差を算出する。
ステップS475において、イントラ予測モード決定部103は、この状況で選択可能な4方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップS477では、参照可否情報は上方、左上方の処理ユニットが参照可能で左方、右上方処理ユニットが参照不可能な場合である。この場合、垂直予測モードと垂直右斜め予測モードのみが使用できる。これらの予測モードを用いてそれぞれの予測誤差を算出する。
ステップS478において、イントラ予測モード決定部103は、この状況で選択可能な2方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップS480では、参照可否情報は上方、右上方の処理ユニットが参照可能で左方、左上方処理ユニットが参照不可能な場合である。この場合、垂直予測モード、左斜め下予測モード、垂直左斜め予測モードが使用できる。これらの予測モードを用いてそれぞれの予測誤差を算出する。
ステップS481において、イントラ予測モード決定部103は、この状況で選択可能な3方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップS483では、参照可否情報は上方処理ユニットが参照可能で左方、左上方、右上方処理ユニットが参照不可能な場合である。この場合、垂直予測モードのみが使用できる。この予測モードを用いてそれぞれの予測誤差を算出する。
ステップS484において、イントラ予測モード決定部103は、この状況で選択可能な垂直方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップS486では、参照可否情報は左方、左上方、左下方の処理ユニットが参照可能で上方処理ユニットが参照不可能な場合である。この場合、水平予測モード、水平斜め下予測モード、水平斜め上予測モードが使用できる。これらの予測モードを用いてそれぞれの予測誤差を算出する。
ステップS487において、イントラ予測モード決定部103は、この状況で選択可能な3方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップS489では、参照可否情報は左方、左上方の処理ユニットが参照可能で上方、左下方処理ユニットが参照不可能な場合である。この場合、水平予測モード、水平斜め下予測モードのみが使用できる。これらの予測モードを用いてそれぞれの予測誤差を算出する。
ステップS490において、イントラ予測モード決定部103は、この状況で選択可能な2方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップS492では、参照可否情報は左方、左下方の処理ユニットが参照可能で上方、左上方処理ユニットが参照不可能な場合である。この場合、水平予測モードと水平斜め上予測モードのみが使用できる。これ以外の予測モードを用いてそれぞれの予測誤差を算出する。
ステップS493において、イントラ予測モード決定部103は、この状況で選択可能な2方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップS495では、参照可否情報は左方の処理ユニットが参照可能で上方、左上方、左下方処理ユニットが参照不可能な場合である。この場合、水平予測モードのみが使用できる。この予測モードを用いてそれぞれの予測誤差を算出する。
ステップS496において、イントラ予測モード決定部103は、この状況で選択可能な水平方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップS412では、参照可否情報は周囲の処理ユニットの全てが参照不可能な場合である。この場合、予測値を128とする平均値予測モードか固定値選択予測モードを用いてそれぞれの予測誤差を算出する。
ステップS413において、イントラ予測モード決定部103は、この状況で前述の平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップS455、S458、S461、S464、S467、S470、S473、S476、S479、S482、S485、S488、S491、S494、S497、S414において、イントラ予測モードを符号化する。イントラ予測モード符号化部104は、固定値選択予測モード以外の場合にはその予測モード番号を符号化する。固定値選択予測モードの場合は使用不可能な予測モード番号にぞれぞれの予測値を割り当てて符号化する。
以上により、特にステップS453からステップS497とステップS412からステップS414の処理により、使用しないイントラ予測モードの代わりに固定値を選択して符号化することにより、イントラ予測において予測誤差を大きく抑制することができる。
なお、本実施形態においては、イントラ予測のみを用いるフレームを例にとって説明したが、インター予測を使用できるフレームにおいても対応できることは明らかである。さらに、本実施形態では説明のために分割ブロックを8画素×8画素、処理ユニットを4画素×4画素としたが、これに限定されない。例えば16画素×16画素等のブロックサイズへの変更が可能であり、また、ブロックの形状も正方形に限定されず、8画素×4画素などの長方形で発明の本質は変わらない。また、予測を4画素×4画素の場合のみ説明したが、ブロックを分割しない場合、8画素×8画素で予測を行っても、周囲のブロックの状態から同様に固定値選択予測を行えることは明らかである。
また、本実施形態ではぞれぞれの周囲ユニットで対象処理ユニットに隣接乃至は斜めに接している画素を参照したが、これに限定されない。例えば上方処理ユニット画素の内、処理ユニット201に隣接する上方画素群202のみを参照したがこれに限定されず、上方処理ユニットの他の画素を参照してももちろん構わない。
また、本実施形態では上方画素群202、左方画素群203、右上方画素群204、右上画素205、左下画素206を参照してイントラモード予測を行ったが、これに限定されない。また、予測モードもこれに限定されない本実施形態では45度の角度によって予測を行ったがこれに限定されず、例えば15度単位の角度によって方向を増やしても構わない。また、本実施形態では符号についてビットの割り当てを行ったが、これに限定されず、前に処理した処理ユニットの予測モード等を参照しての符号化や、算術符号を用いての符号化を行っても構わない。
また、参照の可否の判定の順はこれに限定されず、左方処理ユニットの参照の可否から判定しても構わない。また、ブロックサイズや形状及び予測の方向はこれに限定されない。また、本実施形態では不使用の全てのイントラ予測モード番号に予測値を割り当てたが、これに限定されず、不使用のイントラ予測モード番号が残っていても構わない。さらには他の用途にこれらの不使用のイントラ予測モード番号を割り当てても構わない。
<実施形態2>
実施形態1のステップS303においては、上方画素群202、左方画素群203、右上方画素群204、右上画素205、左下画素206の全てについて条件分岐を行い、符号化を行った。本実施形態では条件分岐を省略した場合について説明する。
実施形態1のステップS303においては、上方画素群202、左方画素群203、右上方画素群204、右上画素205、左下画素206の全てについて条件分岐を行い、符号化を行った。本実施形態では条件分岐を省略した場合について説明する。
図7は、図5のステップS303の実施形態2における詳細な処理を示すフローチャートある。図7において実施形態1の図6と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
ステップS501からS506において、符号化対象の処理ユニットの左下方処理ユニットと右上処理ユニットが参照可能か否かを判定する。
ステップS501において、両方とも参照可能な場合にはステップS404に進み、いずれか一方でも参照不可能の場合にはステップS459に進む。ステップS502において、両方とも参照可能な場合にはステップS462に進み、いずれか一方でも参照不可能の場合にはステップS471に進む。ステップS503において、両方とも参照可能な場合にはステップS474に進み、いずれか一方でも参照不可能の場合にはステップS477に進む。ステップS504において、両方とも参照可能な場合にはステップS460に進み、いずれか一方でも参照不可能の場合にはステップS483に進む。ステップS505において、両方とも参照可能な場合にはステップS486に進み、いずれか一方でも参照不可能の場合にはステップS489に進む。ステップS506において、両方とも参照可能な場合にはステップS492に進み、いずれか一方でも参照不可能の場合にはステップS495に進む。ステップS459では実施形態1と同様に左下方処理ユニットと右上処理ユニットが両方とも参照できないとして予測を行う。すなわち、左斜め下予測モード、垂直左斜め予測モード、水平斜め上予測モードは使用できない。これら以外の予測モードを用いてそれぞれの予測誤差を算出する。
ステップS501において、両方とも参照可能な場合にはステップS404に進み、いずれか一方でも参照不可能の場合にはステップS459に進む。ステップS502において、両方とも参照可能な場合にはステップS462に進み、いずれか一方でも参照不可能の場合にはステップS471に進む。ステップS503において、両方とも参照可能な場合にはステップS474に進み、いずれか一方でも参照不可能の場合にはステップS477に進む。ステップS504において、両方とも参照可能な場合にはステップS460に進み、いずれか一方でも参照不可能の場合にはステップS483に進む。ステップS505において、両方とも参照可能な場合にはステップS486に進み、いずれか一方でも参照不可能の場合にはステップS489に進む。ステップS506において、両方とも参照可能な場合にはステップS492に進み、いずれか一方でも参照不可能の場合にはステップS495に進む。ステップS459では実施形態1と同様に左下方処理ユニットと右上処理ユニットが両方とも参照できないとして予測を行う。すなわち、左斜め下予測モード、垂直左斜め予測モード、水平斜め上予測モードは使用できない。これら以外の予測モードを用いてそれぞれの予測誤差を算出する。
同様にステップS471、S477、S483、S489、S495において、左下方処理ユニットと右上処理ユニットが両方とも参照できないとして予測を行う。また、図4のセレクタ168は実施形態1と同様に参照可否情報によって入力先を選択する。参照可否情報の上位3ビットが111で下位2ビットいずれかが0であれば固定値テーブル153からの入力を選択する。
参照可否情報の上位3ビットが110で下位ビットが11であれば固定値テーブル154からの入力を選択する。下位2ビットいずれかが0であれば固定値テーブル157からの入力を選択する。参照可否情報の上位3ビットが101で下位ビットが11であれば固定値テーブル158からの入力を選択する。下位2ビットいずれかが0であれば固定値テーブル159からの入力を選択する。参照可否情報の上位3ビットが100で下位ビットが11であれば固定値テーブル160からの入力を選択する。下位2ビットいずれかが0であれば固定値テーブル161からの入力を選択する。参照可否情報の上位3ビットが011で下位ビットが11であれば固定値テーブル162からの入力を選択する。下位2ビットいずれかが0であれば固定値テーブル163からの入力を選択する。参照可否情報の上位3ビットが010で下位ビットが11であれば固定値テーブル164からの入力を選択する。下位2ビットいずれかが0であれば固定値テーブル165からの入力を選択する。参照可否情報の上位3ビットが000であれば固定値テーブル166からの入力を選択する。従って、固定値テーブルについても固定値テーブル151、152、155、156は使用しない。
以上の構成と動作により、発生頻度が少ない画素群の参照情報をまとめることで、分岐の回数を削減でき演算量を抑えるとともに、固定値を格納しておくメモリ等の容量を削減する効果がある。
<実施形態3>
図8は本実施形態の画像符号化装置を示すブロック図である。図8において、実施形態1の図1と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
図8は本実施形態の画像符号化装置を示すブロック図である。図8において、実施形態1の図1と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
200は画像解析部であり、入力される画像を解析し、固定値選択予測を行う際の固定値を算出する。本実施形態では処理ユニット単位で処理ユニット内の平均値を算出し、解析するものとして説明を行うがこれに限定されない。203はイントラ予測モード決定部である。実施形態1のイントラ予測モード決定部103とは画像解析部200の出力を入力することが異なる。206は固定値符号化部であり、画像解析部200で算出された固定値を符号化する。
画像解析部200は入力されるフレームデータを入力し、処理ユニット単位の平均値を算出する。画像解析部200では各処理ユニットの平均値を算出すると同時に当該の処理ユニットの参照可否情報を算出する。
参照可否情報ごとに平均値のヒストグラムを生成する。例えば、参照可否情報が11110であれば、算出された平均値のヒストグラムHist_11110を生成する。また、参照可否情報の上位2ビットが00であれば、算出された平均値のヒストグラムHist_00を生成する。これは下位3ビットが変わっても固定値テーブル166を使用するからである。
その他、参照可否情報に基づいて固定値テーブルに対応して算出された平均値のヒストグラムを作成する。1フレーム分の処理ユニットの平均値の算出が終了し、各ヒストグラムが生成できたら、表1に従って、各不使用の予測モード番号の数の固定値を算出する。例えば、参照可否情報が11001であれば、4つの固定値を算出する。固定値の算出方法は特に限定しないが、ヒストグラムの中で極大値で頻度が高いものから4つ選択するとか、極大値が多い場合には値の近い極大値の平均値を選択するとかして決定する。
各参照可否情報で選択に用いられる固定値が算出できたら、イントラ予測モード決定部203と固定値符号化部206に出力する。
各参照可否情報で選択に用いられる固定値が算出できたら、イントラ予測モード決定部203と固定値符号化部206に出力する。
図9にイントラ予測モード決定部203の詳細なブロック図を示す。図9において、実施形態1の図4と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
250は端子であり、画像解析部200から予測値を入力する251はセレクタであり、端子150から入力される参照可否情報によって出力先を選択する。上記の構造において、端子150から順に参照可否情報が入力される。端子250から入力された固定値は参照可否情報に従って、各固定値テーブルに格納される。例えば、参照可否情報が11001であれば、固定値テーブル156を選択する。そして、4つの予測値が固定値テーブルに156に格納される。符号化時において、実施形態1とは読みだされる予測値があらかじめ決められた固定値ではないことが異なる。
図8に戻り、エントロピー符号化部206は画像解析部200から入力された各予測値を符号化する。符号化方法は特に限定しない。そのまま値を送っても構わないし、小さいデータから差分を送っても構わない。符号化された各参照可否情報の固定値は外部に出力される。
図10は、実施形態3に係る画像符号化装置における画像符号化処理を示すフローチャートである。図10において、実施形態1の図5と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
ステップS1301において、スライスやフレームの端部にあたる処理ユニットの平均値を算出し、ヒストグラムを生成する。
ステップS1302において、算出されたヒストグラムから固定値選択予測で用いる各参照可否情報に対応して選択される固定値を算出する。
ステップS1303において、算出された各固定値をイントラ予測モード決定部203の固定値テーブルに格納する。以下、実施形態1と同様に符号化を行う。
ステップS1304において各固定値選択予測モードで用いる固定値を符号化して出力する。
ステップS1302において、算出されたヒストグラムから固定値選択予測で用いる各参照可否情報に対応して選択される固定値を算出する。
ステップS1303において、算出された各固定値をイントラ予測モード決定部203の固定値テーブルに格納する。以下、実施形態1と同様に符号化を行う。
ステップS1304において各固定値選択予測モードで用いる固定値を符号化して出力する。
複数の参照可否情報をまとめて固定値テーブルに記録する固定値を算出したがこれに限定されない。例えば、参照可否情報毎にヒストグラムを生成して、固定値テーブル内に参照可否情報に従って固定値を記録しておき、固定値テーブルから参照可否情報に従って固定値を読み出しても構わない。例えば、固定値テーブル166に格納される固定値はヒストグラムHist_00から産出されるが、下位の3ビットに従って、8つのヒストグラムを生成して、それぞれ固定値を求めても良い。それぞれの固定値で個別に固定値テーブルを作成しても構わない。
なお、本実施形態では入力前の画面データから統計的に固定値を算出したがこれに限定されない。例えば前のフレームの復号画像から統計的に予測値を算出しても構わない。
また、画像データの1フレーム単位で予測値を決定して符号化したが、これに限定されず、スライスなどの領域を設定して領域ごとに予測値を決定し、符号化してももちろん構わない。
また、画像データの1フレーム単位で予測値を決定して符号化したが、これに限定されず、スライスなどの領域を設定して領域ごとに予測値を決定し、符号化してももちろん構わない。
また、本実施形態において、固定値テーブルの全ての固定値を算出したが、これに限定されず、一部または全ての固定値が画像解析部200の結果に依存しない固定値であっても構わない。
また、本実施形態において、算出した固定値を全て符号化する方法について述べたが、これに限定されない。例えば、画像全体の平均値を画像解析部200で算出し、これをオフセット値として符号化して伝送し、オフセット値に対する線形または非線形な間隔を符号化側・復号側で定義しておき、各固定値を算出しても構わない。例えば、オフセット値として100を送り、不使用の予測モードが5つあれば、0と255と100を基本値としてその間の2/3の値、すなわち、66と153を計算によって算出しても構わない。この場合、予測値の全てを送らず、オフセット値のみを符号化して送るので、符号量を減じることができる。
<実施形態4>
図11は本実施形態の動画像を符号化する画像符号化装置を示すブロック図である。図11において、実施形態3の図8と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
図11において、201は画像解析部であり、フレーム単位で符号化された処理ユニットの復号画素の平均値を参照可否情報毎に保持し、1フレームを行うたびに固定値を算出する。213はイントラ予測モード決定部であり、画像解析部201から出力される予測値で固定値テーブルを更新する。
符号化の際に、符号化対象ユニットのイントラ予測モードがイントラ予測モード決定部213で決定され、逆量子化・逆変換部108で復号画像を生成することができる。
図11は本実施形態の動画像を符号化する画像符号化装置を示すブロック図である。図11において、実施形態3の図8と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
図11において、201は画像解析部であり、フレーム単位で符号化された処理ユニットの復号画素の平均値を参照可否情報毎に保持し、1フレームを行うたびに固定値を算出する。213はイントラ予測モード決定部であり、画像解析部201から出力される予測値で固定値テーブルを更新する。
符号化の際に、符号化対象ユニットのイントラ予測モードがイントラ予測モード決定部213で決定され、逆量子化・逆変換部108で復号画像を生成することができる。
画像解析部201は該当する符号化対象処理ユニットの復号画像から処理ユニット内の平均値を算出する。実施形態3と同様に算出された平均値を参照可否情報によってヒストグラムを生成する。前のフレームの符号化が終了したら、実施形態3と同様に予測値を算出する
イントラ予測モード決定部203の詳細なブロック図は図9に示した構造と同じである。算出された固定値はイントラ予測モード決定部213に入力され、各固定値テーブルに格納される。
イントラ予測モード決定部203の詳細なブロック図は図9に示した構造と同じである。算出された固定値はイントラ予測モード決定部213に入力され、各固定値テーブルに格納される。
以上の構成と動作により、予測値を前のフレームの復号画像から産出することにより、固定値よりも予測誤差を抑えることができ、符号化効率を向上させる効果がある。また、前のフレームの画素データを使用することにより、遅延を最小限に抑えることができる。また、固定値の決定方法をヒストグラムからの決定としたが、方法を復号側と同じにすることで、固定値の符号化を行わないことも可能である。また、処理ユニット毎に平均値の算出を行ったが、逆変換前のDC成分を用いてももちろん構わない。
<実施形態5>
図12は本実施形態の画像符号化装置を示すブロック図である。図12において、実施形態3の図8と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
図12において、223はイントラ予測モード決定部であり、逆量子化・逆変換部108から出力される符号化対象処理ユニットの平均値によって、当該処理ユニットの参照可否情報によって選択された固定値テーブルの1つの値を更新する。
符号化の際に、符号化対象ユニットの予測誤差がイントラ予測モード決定部223で算出され、変換・量子化部105に入力される。また、イントラ予測モードはイントラ予測モード符号化部104に入力される。予測誤差は変換・量子化部105で変換され、量子化されて逆量子化・逆変換部108に入力される。逆量子化・逆変換部108では入力に対して逆量子化、逆変換を行い、復号画像を生成する。この時、直交変換のDC成分は平均値を表している。このDC成分を平均値としてイントラ予測モード決定部223に入力する。
図12は本実施形態の画像符号化装置を示すブロック図である。図12において、実施形態3の図8と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
図12において、223はイントラ予測モード決定部であり、逆量子化・逆変換部108から出力される符号化対象処理ユニットの平均値によって、当該処理ユニットの参照可否情報によって選択された固定値テーブルの1つの値を更新する。
符号化の際に、符号化対象ユニットの予測誤差がイントラ予測モード決定部223で算出され、変換・量子化部105に入力される。また、イントラ予測モードはイントラ予測モード符号化部104に入力される。予測誤差は変換・量子化部105で変換され、量子化されて逆量子化・逆変換部108に入力される。逆量子化・逆変換部108では入力に対して逆量子化、逆変換を行い、復号画像を生成する。この時、直交変換のDC成分は平均値を表している。このDC成分を平均値としてイントラ予測モード決定部223に入力する。
イントラ予測モード決定部223の詳細なブロック図は図9に示した構造と同じである。固定値テーブル151から166において、本実施形態においては不使用イントラ予測モード番号の数から1少ない数の固定値が予め格納されており、残りの1つが求められた平均値で更新されることが実施形態3と異なる点である。例えば、参照可否情報が11001であれば、4つの固定値を用いることができる。このうち3つを0、128、255といった値に割り当て、残りの1つを端子250から入力される平均値によって更新する。
イントラ予測モード符号化部104では不使用のイントラ予測番号の若い(小さい)ものに更新される予測値を割り当てる。例えば、参照可否情報が11001であれば、不使用のイントラ予測番号は4、5、6、8であるが、不使用のイントラ予測番号4に更新される平均値を割り当てる。それ以外の不使用のイントラ予測番号5に0、6に128、8に255を割り当てる。
イントラ予測モード符号化部104では不使用のイントラ予測番号の若い(小さい)ものに更新される予測値を割り当てる。例えば、参照可否情報が11001であれば、不使用のイントラ予測番号は4、5、6、8であるが、不使用のイントラ予測番号4に更新される平均値を割り当てる。それ以外の不使用のイントラ予測番号5に0、6に128、8に255を割り当てる。
以上の構成と動作により、予測値を符号化された平均値を用いることにより、固定値よりも予測誤差を抑えることができ、符号化効率を向上させる効果がある。直前の復号画像の平均値を予測値に用いることにより、同じイントラ予測モードが連続する場合、相関の高い予測値を更新によって常に使用することでより一層の符号化効率の改善が行える効果がある。
また、本実施形態では求められた直前の平均値を同じ参照可否情報単位で予測値として更新したが、これに限定されない。例えば、直前に算出した平均値を全ての参照可否情報で用いても構わない。すなわち、参照可否情報に関係なく逆量子化・逆変換部108から主力される直前に算出された平均値を用いても構わない。
また、平均値を固定値予測の値の1つとしたが、これに限定されず、複数、例えば2つの固定値を更新するようにしてももちろん構わない。例えば、直前の平均値とその1つ前の平均値で更新しても構わない。
さらには、図11の構成をとって、直前の平均値ではなく、同じ参照可否情報を持つ処理ユニットの平均値の平均を画像解析部201で生成して固定値予測の予測値として処理ユニット単位で更新しても構わない。
<実施形態6>
図13は、本発明の実施形態5に係る画像復号装置の構成を示すブロック図である。本実施形態では、実施形態1で生成された符号化データの復号を例にとって説明する。
図13において、801は入力ストリームからブロック単位の情報を復号するブロック復号部である。ブロック復号部801はその復号処理において、各処理ブロック位置の把握を容易に行える。また、前記処理ブロック位置情報の出力も行う。802は、ブロック復号部801でブロック復号された各ブロック内に存在する処理ユニット単位の情報や係数を復号するエントロピー復号部である。803は復号によって得られた量子化された係数値を逆量子化し、逆変換して予測誤差を再生する逆量子化・逆変換部である。804は各処理ユニットにおいてイントラ予測モードを復号し、予測値を生成するイントラ予測モード復号部である。805は逆量子化・逆変換部803から得られた予測誤差とイントラ予測モード復号部804で得られた予測値から復号画素データを再構成する画素データ再構成部である。807は復号対象の処理ユニットの周辺の所定の処理ユニットが参照可能か否かを判定する周辺処理ユニット判定部である。
図13は、本発明の実施形態5に係る画像復号装置の構成を示すブロック図である。本実施形態では、実施形態1で生成された符号化データの復号を例にとって説明する。
図13において、801は入力ストリームからブロック単位の情報を復号するブロック復号部である。ブロック復号部801はその復号処理において、各処理ブロック位置の把握を容易に行える。また、前記処理ブロック位置情報の出力も行う。802は、ブロック復号部801でブロック復号された各ブロック内に存在する処理ユニット単位の情報や係数を復号するエントロピー復号部である。803は復号によって得られた量子化された係数値を逆量子化し、逆変換して予測誤差を再生する逆量子化・逆変換部である。804は各処理ユニットにおいてイントラ予測モードを復号し、予測値を生成するイントラ予測モード復号部である。805は逆量子化・逆変換部803から得られた予測誤差とイントラ予測モード復号部804で得られた予測値から復号画素データを再構成する画素データ再構成部である。807は復号対象の処理ユニットの周辺の所定の処理ユニットが参照可能か否かを判定する周辺処理ユニット判定部である。
図14にイントラ予測モード復号部804の詳細なブロック図を示す。901は端子であり、画素データ再構成部805から復号する処理ユニットの周囲の復号済み参照画素を入力する。902は端子であり、エントロピー復号部802からイントラ予測モードの符号データを入力する。903は端子であり、周辺処理ユニット判定部807から参照可否情報を入力する。
904は参照可否情報とイントラ予測モードの符号データを入力して、イントラ予測モードを復号するイントラ予測モード復号器である。固定値選択予測モードは参照可否情報によって、不使用となるイントラ予測番号が入力された時点で判別される。この時、イントラ予測モード復号器904は復号されたイントラ予測番号を出力する。
905は垂直予測を行うVertical予測器である。イントラ予測モード復号器904で垂直予測モードと復号された場合にのみ動作する。端子901から参照画素を入力し、垂直方向の予測を行い、予測値を生成する。そうでなければ動作せず、出力も生成しない。
906は水平予測を行うHorizontal予測器である。イントラ予測モード復号器904で垂直予測モードと復号された場合にのみ動作する。端子901から参照画素を入力し、水平方向の予測を行い、予測値を生成する。そうでなければ動作せず、出力も生成しない。
907は左斜め下方向の予測を行うDiagonal_Down_Left予測器である。イントラ予測モード復号器904では左斜め下方向予測モードと復号された場合にのみ動作する。端子901から参照画素を入力し、左斜め下方向の予測を行い、予測値を生成する。そうでなければ動作せず、出力も生成しない。
908は右斜め下方向の予測を行うDiagonal_Down_Right予測器である。イントラ予測モード復号器904で右斜め下予測モードと復号された場合にのみ動作する。端子901から参照画素を入力し、右斜め下方向の予測を行い、予測値を生成する。そうでなければ動作せず、出力も生成しない。
909は垂直右斜め方向の予測を行うVertical_Right予測器である。イントラ予測モード復号器904で垂直右斜め予測モードと復号された場合にのみ動作する。端子901から参照画素を入力し、垂直右斜め方向の予測を行い、予測値を生成する。そうでなければ動作せず、出力も生成しない。
910は水平斜め下方向の予測を行うHorizontal_Down予測器である。イントラ予測モード復号器904で水平斜め下予測モードと復号された場合にのみ動作する。端子901から参照画素を入力し、水平斜め下方向の予測を行い、予測値を生成する。そうでなければ動作せず、出力も生成しない。
911は垂直左斜め方向の予測を行うVertical_Left予測器である。端子900から処理ユニットの予測値の画素値を、端子901から参照画素を入力し、イントラ予測モード復号器904で垂直左斜め方向予測モード、と復号された場合にのみ動作する。そうでなければ動作せず、出力も生成しない。前述の参照画素を参照して垂直左斜め方向の予測を行い、予測値を生成する。
912は水平斜め上方向の予測を行うHorizontal_Up予測器である。イントラ予測モード復号器904で水平斜め上予測モードと復号された場合にのみ動作する。端子901から参照画素を入力し、水平斜め上方向の予測を行い、予測値を生成する。そうでなければ動作せず、出力も生成しない。
913は平均値予測を行う平均値予測器である。イントラ予測モード復号器904で平均値予測モードと復号された場合にのみ動作する。端子901から参照画素を入力し、(1)式に従って平均値予測を行う。ただし、端子903から入力された参照可否情報で上位2ビットのいずれかが0であれば、固定の予測値128を生成する。そうでなければ動作せず、出力も生成しない。
914は固定値選択予測を行う固定値選択予測器である。イントラ予測モード復号器904で固定値選択予測モードと復号された場合にのみ動作する。イントラ予測モード番号と参照可否情報から予め格納されている固定値を出力する。そうでなければ動作せず、出力も生成しない。
905は垂直予測を行うVertical予測器である。イントラ予測モード復号器904で垂直予測モードと復号された場合にのみ動作する。端子901から参照画素を入力し、垂直方向の予測を行い、予測値を生成する。そうでなければ動作せず、出力も生成しない。
906は水平予測を行うHorizontal予測器である。イントラ予測モード復号器904で垂直予測モードと復号された場合にのみ動作する。端子901から参照画素を入力し、水平方向の予測を行い、予測値を生成する。そうでなければ動作せず、出力も生成しない。
907は左斜め下方向の予測を行うDiagonal_Down_Left予測器である。イントラ予測モード復号器904では左斜め下方向予測モードと復号された場合にのみ動作する。端子901から参照画素を入力し、左斜め下方向の予測を行い、予測値を生成する。そうでなければ動作せず、出力も生成しない。
908は右斜め下方向の予測を行うDiagonal_Down_Right予測器である。イントラ予測モード復号器904で右斜め下予測モードと復号された場合にのみ動作する。端子901から参照画素を入力し、右斜め下方向の予測を行い、予測値を生成する。そうでなければ動作せず、出力も生成しない。
909は垂直右斜め方向の予測を行うVertical_Right予測器である。イントラ予測モード復号器904で垂直右斜め予測モードと復号された場合にのみ動作する。端子901から参照画素を入力し、垂直右斜め方向の予測を行い、予測値を生成する。そうでなければ動作せず、出力も生成しない。
910は水平斜め下方向の予測を行うHorizontal_Down予測器である。イントラ予測モード復号器904で水平斜め下予測モードと復号された場合にのみ動作する。端子901から参照画素を入力し、水平斜め下方向の予測を行い、予測値を生成する。そうでなければ動作せず、出力も生成しない。
911は垂直左斜め方向の予測を行うVertical_Left予測器である。端子900から処理ユニットの予測値の画素値を、端子901から参照画素を入力し、イントラ予測モード復号器904で垂直左斜め方向予測モード、と復号された場合にのみ動作する。そうでなければ動作せず、出力も生成しない。前述の参照画素を参照して垂直左斜め方向の予測を行い、予測値を生成する。
912は水平斜め上方向の予測を行うHorizontal_Up予測器である。イントラ予測モード復号器904で水平斜め上予測モードと復号された場合にのみ動作する。端子901から参照画素を入力し、水平斜め上方向の予測を行い、予測値を生成する。そうでなければ動作せず、出力も生成しない。
913は平均値予測を行う平均値予測器である。イントラ予測モード復号器904で平均値予測モードと復号された場合にのみ動作する。端子901から参照画素を入力し、(1)式に従って平均値予測を行う。ただし、端子903から入力された参照可否情報で上位2ビットのいずれかが0であれば、固定の予測値128を生成する。そうでなければ動作せず、出力も生成しない。
914は固定値選択予測を行う固定値選択予測器である。イントラ予測モード復号器904で固定値選択予測モードと復号された場合にのみ動作する。イントラ予測モード番号と参照可否情報から予め格納されている固定値を出力する。そうでなければ動作せず、出力も生成しない。
図15に固定値選択予測器914の詳細なブロック図を示す。920は端子であり、図14の端子903を介して周辺処理ユニット判定部807から参照可否情報を入力する。921は端子であり、イントラ予測モード復号器904からイントラ予測モード番号を入力する。922はセレクタであり、参照可否情報によって出力先を選択する。923から938までは固定値テーブルである。固定値テーブル923は参照可否情報が11110の時に使われる固定値を格納する。
固定値テーブル924は参照可否情報が11101の時に使われる固定値を格納する。固定値テーブル925は参照可否情報が11100の時に使われる固定値を格納する。固定値テーブル926は参照可否情報が11011の時に使われる固定値を格納する。固定値テーブル927は参照可否情報が11010の時に使われる固定値を格納する。固定値テーブル928は参照可否情報が11001の時に使われる固定値を格納する。固定値テーブル929は参照可否情報が11000の時に使われる固定値を格納する。固定値テーブル930は参照可否情報が10111または10101の時に使われる固定値を格納する。固定値テーブル931は参照可否情報が10110または10100の時に使われる固定値を格納する。固定値テーブル932は参照可否情報が10011または10001の時に使われる固定値を格納する。固定値テーブル933は参照可否情報が10010または10000の時に使われる固定値を格納する。固定値テーブル934は参照可否情報が01111または01110の時に使われる固定値を格納する。固定値テーブル935は参照可否情報が01101または01100の時に使われる固定値を格納する。固定値テーブル936は参照可否情報が01011または01010の時に使われる固定値を格納する。固定値テーブル937は参照可否情報が01001または01000の時に使われる固定値を格納する。固定値テーブル938は参照可否情報の上位2ビットがともに0の時に使われる固定値を格納する。939はセレクタであり、参照可否情報によって入力先を選択する。セレクタ922とセレクタ939は同じ参照可否情報が入力されている。すなわち、固定値テーブルごとに決められた上位の参照可否情報に応じて当該の固定値テーブルを入出力先として選択する。940は端子であり、予測値を図14のセレクタ915に出力する。
上記画像復号装置における画像の復号動作を以下に説明する。本実施形態では動画像ビットストリームをフレーム単位に入力する構成となっているが、1フレーム分の静止画像ビットストリームを入力する構成としても構わない。また、本発明は、説明を容易にするため、イントラ予測復号化の処理のみを説明するが、これに限定されずインター予測復号化処理においても適用可能である。
図13において、入力された1フレーム分のストリームデータはブロック単位でブロック復号部801に入力され、ブロック単位の情報が復号される。上記のブロック単位の情報によって定まった処理ユニットの構造によって、処理ユニットごとに符号データが出力される。この際、処理ユニットの係数や、位置情報の復号によって処理ユニットの位置に関する情報も抽出され、周辺処理ユニット判定部807にも出力される。処理ユニットごとの符号データはエントロピー復号部802に入力され、イントラ予測モード符号を含む処理ユニット単位の情報や係数値が復号される。係数値は逆量子化・逆変換部803に入力され、逆量子化、逆変換の過程を経て予測誤差を表す画素データが出力される。処理ユニット単位の情報はイントラ予測モード復号部804に入力され、イントラ予測モードの情報から周辺の処理ユニットの画素値から予測値を算出する。画素データ再構成部805で予測値と予測誤差を加算し、復号画素データを再構成し、出力する。画素データ再構成部805は後の処理での参照を考慮して再構成された画素値を保持する。
図16は、実施形態6に係る画像復号装置における画像復号処理を示すフローチャートである。
まず、ステップS901において、ブロック復号部801は、入力ストリームからブロック単位の情報を復号する。
ステップS902において、エントロピー復号部802は、各ブロック内に存在する処理ユニット単位の復号を行う。また、イントラ予測モードの符号を抽出し、他の情報や係数をエントロピー復号化する。
ステップS903において逆量子化・逆変換部803は、復号した係数データの逆量子化・逆変換を行い、予測誤差データを生成する。
ステップS904において、イントラ予測モード復号部804は、各処理ユニットのイントラ予測モードを後述する復号方法で復号し、イントラ予測モードを生成する。さらにその予測モードに従い、予測値を生成する。
ステップS905において画素データ再構成部805は、ステップS903の結果である予測誤差データとステップS904の結果である予測値から再構成画素を算出する。
ステップS906において、画像復号装置は、ブロック内の全ての処理ユニットの符号化が復号したか否かの判定を行い、終了していればステップS907に進み、終了していなければ次の処理ユニットを処理の対象としてステップS902に戻る。
ステップS907において画像復号装置は、フレーム内の全てのブロックの復号が終了したか否かの判定を行い、終了していれば全ての動作を停止して処理を終了し、そうでなければ次のブロックを処理の対象としてステップS901に戻る。
ステップS902において、エントロピー復号部802は、各ブロック内に存在する処理ユニット単位の復号を行う。また、イントラ予測モードの符号を抽出し、他の情報や係数をエントロピー復号化する。
ステップS903において逆量子化・逆変換部803は、復号した係数データの逆量子化・逆変換を行い、予測誤差データを生成する。
ステップS904において、イントラ予測モード復号部804は、各処理ユニットのイントラ予測モードを後述する復号方法で復号し、イントラ予測モードを生成する。さらにその予測モードに従い、予測値を生成する。
ステップS905において画素データ再構成部805は、ステップS903の結果である予測誤差データとステップS904の結果である予測値から再構成画素を算出する。
ステップS906において、画像復号装置は、ブロック内の全ての処理ユニットの符号化が復号したか否かの判定を行い、終了していればステップS907に進み、終了していなければ次の処理ユニットを処理の対象としてステップS902に戻る。
ステップS907において画像復号装置は、フレーム内の全てのブロックの復号が終了したか否かの判定を行い、終了していれば全ての動作を停止して処理を終了し、そうでなければ次のブロックを処理の対象としてステップS901に戻る。
図17はステップS904の詳細な処理を示すフローチャートである。まず、ステップS1001〜S1003、ステップS1040〜S1052では復号対象の処理ユニットの周辺の所定の処理ユニットが参照可能か否かの判定を行う。
具体的にはステップS1001において、復号対象の処理ユニットの上方に存在する処理ユニットが参照可能か否かを判定し、参照可能な場合にはステップS1002に進み、参照不可能の場合にはステップS1003に進む。
ステップS1002において、復号する処理ユニットの左方に存在する所定の処理ユニットが参照可能か否かを判定し、参照可能な場合にはステップS1040に進み、参照不可能な場合にはステップS1041に進む。
ステップS1003においても、復号する処理ユニットの左方に存在する処理ユニットが参照可能か否かを判定し、参照可能な場合にはステップS1042に進み、参照不可能の場合にはステップS1068に進む。
ステップS1040、S1041、S1042において、符号化対象の処理ユニットの左上方に存在する処理ユニットが参照可能か否かを判定する。ステップS1040では参照可能な場合にはステップS1043に進み、参照不可能な場合にはステップS1044に進む。ステップS1041では参照可能な場合にはステップS1051に進み、参照不可能な場合にはステップS1052に進む。ステップS1042では参照可能な場合にはステップS1045に進み、参照不可能な場合にはステップS1046に進む。
ステップS1043、S1044において、符号化対象の処理ユニットの左下方に存在する処理ユニットが参照可能か否かを判定する。ステップS1043では参照可能な場合にはステップS1047に進み、参照不可能な場合にはステップS1048に進む。ステップS1044では参照可能な場合にはステップS1049に進み、参照不可能な場合にはステップS1050に進む。
ステップS1045〜S1052において、符号化対象の処理ユニットの右上方に存在する処理ユニットが参照可能か否かを判定する。
ステップS1045では参照可能な場合にはステップS1064に進み、参照不可能な場合にはステップS1065に進む。ステップS1046では参照可能な場合にはステップS1066に進み、参照不可能な場合にはステップS1067に進む。ステップS1047では参照可能な場合にはステップS1004に進み、参照不可能な場合にはステップS1053に進む。ステップS1048では参照可能な場合にはステップS1054に進み、参照不可能な場合にはステップS1055に進む。ステップS1049では参照可能な場合にはステップS1056に進み、参照不可能な場合にはステップS1057に進む。ステップS1050では参照可能な場合にはステップS1058に進み、参照不可能な場合にはステップS1059に進む。ステップS1051では参照可能な場合にはステップS1060に進み、参照不可能な場合にはステップS1061に進む。ステップS1052では参照可能な場合にはステップS1062に進み、参照不可能な場合にはステップS1063に進む。
ステップS1004において、イントラ予測モード復号器904は、復号する処理ユニットのイントラ予測モードを復号する。8方向の予測及び平均予測のいずれも可能なため、予測モードフラグをまず復号する。予測モードフラグの符号が1であれば、周囲の処理ユニットのイントラ予測モードを参照してイントラ予測モードを算出する。予測モードフラグの符号が“0”であれば、続く符号データを復号して残りの予測モードから当該処理ブロックに適用されたイントラ予測モードを決定する。
ステップS1005において、イントラ予測モード復号器904は決定された予測モードに基づき、予測器を選択する。選択された予測器は端子901から入力される周囲の処理ユニットの参照画素から予測値を算出する。予測値はセレクタ915を介して端子916に出力される。
ステップS1053〜S1067において、イントラ予測モード復号器904は、復号する処理ユニットのイントラ予測モードを復号する。ステップS1053の場合、右上方処理ユニットの参照が不可能なため、6方向の予測、平均予測、固定値選択予測のいずれかが可能である。
ステップS1053の場合、右上方処理ユニットの参照が不可能なため、6方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップS1054の場合、左下方処理ユニットの参照が不可能なため、7方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップS1055の場合、左下方、右上方処理ユニットの参照が不可能なため、5方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップS1056の場合、左上方処理ユニットの参照が不可能なため、5方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップS1057の場合、左上方、右上方処理ユニットの参照が不可能なため、3方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップS1058の場合、左上方、左下方処理ユニットの参照が不可能なため、4方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップS1059の場合、左上方、左下方、右上方処理ユニットの参照が不可能なため、2方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップS1060の場合、左方処理ユニットの参照が不可能なため、4方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップS1061の場合、左方、右上方処理ユニットの参照が不可能なため、2方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップS1062の場合、左方、左上方処理ユニットの参照が不可能なため、3方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップS1063の場合、左方、左上方、右上方処理ユニットの参照が不可能なため、垂直方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップS1064の場合、上方処理ユニットの参照が不可能なため、3方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップS1065の場合、上方、左下方処理ユニットの参照が不可能なため、2方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップS1066の場合、上方、左上方処理ユニットの参照が不可能なため、2方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップS1067の場合、上方、左上方、左下方処理ユニットの参照が不可能なため、水平方向の予測、平均予測、固定値選択予測のいずれかが可能である。また、ステップS1068において、全ての方向の予測が行えないことから、平均予測か固定値選択予測のいずれかが可能である。
ステップS1053〜S1068において、イントラ予測モード復号器904は予測モードフラグをまず復号する。予測モードフラグの符号が1であれば、周囲の処理ユニットのイントラ予測モードを参照してイントラ予測モードを算出する。
ステップS1002において、復号する処理ユニットの左方に存在する所定の処理ユニットが参照可能か否かを判定し、参照可能な場合にはステップS1040に進み、参照不可能な場合にはステップS1041に進む。
ステップS1003においても、復号する処理ユニットの左方に存在する処理ユニットが参照可能か否かを判定し、参照可能な場合にはステップS1042に進み、参照不可能の場合にはステップS1068に進む。
ステップS1040、S1041、S1042において、符号化対象の処理ユニットの左上方に存在する処理ユニットが参照可能か否かを判定する。ステップS1040では参照可能な場合にはステップS1043に進み、参照不可能な場合にはステップS1044に進む。ステップS1041では参照可能な場合にはステップS1051に進み、参照不可能な場合にはステップS1052に進む。ステップS1042では参照可能な場合にはステップS1045に進み、参照不可能な場合にはステップS1046に進む。
ステップS1043、S1044において、符号化対象の処理ユニットの左下方に存在する処理ユニットが参照可能か否かを判定する。ステップS1043では参照可能な場合にはステップS1047に進み、参照不可能な場合にはステップS1048に進む。ステップS1044では参照可能な場合にはステップS1049に進み、参照不可能な場合にはステップS1050に進む。
ステップS1045〜S1052において、符号化対象の処理ユニットの右上方に存在する処理ユニットが参照可能か否かを判定する。
ステップS1045では参照可能な場合にはステップS1064に進み、参照不可能な場合にはステップS1065に進む。ステップS1046では参照可能な場合にはステップS1066に進み、参照不可能な場合にはステップS1067に進む。ステップS1047では参照可能な場合にはステップS1004に進み、参照不可能な場合にはステップS1053に進む。ステップS1048では参照可能な場合にはステップS1054に進み、参照不可能な場合にはステップS1055に進む。ステップS1049では参照可能な場合にはステップS1056に進み、参照不可能な場合にはステップS1057に進む。ステップS1050では参照可能な場合にはステップS1058に進み、参照不可能な場合にはステップS1059に進む。ステップS1051では参照可能な場合にはステップS1060に進み、参照不可能な場合にはステップS1061に進む。ステップS1052では参照可能な場合にはステップS1062に進み、参照不可能な場合にはステップS1063に進む。
ステップS1004において、イントラ予測モード復号器904は、復号する処理ユニットのイントラ予測モードを復号する。8方向の予測及び平均予測のいずれも可能なため、予測モードフラグをまず復号する。予測モードフラグの符号が1であれば、周囲の処理ユニットのイントラ予測モードを参照してイントラ予測モードを算出する。予測モードフラグの符号が“0”であれば、続く符号データを復号して残りの予測モードから当該処理ブロックに適用されたイントラ予測モードを決定する。
ステップS1005において、イントラ予測モード復号器904は決定された予測モードに基づき、予測器を選択する。選択された予測器は端子901から入力される周囲の処理ユニットの参照画素から予測値を算出する。予測値はセレクタ915を介して端子916に出力される。
ステップS1053〜S1067において、イントラ予測モード復号器904は、復号する処理ユニットのイントラ予測モードを復号する。ステップS1053の場合、右上方処理ユニットの参照が不可能なため、6方向の予測、平均予測、固定値選択予測のいずれかが可能である。
ステップS1053の場合、右上方処理ユニットの参照が不可能なため、6方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップS1054の場合、左下方処理ユニットの参照が不可能なため、7方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップS1055の場合、左下方、右上方処理ユニットの参照が不可能なため、5方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップS1056の場合、左上方処理ユニットの参照が不可能なため、5方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップS1057の場合、左上方、右上方処理ユニットの参照が不可能なため、3方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップS1058の場合、左上方、左下方処理ユニットの参照が不可能なため、4方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップS1059の場合、左上方、左下方、右上方処理ユニットの参照が不可能なため、2方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップS1060の場合、左方処理ユニットの参照が不可能なため、4方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップS1061の場合、左方、右上方処理ユニットの参照が不可能なため、2方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップS1062の場合、左方、左上方処理ユニットの参照が不可能なため、3方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップS1063の場合、左方、左上方、右上方処理ユニットの参照が不可能なため、垂直方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップS1064の場合、上方処理ユニットの参照が不可能なため、3方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップS1065の場合、上方、左下方処理ユニットの参照が不可能なため、2方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップS1066の場合、上方、左上方処理ユニットの参照が不可能なため、2方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップS1067の場合、上方、左上方、左下方処理ユニットの参照が不可能なため、水平方向の予測、平均予測、固定値選択予測のいずれかが可能である。また、ステップS1068において、全ての方向の予測が行えないことから、平均予測か固定値選択予測のいずれかが可能である。
ステップS1053〜S1068において、イントラ予測モード復号器904は予測モードフラグをまず復号する。予測モードフラグの符号が1であれば、周囲の処理ユニットのイントラ予測モードを参照してイントラ予測モードを算出する。
予測モードフラグの符号が“0”であれば、続く符号データを復号して残りの予測モードから当該処理ブロックに適用されたイントラ予測モードを決定する。上記選択が可能なイントラ予測モード番号が復号された場合、その予測モードに基づき、図14の予測器を選択する。選択された予測器は端子901から入力される周囲の処理ユニットの参照画素から予測値を算出する。予測値はセレクタ915を介して端子916に出力される。
また、上記選択が可能なイントラ予測モード番号以外が復号された場合、固定値選択予測モードが選択されたことが判明する。
ステップS1069〜S1084では図14の固定値選択予測器914が選択される。選択ができないイントラ予測モード番号が入力された時、図15の端子920から入力された参照可否情報に従ってセレクタ922と939で該当する固定値テーブルを選択する。端子921から入力されたイントラ予測モード番号に従って、固定値を読み出し、セレクタ939、端子940を介して出力する。この固定値は図14のセレクタ915を介して端子916に出力される。
例えば、参照可否情報11001の場合、不使用の予測モード番号は4、5、6、8の4つとなる。入力された予測モード番号が4であれば予測値0を、5であれば予測値85を、6であれば170を、8であれば予測値255を読み出し、出力する。
以上により、実施形態1で生成された各処理ユニットの参照の可否によって使用できるイントラ予測モードを使用しつつ、使用しないイントラ予測モードに対して複数の固定値を用いることで効率よく符号化された符号化データを復号することができる。
なお、本実施形態においては、イントラ予測のみを用いるフレームを例にとって説明したが、インター予測も使用できるフレームにおいても対応できることは明らかである。また、実施形態1と同様にブロックのサイズ、処理ユニットのサイズ、参照する処理ユニットとその画素の配置、符号についてはこれに限定されない。H.264と同じ参照方法をとっても構わないし、それ以外の参照の方式を行ってももちろん構わない。
<実施形態7>
本実施形態では、実施形態2で生成された符号化データの復号処理について説明する。画像復号装置の構成は実施形態6の図13と同じである。イントラ予測モード復号部804の動作が実施形態6と異なる。
本実施形態では、実施形態2で生成された符号化データの復号処理について説明する。画像復号装置の構成は実施形態6の図13と同じである。イントラ予測モード復号部804の動作が実施形態6と異なる。
図18は、図9のステップS904の実施形態7における詳細なイントラ予測モード復号処理を示すフローチャートある。図18において実施形態6の図17と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
ステップS1501からS1506において、符号化対象の処理ユニットの左下方処理ユニットと右上処理ユニットが参照可能か否かを判定する。
ステップS1501において、両方とも参照可能な場合にはステップS1004に進み、いずれか一方でも参照不可能の場合にはステップS1055に進む。ステップS1502において、両方とも参照可能な場合にはステップS1056に進み、いずれか一方でも参照不可能の場合にはステップS1059に進む。ステップS1503において、両方とも参照可能な場合にはステップS1060に進み、いずれか一方でも参照不可能の場合にはステップS1061に進む。ステップS1504において、両方とも参照可能な場合にはステップS1062に進み、いずれか一方でも参照不可能の場合にはステップS1063に進む。ステップS1505において、両方とも参照可能な場合にはステップS1064に進み、いずれか一方でも参照不可能の場合にはステップS1065に進む。ステップS1506において、両方とも参照可能な場合にはステップS1066に進み、いずれか一方でも参照不可能の場合にはステップS1067に進む。
ステップS1501において、両方とも参照可能な場合にはステップS1004に進み、いずれか一方でも参照不可能の場合にはステップS1055に進む。ステップS1502において、両方とも参照可能な場合にはステップS1056に進み、いずれか一方でも参照不可能の場合にはステップS1059に進む。ステップS1503において、両方とも参照可能な場合にはステップS1060に進み、いずれか一方でも参照不可能の場合にはステップS1061に進む。ステップS1504において、両方とも参照可能な場合にはステップS1062に進み、いずれか一方でも参照不可能の場合にはステップS1063に進む。ステップS1505において、両方とも参照可能な場合にはステップS1064に進み、いずれか一方でも参照不可能の場合にはステップS1065に進む。ステップS1506において、両方とも参照可能な場合にはステップS1066に進み、いずれか一方でも参照不可能の場合にはステップS1067に進む。
ステップS1055では実施形態6と同様に左下方処理ユニットと右上処理ユニットが両方とも参照できないとして復号を行う。すなわち、左斜め下予測モード、垂直左斜め予測モード、水平斜め上予測モードは使用できない。これらの符号の場合は、固定値選択予測モードとなり、3つの固定値のいずれかが読み出される。
以上により、実施形態2で生成された各処理ユニットの参照の可否によって使用できるイントラ予測モードを使用しつつ、使用しないイントラ予測モードに対して複数の固定値を用いることで効率よく符号化された符号化データを復号することができる。また、発生頻度が少ない画素群の参照情報をまとめることで、復号側でも分岐の回数を削減でき演算量を抑えるとともに、予測値を格納しておくメモリ等の容量を削減する効果がある。
<実施形態8>
本実施形態では、実施形態3で生成された符号化データの復号処理について説明する。
本実施形態では、実施形態3で生成された符号化データの復号処理について説明する。
図19は本発明の実施形態8に係る画像復号装置の構成を示すブロック図である。本実施形態では、実施形態3で生成された符号化データの復号を例にとって説明する。実施形態7の図13と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。810は固定値選択予測で用いる固定値を復号する固定値復号部である。814はイントラ予測モード復号部であり、図13のイントラ予測モード復号部804とは固定値復号部810からの入力があることが異なる。
図20にイントラ予測モード復号部814の詳細なブロック図を示す。図20において、実施形態6の図14と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。951は端子であり、予測値復号部810から入力された予測値を入力する。954は固定値選択予測器であり、図15の固定値選択予測器914とは端子951からの予測値を入力することが異なる。
図21に固定値選択予測器954の詳細なブロック図を示す。図21において、実施形態6の図15と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。961は端子であり、固定値復号部810から図20の端子951を介して入力された固定値を入力する。962はスイッチであり、端子921からの入力と端子961からの入力を選択して出力する。スイッチ962は画像の復号前は端子961からの入力を選択する。処理ユニットの復号中は端子921からの入力を選択する。
上記の構造において、図19において固定値の符号化データが固定値復号部810に入力される。固定値復号部810ではこれらを復号してイントラ予測モード復号部814に入力する。イントラ予測モード復号部814において、固定値選択予測器954端子951から入力された固定値を端子903から入力される参照可否情報を入力し、参照可否情報に従って、固定値テーブル923から938に適宜格納する。
図22は、実施形態8に係る画像復号装置における画像復号処理を示すフローチャートである。図22において、実施形態7の図16と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
ステップS1901において、入力された固定値の符号化データを復号する。復号結果は参照可否情報毎に管理される。復号された固定値は端子951、端子961を介して図21のスイッチ962に入力される。スイッチ962は処理ユニット単位の復号を行う前は端子961からの入力を選択して出力する。
端子920から参照可否情報が入力され、セレクタ922は対応する固定値テーブルを出力先として選択する。復号された固定値は各固定値テーブルに格納され、全ての固定値の格納が終了したらスイッチ962は端子921からの入力を選択する。以下、実施形態6と同様に各ブロックの復号を行う。
以上の構成と動作により、符号化された画像データに基づいて算出された固定値を用いることで、固定値選択予測で用いる固定値が予め決められた固定値である場合に比べ、より予測誤差を小さくすることができる。
なお、本実施形態の復号装置は前のフレームから固定値を生成する実施形態4の符号化データも同様に復号することができる。さらには図23のように構成することも可能である。850は再構成された処理ユニットの平均値を算出し、保持する平均値保持部である。
画素データ再構成部805から出力された処理ユニットの平均値を算出し、これを平均値保持部850で保持し、図19の固定値復号部810からの出力の代わりにイントラ予測モード復号部814に入力する。入力された平均値は図20の端子951を介して固定値選択予測器954に入力される。図21に示すスイッチ962は処理単位ユニットの復号処理が終了後、端子961からの入力を受け付ける。端子920からは復号で使用した参照可否情報が入力されている。これによってセレクタ922は使用した固定値テーブルに対して復号して得られた平均値を固定値として格納する。
画素データ再構成部805から出力された処理ユニットの平均値を算出し、これを平均値保持部850で保持し、図19の固定値復号部810からの出力の代わりにイントラ予測モード復号部814に入力する。入力された平均値は図20の端子951を介して固定値選択予測器954に入力される。図21に示すスイッチ962は処理単位ユニットの復号処理が終了後、端子961からの入力を受け付ける。端子920からは復号で使用した参照可否情報が入力されている。これによってセレクタ922は使用した固定値テーブルに対して復号して得られた平均値を固定値として格納する。
このような構成をとることによって、実施形態5で生成された符号化データを復号することができる。これにより、直前の処理ユニットの平均値を固定値選択予測に用いることで固定値を動的に制御でき、符号化効率をより一層高めた符号化データを復号することが可能になる。
<実施形態9>
図1、図8、図11、図12、図13、図19、図23に示した各処理部はハードウェアでもって構成しているものとして上記実施形態では説明した。しかし、これらの図に示した各処理部で行なう処理をコンピュータプログラムでもって構成しても良い。
図1、図8、図11、図12、図13、図19、図23に示した各処理部はハードウェアでもって構成しているものとして上記実施形態では説明した。しかし、これらの図に示した各処理部で行なう処理をコンピュータプログラムでもって構成しても良い。
図24は、上記各実施形態に係る画像表示装置に適用可能なコンピュータのハードウェアの構成例を示すブロック図である。
CPU1401は、RAM1402やROM1403に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行うと共に、上記各実施形態に係る画像処理装置が行うものとして上述した各処理を実行する。即ち、CPU1401は、図1、図8、図11、図12、図13、図19、図23に示した各処理部として機能することになる。
RAM1402は、外部記憶装置1406からロードされたコンピュータプログラムやデータ、I/F(インターフェース)1409を介して外部から取得したデータなどを一時的に記憶するためのエリアを有する。更に、RAM1402は、CPU1401が各種の処理を実行する際に用いるワークエリアを有する。即ち、RAM1402は、例えば、フレームメモリとして割当てたり、その他の各種のエリアを適宜提供することができる。
ROM1403には、本コンピュータの設定データや、ブートプログラムなどが格納されている。操作部1404は、キーボードやマウスなどにより構成されており、本コンピュータのユーザが操作することで、各種の指示をCPU1401に対して入力することができる。表示部1405は、CPU1401による処理結果を表示する。また表示部1405は例えば液晶ディスプレイのようなホールド型の表示装置や、フィールドエミッションタイプの表示装置のようなインパルス型の表示装置で構成される。
外部記憶装置1406は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。外部記憶装置1406には、OS(オペレーティングシステム)や、図1、図8、図11、図12、図13、図19、図23に示した各部の機能をCPU1401に実現させるためのコンピュータプログラムが保存されている。更には、外部記憶装置1406には、処理対象としての各画像データが保存されていても良い。
外部記憶装置1406に保存されているコンピュータプログラムやデータは、CPU1401による制御に従って適宜RAM1402にロードされ、CPU1401による処理対象となる。I/F1407には、LANやインターネット等のネットワーク、投影装置や表示装置などの他の機器を接続することができ、本コンピュータはこのI/F1407を介して様々な情報を取得したり、送出したりすることができる。1408は上述の各部を繋ぐバスである。
上述の構成からなる作動は前述のフローチャートで説明した作動をCPU1401が中心となってその制御を行う。
<その他の実施形態>
本発明の目的は、前述した機能を実現するコンピュータプログラムのコードを記録した記憶媒体を、システムに供給し、そのシステムがコンピュータプログラムのコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたコンピュータプログラムのコード自体が前述した実施形態の機能を実現し、そのコンピュータプログラムのコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムのコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
本発明の目的は、前述した機能を実現するコンピュータプログラムのコードを記録した記憶媒体を、システムに供給し、そのシステムがコンピュータプログラムのコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたコンピュータプログラムのコード自体が前述した実施形態の機能を実現し、そのコンピュータプログラムのコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムのコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたコンピュータプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのコンピュータプログラムのコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムのコードが格納されることになる。
Claims (7)
- 入力された画像を処理対象の処理ユニットに分割する分割手段と、
前記処理対象の処理ユニットの周辺に位置する周辺ユニットから予測の方向を選択して前記処理ユニット内の画素値を予測する第1のイントラ予測手段と、
前記処理ユニットの周辺ユニットから参照する画素の平均値を算出して前記処理ユニット内の画素値を予測する第2のイントラ予測手段と、
複数の固定値から選択して予測値を決定する第3のイントラ予測手段と、
前記周辺ユニットが参照可能か否かを判定する判定手段と、
前記判定手段の結果に基づいて、前記第1のイントラ予測手段、前記第2のイントラ予測手段、前記第3のイントラ予測手段の結果を選択するイントラ予測モード決定手段と、
前記イントラ予測モード決定手段の結果を符号化するイントラ予測モード符号化手段を
有することを特徴とする画像符号化装置。 - 前記イントラ予測モード符号化手段が、
前記判定手段の結果に基づいて、前記第1のイントラ予測手段にて参照が行えないモードを判定するモード判定手段と、
前記モード判定手段の結果に基づいて前記参照が行えないモードに対する符号を前記第3のイントラ予測手段で選択される固定値を表す符号とすることを特徴とする請求項1に記載の画像符号化装置 - 復号の処理を行う処理ユニットの符号化データを入力する入力手段と、
前記処理対象の処理ユニットの周辺に位置する周辺ユニットが参照可能か否かを判定する判定手段と、
前記判定手段の結果に基づいて前記処理対象の処理ユニットのイントラ予測モード及び予測値を復号するイントラ予測モード復号手段と、
前記処理ユニットの周辺ユニットから予測の方向を選択し前記処理ユニット内の画素値を予測する第1のイントラ予測手段と、
前記周辺ユニットから参照する画素の平均値を算出して前記処理ユニット内の画素値を予測する第2のイントラ予測手段と、
復号された固定値によって予測値を決定する第3のイントラ予測手段と、
復号された前記イントラ予測モードに基づいて、前記第1のイントラ予測手段、前記第2のイントラ予測手段、前記第3のイントラ予測手段を選択する手段を有することを特徴とする画像復号装置。 - 入力された画像を処理対象の処理ユニットに分割する分割工程と、
前記処理対象の処理ユニットの周辺に位置する周辺ユニットから予測の方向を選択して前記処理ユニット内の画素値を予測する第1のイントラ予測工程と、
前記処理ユニットの周辺ユニットから参照する画素の平均値を算出して前記処理ユニット内の画素値を予測する第2のイントラ予測工程と、
複数の固定値から選択して予測値を決定する第3のイントラ予測工程と、
前記周辺ユニットが参照可能か否かを判定する判定工程と、
前記判定工程の結果に基づいて、前記第1のイントラ予測工程、前記第2のイントラ予測工程、前記第3のイントラ予測工程の結果を選択するイントラ予測モード決定工程と、
前記イントラ予測モード決定工程の結果を符号化するイントラ予測モード符号化工程を有することを特徴とする画像符号化装置における画像符号化方法。 - 復号の処理を行う処理ユニットの符号化データを入力する入力工程と、
前記処理対象の処理ユニットの周辺に位置する周辺ユニットが参照可能か否かを判定する判定工程と、
前記判定工程の結果に基づいて前記処理対象の処理ユニットのイントラ予測モード及び予測値を復号するイントラ予測モード復号工程と、
前記処理ユニットの周辺ユニットから予測の方向を選択し前記処理ユニット内の画素値を予測する第1のイントラ予測工程と、
前記周辺ユニットから参照する画素の平均値を算出して前記処理ユニット内の画素値を予測する第2のイントラ予測工程と、
復号された固定値によって予測値を決定する第3のイントラ予測工程と、
復号された前記イントラ予測モードに基づいて、前記第1のイントラ予測工程、前記第2のイントラ予測工程、前記第3のイントラ予測工程を選択する工程を有することを特徴とする画像復号装置における画像復号方法。 - コンピュータが読み出して実行することにより、前記コンピュータを、請求項1に記載の画像符号化装置として機能させることを特徴とするプログラム。
- コンピュータが読み出して実行することにより、前記コンピュータを、請求項3に記載の復号装置として機能させることを特徴とするプログラム。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011051268A JP2012191295A (ja) | 2011-03-09 | 2011-03-09 | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
| PCT/JP2012/001316 WO2012120820A1 (en) | 2011-03-09 | 2012-02-27 | Image coding apparatus, method for coding image, program therefor, image decoding apparatus, method for decoding image, and program therefor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011051268A JP2012191295A (ja) | 2011-03-09 | 2011-03-09 | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2012191295A true JP2012191295A (ja) | 2012-10-04 |
Family
ID=46797796
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2011051268A Withdrawn JP2012191295A (ja) | 2011-03-09 | 2011-03-09 | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP2012191295A (ja) |
| WO (1) | WO2012120820A1 (ja) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2016181800A (ja) * | 2015-03-24 | 2016-10-13 | 日本電気株式会社 | 映像符号化システム、映像符号化回路および映像符号化方法 |
| WO2016182317A1 (ko) * | 2015-05-12 | 2016-11-17 | 삼성전자 주식회사 | 인트라 예측을 수행하는 영상 복호화 방법 및 그 장치 및 인트라 예측을 수행하는 영상 부호화 방법 및 그 장치 |
| US9723326B2 (en) | 2014-03-20 | 2017-08-01 | Panasonic Intellectual Property Management Co., Ltd. | Image encoding method and image encoding appartaus |
| CN109429071A (zh) * | 2017-08-23 | 2019-03-05 | 富士通株式会社 | 图像编码装置、图像解码装置及图像处理方法 |
| CN111279704A (zh) * | 2017-10-27 | 2020-06-12 | 索尼公司 | 图像数据编码和解码 |
| WO2024080216A1 (ja) * | 2022-10-11 | 2024-04-18 | シャープ株式会社 | 画像復号装置および画像符号化装置 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8873625B2 (en) * | 2007-07-18 | 2014-10-28 | Nvidia Corporation | Enhanced compression in representing non-frame-edge blocks of image frames |
| KR101835342B1 (ko) * | 2007-10-16 | 2018-03-07 | 엘지전자 주식회사 | 비디오 신호 처리 방법 및 장치 |
| KR101394209B1 (ko) * | 2008-02-13 | 2014-05-15 | 삼성전자주식회사 | 영상의 인트라 예측 부호화 방법 |
| JP5238523B2 (ja) * | 2009-01-13 | 2013-07-17 | 株式会社日立国際電気 | 動画像符号化装置、動画像復号化装置、および、動画像復号化方法 |
-
2011
- 2011-03-09 JP JP2011051268A patent/JP2012191295A/ja not_active Withdrawn
-
2012
- 2012-02-27 WO PCT/JP2012/001316 patent/WO2012120820A1/en not_active Ceased
Cited By (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9723326B2 (en) | 2014-03-20 | 2017-08-01 | Panasonic Intellectual Property Management Co., Ltd. | Image encoding method and image encoding appartaus |
| US10038901B2 (en) | 2014-03-20 | 2018-07-31 | Panasonic Intellectual Property Management Co., Ltd. | Image encoding method and image encoding apparatus |
| JP2016181800A (ja) * | 2015-03-24 | 2016-10-13 | 日本電気株式会社 | 映像符号化システム、映像符号化回路および映像符号化方法 |
| WO2016182317A1 (ko) * | 2015-05-12 | 2016-11-17 | 삼성전자 주식회사 | 인트라 예측을 수행하는 영상 복호화 방법 및 그 장치 및 인트라 예측을 수행하는 영상 부호화 방법 및 그 장치 |
| US10742973B2 (en) | 2015-05-12 | 2020-08-11 | Samsung Electronics Co., Ltd. | Image decoding method for performing intra prediction and device thereof, and image encoding method for performing intra prediction and device thereof |
| CN109429071A (zh) * | 2017-08-23 | 2019-03-05 | 富士通株式会社 | 图像编码装置、图像解码装置及图像处理方法 |
| CN109429071B (zh) * | 2017-08-23 | 2023-09-08 | 富士通株式会社 | 图像编码装置、图像解码装置及图像处理方法 |
| CN111279704A (zh) * | 2017-10-27 | 2020-06-12 | 索尼公司 | 图像数据编码和解码 |
| JP2021500818A (ja) * | 2017-10-27 | 2021-01-07 | ソニー株式会社 | 画像データ符号化及び復号化 |
| US11949882B2 (en) | 2017-10-27 | 2024-04-02 | Sony Group Corporation | Image data encoding and decoding |
| US12137231B2 (en) | 2017-10-27 | 2024-11-05 | Sony Group Corporation | Image data encoding and decoding |
| WO2024080216A1 (ja) * | 2022-10-11 | 2024-04-18 | シャープ株式会社 | 画像復号装置および画像符号化装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2012120820A1 (en) | 2012-09-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12355968B2 (en) | Video decoding implementations for a graphics processing unit | |
| US10554995B2 (en) | Image coding apparatus, method for coding image, program therefor, image decoding apparatus, method for decoding image, and program therefor | |
| KR101903101B1 (ko) | 기준 모드 값의 도출 및 예측 모드를 나타내는 정보의 인코딩 및 디코딩 | |
| CN103329528B (zh) | 错误恢复改进的视频编码和解码 | |
| US8254455B2 (en) | Computing collocated macroblock information for direct mode macroblocks | |
| JP2012191295A (ja) | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム | |
| TW202101998A (zh) | 圖像編碼裝置、圖像解碼裝置、圖像編碼方法、圖像解碼方法 | |
| JP2010141821A (ja) | ストリーミングプロセッサおよびプロセッサシステム | |
| CN102075756A (zh) | 视频多帧预测编解码方法和装置 | |
| JP2023156465A (ja) | ビデオコーディングの方法、ビデオコーディング装置、非一時的なコンピュータ可読記憶媒体、ビットストリームおよびビットストリーム内のコンピュータプログラム | |
| JP2012147291A (ja) | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム | |
| CN103688542B (zh) | 图像编码方法、图像解码方法、图像编码装置、图像解码装置、图像编码程序以及图像解码程序 | |
| KR20130070191A (ko) | 최대코딩유닛 단위의 병렬 인-루프 필터링 방법 및 장치 | |
| TW202101995A (zh) | 圖像編碼裝置、圖像解碼裝置、圖像編碼方法、圖像解碼方法 | |
| JP5789172B2 (ja) | 画像処理装置及びプログラム | |
| WO2025053939A1 (en) | Backward reference updating for video coding | |
| JP2012142845A (ja) | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20140513 |