JP2012191295A - Image coding apparatus, image coding method, program, image decoding apparatus, image decoding method, and program - Google Patents
Image coding apparatus, image coding method, program, image decoding apparatus, image decoding method, and program 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
Description
本発明は画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラムに関し、特に画像中の画面内予測符号化方法に関する。 The present invention relates to an image encoding device, an image encoding method and program, an image decoding device, an image decoding method and a program, and more particularly to an intra-screen predictive encoding method in an image.
動画像の圧縮記録方法として、H.264/MPEG−4 AVC(以下H.264)が知られている。H.264は1セグメント地上波デジタル放送などで広く使われている。H.264の特徴は、従来の符号化方式に加えて4×4画素単位で整数変換を用い、イントラ予測が複数用意されている点にある。イントラ予測は4×4画素単位のほかに8×8画素単位でも用意されている。また、ループ・フィルタを用い、前後に複数のフレームの参照を可能にしつつ、動き補償を7種類のサブブロックで行うという特徴がある。また、MPEG−4と同様に、1/4画素精度の動き補償を行うことができる。さらに、エントロピー符号化として、ユニバーサル可変長符号化やコンテキスト適応可変長符号化等を用いるという特徴がある。 As a method for compressing and recording a moving image, H.264 is used. H.264 / MPEG-4 AVC (hereinafter referred to as H.264) is known. H. H.264 is widely used in one-segment terrestrial digital broadcasting. H. A feature of H.264 is that a plurality of intra predictions are prepared using integer conversion in units of 4 × 4 pixels in addition to the conventional encoding method. Intra prediction is prepared in units of 8 × 8 pixels in addition to units of 4 × 4 pixels. Another feature is that motion compensation is performed with seven types of sub-blocks using a loop filter and enabling reference to a plurality of frames before and after. Similarly to MPEG-4, it is possible to perform motion compensation with 1/4 pixel accuracy. Furthermore, as entropy coding, there is a feature that universal variable length coding, context adaptive variable length coding, or the like is used.
図25は従来のH.264のブロック図である。ブロック分割部1501は画像データをマクロブロックに分割し、処理ユニット分割部1502はブロック内を処理ユニットである4画素×4画素等のブロックに分割する。イントラ予測モード決定部1503は周辺の画素から処理対象のユニットのイントラ予測のモードを決定する。H.264の場合、予め決められた予測方向に周囲の所定の画素を参照する予測と、周囲の参照画素から平均値を求めて予測値とする予測がある。イントラ予測モード符号化部1504はイントラ予測モード決定部1503で決定されたモードを符号化する。H.264においてモードの符号化は、参照画素の有無にかかわらず、9つのモードの符号が割り当てられる。ただし、周辺の画素がなく参照画素が得られないモードに関しては符号として出力されない。しかし、符号として禁止されているだけで、周辺の画素がなく参照画素が得られないモードであっても、最大4ビットの符号を使用している。
したがって、本願発明では、参照画素がない場合に冗長になっている符号を用い、予測誤差を小さくすることによって、高効率のイントラ予測モード情報符号化・復号化を実現することを目的としている。
FIG. 2 is a block diagram of H.264. A block dividing
Accordingly, an object of the present invention is to realize highly efficient intra prediction mode information encoding / decoding by using a redundant code when there is no reference pixel and reducing a prediction error.
上述の問題点を解決するため、本発明の画像符号化装置は以下の構成を有する。すなわち、入力画像を大きさの異なる複数のブロックに分割し、前記分割されたブロック単位で画像を符号化する画像符号化方法において、処理対象ブロックの属性情報を取得する取得工程と、前記処理対象ブロックの画質を制御する制御パラメータを設定する設定工程と、前記属性情報に基づいて予測制御パラメータを決定する決定工程と、前記設定工程で算出された前記制御パラメータと前記予測制御パラメータとの差分値を算出する算出工程と、前記算出工程で算出された差分値を符号化する符号化工程とを備えることを特徴とする。 In order to solve the above-described problems, the image coding apparatus of the present invention has the following configuration. That is, in an image encoding method that divides an input image into a plurality of blocks having different sizes and encodes an image in units of the divided blocks, an acquisition step of acquiring attribute information of a processing target block, and the processing target A setting step for setting a control parameter for controlling the image quality of the block; a determination step for determining a prediction control parameter based on the attribute information; and a difference value between the control parameter and the prediction control parameter calculated in the setting step. And a coding step for coding the difference value calculated in the calculation step.
本発明により、予測誤差を抑えることで、高効率のイントラ予測モード情報符号化・復号化が可能になる。 According to the present invention, it is possible to perform highly efficient intra prediction mode information encoding / decoding by suppressing prediction errors.
以下、添付の図面を参照して、本願発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。 Hereinafter, the present invention will be described in detail based on the preferred embodiments with reference to the accompanying drawings. The configurations shown in the following embodiments are merely examples, and the present invention is not limited to the illustrated configurations.
<実施形態1>
以下、本発明の実施形態を、図面を用いて説明する。図1は本実施形態の画像符号化装置を示すブロック図である。図1において、101は入力画像を複数のブロックに分割するブロック分割部である。説明を容易にするために、入力画像は8ビットの画素値を持つこととするが、これに限定されない。
<
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing an image encoding apparatus according to this embodiment. In FIG. 1,
102はブロック分割部101で分割された各ブロックを、該ブロックと同一サイズもしくはブロックよりも小さいサイズの処理ユニットに分割する処理ユニット分割部である。103は各処理ユニットにおいてイントラ予測モード(画面内予測モード)を決定し、予測誤差を出力するイントラ予測モード決定部である。104はイントラ予測モード決定部103で決定したイントラ予測モードを符号化するイントラ予測モード符号化部である。105はイントラ予測の予測誤差を変換・量子化する変換・量子化部であり、106は変換・量子化部105の結果を符号化するエントロピー符号化部である。107は符号化対象の処理ユニットの周辺の処理ユニット(周辺ユニット)が参照可能かを判定する周辺処理ユニット判定部である。108は予測・変換・量子化部105の逆の動作により、復号画像と同じ画像を生成する逆量子化・逆変換部である。109は逆量子化・逆変換部108の出力を格納する復号画像保持部である。
A processing unit dividing
上記画像符号化装置における画像の符号化動作を以下に説明する。本実施形態では動画像データをフレーム単位に入力する構成となっているが、1フレーム分の静止画像データを入力する構成としても構わない。また、本願発明は、説明を容易にするため、イントラ予測符号化の処理のみを説明するが、これに限定されずインター予測符号化の処理においても適用可能である。 An image encoding operation in the image encoding apparatus will be described below. In the present embodiment, moving image data is input in units of frames, but still image data for one frame may be input. In addition, for ease of explanation, the present invention describes only intra prediction encoding processing, but is not limited thereto, and is applicable to inter prediction encoding processing.
本実施形態では説明のため、ブロック分割部101においては8画素×8画素のブロックに分割するものとして説明するがこれに限定されない。またブロックの分割に関しては縦横1/2のサイズに4分割する方法を例にとって説明するが、これにブロックの形状、サイズは限定されない。
In the present embodiment, for the sake of explanation, the
入力された1フレーム分の画像データはブロック分割部101に入力され、8画素×8画素のブロック単位に分割される。ブロック単位に分割された画像データはさらに処理ユニット分割部102に入力され、ブロック分割部101で分割されたブロックと同一もしくは小さい大きさの処理ユニット(4画素×4画素)に分割される。また、処理ユニット分割部102は、符号化対象の処理ユニットの位置を周辺処理ユニット判定部107に入力する。
The input image data for one frame is input to the
具体的には、符号化対象の処理ユニット内の左上画素のフレーム内での垂直位置および水平位置を入力する方法などが考えられるがこれに限定されない。フレーム内での符号化対象ブロックのブロック番号およびブロック内での符号化対象処理ユニットの処理ユニット番号を入力する方法を用いてもよい。 Specifically, a method of inputting the vertical position and the horizontal position in the frame of the upper left pixel in the processing unit to be encoded can be considered, but the present invention is not limited to this. A method of inputting the block number of the encoding target block in the frame and the processing unit number of the encoding target processing unit in the block may be used.
周辺処理ユニット判定部107では、符号化対象の処理ユニットの位置とこれまでに符号化済みの処理ユニットの状況から、符号化対象の処理ユニットの周辺の処理ユニットが参照可能か否かを判定する。周辺処理ユニット判定部107は、判定した参照可能情報をイントラ予測モード決定部103およびイントラ予測モード符号化部104に出力する。
処理ユニット分割部102の結果である処理ユニット単位に分割された画像データおよび周辺処理ユニット判定部107の出力である参照可能情報はイントラ予測モード決定部103に入力される。
The peripheral processing
The image data divided into processing units as a result of the processing
説明を簡単にするために、図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として与える。
In order to simplify the explanation, FIG. 2 shows an example of an intra prediction method. In FIG. 2A, 201 represents a processing unit (4 pixels × 4 pixels) that performs intra prediction. The
ave = (V1 + V2 + V3 + V4 + H1 + H2 + H3 + H4) / 8 (1)
In the mean value prediction mode, when the
図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とする。
FIG. 2 (e) is a diagram showing the prediction in the diagonally lower left direction. The spatially upper pixel group 202 (V2 to V4) and the upper right pixel group 204 (V5 to V8) adjacent to the
FIG. 2F is a diagram showing a state of prediction in the diagonally lower right direction. The spatially upper pixel group 202 (V1, V2) adjacent to the
FIG. 2 (g) is a diagram showing a state of prediction in the vertical right oblique direction, and is oblique from the spatially upper pixel group 202 (V1 to V3) adjacent to the
FIG. 2H is a diagram showing a state of prediction in the horizontal obliquely downward direction, and is oblique from the spatially left pixel group 203 (H1 to H3) adjacent to the
FIG. 2 (i) is a diagram showing the prediction in the vertical left diagonal direction, and is diagonal from the spatially upper pixel group 202 (V2 to V4) and the upper right pixel 204 (V5) adjacent to the
FIG. 2 (j) is a diagram showing the state of prediction in the horizontal diagonal upward direction, from the spatially left pixel group 203 (H 2 to H 4) and the lower left pixel 206 (H 5) adjacent to the
さらに、図2(a)において、上方の画素群202や左方の画素群203が参照不能な場合、予め決められた固定値群から予測値を選択して予測を行う。本予測を固定値選択予測モードと呼び、予測モード番号を9とする。
Further, in FIG. 2A, when the
イントラ予測モード決定部103では以上の10種類のイントラ予測モードから最適なイントラ予測モードが決定され、イントラ予測モード符号化部104、変換・量子化部105に出力される。さらにイントラ予測モード符号化部104は、イントラ予測モードを、符号化済みの処理ユニットのイントラ予測のモードとして保持し、次以降の判定の際に参照される。また、周辺処理ユニット判定部107では下記の5つの処理ユニット参照の可否を1ビットの情報で表すこととする。
(1)上方画素群202を含む処理ユニット
(2)左方画素群203を含む処理ユニット
(3)左上方画素205を含む処理ユニット
(4)左下方画素206を含む処理ユニット
(5)右上方画素204を含む処理ユニット
また、処理ユニットが参照可能な場合は1を参照が不可能な場合を0とする。これらの1ビット上記の順に並べた5ビットの情報を参照可否情報とする。ただし、参照する処理ユニット、ビットの構成はこれに限定されない。
The intra prediction
(1) Processing unit including upper pixel group 202 (2) Processing unit including left pixel group 203 (3) Processing unit including upper left pixel 205 (4) Processing unit including lower left pixel 206 (5) Upper right Processing
一方、イントラ予測モード符号化部104では、周辺処理ユニット判定部107の出力である参照可能情報を入力としてイントラ予測モード決定部103の出力であるイントラ予測モードを所定の方法で符号化し、イントラ予測モード符号化データを得る。
On the other hand, the intra prediction
図3にイントラ予測モード符号化部104の詳細なブロック図を示す。
図3において、130は画像データを入力する端子であり、処理ユニット分割部102から処理ユニットの画素値が入力される。131は、復号画像保持部109から、周辺の処理ブロックの復号結果である参照画素の画素値を入力する端子である。
133から142はそれぞれイントラ予測を行う予測器であるが、それぞれ端子130から処理ユニットの画素値を、端子131から参照画素を入力し、周辺処理ユニット判定部107から周辺の処理ユニットの参照可否情報を入力する。
FIG. 3 shows a detailed block diagram of the intra prediction
In FIG. 3,
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に予測値を出力する端子である。
A
図4に固定値選択予測器142の詳細なブロック図を示す。150は端子であり、図1の周辺処理ユニット判定部107で算出された参照可否情報を入力する。167は端子であり、図3の端子130経由で入力された処理ユニットの画素値が入力される。
FIG. 4 shows a detailed block diagram of the fixed
151から166は固定値を格納した固定値テーブルである。各固定値テーブルでは、参照可否情報に基づいて複数個の固定値を格納している。この固定値の個数は、所定の処理ユニットが参照できない場合に使用できない予測モードの数に対応している。すなわち、所定の処理ユニットが参照できない場合に使用を禁止されている予測モードに割り当てられるビットに対して、該予測モードに代えて、最小予測誤差を最小にできる可能性のある固定値を割り当てている。 Reference numerals 151 to 166 denote fixed value tables storing fixed values. Each fixed value table stores a plurality of fixed values based on the reference availability information. The number of fixed values corresponds to the number of prediction modes that cannot be used when a predetermined processing unit cannot be referred to. In other words, instead of the prediction mode, a fixed value that can minimize the minimum prediction error is assigned to a bit assigned to a prediction mode that is prohibited from being used when a predetermined processing unit cannot be referred to. Yes.
固定値テーブル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のような値でも良い。
The fixed value table 151 stores fixed values used when the reference availability information is 11110. That is, when the upper right processing unit cannot be referred to, two fixed values are stored. For example, values such as 0 and 255 may be used. This value is not limited to this, and values such as 64 and 192 may be used.
The fixed value table 152 stores a fixed value used when the reference availability information is 11101. That is, if the left processing unit cannot be referred to, one fixed value is stored. For example, a value such as 128 may be used.
The fixed value table 153 stores fixed values used when the reference availability information is 11100. That is, when the upper right and lower left processing units cannot be referred to, three predicted values are stored. For example, values such as 64, 128, and 192 may be used.
The fixed value table 154 stores fixed values used when the reference availability information is 11011. That is, when the upper left processing unit cannot be referred to, three fixed values are stored. For example, values such as 64, 128, and 192 may be used.
The fixed value table 155 stores fixed values used when the reference availability information is 11010. That is, when the upper left and upper right processing units cannot be referred to, five fixed values are stored. For example, values such as 0, 64, 128, 192, and 255 may be used.
The fixed value table 156 stores fixed values used when the reference availability information is 11001. That is, when the upper left and lower left processing units cannot be referred to, four fixed values are stored. For example, values such as 0, 85, 170, and 255 may be used.
The fixed value table 157 stores fixed values used when the reference availability information is 11000. That is, if the upper left, lower left, and upper right processing units cannot be referred to, six fixed values are stored. For example, values such as 0, 51, 102, 153, 204, and 255 may be used.
The fixed value table 158 stores fixed values used when the reference availability information is 10111 or 10101. That is, when the left processing unit cannot be referred to, or when the left and lower left processing units cannot be referred to, four fixed values are stored. For example, values such as 0, 85, 170, and 255 may be used.
The fixed value table 159 stores fixed values used when the reference availability information is 10110 or 10100. That is, when the left and upper right processing units cannot be referred to, or when the left, lower left and upper right processing units cannot be referred to, six fixed values are stored. For example, values such as 0, 51, 102, 153, 204, and 255 may be used.
The fixed value table 160 stores fixed values used when the reference availability information is 10011 or 10001. That is, when the left and upper left processing units cannot be referred to, or when the left, upper left and lower left processing units cannot be referred to, five fixed values are stored. For example, values such as 0, 64, 128, 192, and 255 may be used.
The fixed value table 161 stores fixed values used when the reference availability information is 10010 or 10000. That is, when only the upper and upper left processing units or the upper processing unit can be referred to, or when only the upper processing unit can be referred to, seven fixed values are stored. For example, values such as 0, 43, 85, 128, 170, 213, and 255 may be used.
The fixed value table 162 stores fixed values used when the reference availability information is 01111 or 01110. That is, when the upper processing unit cannot be referred to, or when the upper and upper right processing units cannot be referred to, five fixed values are stored. For example, values such as 0, 64, 128, 192, and 255 may be used.
The fixed value table 163 stores fixed values used when the reference availability information is 01101 or 01100. That is, when the upper and lower left processing units cannot be referred to, or when the upper, lower left and upper right processing units cannot be referred to, six fixed values are stored. For example, values such as 0, 51, 102, 153, 204, and 255 may be used.
The fixed value table 164 stores fixed values used when the reference availability information is 01011 or 01010. That is, when the upper and upper left processing units cannot be referred to, or when the upper, upper left and upper right processing units cannot be referred to, six fixed values are stored. For example, values such as 0, 51, 102, 153, 204, and 255 may be used.
The fixed value table 165 stores fixed values used when the reference availability information is 01001 or 01000. That is, when only the left processing unit can be referred to, or when only the left and upper right processing units can be referred to, seven fixed values are stored. For example, values such as 0, 43, 85, 128, 170, 213, and 255 may be used.
The fixed value table 166 stores fixed values used when the reference availability information is 00111, 10010, 00101, 00100, 0101, 00001, 00001, 00000. That is, when both the upper and left processing units cannot be referred to, eight fixed values are stored. For example, values such as 0, 36, 73, 109, 146, 182, 219, and 255 may be used.
なお、各固定値テーブルが格納可能な固定値の個数は、上述で示した数以下であってももちろん構わない。また、割り当てる固定値の数が同じものを同じ固定値テーブルとしても構わない。 Of course, the number of fixed values that can be stored in each fixed value table may be equal to or less than the number shown above. Further, the same fixed value table may be assigned to the same number of fixed values to be assigned.
168は端子150から入力される参照可否情報によって、入力先を選択するセレクタである。169は入力されたそれぞれの固定値に対して、端子167から入力される画素値を用いて予測誤差を算出する予測誤差算出器である。170はそれぞれの固定値に対する予測誤差から最小値を選択し、その予測値を出力する予測値決定器である。171は選択された予測値と予測誤差の最小値を図3の予測モード決定器145に出力する端子である。
以上の構成において、セレクタ168は端子150から入力された参照可否情報に基づいて入力先を選択する。例えば、端子150から参照可否情報11001が入力されたら、固定値テーブル156を選択する。
In the above configuration, the
予測誤差算出器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に入力される。
The
Ei (x, y) = (X (x, y) −Pi) (2)
For the above input, i changes from 0 to 3, and fixed values P0 = 0, P1 = 85, P2 = 170, and P3 = 255. The fixed value Pi corresponding to the calculated prediction error Ei is input to the
Ai = ΣΣEi (x, y) (3)
A prediction error Emin (x, y) and a fixed value Pmin at which Ai becomes the minimum value are obtained. The prediction error Emin (x, y) and the fixed value Pmin are input to the
図3に戻り、各予測器は周辺処理ユニット判定部107から入力された参照可否情報を参考にそれぞれの処理ユニット単位で動作・非動作を行い、それぞれの予測モードでの予測誤差を算出する。予測モード決定器143は動作する予測器から予測誤差を入力する。固定値選択予測器142からは予測誤差を算出した固定値も入力する。その後、各予測器から入力された予測誤差の絶対値和をそれぞれ算出し、絶対値和が最小となると予測誤差を決定する。その予測誤差を算出した予測器の予測モードをイントラ予測モードとして決定し、その予測モード番号をイントラ予測モード符号化部104に入力する。また、その際の予測誤差は端子145を介して、変換・量子化部105にも入力される。
Returning to FIG. 3, each predictor operates / inactivates in units of each processing unit with reference to the reference availability information input from the peripheral processing
図1に戻り、イントラ予測モード符号化部104は入力された予測モード番号を符号化する。イントラ予測モード符号化部104では符号化済みの周囲のイントラ予測モードから符号化処理する処理ユニットのイントラ予測モードを予測する。予測の結果が実際の処理ユニットのイントラ予測モードと一致した場合は1を、そうでなければ0を予測モードフラグとして符号化する。予測モードフラグが0であれば、符号化済みの周囲のイントラ予測モードと固定値選択予測モードを除いた所定種類のモードを3ビットで符号化する。
Returning to FIG. 1, the intra prediction
イントラ予測モードとして予測モード番号9が入力された、すなわち固定値選択予測が選択された場合、入力された固定値を符号化する。イントラ予測モード符号化部104は周辺処理ユニット判定部107から参照可否情報を取得する。取得された参照可否情報によって、使用されない予測モードが存在するので、それらのモード判定を行う。表1に各参照可否情報によって使用されない予測モード番号を示す。
When the prediction mode number 9 is input as the intra prediction mode, that is, when fixed value selection prediction is selected, the input fixed value is encoded. The intra prediction
これらの不使用の予測モード番号に対して、固定値をあてはめる。例えば、参照可否情報11001の場合、不使用の予測モード番号は4、5、6、8の4つとなる。使用される固定値テーブルは固定値テーブル156であり、4つの予測値を格納しており、これを順にあてはめる。本実施形態では予測値を0、85、170、255とした。したがって、予測モード番号4に予測値0を、予測モード番号5に予測値85を、予測モード番号6に予測値170を、予測モード番号8に予測値255をあてはめる。
A fixed value is applied to these unused prediction mode numbers. For example, in the case of the reference availability information 11001, there are four non-use prediction mode numbers of 4, 5, 6, and 8. The fixed value table used is the fixed value table 156, which stores four predicted values, which are applied in order. In the present embodiment, the predicted values are 0, 85, 170, and 255. Therefore, the
このようにて得られた予測モード番号を上記の方法で3ビットに符号化する。符号化されたデータはエントロピー符号化部106に入力される。また、イントラ予測モード決定部103で算出された予測誤差は変換・量子化部105に入力される。
The prediction mode number obtained in this way is encoded into 3 bits by the above method. The encoded data is input to the
変換・量子化部105ではその予測誤差が変換・量子化される。量子化された係数データはエントロピー符号化部106で符号化された後、イントラ予測モード符号化部104で符号化されたイントラ予測モード符号化データとともにビットストリームとして出力される。
The transform /
図5は、実施形態1に係る画像符号化装置における画像符号化処理を示すフローチャートである。まず、ステップS301にて、ブロック分割部101は、フレーム単位の入力画像をブロック単位(8画素×8画素)に分割する。
FIG. 5 is a flowchart illustrating image encoding processing in the image encoding device according to the first embodiment. First, in step S301, the
ステップS302にて、処理ユニット分割部102はブロック分割部101にて分割されたそれぞれのブロックに対して、該ブロックと同一もしくは小さい大きさの処理ユニット(4画素×4画素)に分割する。
ステップS303にて、イントラ予測モード決定部103は、符号化対象の処理ユニットのイントラ予測モードの決定と符号化対象の処理ユニットの予測誤差の算出を行う。決定されたイントラ予測モードは保持される。また、イントラ予測モード符号化部104はイントラ予測モード決定部103で決定された予測モードの符号化を行う。本処理に関しての詳細は後述する。
ステップS304にて、変換・量子化部105は、入力された予測誤差の変換・量子化を行う。
In step S302, the processing
In step S303, the intra prediction
In step S304, the transform /
次にステップS305にて、エントロピー符号化部106において、量子化された係数をエントロピー符号化し、イントラ予測モードの符号とともに出力する。また、同時に逆量子化・逆変換部108にて逆量子化、逆変換を行い、復号画像保持部109において保持し、以降の処理ユニットの予測に用いる。
Next, in step S305, the
ステップS306において、画像符号化装置は、ブロック内の全ての処理ユニットの符号化が終了したか否かの判定を行い、終了していればステップS307に進み、終了していなければ次の処理ユニットを対象としてステップS302に戻る。
ステップS307にて、画像符号化装置は、フレーム内の全てのブロックの符号化が終了したか否かの判定を行い、終了していれば全ての動作を停止して処理を終了し、そうでなければ次のブロックを対象としてステップS301に戻る。
In step S306, the image coding apparatus determines whether or not coding of all the processing units in the block has been completed. If it has been completed, the process proceeds to step S307. If not, the next processing unit is determined. The process returns to step S302.
In step S307, the image encoding apparatus determines whether or not encoding of all the blocks in the frame has been completed, and if completed, stops all operations and ends the process. If not, the process returns to step S301 for the next block.
図6はステップS303の詳細な処理を示すフローチャートである。まず、周辺処理ユニット判定部107は、ステップS401〜S403、S440〜S452で符号化対象の処理ユニットの周辺の所定の処理ユニットが参照可能か否かの判定を行う。
FIG. 6 is a flowchart showing detailed processing of step S303. First, the peripheral processing
具体的にはステップ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は、固定値選択予測モード以外の場合にはその予測モード番号を符号化する。固定値選択予測モードの場合は使用不可能な予測モード番号にぞれぞれの予測値を割り当てて符号化する。
Specifically, in step S401, it is determined whether or not a processing unit existing above the processing unit to be encoded can be referred to. If reference is possible, the process proceeds to step S402. If reference is impossible, step S402 is performed. The process proceeds to S403.
In step S402, it is determined whether or not the processing unit existing on the left side of the processing unit to be encoded can be referred to. If reference is possible, the process proceeds to step S440. If reference is not possible, the process proceeds to step S441. .
Also in step S403, it is determined whether or not the processing unit existing on the left side of the processing unit to be encoded can be referred to. If reference is possible, the process proceeds to step S442. If reference is impossible, the process proceeds to step S412. .
In steps S440, S441, and S442, it is determined whether or not the processing unit existing at the upper left of the processing unit to be encoded can be referred to. In step S440, if the reference is possible, the process proceeds to step S443. If the reference is impossible, the process proceeds to step S444. In step S441, if the reference is possible, the process proceeds to step S451. If the reference is impossible, the process proceeds to step S452. In step S442, if reference is possible, the process proceeds to step S445, and if reference is not possible, the process proceeds to step S446.
In steps S443 and S444, it is determined whether or not the processing unit existing at the lower left of the processing unit to be encoded can be referred to. In step S443, if reference is possible, the process proceeds to step S447, and if reference is not possible, the process proceeds to step S448. In step S444, if reference is possible, the process proceeds to step S449, and if reference is not possible, the process proceeds to step S450.
In steps S445 to S452, it is determined whether or not the processing unit existing at the upper right of the processing unit to be encoded can be referred to.
In step S445, if reference is possible, the process proceeds to step S486, and if reference is not possible, the process proceeds to step S489. In step S446, if the reference is possible, the process proceeds to step S492. If the reference is impossible, the process proceeds to step S495. In step S447, if the reference is possible, the process proceeds to step S404. If the reference is impossible, the process proceeds to step S453. In step S448, if the reference is possible, the process proceeds to step S456. If the reference is impossible, the process proceeds to step S459. In step S449, if the reference is possible, the process proceeds to step S462. If the reference is impossible, the process proceeds to step S465. In step S450, if reference is possible, the process proceeds to step S468, and if reference is not possible, the process proceeds to step S471. In step S451, if reference is possible, the process proceeds to step S474, and if reference is not possible, the process proceeds to step S477. In step S452, if the reference is possible, the process proceeds to step S480. If the reference is impossible, the process proceeds to step S483.
In step S404, since any of the peripheral processing units can be referred to, the optimal intra prediction of the processing unit is selected from all the intra prediction modes (average value prediction mode and 8-direction prediction mode) except the fixed value selection prediction mode. Determine the mode. Regarding the method for determining the optimal intra prediction mode, as described above, it is common to calculate the prediction error for each intra prediction mode and determine the mode that generated the prediction value with the smallest prediction error. It is not limited to.
In step S405, the intra prediction
In step S453, the reference availability information is a case where the upper, left, upper left, and lower left processing units can be referred to and the upper right processing unit cannot be referred to. In this case, the lower left diagonal prediction mode and the vertical left diagonal prediction mode cannot be used. Each prediction error is calculated using prediction modes other than these.
In step S454, the intra prediction
In step S456, the reference availability information is a case where the upper, left, upper left and upper right processing units can be referred to and the lower left processing unit cannot be referred to. In this case, the horizontal oblique upper prediction mode cannot be used. Each prediction error is calculated using a prediction mode other than this.
In step S457, the intra prediction
In step S459, the reference availability information is a case where the upper, left, and upper left processing units can be referred to and the lower left processing unit and the upper right processing unit cannot be referred to. In this case, the lower left diagonal prediction mode, the vertical left diagonal prediction mode, and the horizontal diagonal upper prediction mode cannot be used. Each prediction error is calculated using prediction modes other than these.
In step S460, the intra prediction
In step S462, the reference availability information is a case where the upper, left, lower left and upper right processing units can be referred to and the upper left processing unit cannot be referred to. In this case, the lower right diagonal prediction mode, the vertical right diagonal prediction mode, and the horizontal diagonal lower prediction mode cannot be used. Each prediction error is calculated using prediction modes other than these.
In step S463, the intra prediction
In step S465, the reference availability information is a case where the upper, left and upper left processing units can be referred to, and the lower left and upper right processing units cannot be referred to. In this case, the left oblique lower prediction mode, the right oblique lower prediction mode, the vertical right oblique prediction mode, the horizontal oblique lower prediction mode, and the vertical left oblique prediction mode cannot be used. Each prediction error is calculated using prediction modes other than these.
In step S466, the intra prediction
In step S468, the reference availability information is a case where the upper, left and upper right processing units can be referred to and the upper left and lower left processing units cannot be referred to. In this case, the lower right prediction mode, the lower right prediction mode, the lower horizontal prediction mode, and the upper horizontal prediction mode cannot be used. Each prediction error is calculated using a prediction mode other than this.
In step S469, the intra prediction
In step S471, the reference availability information is a case where the upper and left processing units can be referred to and the upper left, lower left and upper right processing units cannot be referred to. In this case, only the vertical prediction mode and the horizontal prediction mode can be used. Each prediction error is calculated using these prediction modes.
In step S472, the intra prediction
In step S474, the reference availability information is a case where the upper, upper left, and upper right processing units can be referred to and the left processing unit cannot be referred to. In this case, the horizontal prediction mode, the diagonally lower right prediction mode, the horizontal diagonally lower prediction mode, and the horizontal diagonally upper prediction mode cannot be used. Each prediction error is calculated using a prediction mode other than this.
In step S475, the intra prediction
In step S477, the reference availability information is a case where the upper and upper left processing units can be referred to and the left and upper right processing units cannot be referred to. In this case, only the vertical prediction mode and the vertical right diagonal prediction mode can be used. Each prediction error is calculated using these prediction modes.
In step S478, the intra prediction
In step S480, the reference availability information is a case where the upper and upper right processing units can be referred to and the left and upper left processing units cannot be referred to. In this case, the vertical prediction mode, the lower left diagonal prediction mode, and the vertical left diagonal prediction mode can be used. Each prediction error is calculated using these prediction modes.
In step S481, the intra prediction
In step S <b> 483, the reference availability information is a case where the upper processing unit can refer and the left, upper left and upper right processing units cannot be referred to. In this case, only the vertical prediction mode can be used. Each prediction error is calculated using this prediction mode.
In step S484, the intra prediction
In step S486, the reference availability information is a case where the left, upper left, and lower left processing units can be referred to and the upper processing unit cannot be referred to. In this case, a horizontal prediction mode, a horizontal oblique lower prediction mode, and a horizontal oblique upper prediction mode can be used. Each prediction error is calculated using these prediction modes.
In step S487, the intra prediction
In step S489, the reference availability information is a case where the left and upper left processing units can be referred to and the upper and lower left processing units cannot be referred to. In this case, only the horizontal prediction mode and the horizontal oblique lower prediction mode can be used. Each prediction error is calculated using these prediction modes.
In step S490, the intra prediction
In step S492, the reference availability information is a case where the left and lower left processing units can be referred to and the upper and upper left processing units cannot be referred to. In this case, only the horizontal prediction mode and the horizontal oblique upper prediction mode can be used. Each prediction error is calculated using a prediction mode other than this.
In step S493, the intra prediction
In step S495, the reference availability information is a case where the left processing unit can refer to the upper, upper left, and lower left processing units. In this case, only the horizontal prediction mode can be used. Each prediction error is calculated using this prediction mode.
In step S496, the intra prediction
In step S412, the reference availability information is a case where all the surrounding processing units cannot be referred to. In this case, each prediction error is calculated using an average value prediction mode in which the prediction value is 128 or a fixed value selection prediction mode.
In step S413, the intra prediction
In steps S455, S458, S461, S464, S467, S470, S473, S476, S479, S482, S485, S488, S491, S494, S497, and S414, the intra prediction mode is encoded. The intra prediction
以上により、特にステップS453からステップS497とステップS412からステップS414の処理により、使用しないイントラ予測モードの代わりに固定値を選択して符号化することにより、イントラ予測において予測誤差を大きく抑制することができる。 As described above, the prediction error is greatly suppressed in the intra prediction by selecting and encoding a fixed value instead of the unused intra prediction mode, particularly by the processing from step S453 to step S497 and from step S412 to step S414. it can.
なお、本実施形態においては、イントラ予測のみを用いるフレームを例にとって説明したが、インター予測を使用できるフレームにおいても対応できることは明らかである。さらに、本実施形態では説明のために分割ブロックを8画素×8画素、処理ユニットを4画素×4画素としたが、これに限定されない。例えば16画素×16画素等のブロックサイズへの変更が可能であり、また、ブロックの形状も正方形に限定されず、8画素×4画素などの長方形で発明の本質は変わらない。また、予測を4画素×4画素の場合のみ説明したが、ブロックを分割しない場合、8画素×8画素で予測を行っても、周囲のブロックの状態から同様に固定値選択予測を行えることは明らかである。 In the present embodiment, a frame using only intra prediction has been described as an example, but it is obvious that a frame that can use inter prediction can also be used. Furthermore, in this embodiment, for the sake of explanation, the divided block is 8 pixels × 8 pixels and the processing unit is 4 pixels × 4 pixels, but the present invention is not limited to this. For example, the block size can be changed to 16 pixels × 16 pixels or the like, and the shape of the block is not limited to a square, and the essence of the invention is not changed to a rectangle such as 8 pixels × 4 pixels. In addition, although the description has been given only for the case of 4 pixels × 4 pixels, when the block is not divided, even if the prediction is performed with 8 pixels × 8 pixels, the fixed value selection prediction can be similarly performed from the state of the surrounding blocks. it is obvious.
また、本実施形態ではぞれぞれの周囲ユニットで対象処理ユニットに隣接乃至は斜めに接している画素を参照したが、これに限定されない。例えば上方処理ユニット画素の内、処理ユニット201に隣接する上方画素群202のみを参照したがこれに限定されず、上方処理ユニットの他の画素を参照してももちろん構わない。
In the present embodiment, the pixels adjacent to or obliquely in contact with the target processing unit in each peripheral unit are referred to, but the present invention is not limited to this. For example, among the upper processing unit pixels, only the
また、本実施形態では上方画素群202、左方画素群203、右上方画素群204、右上画素205、左下画素206を参照してイントラモード予測を行ったが、これに限定されない。また、予測モードもこれに限定されない本実施形態では45度の角度によって予測を行ったがこれに限定されず、例えば15度単位の角度によって方向を増やしても構わない。また、本実施形態では符号についてビットの割り当てを行ったが、これに限定されず、前に処理した処理ユニットの予測モード等を参照しての符号化や、算術符号を用いての符号化を行っても構わない。
In this embodiment, the intra mode prediction is performed with reference to the
また、参照の可否の判定の順はこれに限定されず、左方処理ユニットの参照の可否から判定しても構わない。また、ブロックサイズや形状及び予測の方向はこれに限定されない。また、本実施形態では不使用の全てのイントラ予測モード番号に予測値を割り当てたが、これに限定されず、不使用のイントラ予測モード番号が残っていても構わない。さらには他の用途にこれらの不使用のイントラ予測モード番号を割り当てても構わない。 Further, the order of determining whether or not reference is possible is not limited to this, and determination may be made based on whether or not the left processing unit can be referenced. Further, the block size, shape, and prediction direction are not limited to this. In the present embodiment, the prediction value is assigned to all unused intra prediction mode numbers. However, the present invention is not limited to this, and unused intra prediction mode numbers may remain. Furthermore, these unused intra prediction mode numbers may be assigned to other uses.
<実施形態2>
実施形態1のステップS303においては、上方画素群202、左方画素群203、右上方画素群204、右上画素205、左下画素206の全てについて条件分岐を行い、符号化を行った。本実施形態では条件分岐を省略した場合について説明する。
<Embodiment 2>
In step S303 of the first embodiment, conditional branching is performed for all of the
図7は、図5のステップS303の実施形態2における詳細な処理を示すフローチャートある。図7において実施形態1の図6と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。 FIG. 7 is a flowchart showing detailed processing in the second embodiment in step S303 of FIG. In FIG. 7, the same numbers are assigned to portions that perform the same functions as those in FIG. 6 of the first embodiment, and description thereof is omitted.
ステップS501からS506において、符号化対象の処理ユニットの左下方処理ユニットと右上処理ユニットが参照可能か否かを判定する。
ステップS501において、両方とも参照可能な場合にはステップS404に進み、いずれか一方でも参照不可能の場合にはステップS459に進む。ステップS502において、両方とも参照可能な場合にはステップS462に進み、いずれか一方でも参照不可能の場合にはステップS471に進む。ステップS503において、両方とも参照可能な場合にはステップS474に進み、いずれか一方でも参照不可能の場合にはステップS477に進む。ステップS504において、両方とも参照可能な場合にはステップS460に進み、いずれか一方でも参照不可能の場合にはステップS483に進む。ステップS505において、両方とも参照可能な場合にはステップS486に進み、いずれか一方でも参照不可能の場合にはステップS489に進む。ステップS506において、両方とも参照可能な場合にはステップS492に進み、いずれか一方でも参照不可能の場合にはステップS495に進む。ステップS459では実施形態1と同様に左下方処理ユニットと右上処理ユニットが両方とも参照できないとして予測を行う。すなわち、左斜め下予測モード、垂直左斜め予測モード、水平斜め上予測モードは使用できない。これら以外の予測モードを用いてそれぞれの予測誤差を算出する。
In steps S501 to S506, it is determined whether the lower left processing unit and the upper right processing unit of the processing unit to be encoded can be referred to.
In step S501, when both can be referred to, the process proceeds to step S404, and when either one cannot be referred to, the process proceeds to step S459. In step S502, when both can be referred to, the process proceeds to step S462, and when either one cannot be referred to, the process proceeds to step S471. In step S503, when both can be referred to, the process proceeds to step S474, and when either one cannot be referred to, the process proceeds to step S477. In step S504, when both can be referred to, the process proceeds to step S460, and when either one cannot be referred to, the process proceeds to step S483. In step S505, when both can be referred to, the process proceeds to step S486, and when either one cannot be referred to, the process proceeds to step S489. In step S506, when both can be referred to, the process proceeds to step S492, and when either one cannot be referred to, the process proceeds to step S495. In step S459, similarly to the first embodiment, prediction is performed assuming that both the lower left processing unit and the upper right processing unit cannot be referred to. That is, the lower left diagonal prediction mode, the vertical left diagonal prediction mode, and the horizontal upper diagonal prediction mode cannot be used. Each prediction error is calculated using prediction modes other than these.
同様にステップS471、S477、S483、S489、S495において、左下方処理ユニットと右上処理ユニットが両方とも参照できないとして予測を行う。また、図4のセレクタ168は実施形態1と同様に参照可否情報によって入力先を選択する。参照可否情報の上位3ビットが111で下位2ビットいずれかが0であれば固定値テーブル153からの入力を選択する。
Similarly, in steps S471, S477, S483, S489, and S495, prediction is performed assuming that both the lower left processing unit and the upper right processing unit cannot be referred to. Further, the
参照可否情報の上位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は使用しない。 If the upper 3 bits of the reference availability information is 110 and the lower bit is 11, an input from the fixed value table 154 is selected. If any of the lower 2 bits is 0, the input from the fixed value table 157 is selected. If the upper 3 bits of the reference availability information is 101 and the lower bit is 11, an input from the fixed value table 158 is selected. If any of the lower 2 bits is 0, the input from the fixed value table 159 is selected. If the upper 3 bits of the reference availability information is 100 and the lower bit is 11, an input from the fixed value table 160 is selected. If any of the lower 2 bits is 0, the input from the fixed value table 161 is selected. If the upper 3 bits of the reference availability information are 011 and the lower bits are 11, an input from the fixed value table 162 is selected. If any of the lower 2 bits is 0, the input from the fixed value table 163 is selected. If the upper 3 bits of the reference availability information is 010 and the lower bit is 11, an input from the fixed value table 164 is selected. If any of the lower 2 bits is 0, the input from the fixed value table 165 is selected. If the upper 3 bits of the reference availability information is 000, the input from the fixed value table 166 is selected. Accordingly, the fixed value tables 151, 152, 155, and 156 are not used for the fixed value table.
以上の構成と動作により、発生頻度が少ない画素群の参照情報をまとめることで、分岐の回数を削減でき演算量を抑えるとともに、固定値を格納しておくメモリ等の容量を削減する効果がある。 With the above configuration and operation, the reference information of the pixel groups with low occurrence frequency is collected, so that the number of branches can be reduced, the amount of calculation is suppressed, and the capacity of a memory or the like for storing a fixed value is reduced. .
<実施形態3>
図8は本実施形態の画像符号化装置を示すブロック図である。図8において、実施形態1の図1と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
<Embodiment 3>
FIG. 8 is a block diagram showing an image encoding apparatus according to this embodiment. In FIG. 8, the same numbers are assigned to portions that perform the same functions as those in FIG. 1 of the first embodiment, and description thereof is omitted.
200は画像解析部であり、入力される画像を解析し、固定値選択予測を行う際の固定値を算出する。本実施形態では処理ユニット単位で処理ユニット内の平均値を算出し、解析するものとして説明を行うがこれに限定されない。203はイントラ予測モード決定部である。実施形態1のイントラ予測モード決定部103とは画像解析部200の出力を入力することが異なる。206は固定値符号化部であり、画像解析部200で算出された固定値を符号化する。
An
画像解析部200は入力されるフレームデータを入力し、処理ユニット単位の平均値を算出する。画像解析部200では各処理ユニットの平均値を算出すると同時に当該の処理ユニットの参照可否情報を算出する。
The
参照可否情報ごとに平均値のヒストグラムを生成する。例えば、参照可否情報が11110であれば、算出された平均値のヒストグラムHist_11110を生成する。また、参照可否情報の上位2ビットが00であれば、算出された平均値のヒストグラムHist_00を生成する。これは下位3ビットが変わっても固定値テーブル166を使用するからである。 A histogram of average values is generated for each referenceability information. For example, if the reference availability information is 11110, a histogram Hist — 11110 of the calculated average value is generated. If the upper 2 bits of the reference availability information are 00, a histogram Hist_00 of the calculated average value is generated. This is because the fixed value table 166 is used even if the lower 3 bits change.
その他、参照可否情報に基づいて固定値テーブルに対応して算出された平均値のヒストグラムを作成する。1フレーム分の処理ユニットの平均値の算出が終了し、各ヒストグラムが生成できたら、表1に従って、各不使用の予測モード番号の数の固定値を算出する。例えば、参照可否情報が11001であれば、4つの固定値を算出する。固定値の算出方法は特に限定しないが、ヒストグラムの中で極大値で頻度が高いものから4つ選択するとか、極大値が多い場合には値の近い極大値の平均値を選択するとかして決定する。
各参照可否情報で選択に用いられる固定値が算出できたら、イントラ予測モード決定部203と固定値符号化部206に出力する。
In addition, a histogram of average values calculated corresponding to the fixed value table based on the reference availability information is created. When the calculation of the average value of the processing units for one frame is completed and each histogram is generated, a fixed value of the number of prediction mode numbers not used is calculated according to Table 1. For example, if the reference availability information is 11001, four fixed values are calculated. The method for calculating the fixed value is not particularly limited, but it is determined by selecting four of the highest values in the histogram from the highest values or by selecting the average value of the closest local values when there are many local maximum values. To do.
When a fixed value used for selection can be calculated by each reference enable / disable information, the information is output to the intra prediction
図9にイントラ予測モード決定部203の詳細なブロック図を示す。図9において、実施形態1の図4と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
FIG. 9 shows a detailed block diagram of the intra prediction
250は端子であり、画像解析部200から予測値を入力する251はセレクタであり、端子150から入力される参照可否情報によって出力先を選択する。上記の構造において、端子150から順に参照可否情報が入力される。端子250から入力された固定値は参照可否情報に従って、各固定値テーブルに格納される。例えば、参照可否情報が11001であれば、固定値テーブル156を選択する。そして、4つの予測値が固定値テーブルに156に格納される。符号化時において、実施形態1とは読みだされる予測値があらかじめ決められた固定値ではないことが異なる。
図8に戻り、エントロピー符号化部206は画像解析部200から入力された各予測値を符号化する。符号化方法は特に限定しない。そのまま値を送っても構わないし、小さいデータから差分を送っても構わない。符号化された各参照可否情報の固定値は外部に出力される。
Returning to FIG. 8, the
図10は、実施形態3に係る画像符号化装置における画像符号化処理を示すフローチャートである。図10において、実施形態1の図5と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。 FIG. 10 is a flowchart illustrating image coding processing in the image coding apparatus according to the third embodiment. In FIG. 10, the same numbers are assigned to portions that perform the same functions as those in FIG.
ステップS1301において、スライスやフレームの端部にあたる処理ユニットの平均値を算出し、ヒストグラムを生成する。
ステップS1302において、算出されたヒストグラムから固定値選択予測で用いる各参照可否情報に対応して選択される固定値を算出する。
ステップS1303において、算出された各固定値をイントラ予測モード決定部203の固定値テーブルに格納する。以下、実施形態1と同様に符号化を行う。
ステップS1304において各固定値選択予測モードで用いる固定値を符号化して出力する。
In step S1301, an average value of processing units corresponding to slices and frame ends is calculated, and a histogram is generated.
In step S1302, a fixed value selected corresponding to each piece of reference availability information used in fixed value selection prediction is calculated from the calculated histogram.
In step S1303, the calculated fixed values are stored in the fixed value table of the intra prediction
In step S1304, the fixed value used in each fixed value selection prediction mode is encoded and output.
複数の参照可否情報をまとめて固定値テーブルに記録する固定値を算出したがこれに限定されない。例えば、参照可否情報毎にヒストグラムを生成して、固定値テーブル内に参照可否情報に従って固定値を記録しておき、固定値テーブルから参照可否情報に従って固定値を読み出しても構わない。例えば、固定値テーブル166に格納される固定値はヒストグラムHist_00から産出されるが、下位の3ビットに従って、8つのヒストグラムを生成して、それぞれ固定値を求めても良い。それぞれの固定値で個別に固定値テーブルを作成しても構わない。 Although the fixed value which records several referability information collectively on a fixed value table was calculated, it is not limited to this. For example, a histogram may be generated for each reference availability information, a fixed value may be recorded in the fixed value table according to the reference availability information, and the fixed value may be read from the fixed value table according to the reference availability information. For example, the fixed values stored in the fixed value table 166 are generated from the histogram Hist_00, but eight histograms may be generated according to the lower 3 bits to obtain fixed values respectively. A fixed value table may be created individually for each fixed value.
なお、本実施形態では入力前の画面データから統計的に固定値を算出したがこれに限定されない。例えば前のフレームの復号画像から統計的に予測値を算出しても構わない。
また、画像データの1フレーム単位で予測値を決定して符号化したが、これに限定されず、スライスなどの領域を設定して領域ごとに予測値を決定し、符号化してももちろん構わない。
In the present embodiment, the fixed value is statistically calculated from the screen data before input, but the present invention is not limited to this. For example, the predicted value may be statistically calculated from the decoded image of the previous frame.
In addition, although the prediction value is determined and encoded in units of one frame of image data, the present invention is not limited to this, and it is a matter of course that a prediction value may be determined and encoded for each region by setting a region such as a slice. .
また、本実施形態において、固定値テーブルの全ての固定値を算出したが、これに限定されず、一部または全ての固定値が画像解析部200の結果に依存しない固定値であっても構わない。
In the present embodiment, all fixed values in the fixed value table are calculated. However, the present invention is not limited to this, and some or all fixed values may be fixed values that do not depend on the result of the
また、本実施形態において、算出した固定値を全て符号化する方法について述べたが、これに限定されない。例えば、画像全体の平均値を画像解析部200で算出し、これをオフセット値として符号化して伝送し、オフセット値に対する線形または非線形な間隔を符号化側・復号側で定義しておき、各固定値を算出しても構わない。例えば、オフセット値として100を送り、不使用の予測モードが5つあれば、0と255と100を基本値としてその間の2/3の値、すなわち、66と153を計算によって算出しても構わない。この場合、予測値の全てを送らず、オフセット値のみを符号化して送るので、符号量を減じることができる。
In the present embodiment, the method for encoding all the calculated fixed values has been described. However, the present invention is not limited to this. For example, the average value of the entire image is calculated by the
<実施形態4>
図11は本実施形態の動画像を符号化する画像符号化装置を示すブロック図である。図11において、実施形態3の図8と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
図11において、201は画像解析部であり、フレーム単位で符号化された処理ユニットの復号画素の平均値を参照可否情報毎に保持し、1フレームを行うたびに固定値を算出する。213はイントラ予測モード決定部であり、画像解析部201から出力される予測値で固定値テーブルを更新する。
符号化の際に、符号化対象ユニットのイントラ予測モードがイントラ予測モード決定部213で決定され、逆量子化・逆変換部108で復号画像を生成することができる。
<
FIG. 11 is a block diagram showing an image encoding apparatus for encoding a moving image according to the present embodiment. In FIG. 11, the same numbers are assigned to portions that perform the same functions as those in FIG. 8 of the third embodiment, and description thereof is omitted.
In FIG. 11,
At the time of encoding, the intra prediction mode of the encoding target unit is determined by the intra prediction mode determination unit 213, and a decoded image can be generated by the inverse quantization /
画像解析部201は該当する符号化対象処理ユニットの復号画像から処理ユニット内の平均値を算出する。実施形態3と同様に算出された平均値を参照可否情報によってヒストグラムを生成する。前のフレームの符号化が終了したら、実施形態3と同様に予測値を算出する
イントラ予測モード決定部203の詳細なブロック図は図9に示した構造と同じである。算出された固定値はイントラ予測モード決定部213に入力され、各固定値テーブルに格納される。
The
以上の構成と動作により、予測値を前のフレームの復号画像から産出することにより、固定値よりも予測誤差を抑えることができ、符号化効率を向上させる効果がある。また、前のフレームの画素データを使用することにより、遅延を最小限に抑えることができる。また、固定値の決定方法をヒストグラムからの決定としたが、方法を復号側と同じにすることで、固定値の符号化を行わないことも可能である。また、処理ユニット毎に平均値の算出を行ったが、逆変換前のDC成分を用いてももちろん構わない。 With the above configuration and operation, the prediction value is produced from the decoded image of the previous frame, so that the prediction error can be suppressed more than the fixed value, and the coding efficiency is improved. In addition, the delay can be minimized by using the pixel data of the previous frame. In addition, although the fixed value determination method is determined from the histogram, the fixed value may not be encoded by using the same method as that on the decoding side. In addition, although the average value is calculated for each processing unit, it is of course possible to use a DC component before inverse conversion.
<実施形態5>
図12は本実施形態の画像符号化装置を示すブロック図である。図12において、実施形態3の図8と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
図12において、223はイントラ予測モード決定部であり、逆量子化・逆変換部108から出力される符号化対象処理ユニットの平均値によって、当該処理ユニットの参照可否情報によって選択された固定値テーブルの1つの値を更新する。
符号化の際に、符号化対象ユニットの予測誤差がイントラ予測モード決定部223で算出され、変換・量子化部105に入力される。また、イントラ予測モードはイントラ予測モード符号化部104に入力される。予測誤差は変換・量子化部105で変換され、量子化されて逆量子化・逆変換部108に入力される。逆量子化・逆変換部108では入力に対して逆量子化、逆変換を行い、復号画像を生成する。この時、直交変換のDC成分は平均値を表している。このDC成分を平均値としてイントラ予測モード決定部223に入力する。
<Embodiment 5>
FIG. 12 is a block diagram showing an image encoding apparatus according to this embodiment. In FIG. 12, the same numbers are assigned to portions that perform the same functions as those in FIG. 8 of the third embodiment, and description thereof is omitted.
In FIG. 12,
At the time of encoding, the prediction error of the encoding target unit is calculated by the intra prediction
イントラ予測モード決定部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を割り当てる。
The detailed block diagram of the intra prediction
The intra prediction
以上の構成と動作により、予測値を符号化された平均値を用いることにより、固定値よりも予測誤差を抑えることができ、符号化効率を向上させる効果がある。直前の復号画像の平均値を予測値に用いることにより、同じイントラ予測モードが連続する場合、相関の高い予測値を更新によって常に使用することでより一層の符号化効率の改善が行える効果がある。 By using the average value obtained by encoding the predicted value with the above configuration and operation, the prediction error can be suppressed as compared with the fixed value, and the encoding efficiency can be improved. By using the average value of the immediately preceding decoded image as the prediction value, when the same intra prediction mode continues, there is an effect that the encoding efficiency can be further improved by always using the prediction value with high correlation by updating. .
また、本実施形態では求められた直前の平均値を同じ参照可否情報単位で予測値として更新したが、これに限定されない。例えば、直前に算出した平均値を全ての参照可否情報で用いても構わない。すなわち、参照可否情報に関係なく逆量子化・逆変換部108から主力される直前に算出された平均値を用いても構わない。
Further, in the present embodiment, the average value obtained immediately before is updated as the predicted value in the same reference availability information unit, but the present invention is not limited to this. For example, the average value calculated immediately before may be used for all the reference availability information. In other words, an average value calculated immediately before being mainstayed from the inverse quantization /
また、平均値を固定値予測の値の1つとしたが、これに限定されず、複数、例えば2つの固定値を更新するようにしてももちろん構わない。例えば、直前の平均値とその1つ前の平均値で更新しても構わない。 In addition, although the average value is one of the fixed value prediction values, the present invention is not limited to this. Of course, a plurality of, for example, two fixed values may be updated. For example, the average value immediately before and the previous average value may be updated.
さらには、図11の構成をとって、直前の平均値ではなく、同じ参照可否情報を持つ処理ユニットの平均値の平均を画像解析部201で生成して固定値予測の予測値として処理ユニット単位で更新しても構わない。
Furthermore, with the configuration of FIG. 11, instead of the immediately preceding average value, the average of the average values of the processing units having the same reference availability information is generated by the
<実施形態6>
図13は、本発明の実施形態5に係る画像復号装置の構成を示すブロック図である。本実施形態では、実施形態1で生成された符号化データの復号を例にとって説明する。
図13において、801は入力ストリームからブロック単位の情報を復号するブロック復号部である。ブロック復号部801はその復号処理において、各処理ブロック位置の把握を容易に行える。また、前記処理ブロック位置情報の出力も行う。802は、ブロック復号部801でブロック復号された各ブロック内に存在する処理ユニット単位の情報や係数を復号するエントロピー復号部である。803は復号によって得られた量子化された係数値を逆量子化し、逆変換して予測誤差を再生する逆量子化・逆変換部である。804は各処理ユニットにおいてイントラ予測モードを復号し、予測値を生成するイントラ予測モード復号部である。805は逆量子化・逆変換部803から得られた予測誤差とイントラ予測モード復号部804で得られた予測値から復号画素データを再構成する画素データ再構成部である。807は復号対象の処理ユニットの周辺の所定の処理ユニットが参照可能か否かを判定する周辺処理ユニット判定部である。
<Embodiment 6>
FIG. 13 is a block diagram showing a configuration of an image decoding apparatus according to Embodiment 5 of the present invention. In the present embodiment, a description will be given by taking the decoding of the encoded data generated in the first embodiment as an example.
In FIG. 13,
図14にイントラ予測モード復号部804の詳細なブロック図を示す。901は端子であり、画素データ再構成部805から復号する処理ユニットの周囲の復号済み参照画素を入力する。902は端子であり、エントロピー復号部802からイントラ予測モードの符号データを入力する。903は端子であり、周辺処理ユニット判定部807から参照可否情報を入力する。
FIG. 14 shows a detailed block diagram of the intra prediction
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で固定値選択予測モードと復号された場合にのみ動作する。イントラ予測モード番号と参照可否情報から予め格納されている固定値を出力する。そうでなければ動作せず、出力も生成しない。
A fixed
図15に固定値選択予測器914の詳細なブロック図を示す。920は端子であり、図14の端子903を介して周辺処理ユニット判定部807から参照可否情報を入力する。921は端子であり、イントラ予測モード復号器904からイントラ予測モード番号を入力する。922はセレクタであり、参照可否情報によって出力先を選択する。923から938までは固定値テーブルである。固定値テーブル923は参照可否情報が11110の時に使われる固定値を格納する。
FIG. 15 shows a detailed block diagram of the fixed
固定値テーブル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に出力する。
The fixed value table 924 stores fixed values used when the reference availability information is 11101. The fixed value table 925 stores fixed values used when the reference availability information is 11100. The fixed value table 926 stores fixed values used when the reference availability information is 11011. The fixed value table 927 stores fixed values used when the reference availability information is 11010. The fixed value table 928 stores fixed values used when the reference availability information is 11001. The fixed value table 929 stores fixed values used when the reference availability information is 11000. The fixed value table 930 stores fixed values used when the reference availability information is 10111 or 10101. The fixed value table 931 stores fixed values used when the reference availability information is 10110 or 10100. The fixed value table 932 stores fixed values used when the reference availability information is 10011 or 10001. The fixed value table 933 stores fixed values used when the reference availability information is 10010 or 10000. The fixed value table 934 stores fixed values used when the reference availability information is 01111 or 01110. The fixed value table 935 stores fixed values used when the reference availability information is 01101 or 01100. The fixed value table 936 stores fixed values used when the reference availability information is 01011 or 01010. The fixed value table 937 stores fixed values used when the reference availability information is 01001 or 01000. The fixed value table 938 stores a fixed value used when both the upper 2 bits of the reference availability information are 0.
上記画像復号装置における画像の復号動作を以下に説明する。本実施形態では動画像ビットストリームをフレーム単位に入力する構成となっているが、1フレーム分の静止画像ビットストリームを入力する構成としても構わない。また、本発明は、説明を容易にするため、イントラ予測復号化の処理のみを説明するが、これに限定されずインター予測復号化処理においても適用可能である。 An image decoding operation in the image decoding apparatus will be described below. In this embodiment, a moving image bit stream is input in units of frames. However, a configuration may be adopted in which a still image bit stream for one frame is input. In addition, for the sake of easy explanation, the present invention describes only intra prediction decoding processing. However, the present invention is not limited to this and is applicable to inter prediction decoding processing.
図13において、入力された1フレーム分のストリームデータはブロック単位でブロック復号部801に入力され、ブロック単位の情報が復号される。上記のブロック単位の情報によって定まった処理ユニットの構造によって、処理ユニットごとに符号データが出力される。この際、処理ユニットの係数や、位置情報の復号によって処理ユニットの位置に関する情報も抽出され、周辺処理ユニット判定部807にも出力される。処理ユニットごとの符号データはエントロピー復号部802に入力され、イントラ予測モード符号を含む処理ユニット単位の情報や係数値が復号される。係数値は逆量子化・逆変換部803に入力され、逆量子化、逆変換の過程を経て予測誤差を表す画素データが出力される。処理ユニット単位の情報はイントラ予測モード復号部804に入力され、イントラ予測モードの情報から周辺の処理ユニットの画素値から予測値を算出する。画素データ再構成部805で予測値と予測誤差を加算し、復号画素データを再構成し、出力する。画素データ再構成部805は後の処理での参照を考慮して再構成された画素値を保持する。
In FIG. 13, the input stream data for one frame is input to the
図16は、実施形態6に係る画像復号装置における画像復号処理を示すフローチャートである。 FIG. 16 is a flowchart illustrating an image decoding process in the image decoding apparatus according to the sixth embodiment.
まず、ステップS901において、ブロック復号部801は、入力ストリームからブロック単位の情報を復号する。
ステップS902において、エントロピー復号部802は、各ブロック内に存在する処理ユニット単位の復号を行う。また、イントラ予測モードの符号を抽出し、他の情報や係数をエントロピー復号化する。
ステップS903において逆量子化・逆変換部803は、復号した係数データの逆量子化・逆変換を行い、予測誤差データを生成する。
ステップS904において、イントラ予測モード復号部804は、各処理ユニットのイントラ予測モードを後述する復号方法で復号し、イントラ予測モードを生成する。さらにその予測モードに従い、予測値を生成する。
ステップS905において画素データ再構成部805は、ステップS903の結果である予測誤差データとステップS904の結果である予測値から再構成画素を算出する。
ステップS906において、画像復号装置は、ブロック内の全ての処理ユニットの符号化が復号したか否かの判定を行い、終了していればステップS907に進み、終了していなければ次の処理ユニットを処理の対象としてステップS902に戻る。
ステップS907において画像復号装置は、フレーム内の全てのブロックの復号が終了したか否かの判定を行い、終了していれば全ての動作を停止して処理を終了し、そうでなければ次のブロックを処理の対象としてステップS901に戻る。
First, in step S901, the
In step S902, the
In step S903, the inverse quantization /
In step S904, the intra prediction
In step S905, the pixel
In step S906, the image decoding apparatus determines whether or not the encoding of all the processing units in the block has been decoded. If completed, the process proceeds to step S907. If not completed, the next processing unit is selected. The process returns to step S902 as the processing target.
In step S907, the image decoding apparatus determines whether or not the decoding of all the blocks in the frame is completed. If the decoding is completed, the image decoding apparatus stops all the operations and ends the process. Returning to step S901, the block is processed.
図17はステップS904の詳細な処理を示すフローチャートである。まず、ステップS1001〜S1003、ステップS1040〜S1052では復号対象の処理ユニットの周辺の所定の処理ユニットが参照可能か否かの判定を行う。 FIG. 17 is a flowchart showing detailed processing of step S904. First, in steps S1001 to S1003 and steps S1040 to S1052, it is determined whether or not a predetermined processing unit around the processing unit to be decoded can be referred to.
具体的にはステップ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であれば、周囲の処理ユニットのイントラ予測モードを参照してイントラ予測モードを算出する。
Specifically, in step S1001, it is determined whether or not a processing unit existing above the processing unit to be decoded can be referred to. If reference is possible, the process proceeds to step S1002, and if reference is impossible, step S1003 is determined. Proceed to
In step S1002, it is determined whether or not a predetermined processing unit present on the left side of the processing unit to be decoded can be referred to. If reference is possible, the process proceeds to step S1040. If reference is not possible, the process proceeds to step S1041. .
Also in step S1003, it is determined whether or not the processing unit existing on the left side of the processing unit to be decoded is referable. If reference is possible, the process proceeds to step S1042, and if reference is not possible, the process proceeds to step S1068.
In steps S1040, S1041, and S1042, it is determined whether or not the processing unit existing at the upper left of the processing unit to be encoded can be referred to. If reference is possible in step S1040, the process proceeds to step S1043. If reference is not possible, the process proceeds to step S1044. In step S1041, if the reference is possible, the process proceeds to step S1051, and if the reference is impossible, the process proceeds to step S1052. In step S1042, if the reference is possible, the process proceeds to step S1045. If the reference is impossible, the process proceeds to step S1046.
In steps S1043 and S1044, it is determined whether or not a processing unit existing at the lower left of the processing unit to be encoded can be referred to. In step S1043, if the reference is possible, the process proceeds to step S1047. If the reference is impossible, the process proceeds to step S1048. In step S1044, if the reference is possible, the process proceeds to step S1049. If the reference is impossible, the process proceeds to step S1050.
In steps S <b> 1045 to S <b> 1052, it is determined whether or not the processing unit existing at the upper right of the processing unit to be encoded can be referred to.
In step S1045, if the reference is possible, the process proceeds to step S1064. If the reference is impossible, the process proceeds to step S1065. In step S1046, if the reference is possible, the process proceeds to step S1066. If the reference is impossible, the process proceeds to step S1067. If the reference is possible in step S1047, the process proceeds to step S1004. If the reference is impossible, the process proceeds to step S1053. In step S1048, if the reference is possible, the process proceeds to step S1054. If the reference is impossible, the process proceeds to step S1055. In step S1049, if the reference is possible, the process proceeds to step S1056. If the reference is impossible, the process proceeds to step S1057. In step S1050, if the reference is possible, the process proceeds to step S1058. If the reference is impossible, the process proceeds to step S1059. In step S1051, if the reference is possible, the process proceeds to step S1060. If the reference is impossible, the process proceeds to step S1061. In step S1052, if the reference is possible, the process proceeds to step S1062. If the reference is impossible, the process proceeds to step S1063.
In step S1004, the intra
In step S1005, the intra
In steps S1053 to S1067, the intra
In the case of step S1053, since it is impossible to refer to the upper right processing unit, any one of six-direction prediction, average prediction, and fixed value selection prediction is possible. In the case of step S1054, since it is impossible to refer to the lower left processing unit, one of seven-direction prediction, average prediction, and fixed value selection prediction is possible. In the case of step S1055, it is impossible to refer to the lower left and upper right processing units, and any of five-direction prediction, average prediction, and fixed value selection prediction is possible. In the case of step S1056, since it is impossible to refer to the upper left processing unit, prediction in five directions, average prediction, or fixed value selection prediction is possible. In the case of step S1057, since it is impossible to refer to the upper left and upper right processing units, any one of three-direction prediction, average prediction, and fixed value selection prediction is possible. In step S1058, since it is impossible to refer to the upper left and lower left processing units, any one of four-direction prediction, average prediction, and fixed value selection prediction is possible. In the case of step S1059, since it is impossible to refer to the upper left, lower left, and upper right processing units, one of bi-directional prediction, average prediction, and fixed value selection prediction is possible. In step S1060, since the left processing unit cannot be referred to, any of four-direction prediction, average prediction, and fixed value selection prediction is possible. In the case of step S1061, since it is impossible to refer to the left and upper right processing units, any one of bi-directional prediction, average prediction, and fixed value selection prediction is possible. In the case of step S1062, since it is impossible to refer to the left and upper left processing units, any one of three-direction prediction, average prediction, and fixed value selection prediction is possible. In the case of step S1063, since it is impossible to refer to the left, upper left, and upper right processing units, any of vertical prediction, average prediction, and fixed value selection prediction is possible. In the case of step S1064, since it is impossible to refer to the upper processing unit, any one of three-direction prediction, average prediction, and fixed value selection prediction is possible. In the case of step S1065, since it is impossible to refer to the upper and lower left processing units, any one of bi-directional prediction, average prediction, and fixed value selection prediction is possible. In the case of step S1066, since it is impossible to refer to the upper and upper left processing units, any one of bi-directional prediction, average prediction, and fixed value selection prediction is possible. In the case of step S1067, since it is impossible to refer to the upper, upper left, and lower left processing units, any one of horizontal prediction, average prediction, and fixed value selection prediction is possible. In step S1068, since prediction in all directions cannot be performed, either average prediction or fixed value selection prediction is possible.
In steps S1053 to S1068, the intra
予測モードフラグの符号が“0”であれば、続く符号データを復号して残りの予測モードから当該処理ブロックに適用されたイントラ予測モードを決定する。上記選択が可能なイントラ予測モード番号が復号された場合、その予測モードに基づき、図14の予測器を選択する。選択された予測器は端子901から入力される周囲の処理ユニットの参照画素から予測値を算出する。予測値はセレクタ915を介して端子916に出力される。
If the code of the prediction mode flag is “0”, the subsequent code data is decoded and the intra prediction mode applied to the processing block is determined from the remaining prediction modes. When the intra prediction mode number that can be selected is decoded, the predictor of FIG. 14 is selected based on the prediction mode. The selected predictor calculates a predicted value from the reference pixels of the surrounding processing units input from the terminal 901. The predicted value is output to the terminal 916 via the
また、上記選択が可能なイントラ予測モード番号以外が復号された場合、固定値選択予測モードが選択されたことが判明する。 In addition, when a non-intra prediction mode number that can be selected is decoded, it is determined that the fixed value selection prediction mode is selected.
ステップS1069〜S1084では図14の固定値選択予測器914が選択される。選択ができないイントラ予測モード番号が入力された時、図15の端子920から入力された参照可否情報に従ってセレクタ922と939で該当する固定値テーブルを選択する。端子921から入力されたイントラ予測モード番号に従って、固定値を読み出し、セレクタ939、端子940を介して出力する。この固定値は図14のセレクタ915を介して端子916に出力される。
In steps S1069 to S1084, the fixed
例えば、参照可否情報11001の場合、不使用の予測モード番号は4、5、6、8の4つとなる。入力された予測モード番号が4であれば予測値0を、5であれば予測値85を、6であれば170を、8であれば予測値255を読み出し、出力する。
For example, in the case of the reference availability information 11001, there are four non-use prediction mode numbers of 4, 5, 6, and 8. If the input prediction mode number is 4, the
以上により、実施形態1で生成された各処理ユニットの参照の可否によって使用できるイントラ予測モードを使用しつつ、使用しないイントラ予測モードに対して複数の固定値を用いることで効率よく符号化された符号化データを復号することができる。
As described above, encoding is efficiently performed by using a plurality of fixed values for an intra prediction mode that is not used while using an intra prediction mode that can be used depending on whether or not each processing unit generated in
なお、本実施形態においては、イントラ予測のみを用いるフレームを例にとって説明したが、インター予測も使用できるフレームにおいても対応できることは明らかである。また、実施形態1と同様にブロックのサイズ、処理ユニットのサイズ、参照する処理ユニットとその画素の配置、符号についてはこれに限定されない。H.264と同じ参照方法をとっても構わないし、それ以外の参照の方式を行ってももちろん構わない。 In the present embodiment, a frame using only intra prediction has been described as an example. However, it is obvious that a frame that can also use inter prediction can be used. Further, as in the first embodiment, the block size, the processing unit size, the arrangement of reference processing units and their pixels, and the codes are not limited thereto. H. The same reference method as H.264 may be used, and other reference methods may be used.
<実施形態7>
本実施形態では、実施形態2で生成された符号化データの復号処理について説明する。画像復号装置の構成は実施形態6の図13と同じである。イントラ予測モード復号部804の動作が実施形態6と異なる。
<Embodiment 7>
In the present embodiment, a decoding process for the encoded data generated in the second embodiment will be described. The configuration of the image decoding apparatus is the same as that in FIG. 13 of the sixth embodiment. The operation of the intra prediction
図18は、図9のステップS904の実施形態7における詳細なイントラ予測モード復号処理を示すフローチャートある。図18において実施形態6の図17と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。 FIG. 18 is a flowchart showing a detailed intra prediction mode decoding process in the seventh embodiment in step S904 in FIG. In FIG. 18, the same numbers are assigned to portions that perform the same functions as those in FIG. 17 of the sixth embodiment, and description thereof is omitted.
ステップS1501からS1506において、符号化対象の処理ユニットの左下方処理ユニットと右上処理ユニットが参照可能か否かを判定する。
ステップS1501において、両方とも参照可能な場合にはステップS1004に進み、いずれか一方でも参照不可能の場合にはステップS1055に進む。ステップS1502において、両方とも参照可能な場合にはステップS1056に進み、いずれか一方でも参照不可能の場合にはステップS1059に進む。ステップS1503において、両方とも参照可能な場合にはステップS1060に進み、いずれか一方でも参照不可能の場合にはステップS1061に進む。ステップS1504において、両方とも参照可能な場合にはステップS1062に進み、いずれか一方でも参照不可能の場合にはステップS1063に進む。ステップS1505において、両方とも参照可能な場合にはステップS1064に進み、いずれか一方でも参照不可能の場合にはステップS1065に進む。ステップS1506において、両方とも参照可能な場合にはステップS1066に進み、いずれか一方でも参照不可能の場合にはステップS1067に進む。
In steps S1501 to S1506, it is determined whether the lower left processing unit and the upper right processing unit of the processing unit to be encoded can be referred to.
In step S1501, when both can be referred to, the process proceeds to step S1004, and when either one cannot be referred to, the process proceeds to step S1055. In step S1502, if both can be referred to, the process proceeds to step S1056, and if either one cannot be referred to, the process proceeds to step S1059. In step S1503, when both can be referred to, the process proceeds to step S1060, and when either one cannot be referred to, the process proceeds to step S1061. In step S1504, if both can be referred to, the process proceeds to step S1062, and if either one cannot be referred to, the process proceeds to step S1063. In step S1505, when both can be referred to, the process proceeds to step S1064, and when either one cannot be referred to, the process proceeds to step S1065. In step S1506, when both can be referred to, the process proceeds to step S1066, and when either one cannot be referred to, the process proceeds to step S1067.
ステップS1055では実施形態6と同様に左下方処理ユニットと右上処理ユニットが両方とも参照できないとして復号を行う。すなわち、左斜め下予測モード、垂直左斜め予測モード、水平斜め上予測モードは使用できない。これらの符号の場合は、固定値選択予測モードとなり、3つの固定値のいずれかが読み出される。 In step S1055, as in the sixth embodiment, decoding is performed assuming that both the lower left processing unit and the upper right processing unit cannot be referred to. That is, the lower left diagonal prediction mode, the vertical left diagonal prediction mode, and the horizontal upper diagonal prediction mode cannot be used. In the case of these codes, the fixed value selection prediction mode is set, and one of the three fixed values is read out.
以上により、実施形態2で生成された各処理ユニットの参照の可否によって使用できるイントラ予測モードを使用しつつ、使用しないイントラ予測モードに対して複数の固定値を用いることで効率よく符号化された符号化データを復号することができる。また、発生頻度が少ない画素群の参照情報をまとめることで、復号側でも分岐の回数を削減でき演算量を抑えるとともに、予測値を格納しておくメモリ等の容量を削減する効果がある。 As described above, encoding is efficiently performed by using a plurality of fixed values for an intra prediction mode that is not used while using an intra prediction mode that can be used depending on whether or not each processing unit generated in Embodiment 2 can be referred to. The encoded data can be decoded. Further, by collecting the reference information of the pixel groups with low occurrence frequency, the decoding side can reduce the number of branches, thereby reducing the amount of calculation and reducing the capacity of the memory for storing the predicted value.
<実施形態8>
本実施形態では、実施形態3で生成された符号化データの復号処理について説明する。
<Eighth embodiment>
In the present embodiment, a decoding process for the encoded data generated in the third embodiment will be described.
図19は本発明の実施形態8に係る画像復号装置の構成を示すブロック図である。本実施形態では、実施形態3で生成された符号化データの復号を例にとって説明する。実施形態7の図13と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。810は固定値選択予測で用いる固定値を復号する固定値復号部である。814はイントラ予測モード復号部であり、図13のイントラ予測モード復号部804とは固定値復号部810からの入力があることが異なる。
FIG. 19 is a block diagram showing a configuration of an image decoding apparatus according to Embodiment 8 of the present invention. In the present embodiment, a description will be given by taking the decoding of the encoded data generated in the third embodiment as an example. The same numbers are assigned to portions that perform the same functions as those in FIG. 13 of the seventh embodiment, and descriptions thereof are omitted. A fixed
図20にイントラ予測モード復号部814の詳細なブロック図を示す。図20において、実施形態6の図14と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。951は端子であり、予測値復号部810から入力された予測値を入力する。954は固定値選択予測器であり、図15の固定値選択予測器914とは端子951からの予測値を入力することが異なる。
FIG. 20 shows a detailed block diagram of the intra prediction
図21に固定値選択予測器954の詳細なブロック図を示す。図21において、実施形態6の図15と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。961は端子であり、固定値復号部810から図20の端子951を介して入力された固定値を入力する。962はスイッチであり、端子921からの入力と端子961からの入力を選択して出力する。スイッチ962は画像の復号前は端子961からの入力を選択する。処理ユニットの復号中は端子921からの入力を選択する。
FIG. 21 shows a detailed block diagram of the fixed
上記の構造において、図19において固定値の符号化データが固定値復号部810に入力される。固定値復号部810ではこれらを復号してイントラ予測モード復号部814に入力する。イントラ予測モード復号部814において、固定値選択予測器954端子951から入力された固定値を端子903から入力される参照可否情報を入力し、参照可否情報に従って、固定値テーブル923から938に適宜格納する。
In the above structure, encoded data having a fixed value in FIG. 19 is input to the fixed
図22は、実施形態8に係る画像復号装置における画像復号処理を示すフローチャートである。図22において、実施形態7の図16と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。 FIG. 22 is a flowchart illustrating image decoding processing in the image decoding apparatus according to the eighth embodiment. In FIG. 22, the same numbers are assigned to portions that perform the same functions as those in FIG. 16 of the seventh embodiment, and description thereof is omitted.
ステップS1901において、入力された固定値の符号化データを復号する。復号結果は参照可否情報毎に管理される。復号された固定値は端子951、端子961を介して図21のスイッチ962に入力される。スイッチ962は処理ユニット単位の復号を行う前は端子961からの入力を選択して出力する。
In step S1901, the input fixed-value encoded data is decoded. The decryption result is managed for each reference availability information. The decoded fixed value is input to the
端子920から参照可否情報が入力され、セレクタ922は対応する固定値テーブルを出力先として選択する。復号された固定値は各固定値テーブルに格納され、全ての固定値の格納が終了したらスイッチ962は端子921からの入力を選択する。以下、実施形態6と同様に各ブロックの復号を行う。
Reference enable / disable information is input from the terminal 920, and the
以上の構成と動作により、符号化された画像データに基づいて算出された固定値を用いることで、固定値選択予測で用いる固定値が予め決められた固定値である場合に比べ、より予測誤差を小さくすることができる。 By using the fixed value calculated based on the encoded image data by the above configuration and operation, the prediction error is more accurate than when the fixed value used in the fixed value selection prediction is a predetermined fixed value. Can be reduced.
なお、本実施形態の復号装置は前のフレームから固定値を生成する実施形態4の符号化データも同様に復号することができる。さらには図23のように構成することも可能である。850は再構成された処理ユニットの平均値を算出し、保持する平均値保持部である。
画素データ再構成部805から出力された処理ユニットの平均値を算出し、これを平均値保持部850で保持し、図19の固定値復号部810からの出力の代わりにイントラ予測モード復号部814に入力する。入力された平均値は図20の端子951を介して固定値選択予測器954に入力される。図21に示すスイッチ962は処理単位ユニットの復号処理が終了後、端子961からの入力を受け付ける。端子920からは復号で使用した参照可否情報が入力されている。これによってセレクタ922は使用した固定値テーブルに対して復号して得られた平均値を固定値として格納する。
Note that the decoding apparatus of the present embodiment can similarly decode the encoded data of the fourth embodiment that generates a fixed value from the previous frame. Furthermore, it is possible to configure as shown in FIG.
The average value of the processing unit output from the pixel
このような構成をとることによって、実施形態5で生成された符号化データを復号することができる。これにより、直前の処理ユニットの平均値を固定値選択予測に用いることで固定値を動的に制御でき、符号化効率をより一層高めた符号化データを復号することが可能になる。 By adopting such a configuration, the encoded data generated in the fifth embodiment can be decoded. Accordingly, the fixed value can be dynamically controlled by using the average value of the immediately preceding processing unit for the fixed value selection prediction, and the encoded data with further improved encoding efficiency can be decoded.
<実施形態9>
図1、図8、図11、図12、図13、図19、図23に示した各処理部はハードウェアでもって構成しているものとして上記実施形態では説明した。しかし、これらの図に示した各処理部で行なう処理をコンピュータプログラムでもって構成しても良い。
<Ninth Embodiment>
1, 8, 11, 12, 13, 19, and 23 have been described in the above embodiment, assuming that each processing unit is configured by hardware. However, the processing performed by each processing unit shown in these figures may be configured by a computer program.
図24は、上記各実施形態に係る画像表示装置に適用可能なコンピュータのハードウェアの構成例を示すブロック図である。 FIG. 24 is a block diagram illustrating a configuration example of computer hardware applicable to the image display device according to each of the above embodiments.
CPU1401は、RAM1402やROM1403に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行うと共に、上記各実施形態に係る画像処理装置が行うものとして上述した各処理を実行する。即ち、CPU1401は、図1、図8、図11、図12、図13、図19、図23に示した各処理部として機能することになる。
The
RAM1402は、外部記憶装置1406からロードされたコンピュータプログラムやデータ、I/F(インターフェース)1409を介して外部から取得したデータなどを一時的に記憶するためのエリアを有する。更に、RAM1402は、CPU1401が各種の処理を実行する際に用いるワークエリアを有する。即ち、RAM1402は、例えば、フレームメモリとして割当てたり、その他の各種のエリアを適宜提供することができる。
The
ROM1403には、本コンピュータの設定データや、ブートプログラムなどが格納されている。操作部1404は、キーボードやマウスなどにより構成されており、本コンピュータのユーザが操作することで、各種の指示をCPU1401に対して入力することができる。表示部1405は、CPU1401による処理結果を表示する。また表示部1405は例えば液晶ディスプレイのようなホールド型の表示装置や、フィールドエミッションタイプの表示装置のようなインパルス型の表示装置で構成される。
The
外部記憶装置1406は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。外部記憶装置1406には、OS(オペレーティングシステム)や、図1、図8、図11、図12、図13、図19、図23に示した各部の機能をCPU1401に実現させるためのコンピュータプログラムが保存されている。更には、外部記憶装置1406には、処理対象としての各画像データが保存されていても良い。
The
外部記憶装置1406に保存されているコンピュータプログラムやデータは、CPU1401による制御に従って適宜RAM1402にロードされ、CPU1401による処理対象となる。I/F1407には、LANやインターネット等のネットワーク、投影装置や表示装置などの他の機器を接続することができ、本コンピュータはこのI/F1407を介して様々な情報を取得したり、送出したりすることができる。1408は上述の各部を繋ぐバスである。
Computer programs and data stored in the
上述の構成からなる作動は前述のフローチャートで説明した作動をCPU1401が中心となってその制御を行う。
The operation having the above-described configuration is controlled by the
<その他の実施形態>
本発明の目的は、前述した機能を実現するコンピュータプログラムのコードを記録した記憶媒体を、システムに供給し、そのシステムがコンピュータプログラムのコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたコンピュータプログラムのコード自体が前述した実施形態の機能を実現し、そのコンピュータプログラムのコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムのコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
<Other embodiments>
The object of the present invention can also be achieved by supplying a storage medium storing a computer program code for realizing the above-described functions to the system, and the system reading and executing the computer program code. In this case, the computer program code itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the computer program code constitutes the present invention. In addition, the operating system (OS) running on the computer performs part or all of the actual processing based on the code instruction of the program, and the above-described functions are realized by the processing. .
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたコンピュータプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのコンピュータプログラムのコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。 Furthermore, you may implement | achieve with the following forms. That is, the computer program code read from the storage medium is written into a memory provided in a function expansion card inserted into the computer or a function expansion unit connected to the computer. Then, based on the instruction of the code of the computer program, the above-described functions are realized by the CPU or the like provided in the function expansion card or function expansion unit performing part or all of the actual processing.
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムのコードが格納されることになる。 When the present invention is applied to the above storage medium, the computer program code corresponding to the flowchart described above is stored in the storage medium.
Claims (7)
前記処理対象の処理ユニットの周辺に位置する周辺ユニットから予測の方向を選択して前記処理ユニット内の画素値を予測する第1のイントラ予測手段と、
前記処理ユニットの周辺ユニットから参照する画素の平均値を算出して前記処理ユニット内の画素値を予測する第2のイントラ予測手段と、
複数の固定値から選択して予測値を決定する第3のイントラ予測手段と、
前記周辺ユニットが参照可能か否かを判定する判定手段と、
前記判定手段の結果に基づいて、前記第1のイントラ予測手段、前記第2のイントラ予測手段、前記第3のイントラ予測手段の結果を選択するイントラ予測モード決定手段と、
前記イントラ予測モード決定手段の結果を符号化するイントラ予測モード符号化手段を
有することを特徴とする画像符号化装置。 Dividing means for dividing the input image into processing units to be processed;
First intra prediction means for selecting a prediction direction from peripheral units positioned around the processing target processing unit and predicting a pixel value in the processing unit;
Second intra prediction means for calculating an average value of pixels referred to from peripheral units of the processing unit and predicting a pixel value in the processing unit;
A third intra prediction unit that selects a plurality of fixed values and determines a predicted value;
Determining means for determining whether or not the peripheral unit can be referred to;
An intra prediction mode determining means for selecting a result of the first intra prediction means, the second intra prediction means, and the third intra prediction means based on a result of the determination means;
An image encoding apparatus comprising: an intra prediction mode encoding unit that encodes a result of the intra prediction mode determination unit.
前記判定手段の結果に基づいて、前記第1のイントラ予測手段にて参照が行えないモードを判定するモード判定手段と、
前記モード判定手段の結果に基づいて前記参照が行えないモードに対する符号を前記第3のイントラ予測手段で選択される固定値を表す符号とすることを特徴とする請求項1に記載の画像符号化装置 The intra prediction mode encoding means is
Based on the result of the determination unit, a mode determination unit that determines a mode that cannot be referred to by the first intra prediction unit;
The image coding according to claim 1, wherein a code for a mode in which the reference cannot be performed based on a result of the mode determination unit is a code representing a fixed value selected by the third intra prediction unit. apparatus
前記処理対象の処理ユニットの周辺に位置する周辺ユニットが参照可能か否かを判定する判定手段と、
前記判定手段の結果に基づいて前記処理対象の処理ユニットのイントラ予測モード及び予測値を復号するイントラ予測モード復号手段と、
前記処理ユニットの周辺ユニットから予測の方向を選択し前記処理ユニット内の画素値を予測する第1のイントラ予測手段と、
前記周辺ユニットから参照する画素の平均値を算出して前記処理ユニット内の画素値を予測する第2のイントラ予測手段と、
復号された固定値によって予測値を決定する第3のイントラ予測手段と、
復号された前記イントラ予測モードに基づいて、前記第1のイントラ予測手段、前記第2のイントラ予測手段、前記第3のイントラ予測手段を選択する手段を有することを特徴とする画像復号装置。 Input means for inputting encoded data of a processing unit that performs decoding processing;
Determination means for determining whether or not a peripheral unit located around the processing target processing unit can be referred to;
Intra prediction mode decoding means for decoding the intra prediction mode and the prediction value of the processing target processing unit based on the result of the determination means;
First intra prediction means for selecting a prediction direction from peripheral units of the processing unit and predicting a pixel value in the processing unit;
Second intra prediction means for calculating an average value of pixels referred to from the peripheral unit and predicting a pixel value in the processing unit;
Third intra-prediction means for determining a predicted value based on the decoded fixed value;
An image decoding apparatus comprising: means for selecting the first intra prediction means, the second intra prediction means, and the third intra prediction means based on the decoded intra prediction mode.
前記処理対象の処理ユニットの周辺に位置する周辺ユニットから予測の方向を選択して前記処理ユニット内の画素値を予測する第1のイントラ予測工程と、
前記処理ユニットの周辺ユニットから参照する画素の平均値を算出して前記処理ユニット内の画素値を予測する第2のイントラ予測工程と、
複数の固定値から選択して予測値を決定する第3のイントラ予測工程と、
前記周辺ユニットが参照可能か否かを判定する判定工程と、
前記判定工程の結果に基づいて、前記第1のイントラ予測工程、前記第2のイントラ予測工程、前記第3のイントラ予測工程の結果を選択するイントラ予測モード決定工程と、
前記イントラ予測モード決定工程の結果を符号化するイントラ予測モード符号化工程を有することを特徴とする画像符号化装置における画像符号化方法。 A dividing step of dividing the input image into processing units to be processed;
A first intra prediction step of predicting a pixel value in the processing unit by selecting a prediction direction from peripheral units located around the processing unit to be processed;
A second intra prediction step of calculating an average value of pixels to be referred from peripheral units of the processing unit and predicting a pixel value in the processing unit;
A third intra prediction step of selecting a plurality of fixed values and determining a prediction value;
A determination step of determining whether or not the peripheral unit can be referred to; and
Based on the result of the determination step, an intra prediction mode determination step of selecting a result of the first intra prediction step, the second intra prediction step, and the third intra prediction step;
An image encoding method in an image encoding apparatus, comprising: an intra prediction mode encoding step for encoding a result of the intra prediction mode determination step.
前記処理対象の処理ユニットの周辺に位置する周辺ユニットが参照可能か否かを判定する判定工程と、
前記判定工程の結果に基づいて前記処理対象の処理ユニットのイントラ予測モード及び予測値を復号するイントラ予測モード復号工程と、
前記処理ユニットの周辺ユニットから予測の方向を選択し前記処理ユニット内の画素値を予測する第1のイントラ予測工程と、
前記周辺ユニットから参照する画素の平均値を算出して前記処理ユニット内の画素値を予測する第2のイントラ予測工程と、
復号された固定値によって予測値を決定する第3のイントラ予測工程と、
復号された前記イントラ予測モードに基づいて、前記第1のイントラ予測工程、前記第2のイントラ予測工程、前記第3のイントラ予測工程を選択する工程を有することを特徴とする画像復号装置における画像復号方法。 An input step of inputting encoded data of a processing unit that performs a decoding process;
A determination step of determining whether or not a peripheral unit located around the processing unit to be processed can be referred to; and
An intra prediction mode decoding step of decoding an intra prediction mode and a prediction value of the processing target processing unit based on a result of the determination step;
A first intra prediction step of selecting a prediction direction from peripheral units of the processing unit and predicting a pixel value in the processing unit;
A second intra prediction step of calculating an average value of pixels referred to from the peripheral unit and predicting a pixel value in the processing unit;
A third intra prediction step of determining a prediction value based on the decoded fixed value;
An image in an image decoding apparatus, comprising: selecting the first intra prediction step, the second intra prediction step, and the third intra prediction step based on the decoded intra prediction mode. Decryption method.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011051268A JP2012191295A (en) | 2011-03-09 | 2011-03-09 | Image coding apparatus, image coding method, program, image decoding apparatus, image decoding method, and program |
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 (en) | 2011-03-09 | 2011-03-09 | Image coding apparatus, image coding method, program, image decoding apparatus, image decoding method, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012191295A true JP2012191295A (en) | 2012-10-04 |
Family
ID=46797796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011051268A Withdrawn JP2012191295A (en) | 2011-03-09 | 2011-03-09 | Image coding apparatus, image coding method, program, image decoding apparatus, image decoding method, and program |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2012191295A (en) |
WO (1) | WO2012120820A1 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016181800A (en) * | 2015-03-24 | 2016-10-13 | 日本電気株式会社 | Video encoding system, video encoding circuit, and video encoding method |
WO2016182317A1 (en) * | 2015-05-12 | 2016-11-17 | 삼성전자 주식회사 | Image decoding method for performing intra prediction and device thereof, and image encoding method for performing intra prediction and device thereof |
US9723326B2 (en) | 2014-03-20 | 2017-08-01 | Panasonic Intellectual Property Management Co., Ltd. | Image encoding method and image encoding appartaus |
CN109429071A (en) * | 2017-08-23 | 2019-03-05 | 富士通株式会社 | Picture coding device, picture decoding apparatus and image processing method |
CN111279704A (en) * | 2017-10-27 | 2020-06-12 | 索尼公司 | Image data encoding and decoding |
WO2024080216A1 (en) * | 2022-10-11 | 2024-04-18 | シャープ株式会社 | Image decoding device and image encoding device |
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 |
KR102313863B1 (en) * | 2007-10-16 | 2021-10-15 | 엘지전자 주식회사 | A method and an apparatus for processing a video signal |
KR101394209B1 (en) * | 2008-02-13 | 2014-05-15 | 삼성전자주식회사 | Method for predictive intra coding for image data |
JP5238523B2 (en) * | 2009-01-13 | 2013-07-17 | 株式会社日立国際電気 | Moving picture encoding apparatus, moving picture decoding apparatus, and moving picture decoding method |
-
2011
- 2011-03-09 JP JP2011051268A patent/JP2012191295A/en not_active Withdrawn
-
2012
- 2012-02-27 WO PCT/JP2012/001316 patent/WO2012120820A1/en active Application Filing
Cited By (11)
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 (en) * | 2015-03-24 | 2016-10-13 | 日本電気株式会社 | Video encoding system, video encoding circuit, and video encoding method |
WO2016182317A1 (en) * | 2015-05-12 | 2016-11-17 | 삼성전자 주식회사 | Image decoding method for performing intra prediction and device thereof, and image encoding method for performing intra prediction and device thereof |
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 (en) * | 2017-08-23 | 2019-03-05 | 富士通株式会社 | Picture coding device, picture decoding apparatus and image processing method |
CN109429071B (en) * | 2017-08-23 | 2023-09-08 | 富士通株式会社 | Image encoding device, image decoding device, and image processing method |
CN111279704A (en) * | 2017-10-27 | 2020-06-12 | 索尼公司 | Image data encoding and decoding |
JP2021500818A (en) * | 2017-10-27 | 2021-01-07 | ソニー株式会社 | Image data coding and decoding |
US11949882B2 (en) | 2017-10-27 | 2024-04-02 | Sony Group Corporation | Image data encoding and decoding |
WO2024080216A1 (en) * | 2022-10-11 | 2024-04-18 | シャープ株式会社 | Image decoding device and image encoding device |
Also Published As
Publication number | Publication date |
---|---|
WO2012120820A1 (en) | 2012-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230336731A1 (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 | |
US8254455B2 (en) | Computing collocated macroblock information for direct mode macroblocks | |
US8265144B2 (en) | Innovations in video decoder implementations | |
JP2012191295A (en) | Image coding apparatus, image coding method, program, image decoding apparatus, image decoding method, and program | |
KR20180110168A (en) | Deriving reference mode values and encoding and decoding information representing prediction modes | |
JP2006173808A (en) | In-plane prediction device and method | |
US20140133581A1 (en) | Image coding apparatus, image coding method, and recording medium thereof, image decoding apparatus, and image decoding method, and recording medium thereof | |
JP2010141821A (en) | Streaming processor and processor system | |
JP2013102296A (en) | Motion vector encoder, motion vector encoding method and program, motion vector decoder, and motion vector decoding method and program | |
TW202101998A (en) | Image coding device, image decoding device, image coding method, and image decoding method | |
JP2012147291A (en) | Image coding apparatus, image coding method, program, image decoding apparatus, image decoding method, and program | |
JP5706264B2 (en) | Image encoding method, image decoding method, image encoding device, image decoding device, image encoding program, and image decoding program | |
TW202101995A (en) | Image coding device, image decoding device, image coding method, and image decoding method | |
JP5789172B2 (en) | Image processing apparatus and program | |
TW202106030A (en) | Image coding device, image decoding device, image coding method, and image decoding method | |
WO2012093466A1 (en) | Image coding apparatus, image coding method and program, image decoding apparatus, and image decoding method and program | |
JP2010093580A (en) | Decoder and decoding program | |
JP2013098970A (en) | Image decoding apparatus, inverse orthogonal conversion method, program and image coding apparatus |
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 |