JP2012120086A - 動画像符号化装置 - Google Patents
動画像符号化装置 Download PDFInfo
- Publication number
- JP2012120086A JP2012120086A JP2010270265A JP2010270265A JP2012120086A JP 2012120086 A JP2012120086 A JP 2012120086A JP 2010270265 A JP2010270265 A JP 2010270265A JP 2010270265 A JP2010270265 A JP 2010270265A JP 2012120086 A JP2012120086 A JP 2012120086A
- Authority
- JP
- Japan
- Prior art keywords
- image
- prediction mode
- intra prediction
- prediction
- intra
- 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.)
- Pending
Links
Images
Abstract
【課題】複数回の符号化を実施することなく、画面内予測方向を増やして、符号化効率や符号化画質を高めることができるようにする。
【解決手段】イントラ予測モード0〜8,a〜hで、動き補償予測部3により探索された動きベクトルが指し示す参照画像の周辺画像を用いる画面内予測処理を実施して予測画像を生成するベクトル利用予測画像生成部4と、ベクトル利用予測画像生成部4によりイントラ予測モード0〜8,a〜hで生成されている予測画像の中で、符号化対象ブロックとの差分が最小の予測画像を特定し、その予測画像の生成に用いているイントラ予測モードを特定するイントラ予測モード特定部5とを設ける。
【選択図】図1
【解決手段】イントラ予測モード0〜8,a〜hで、動き補償予測部3により探索された動きベクトルが指し示す参照画像の周辺画像を用いる画面内予測処理を実施して予測画像を生成するベクトル利用予測画像生成部4と、ベクトル利用予測画像生成部4によりイントラ予測モード0〜8,a〜hで生成されている予測画像の中で、符号化対象ブロックとの差分が最小の予測画像を特定し、その予測画像の生成に用いているイントラ予測モードを特定するイントラ予測モード特定部5とを設ける。
【選択図】図1
Description
この発明は、動画像を高効率で符号化を行う動画像符号化装置に関するものである。
以下の非特許文献1に開示されている動画像符号化装置では、同一フレーム内の符号化済みの画素を用いて、符号化対象のブロック(例えば、マクロブロック)の予測処理を実施する画面内予測方式(イントラ予測方式)と、符号化対象のブロックと異なるピクチャ内のブロックを参照して、符号化対象のブロックの予測処理を実施する画面間予測方式(インター予測方式)とを採用している。
画面内予測方式では、図2に示すように、9種類のイントラ予測モード0〜8が用意されており、9種類のイントラ予測モード0〜8の中から、符号化対象のブロックの画面内予測処理に最適なイントラ予測モードを選択するようにしている。
ただし、9種類のイントラ予測モード0〜8は、符号化対象のブロックの上方向又は左方向からの予測によって予測画像を生成するモードであり、画面内予測方向が制限されている。
画面内予測方式では、図2に示すように、9種類のイントラ予測モード0〜8が用意されており、9種類のイントラ予測モード0〜8の中から、符号化対象のブロックの画面内予測処理に最適なイントラ予測モードを選択するようにしている。
ただし、9種類のイントラ予測モード0〜8は、符号化対象のブロックの上方向又は左方向からの予測によって予測画像を生成するモードであり、画面内予測方向が制限されている。
上記の動画像符号化装置の他に、同一ピクチャに対して複数回の符号化を実施し、その符号化効率を確認することで、ブロックの符号化順序をラスタ順ではない順序に変更している動画像符号化装置が以下の特許文献1に開示されている。
この場合、符号化対象のブロックの周囲の参照画像が存在する位置のバリエーションが増えるため、画面内予測方向が増加する。
この場合、符号化対象のブロックの周囲の参照画像が存在する位置のバリエーションが増えるため、画面内予測方向が増加する。
ISO/IEC 14496−10 | ITU−T Recommendation H.264
従来の動画像符号化装置は以上のように構成されているので、予め用意されている9種類のイントラ予測モード0〜8の中から、符号化対象のブロックの画面内予測処理に最適なイントラ予測モードを選択する場合、画面内予測方向が制限される。そのため、符号化効率や符号化画質が劣化してしまうことがある課題があった。
また、同一ピクチャに対して複数回の符号化を実施する場合、画面内予測方向を増やすことができるが、複数回の符号化を実施する必要があるため、リアルタイムに処理を行うことが困難である課題があった。
また、同一ピクチャに対して複数回の符号化を実施する場合、画面内予測方向を増やすことができるが、複数回の符号化を実施する必要があるため、リアルタイムに処理を行うことが困難である課題があった。
この発明は上記のような課題を解決するためになされたもので、複数回の符号化を実施することなく、画面内予測方向を増やして、符号化効率や符号化画質を高めることができる動画像符号化装置を得ることを目的とする。
この発明に係る動画像符号化装置は、画面内予測方向が異なる複数のイントラ予測モードの中から、符号化対象の原画像の画面内予測処理に最適なイントラ予測モードを選択する予測モード選択手段と、予測モード選択手段により選択されたイントラ予測モードで、原画像の周辺画像を用いる画面内予測処理を実施して予測画像を生成する第1の予測画像生成手段と、原画像に対する動き探索処理を実施して動きベクトルを探索する動きベクトル探索手段と、上記複数のイントラ予測モードと異なるイントラ予測モードを含む複数のイントラ予測モードで、動きベクトル探索手段により探索された動きベクトルが指し示す参照画像の周辺画像を用いる画面内予測処理を実施して予測画像を生成する第2の予測画像生成手段と、第2の予測画像生成手段により複数のイントラ予測モードで生成されている予測画像の中で、原画像との差分が最小の予測画像を特定し、その予測画像の生成に用いているイントラ予測モードを特定するイントラ予測モード特定手段とを設け、符号化制御手段が、イントラ予測モード選択手段により選択されたイントラ予測モード及びイントラ予測モード特定手段により特定されたイントラ予測モードの中で、符号化効率又は符号化画質が高くなる方のイントラ予測モードを選択するようにしたものである。
この発明によれば、画面内予測方向が異なる複数のイントラ予測モードの中から、符号化対象の原画像の画面内予測処理に最適なイントラ予測モードを選択する予測モード選択手段と、予測モード選択手段により選択されたイントラ予測モードで、原画像の周辺画像を用いる画面内予測処理を実施して予測画像を生成する第1の予測画像生成手段と、原画像に対する動き探索処理を実施して動きベクトルを探索する動きベクトル探索手段と、上記複数のイントラ予測モードと異なるイントラ予測モードを含む複数のイントラ予測モードで、動きベクトル探索手段により探索された動きベクトルが指し示す参照画像の周辺画像を用いる画面内予測処理を実施して予測画像を生成する第2の予測画像生成手段と、第2の予測画像生成手段により複数のイントラ予測モードで生成されている予測画像の中で、原画像との差分が最小の予測画像を特定し、その予測画像の生成に用いているイントラ予測モードを特定するイントラ予測モード特定手段とを設け、符号化制御手段が、イントラ予測モード選択手段により選択されたイントラ予測モード及びイントラ予測モード特定手段により特定されたイントラ予測モードの中で、符号化効率又は符号化画質が高くなる方のイントラ予測モードを選択するように構成したので、複数回の符号化を実施することなく、画面内予測方向を増やして、符号化効率や符号化画質を高めることができる効果がある。
実施の形態1.
図1はこの発明の実施の形態1による動画像符号化装置を示す構成図である。
図1において、画面内予測モード決定部1は画面内予測方向が異なる9種類のイントラ予測モード0〜8の中から、符号化対象の原画像(以下、「符号化対象ブロック」と称する)の画面内予測処理に最適なイントラ予測モードを選択し、そのイントラ予測モードを画面内予測画像生成部2及び符号化制御部6に出力する処理を実施する。ただし、符号化対象ブロックは、例えば、ピクチャを構成しているマクロブロックでもよいし、そのマクロブロックが分割されたパーティションでもよい。
即ち、画面内予測モード決定部1は符号化対象ブロックをラスタ順に符号化する場合に、画面内予測が可能な方向の予測画像を生成し、それぞれの予測画像と符号化対象ブロックを比較することで、最適なイントラ予測モードを選択する処理を実施する。
なお、画面内予測モード決定部1は予測モード選択手段を構成している。
図1はこの発明の実施の形態1による動画像符号化装置を示す構成図である。
図1において、画面内予測モード決定部1は画面内予測方向が異なる9種類のイントラ予測モード0〜8の中から、符号化対象の原画像(以下、「符号化対象ブロック」と称する)の画面内予測処理に最適なイントラ予測モードを選択し、そのイントラ予測モードを画面内予測画像生成部2及び符号化制御部6に出力する処理を実施する。ただし、符号化対象ブロックは、例えば、ピクチャを構成しているマクロブロックでもよいし、そのマクロブロックが分割されたパーティションでもよい。
即ち、画面内予測モード決定部1は符号化対象ブロックをラスタ順に符号化する場合に、画面内予測が可能な方向の予測画像を生成し、それぞれの予測画像と符号化対象ブロックを比較することで、最適なイントラ予測モードを選択する処理を実施する。
なお、画面内予測モード決定部1は予測モード選択手段を構成している。
画面内予測画像生成部2は画面内予測モード決定部1により選択されたイントラ予測モードで、局部復号画像メモリ12により格納されている符号化対象ブロックの周辺に位置している周辺画像を用いる画面内予測処理を実施して予測画像を生成し、その予測画像をセレクタ7に出力する処理を実施する。なお、画面内予測画像生成部2は第1の予測画像生成手段を構成している。
動き補償予測部3は符号化対象ブロックとフレームメモリ14により格納されている1フレーム以上の参照画像を比較しながら動きベクトルを探索する動き探索処理を実施し、その動きベクトルを用いる画面間予測処理を実施して予測画像を生成する処理を実施する。
また、動き補償予測部3は動きベクトルをベクトル利用予測画像生成部4に出力し、画面間予測処理に用いているインター予測モードを符号化制御部6に出力し、その予測画像をセレクタ7に出力する処理を実施する。
なお、動き補償予測部3は動きベクトル探索手段及び動き補償予測手段を構成している。
動き補償予測部3は符号化対象ブロックとフレームメモリ14により格納されている1フレーム以上の参照画像を比較しながら動きベクトルを探索する動き探索処理を実施し、その動きベクトルを用いる画面間予測処理を実施して予測画像を生成する処理を実施する。
また、動き補償予測部3は動きベクトルをベクトル利用予測画像生成部4に出力し、画面間予測処理に用いているインター予測モードを符号化制御部6に出力し、その予測画像をセレクタ7に出力する処理を実施する。
なお、動き補償予測部3は動きベクトル探索手段及び動き補償予測手段を構成している。
ベクトル利用予測画像生成部4はイントラ予測モード0〜8の他に、イントラ予測モード0〜8と画面内予測方向が異なるイントラ予測モードa〜hが用意されており、17種類のイントラ予測モード0〜8,a〜hで、動き補償予測部3により探索された動きベクトルが指し示す参照画像の周辺画像(参照画像の周辺に位置している画像)を用いる画面内予測処理を実施して予測画像を生成して、それらの予測画像をイントラ予測モード特定部5に出力する一方、イントラ予測モード特定部5により特定されたイントラ予測モードで生成している予測画像をセレクタ7に出力する処理を実施する。なお、ベクトル利用予測画像生成部4は第2の予測画像生成手段を構成している。
イントラ予測モード特定部5はベクトル利用予測画像生成部4により17種類のイントラ予測モード0〜8,a〜hで生成されている予測画像の中で、符号化対象ブロックとの差分が最小の予測画像を特定して、その予測画像の生成に用いているイントラ予測モードを特定し、そのイントラ予測モードをベクトル利用予測画像生成部4及び符号化制御部6に出力する処理を実施する。なお、イントラ予測モード特定部5はイントラ予測モード特定手段を構成している。
符号化制御部6は画面内予測モード決定部1により選択されたイントラ予測モード、イントラ予測モード特定部5により特定されたイントラ予測モード及び動き補償予測部3の画面間予測処理に用いられているインター予測モードの中から、最も符号化効率又は符号化画質が高くなる予測モードを選択し、その予測モードをエントロピー符号化部15に出力する処理を実施する。
また、符号化制御部6は最も符号化効率又は符号化画質が高くなる予測モードが、画面内予測モード決定部1により選択されたイントラ予測モードであれば、画面内予測画像生成部2により生成された予測画像の選択指令をセレクタ7に出力し、イントラ予測モード特定部5により特定されたイントラ予測モードであれば、ベクトル利用予測画像生成部4により生成された予測画像の選択指令をセレクタ7に出力し、動き補償予測部3の画面間予測処理に用いられているインター予測モードであれば、動き補償予測部3により生成された予測画像の選択指令をセレクタ7に出力する処理を実施する。
また、符号化制御部6は各々の符号化対象ブロック毎に、差分画像が圧縮される際に用いられる量子化パラメータ及び変換周波数を決定する処理を実施する。量子化パラメータ及び変換周波数は、予測差分符号化パラメータに含まれて、周波数変換量子化部9、逆周波数変換逆量子化部10及びエントロピー符号化部15に出力される。
なお、符号化制御部6は符号化制御手段を構成している。
また、符号化制御部6は最も符号化効率又は符号化画質が高くなる予測モードが、画面内予測モード決定部1により選択されたイントラ予測モードであれば、画面内予測画像生成部2により生成された予測画像の選択指令をセレクタ7に出力し、イントラ予測モード特定部5により特定されたイントラ予測モードであれば、ベクトル利用予測画像生成部4により生成された予測画像の選択指令をセレクタ7に出力し、動き補償予測部3の画面間予測処理に用いられているインター予測モードであれば、動き補償予測部3により生成された予測画像の選択指令をセレクタ7に出力する処理を実施する。
また、符号化制御部6は各々の符号化対象ブロック毎に、差分画像が圧縮される際に用いられる量子化パラメータ及び変換周波数を決定する処理を実施する。量子化パラメータ及び変換周波数は、予測差分符号化パラメータに含まれて、周波数変換量子化部9、逆周波数変換逆量子化部10及びエントロピー符号化部15に出力される。
なお、符号化制御部6は符号化制御手段を構成している。
セレクタ7は符号化制御部6から出力された選択指令にしたがって、画面内予測画像生成部2、ベクトル利用予測画像生成部4又は動き補償予測部3により生成された予測画像を選択し、その予測画像を減算部8及び加算部11に出力する処理を実施する。
減算部8は符号化対象ブロックとセレクタ7から出力された予測画像の差分を求め、その差分画像を周波数変換量子化部9に出力する処理を実施する。
なお、セレクタ7及び減算部8から差分画像生成手段が構成されている。
減算部8は符号化対象ブロックとセレクタ7から出力された予測画像の差分を求め、その差分画像を周波数変換量子化部9に出力する処理を実施する。
なお、セレクタ7及び減算部8から差分画像生成手段が構成されている。
周波数変換量子化部9は減算部8から出力された差分画像の周波数を符号化制御部6から出力された予測差分符号化パラメータに含まれている変換周波数に変換するとともに、その予測差分符号化パラメータに含まれている量子化パラメータを用いて、周波数変換後の差分画像を量子化することで、量子化後の差分画像である周波数変換係数を差分画像の圧縮データとして出力する処理を実施する。なお、周波数変換量子化部9は画像圧縮手段を構成している。
逆周波数変換逆量子化部10は符号化制御部6から出力された予測差分符号化パラメータに含まれている量子化パラメータを用いて、周波数変換量子化部9から出力された圧縮データを逆量子化するとともに、逆量子化後の圧縮データを逆変換周波数し、逆変換周波数後の圧縮データを局部復号予測差分信号として出力する処理を実施する。
加算部11は逆周波数変換逆量子化部10から出力された局部復号予測差分信号とセレクタ7から出力された予測画像を示す予測信号を加算することで、局部復号画像を示す局部復号画像信号を生成する処理を実施する。
局部復号画像メモリ12は画面内予測画像生成部2により次回の画面内予測処理で用いられる画像として、加算部11により生成された局部復号画像信号が示す局部復号画像を格納するRAMなどの記録媒体である。
加算部11は逆周波数変換逆量子化部10から出力された局部復号予測差分信号とセレクタ7から出力された予測画像を示す予測信号を加算することで、局部復号画像を示す局部復号画像信号を生成する処理を実施する。
局部復号画像メモリ12は画面内予測画像生成部2により次回の画面内予測処理で用いられる画像として、加算部11により生成された局部復号画像信号が示す局部復号画像を格納するRAMなどの記録媒体である。
デブロッキングフィルタ部13は加算部11により生成された局部復号画像信号に含まれている符号化歪みを補償し、符号化歪み補償後の局部復号画像信号が示す局部復号画像を参照画像としてフレームメモリ14に出力する処理を実施する。
フレームメモリ14は動き補償予測部3により次回の動き補償予測処理で用いられる参照画像等として、デブロッキングフィルタ部13によるフィルタリング処理後の局部復号画像を格納するRAMなどの記録媒体である。
フレームメモリ14は動き補償予測部3により次回の動き補償予測処理で用いられる参照画像等として、デブロッキングフィルタ部13によるフィルタリング処理後の局部復号画像を格納するRAMなどの記録媒体である。
エントロピー符号化部15は周波数変換量子化部9から出力された圧縮データと、符号化制御部6から出力された予測モード及び予測差分符号化パラメータと、画面内予測画像生成部2又はベクトル利用予測画像生成部4により用いられたイントラ予測パラメータ/動き補償予測部3により用いられたインター予測パラメータ及び動きベクトルとをエントロピー符号化して、その圧縮データ、予測モード、予測差分符号化パラメータ、イントラ予測パラメータ/インター予測パラメータ・動きベクトルの符号化データが多重化されているビットストリームを生成する処理を実施する。なお、エントロピー符号化部15は可変長符号化手段を構成している。
図1の例では、動画像符号化装置の構成要素である画面内予測モード決定部1、画面内予測画像生成部2、動き補償予測部3、ベクトル利用予測画像生成部4、イントラ予測モード特定部5、符号化制御部6、セレクタ7、減算部8、周波数変換量子化部9、逆周波数変換逆量子化部10、加算部11、デブロッキングフィルタ部13及びエントロピー符号化部15のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路、あるいは、ワンチップマイコンなど)で構成されているものを想定しているが、動画像符号化装置がコンピュータで構成される場合、画面内予測モード決定部1、画面内予測画像生成部2、動き補償予測部3、ベクトル利用予測画像生成部4、イントラ予測モード特定部5、符号化制御部6、セレクタ7、減算部8、周波数変換量子化部9、逆周波数変換逆量子化部10、加算部11、デブロッキングフィルタ部13及びエントロピー符号化部15の処理内容を記述しているプログラムを当該コンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
次に動作について説明する。
H.264/AVCの画面内予測では、符号化対象ブロックが4×4画素ブロック、8×8画素ブロックである場合、図2に示すように、9種類のイントラ予測モード0〜8(イントラ予測モード2はDC予測であり、イントラ予測モード2以外の予測モードの画面内予測方向は矢印が示す方向である)が規定されている。
この実施の形態1では、図3に示すような画面内予測方向のイントラ予測モードa〜hを9種類のイントラ予測モード0〜8に追加して、全部で17種類のイントラ予測モード0〜8,a〜hを用いるものとする。
H.264/AVCの画面内予測では、符号化対象ブロックが4×4画素ブロック、8×8画素ブロックである場合、図2に示すように、9種類のイントラ予測モード0〜8(イントラ予測モード2はDC予測であり、イントラ予測モード2以外の予測モードの画面内予測方向は矢印が示す方向である)が規定されている。
この実施の形態1では、図3に示すような画面内予測方向のイントラ予測モードa〜hを9種類のイントラ予測モード0〜8に追加して、全部で17種類のイントラ予測モード0〜8,a〜hを用いるものとする。
画面内予測モード決定部1は、符号化対象ブロックを入力すると、9種類のイントラ予測モード0〜8の中から、符号化対象ブロックの画面内予測処理に最適なイントラ予測モードを選択する。
即ち、画面内予測モード決定部1は、符号化対象ブロックをラスタ順に符号化する場合に、画面内予測が可能な方向の予測画像を生成し、それぞれの予測画像と符号化対象ブロックを比較することで、最適なイントラ予測モードを選択する。
画面内予測モード決定部1は、最適なイントラ予測モードを選択すると、そのイントラ予測モードを画面内予測画像生成部2及び符号化制御部6に出力する。
即ち、画面内予測モード決定部1は、符号化対象ブロックをラスタ順に符号化する場合に、画面内予測が可能な方向の予測画像を生成し、それぞれの予測画像と符号化対象ブロックを比較することで、最適なイントラ予測モードを選択する。
画面内予測モード決定部1は、最適なイントラ予測モードを選択すると、そのイントラ予測モードを画面内予測画像生成部2及び符号化制御部6に出力する。
画面内予測画像生成部2は、例えば、H.264/AVCに規定されているイントラ予測部であり、画面内予測モード決定部1により選択されたイントラ予測モードで、局部復号画像メモリ12により格納されている符号化対象ブロックの周辺に位置している周辺画像を用いる画面内予測処理を実施して予測画像を生成し、その予測画像をセレクタ7に出力する。
ここで、符号化対象ブロックがN×N画素ブロックであり、N×N画素ブロックの座標が図4のように規定されているとして、イントラ予測モード0〜8で予測画像が生成される場合の予測画生成式を以下に表記する。ただし、N=2m、mは自然数である。
なお、符号化対象ブロックの周辺画素はp[x,y]、予測画像はpredN×N[x,y]で表記する。p[x,y]の画素はフィルタリングされたものを用いてもよい。また、“>>”は右シフトを表す記号である。
ここで、符号化対象ブロックがN×N画素ブロックであり、N×N画素ブロックの座標が図4のように規定されているとして、イントラ予測モード0〜8で予測画像が生成される場合の予測画生成式を以下に表記する。ただし、N=2m、mは自然数である。
なお、符号化対象ブロックの周辺画素はp[x,y]、予測画像はpredN×N[x,y]で表記する。p[x,y]の画素はフィルタリングされたものを用いてもよい。また、“>>”は右シフトを表す記号である。
<予測モード0>
p[x,-1] x=0,…,N-1の画素が存在する場合
predNxN[x,y]=p[x,-1] (1)
ただし、x,y = 0,…,N-1
<予測モード1>
p[-1,y] y=0,…,N-1の画素が存在する場合
predNxN[x,y]=p[-1,y] (2)
ただし、x,y = 0,…,N-1
p[x,-1] x=0,…,N-1の画素が存在する場合
predNxN[x,y]=p[x,-1] (1)
ただし、x,y = 0,…,N-1
<予測モード1>
p[-1,y] y=0,…,N-1の画素が存在する場合
predNxN[x,y]=p[-1,y] (2)
ただし、x,y = 0,…,N-1
<予測モード2>
(1)p[x,-1] x=0,…,N-1の画素と、p[-1,y] y=0,…,N-1の画素が存在する場合
(2)p[x,-1] x=0,…,N-1の画素が存在せず、p[-1,y] y=0,…,N-1の画素が存在する場合
(3)p[x,-1] x=0,…,N-1の画素が存在し、p[-1,y] y=0,…,N-1の画素が存在しない場合
(4)上記以外の場合
predNxN[x,y]=(1<<(BitDepthy-1)) (6)
ただし、x,y = 0,…,N-1、 BitDepthy=8,…,14
(1)p[x,-1] x=0,…,N-1の画素と、p[-1,y] y=0,…,N-1の画素が存在する場合
(2)p[x,-1] x=0,…,N-1の画素が存在せず、p[-1,y] y=0,…,N-1の画素が存在する場合
(3)p[x,-1] x=0,…,N-1の画素が存在し、p[-1,y] y=0,…,N-1の画素が存在しない場合
(4)上記以外の場合
predNxN[x,y]=(1<<(BitDepthy-1)) (6)
ただし、x,y = 0,…,N-1、 BitDepthy=8,…,14
<予測モード3>
p[x,-1] x=0,…,2N-1の画素が存在する場合
ただし、x,y = 0,…,N-1
(1)x=N-1かつy=N-1のとき
predNxN[x,y]=(p[2N-2,-1]+3*p[2N-1,-1] +2)>>2 (7)
(2)上記以外の場合
predNxN[x,y]=(p[x+y,-1]+2*p[x+y+1,-1]+p[x+y+2,-1]+2)>>2 (8)
p[x,-1] x=0,…,2N-1の画素が存在する場合
ただし、x,y = 0,…,N-1
(1)x=N-1かつy=N-1のとき
predNxN[x,y]=(p[2N-2,-1]+3*p[2N-1,-1] +2)>>2 (7)
(2)上記以外の場合
predNxN[x,y]=(p[x+y,-1]+2*p[x+y+1,-1]+p[x+y+2,-1]+2)>>2 (8)
<予測モード4>
p[x,-1] x=0,…,N-1の画素と、p[-1,y] y=-1,…,N-1の画素が存在する場合
ただし、x,y = 0,…,N-1
(1)x>yのとき
predNxN[x,y]=(p[x-y-2,-1] + 2 *p[x-y-1,-1]+p[x-y,-1] + 2 ) >> 2
(9)
(2)x<yのとき
predNxN[x,y]=(p[-1,y-x-2] + 2 *p[-1,y-x-1]+ p[-1,y-x]+ 2 ) >> 2
(10)
(3)x=yのとき
predNxN[x,y]=(p[0,-1]+2*p[-1,-1]+p[-1,0]+2]>>2
(11)
p[x,-1] x=0,…,N-1の画素と、p[-1,y] y=-1,…,N-1の画素が存在する場合
ただし、x,y = 0,…,N-1
(1)x>yのとき
predNxN[x,y]=(p[x-y-2,-1] + 2 *p[x-y-1,-1]+p[x-y,-1] + 2 ) >> 2
(9)
(2)x<yのとき
predNxN[x,y]=(p[-1,y-x-2] + 2 *p[-1,y-x-1]+ p[-1,y-x]+ 2 ) >> 2
(10)
(3)x=yのとき
predNxN[x,y]=(p[0,-1]+2*p[-1,-1]+p[-1,0]+2]>>2
(11)
<予測モード5>
p[x,-1] x=0,…,N-1の画素と、p[-1,y] y=-1,…,N-1の画素が存在する場合
ただし、zVR=2x-yとして、x,y = 0,…,N-1
(1)zVR=0,…,2(N-1)の中で偶数のとき
predNxN[x,y]=(p[x-(y>>1)-1,-1] + p[x-(y>>1),-1] + 1 ) >> 1
(12)
(2)zVR=1,…,2(N-1)-1の中で奇数のとき
predNxN[x,y]=(p[x-(y>>1)-2,-1]+2*p[x-(y>>1)-1,-1]+p[x-(y>>1),-1]+2) >> 2
(13)
(3)zVR=-1のとき
predNxN[x,y]=(p[-1,0]+2*p[-1,-1]+p[0,-1]+2) >> 2
(14)
(4)上記以外のとき
predNxN[x,y]=(p[-1,y-2*x-1]+2*p[-1,y-2*x-2]+p[-1,y-2*x-3]+2)>>2
(15)
p[x,-1] x=0,…,N-1の画素と、p[-1,y] y=-1,…,N-1の画素が存在する場合
ただし、zVR=2x-yとして、x,y = 0,…,N-1
(1)zVR=0,…,2(N-1)の中で偶数のとき
predNxN[x,y]=(p[x-(y>>1)-1,-1] + p[x-(y>>1),-1] + 1 ) >> 1
(12)
(2)zVR=1,…,2(N-1)-1の中で奇数のとき
predNxN[x,y]=(p[x-(y>>1)-2,-1]+2*p[x-(y>>1)-1,-1]+p[x-(y>>1),-1]+2) >> 2
(13)
(3)zVR=-1のとき
predNxN[x,y]=(p[-1,0]+2*p[-1,-1]+p[0,-1]+2) >> 2
(14)
(4)上記以外のとき
predNxN[x,y]=(p[-1,y-2*x-1]+2*p[-1,y-2*x-2]+p[-1,y-2*x-3]+2)>>2
(15)
<予測モード6>
p[x,-1] x=0,…,N-1の画素と、p[-1,y] y=-1,…,N-1の画素が存在する場合
ただし、zHD=2y-xとして、x,y = 0,…,N-1
(1)zHD=0,…,2(N-1)の中で偶数のとき
predNxN[x,y]=(p[-1,y-(x>>1)-1] +p[-1,y-(x>>1)]+1)>>1
(16)
(2)zHD=1,…,2(N-1)-1の中で奇数のとき
predNxN[x,y]=(p[-1,y-(x>>1)-2]+2*p[-1,y-(x>>1)-1]+p[-1,y-(x>>1)]+2)>>2
(17)
(3)zHD=-1のとき
predNxN[x,y]=(p[-1,0]+2*p[-1,-1]+p[0,-1]+2)>>2
(18)
(4)上記以外のとき
predNxN[x,y]=(p[x-2*y-1,-1]+2*p[x-2*y-2,-1]+p[x-2*y-3,-1]+2)>>2
(19)
p[x,-1] x=0,…,N-1の画素と、p[-1,y] y=-1,…,N-1の画素が存在する場合
ただし、zHD=2y-xとして、x,y = 0,…,N-1
(1)zHD=0,…,2(N-1)の中で偶数のとき
predNxN[x,y]=(p[-1,y-(x>>1)-1] +p[-1,y-(x>>1)]+1)>>1
(16)
(2)zHD=1,…,2(N-1)-1の中で奇数のとき
predNxN[x,y]=(p[-1,y-(x>>1)-2]+2*p[-1,y-(x>>1)-1]+p[-1,y-(x>>1)]+2)>>2
(17)
(3)zHD=-1のとき
predNxN[x,y]=(p[-1,0]+2*p[-1,-1]+p[0,-1]+2)>>2
(18)
(4)上記以外のとき
predNxN[x,y]=(p[x-2*y-1,-1]+2*p[x-2*y-2,-1]+p[x-2*y-3,-1]+2)>>2
(19)
<予測モード7>
p[x,-1] x=0,…,2N-1の画素が存在する場合
ただし、x,y = 0,…,N-1
(1)y=0,…,N-2の中で偶数のとき
predNxN[x,y]=(p[x+(y>>1),-1]+p[x+(y>>1)+1,-1]+1)>>1
(20)
(2)y=1,…,N-1の中で奇数のとき
predNxN[x,y]=(p[x+(y>>1),-1]+2*p[x+(y>>1)+1,-1]+p[x+(y>>1)+2,-1]+2)>>2
(21)
p[x,-1] x=0,…,2N-1の画素が存在する場合
ただし、x,y = 0,…,N-1
(1)y=0,…,N-2の中で偶数のとき
predNxN[x,y]=(p[x+(y>>1),-1]+p[x+(y>>1)+1,-1]+1)>>1
(20)
(2)y=1,…,N-1の中で奇数のとき
predNxN[x,y]=(p[x+(y>>1),-1]+2*p[x+(y>>1)+1,-1]+p[x+(y>>1)+2,-1]+2)>>2
(21)
<予測モード8>
p[-1,y] y=-1,…,N-1の画素が存在する場合
ただし、zHU=x+2yとして、x,y = 0,…,N-1
(1)zHU=0,…,2(N-1)-2の中で偶数のとき
predNxN[x,y]=(p[-1,y+(x>>1)]+p[-1,y+(x>>1)+1]+1)>>1
(22)
(2)zHU=1,…,2(N-1)-3の中で奇数のとき
predNxN[x,y]=(p[-1,y+(x>>1)]+2*p[-1,y+(x>>1)+1]+p[-1,y+(x>>1)+2]+2)>>2
(23)
(3)zHU=2(N-1)-1のとき
predNxN[x,y]=(p[-1,N-2]+3*p[-1,N-1]+2)>>2
(24)
(4)上記以外のとき
predNxN[x,y]=p[-1,N-1]
(25)
p[-1,y] y=-1,…,N-1の画素が存在する場合
ただし、zHU=x+2yとして、x,y = 0,…,N-1
(1)zHU=0,…,2(N-1)-2の中で偶数のとき
predNxN[x,y]=(p[-1,y+(x>>1)]+p[-1,y+(x>>1)+1]+1)>>1
(22)
(2)zHU=1,…,2(N-1)-3の中で奇数のとき
predNxN[x,y]=(p[-1,y+(x>>1)]+2*p[-1,y+(x>>1)+1]+p[-1,y+(x>>1)+2]+2)>>2
(23)
(3)zHU=2(N-1)-1のとき
predNxN[x,y]=(p[-1,N-2]+3*p[-1,N-1]+2)>>2
(24)
(4)上記以外のとき
predNxN[x,y]=p[-1,N-1]
(25)
動き補償予測部3は、符号化対象ブロックを入力すると、その符号化対象ブロックとフレームメモリ14により格納されている1フレーム以上の参照画像を比較しながら動きベクトルを探索する動き探索処理を実施する。
即ち、動き補償予測部3は、フレームメモリ14により格納されている符号化対象ブロックの参照画像を読み出し、その参照画像の中から符号化対象ブロックと同一サイズの候補領域を複数抽出する(位置が異なる複数の候補領域を抽出する)。
そして、複数の候補領域を構成している各画素と、符号化対象ブロックを構成している各画素との間で差分絶対値和演算を実施し、その演算結果が最小になる位置の候補領域を特定(符号化対象ブロックと最も類似度が高い領域を特定)し、その演算結果が最小になる候補領域の位置を示すベクトルを探索対象の動きベクトルとする。
即ち、動き補償予測部3は、フレームメモリ14により格納されている符号化対象ブロックの参照画像を読み出し、その参照画像の中から符号化対象ブロックと同一サイズの候補領域を複数抽出する(位置が異なる複数の候補領域を抽出する)。
そして、複数の候補領域を構成している各画素と、符号化対象ブロックを構成している各画素との間で差分絶対値和演算を実施し、その演算結果が最小になる位置の候補領域を特定(符号化対象ブロックと最も類似度が高い領域を特定)し、その演算結果が最小になる候補領域の位置を示すベクトルを探索対象の動きベクトルとする。
動き補償予測部3は、動きベクトルを探索すると、その動きベクトルを用いて、画面間予測処理を実施することで予測画像を生成する(図5を参照)。
また、動き補償予測部3は、その動きベクトルをベクトル利用予測画像生成部4に出力し、画面間予測処理に用いているインター予測モードを符号化制御部6に出力し、その予測画像をセレクタ7に出力する処理を実施する。
また、動き補償予測部3は、その動きベクトルをベクトル利用予測画像生成部4に出力し、画面間予測処理に用いているインター予測モードを符号化制御部6に出力し、その予測画像をセレクタ7に出力する処理を実施する。
ベクトル利用予測画像生成部4には、図3に示すように、イントラ予測モード0〜8の他に、イントラ予測モード0〜8と画面内予測方向が異なるイントラ予測モードa〜hが用意されている。
ベクトル利用予測画像生成部4は、動き補償予測部3から動きベクトルを受けると、フレームメモリ14から動きベクトルが指し示す参照画像の周辺画像(参照画像に周辺に位置している画像)を読み出し、17種類のイントラ予測モード0〜8,a〜hで、その周辺画像を用いる画面内予測処理を実施して予測画像を生成する。
ただし、動きベクトルが指し示す位置が、画素と画素の間を示す小数位置である場合、それらの画素の値を用いる補間演算等を実施して、小数位置にある仮想的な画素の値を求めるようにする。
ベクトル利用予測画像生成部4は、動き補償予測部3から動きベクトルを受けると、フレームメモリ14から動きベクトルが指し示す参照画像の周辺画像(参照画像に周辺に位置している画像)を読み出し、17種類のイントラ予測モード0〜8,a〜hで、その周辺画像を用いる画面内予測処理を実施して予測画像を生成する。
ただし、動きベクトルが指し示す位置が、画素と画素の間を示す小数位置である場合、それらの画素の値を用いる補間演算等を実施して、小数位置にある仮想的な画素の値を求めるようにする。
即ち、ベクトル利用予測画像生成部4は、イントラ予測モード0〜8で、予測画像を生成する際には、画面内予測画像生成部2と同様に、式(1)〜(25)を用いて予測画像を生成するが、イントラ予測モードa〜hで、予測画像を生成する際には、下記の予測画生成式を用いる。
<予測モードa>
p[N,y] y=0,…,N-1の画素が存在する場合
predNxN[x,y]=p[N,y] (26)
ただし、x,y = 0,…,N-1
<予測モードb>
p[x,N] x=0,…,N-1の画素が存在する場合
predNxN[x,y]=p[x,N] (27)
ただし、x,y = 0,…,N-1
<予測モードa>
p[N,y] y=0,…,N-1の画素が存在する場合
predNxN[x,y]=p[N,y] (26)
ただし、x,y = 0,…,N-1
<予測モードb>
p[x,N] x=0,…,N-1の画素が存在する場合
predNxN[x,y]=p[x,N] (27)
ただし、x,y = 0,…,N-1
<予測モードc>
p[x,N] x=0,…,N-1の画素と、p[-1,y] y=0,…,N-1の画素が存在する場合
ただし、x,y = 0,…,N-1
(1)x+y>N-1のとき
predNxN[x,y]=(p[x+y-(N-1)-2,N]+2*p[x+y-(N-1)-1,N]+p[x+y-(N-1),N] + 2)>>2
(28)
(2)x+y<N-1のとき
predNxN[x,y]
= (p[-1,N-1-(x+y)+2]+2*p[-1,N-1-(x+y)+1]+p[-1,N-1-(x+y)] +2 )>>2
(29)
(3)x+y=N-1のとき
predNxN[x,y] = (p[0,N]+2*p[-1,N]+p[-1,N-1] + 2)>>2
(30)
p[x,N] x=0,…,N-1の画素と、p[-1,y] y=0,…,N-1の画素が存在する場合
ただし、x,y = 0,…,N-1
(1)x+y>N-1のとき
predNxN[x,y]=(p[x+y-(N-1)-2,N]+2*p[x+y-(N-1)-1,N]+p[x+y-(N-1),N] + 2)>>2
(28)
(2)x+y<N-1のとき
predNxN[x,y]
= (p[-1,N-1-(x+y)+2]+2*p[-1,N-1-(x+y)+1]+p[-1,N-1-(x+y)] +2 )>>2
(29)
(3)x+y=N-1のとき
predNxN[x,y] = (p[0,N]+2*p[-1,N]+p[-1,N-1] + 2)>>2
(30)
<予測モードd>
p[x,N] x=0,…,N-1の画素と、p[N,y] y=0,…,Nの画素が存在する場合
ただし、x,y = 0,…,N-1
(1)x>yのとき
predNxN[x,y]=(p[N,x-y+N-2]+2*p[N,x-y+N-1]+p[N,x-y+N] + 2)>>2
(31)
(2)x<yのとき
predNxN[x,y]=(p[y-x+N-2,N]+2*p[y-x+N-1,N]+p[y-x+N,N] + 2)>>2
(32)
(3)x=yのとき
predNxN[x,y]=(p[N-1,N]+2*p[N,N]+p[N,N-1] + 2 )>>2
(33)
p[x,N] x=0,…,N-1の画素と、p[N,y] y=0,…,Nの画素が存在する場合
ただし、x,y = 0,…,N-1
(1)x>yのとき
predNxN[x,y]=(p[N,x-y+N-2]+2*p[N,x-y+N-1]+p[N,x-y+N] + 2)>>2
(31)
(2)x<yのとき
predNxN[x,y]=(p[y-x+N-2,N]+2*p[y-x+N-1,N]+p[y-x+N,N] + 2)>>2
(32)
(3)x=yのとき
predNxN[x,y]=(p[N-1,N]+2*p[N,N]+p[N,N-1] + 2 )>>2
(33)
<予測モードe>
p[x,N] x=0,…,N-1の画素と、p[N,y] y=0,…,Nの画素が存在する場合
ただし、zVUL=-2x+y+(N-1)として、x,y = 0,…,N-1
(1)zVUL=0,2,4,6,…,2(N-1)のとき
predNxN[x,y]
=(p[(N-1)-{-2x+y+(N-1)}>>1,N]+p[(N-1)-{-2x+y+(N-1)}>>1+1,N] + 1)>>1
(34)
(2)zVUL=1,3,5,…,2(N-1)-1のとき
predNxN[x,y]
=(p[(N-1)-{-2x+y+(N-1)}>>1-1,N]+2*p[(N-1)-{-2x+y+(N-1)}>>1,N]
+p[(N-1)-{-2x+y+(N-1)}>>1+1,N] + 2)>>2
(35)
(3)zVUL=-1のとき
predNxN[x,y]=(p[N-1,N]+2*p[N,N]+p[N,N-1] + 2)>>2
(36)
(4)zVUL<-1のとき
predNxN[x,y]
=(p[N,-2x+y+2(N-1)+1]+2*p[N,-2x+y+2(N-1)+2]+p[N,-2x+y+2(N-1)+3] + 2)>>2
(37)
p[x,N] x=0,…,N-1の画素と、p[N,y] y=0,…,Nの画素が存在する場合
ただし、zVUL=-2x+y+(N-1)として、x,y = 0,…,N-1
(1)zVUL=0,2,4,6,…,2(N-1)のとき
predNxN[x,y]
=(p[(N-1)-{-2x+y+(N-1)}>>1,N]+p[(N-1)-{-2x+y+(N-1)}>>1+1,N] + 1)>>1
(34)
(2)zVUL=1,3,5,…,2(N-1)-1のとき
predNxN[x,y]
=(p[(N-1)-{-2x+y+(N-1)}>>1-1,N]+2*p[(N-1)-{-2x+y+(N-1)}>>1,N]
+p[(N-1)-{-2x+y+(N-1)}>>1+1,N] + 2)>>2
(35)
(3)zVUL=-1のとき
predNxN[x,y]=(p[N-1,N]+2*p[N,N]+p[N,N-1] + 2)>>2
(36)
(4)zVUL<-1のとき
predNxN[x,y]
=(p[N,-2x+y+2(N-1)+1]+2*p[N,-2x+y+2(N-1)+2]+p[N,-2x+y+2(N-1)+3] + 2)>>2
(37)
<予測モードf>
p[x,N] x=0,…,N-1の画素と、p[N,y] y=0,…,Nの画素が存在する場合
ただし、zHLU=-2y+x+(N-1)として、x,y = 0,…,N-1
(1)zHLU=0,2,4,6,…,2(N-1)のとき
predNxN[x,y]
=(p[N,(N-1)-{-2y+x+(N-1)}>>1]+p[N,(N-1)-{-2y+x+(N-1)}>>1+1] + 1)>>1
(38)
(2)zHLU=1,3,5,…,2(N-1)-1のとき
predNxN[x,y]
=(p[N,(N-1)-{-2y+x+(N-1)}>>1-1]+2*p[N,(N-1)-{-2y+x+(N-1)}>>1]
+p[N,(N-1)-{-2y+x+(N-1)}>>1+1] +2)>>2
(39)
(3)zHLU=-1のとき
predNxN[x,y]=(p[N-1,N]+2*p[N,N]+p[N,N-1] + 2)>>2
(40)
(4)zHLU<-1のとき
predNxN[x,y]
=(p[-2y+x+2(N-1)+1,N]+2*p[-2y+x+2(N-1)+2,N]+p[-2y+x+2(N-1)+3,N] + 2)>>2
(41)
p[x,N] x=0,…,N-1の画素と、p[N,y] y=0,…,Nの画素が存在する場合
ただし、zHLU=-2y+x+(N-1)として、x,y = 0,…,N-1
(1)zHLU=0,2,4,6,…,2(N-1)のとき
predNxN[x,y]
=(p[N,(N-1)-{-2y+x+(N-1)}>>1]+p[N,(N-1)-{-2y+x+(N-1)}>>1+1] + 1)>>1
(38)
(2)zHLU=1,3,5,…,2(N-1)-1のとき
predNxN[x,y]
=(p[N,(N-1)-{-2y+x+(N-1)}>>1-1]+2*p[N,(N-1)-{-2y+x+(N-1)}>>1]
+p[N,(N-1)-{-2y+x+(N-1)}>>1+1] +2)>>2
(39)
(3)zHLU=-1のとき
predNxN[x,y]=(p[N-1,N]+2*p[N,N]+p[N,N-1] + 2)>>2
(40)
(4)zHLU<-1のとき
predNxN[x,y]
=(p[-2y+x+2(N-1)+1,N]+2*p[-2y+x+2(N-1)+2,N]+p[-2y+x+2(N-1)+3,N] + 2)>>2
(41)
<予測モードg>
p[x,N] x=0,…,N-1の画素と、p[-1,y] y=0,…,Nの画素が存在する場合
ただし、zVUR=2x+y-(N-1)として、x,y = 0,…,N-1
(1)zVUR=0,2,4,6,…,2(N-1)のとき
predNxN[x,y]=(p[{2x+y-(N-1)}>>1-1,N]+p[{2x+y-(N-1)}>>1>>2,N] + 1)>>1
(42)
(2)zVUR=1,3,5,…,2(N-1)-1 のとき
predNxN[x,y]
=(p[{2x+y-(N-1)}>>1-1,N]+2*p[{2x+y-(N-1)}>>1,N]
+p[{2x+y-(N-1)}>>1+1,N]+2)>>2
(43)
(3)zVUR=-1のとき
predNxN[x,y]=(p[-1,N-1]+2*p[-1,N]+p[0,N] + 2)>>2
(44)
(4)zVUR<-1のとき
predNxN[x,y]=(p[-1,2x+y+1]+2*p[-1,2x+y+2]+p[-1,2x+y+3] + 2)>>2
(45)
p[x,N] x=0,…,N-1の画素と、p[-1,y] y=0,…,Nの画素が存在する場合
ただし、zVUR=2x+y-(N-1)として、x,y = 0,…,N-1
(1)zVUR=0,2,4,6,…,2(N-1)のとき
predNxN[x,y]=(p[{2x+y-(N-1)}>>1-1,N]+p[{2x+y-(N-1)}>>1>>2,N] + 1)>>1
(42)
(2)zVUR=1,3,5,…,2(N-1)-1 のとき
predNxN[x,y]
=(p[{2x+y-(N-1)}>>1-1,N]+2*p[{2x+y-(N-1)}>>1,N]
+p[{2x+y-(N-1)}>>1+1,N]+2)>>2
(43)
(3)zVUR=-1のとき
predNxN[x,y]=(p[-1,N-1]+2*p[-1,N]+p[0,N] + 2)>>2
(44)
(4)zVUR<-1のとき
predNxN[x,y]=(p[-1,2x+y+1]+2*p[-1,2x+y+2]+p[-1,2x+y+3] + 2)>>2
(45)
<予測モードh>
p[x,N] x=0,…,N-1の画素と、p[N,y] y=0,…,Nの画素が存在する場合
ただし、zHLD=2y+x-(N-1)として、x,y = 0,…,N-1
(1)zHLD=0,2,4,6,…,2(N-1)のとき
predNxN[x,y]=(p[N,{2y+x-(N-1)}>>1-1]+p[N,{2y+x-(N-1)}>>1] + 1)>>1
(46)
(2)zHLD=1,3,5,…,2(N-1)-1のとき
predNxN[x,y]
=(p[N,{2y+x-(N-1)}>>1-1]+2*p[N,{2y+x-(N-1)}>>1]+p[N,{2y+x-(N-1)}>>1+1]+2)>>2
(47)
(3)zHLD=-1のとき
predNxN[x,y]=(p[N-1,-1]+2*p[N,-1]+p[N,0] + 2)>>2
(48)
(4)zHLD<-1のとき
predNxN[x,y]=(p[2y+x+1,-1]+2*p[2y+x+2,-1]+p[2y+x+3,-1] + 2)>>2
(49)
p[x,N] x=0,…,N-1の画素と、p[N,y] y=0,…,Nの画素が存在する場合
ただし、zHLD=2y+x-(N-1)として、x,y = 0,…,N-1
(1)zHLD=0,2,4,6,…,2(N-1)のとき
predNxN[x,y]=(p[N,{2y+x-(N-1)}>>1-1]+p[N,{2y+x-(N-1)}>>1] + 1)>>1
(46)
(2)zHLD=1,3,5,…,2(N-1)-1のとき
predNxN[x,y]
=(p[N,{2y+x-(N-1)}>>1-1]+2*p[N,{2y+x-(N-1)}>>1]+p[N,{2y+x-(N-1)}>>1+1]+2)>>2
(47)
(3)zHLD=-1のとき
predNxN[x,y]=(p[N-1,-1]+2*p[N,-1]+p[N,0] + 2)>>2
(48)
(4)zHLD<-1のとき
predNxN[x,y]=(p[2y+x+1,-1]+2*p[2y+x+2,-1]+p[2y+x+3,-1] + 2)>>2
(49)
ここでは、イントラ予測モード0〜8で予測画像を生成する際には、ベクトル利用予測画像生成部4が、画面内予測画像生成部2と同様に、式(1)〜(25)を用いて予測画像を生成するものを示したが、イントラ予測モード3,7,8については、下記の予測画生成式を用いてもよい。
<予測モード3>
p[x,-1] x=0,…,N-1の画素と、p[N,y] y=0,…,Nの画素が存在する場合
ただし、x,y = 0,…,N-1
(1)x+y>N-1のとき
predNxN[x,y]=(p[N,x+y-(N-1)]+2*p[N,x+y-(N-1)-1]+p[N,x+y-(N-1)-2] + 2)>>2
(50)
(2)x+y<N-1のとき
predNxN[x,y]=(p[x+y,-1]+2*p[x+y+1,-1]+p[x+y+2,-1] +2 )>>2
(51)
(3)x+y=N-1のとき
predNxN[x,y]=(p[N-1,-1]+2*p[N,-1]+p[N,0] + 2)>>2
(52)
<予測モード3>
p[x,-1] x=0,…,N-1の画素と、p[N,y] y=0,…,Nの画素が存在する場合
ただし、x,y = 0,…,N-1
(1)x+y>N-1のとき
predNxN[x,y]=(p[N,x+y-(N-1)]+2*p[N,x+y-(N-1)-1]+p[N,x+y-(N-1)-2] + 2)>>2
(50)
(2)x+y<N-1のとき
predNxN[x,y]=(p[x+y,-1]+2*p[x+y+1,-1]+p[x+y+2,-1] +2 )>>2
(51)
(3)x+y=N-1のとき
predNxN[x,y]=(p[N-1,-1]+2*p[N,-1]+p[N,0] + 2)>>2
(52)
<予測モード7>
p[x,-1] x=0,…,N-1の画素と、p[N,y] y=0,…,Nの画素が存在する場合
ただし、zVDL=-2x-y+2(N-1)として、x,y = 0,…,N-1
(1)zVDL=0,2,4,6,…,2(N-1)のとき
predNxN[x,y]
=(p[(N-1)-{-2x+2(N-1)-y}>>1,-1]+p[(N-1)-{-2x+2(N-1)-y}>>1+1,-1] + 1)>>1
(53)
(2)zVDL=1,3,5,…,2(N-1)-1 のとき
predNxN[x,y]
=(p[(N-1)-{-2x+2(N-1)-y}>>1-1,-1]+2*p[(N-1)-{-2x+2(N-1)-y}>>1,-1]
+p[(N-1)-{-2x+2(N-1)-y}>>1+1,-1] + 2)>>2
(54)
(3)zVDL=-1のとき
predNxN[x,y]=(p[N-1,-1]+2*p[N,-1]+p[N,0] + 2)>>2
(55)
(4)zVDL<-1のとき
predNxN[x,y]
=(p[N,2x+y-2(N-1)-1]+2*p[N,2x+y-2(N-1)-2]+p[N,2x+y-2(N-1)-3] + 2)>>2
(56)
p[x,-1] x=0,…,N-1の画素と、p[N,y] y=0,…,Nの画素が存在する場合
ただし、zVDL=-2x-y+2(N-1)として、x,y = 0,…,N-1
(1)zVDL=0,2,4,6,…,2(N-1)のとき
predNxN[x,y]
=(p[(N-1)-{-2x+2(N-1)-y}>>1,-1]+p[(N-1)-{-2x+2(N-1)-y}>>1+1,-1] + 1)>>1
(53)
(2)zVDL=1,3,5,…,2(N-1)-1 のとき
predNxN[x,y]
=(p[(N-1)-{-2x+2(N-1)-y}>>1-1,-1]+2*p[(N-1)-{-2x+2(N-1)-y}>>1,-1]
+p[(N-1)-{-2x+2(N-1)-y}>>1+1,-1] + 2)>>2
(54)
(3)zVDL=-1のとき
predNxN[x,y]=(p[N-1,-1]+2*p[N,-1]+p[N,0] + 2)>>2
(55)
(4)zVDL<-1のとき
predNxN[x,y]
=(p[N,2x+y-2(N-1)-1]+2*p[N,2x+y-2(N-1)-2]+p[N,2x+y-2(N-1)-3] + 2)>>2
(56)
<予測モード8>
p[x,N] x=0,…,N-1の画素と、p[-1,y] y=0,…,Nの画素が存在する場合
ただし、zHUL=-x-2y+2(N-1)として、x,y = 0,…,N-1
(1)zHUL=0,2,4,6,…,2(N-1)のとき
predNxN[x,y]
=(p[-1,(N-1)-{-x-2y+2(N-1)}>>1]+p[-1,(N-1)-{-x-2y+2(N-1)}>>1+1] +1)>>1
(57)
(2)zHUL=1,3,5,7,…,2(N-1)-1のとき
predNxN[x,y]
=(p[-1,(N-1)-{-x-2y+2(N-1)}>>1-1]+2*p[-1,(N-1)-{-x-2y+2(N-1)}>>1]
+p[-1,(N-1)-{-x-2y+2(N-1)}>>1+1] +1)>>1
(58)
(3)zHUL=-1のとき
predNxN[x,y]=(p[-1,N-1]+2*p[-1,N]+p[0,N] +2)>>2
(59)
(4)zHUL<-1のとき
predNxN[x,y]
=(p[x+2y-2(N-1)-1,N]+2*p[x+2y-2(N-1)-2,N]+p[x+2y-2(N-1)-3,N] +2)>>2
(60)
p[x,N] x=0,…,N-1の画素と、p[-1,y] y=0,…,Nの画素が存在する場合
ただし、zHUL=-x-2y+2(N-1)として、x,y = 0,…,N-1
(1)zHUL=0,2,4,6,…,2(N-1)のとき
predNxN[x,y]
=(p[-1,(N-1)-{-x-2y+2(N-1)}>>1]+p[-1,(N-1)-{-x-2y+2(N-1)}>>1+1] +1)>>1
(57)
(2)zHUL=1,3,5,7,…,2(N-1)-1のとき
predNxN[x,y]
=(p[-1,(N-1)-{-x-2y+2(N-1)}>>1-1]+2*p[-1,(N-1)-{-x-2y+2(N-1)}>>1]
+p[-1,(N-1)-{-x-2y+2(N-1)}>>1+1] +1)>>1
(58)
(3)zHUL=-1のとき
predNxN[x,y]=(p[-1,N-1]+2*p[-1,N]+p[0,N] +2)>>2
(59)
(4)zHUL<-1のとき
predNxN[x,y]
=(p[x+2y-2(N-1)-1,N]+2*p[x+2y-2(N-1)-2,N]+p[x+2y-2(N-1)-3,N] +2)>>2
(60)
イントラ予測モード特定部5は、ベクトル利用予測画像生成部4が17種類のイントラ予測モード0〜8,a〜hで予測画像を生成すると、それらの予測画像の中で、符号化対象ブロックとの差分が最小の予測画像を特定する。
例えば、17種類の予測画像と符号化対象ブロックの間で、差分絶対値和演算を実施し、その演算結果が最小になる予測画像を特定する。
イントラ予測モード特定部5は、符号化対象ブロックとの差分が最小の予測画像を特定すると、その予測画像の生成に用いているイントラ予測モードを特定し、そのイントラ予測モードをベクトル利用予測画像生成部4及び符号化制御部6に出力する。
ベクトル利用予測画像生成部4は、イントラ予測モード特定部5からイントラ予測モードを受けると、そのイントラ予測モードで生成している予測画像をセレクタ7に出力する。
例えば、17種類の予測画像と符号化対象ブロックの間で、差分絶対値和演算を実施し、その演算結果が最小になる予測画像を特定する。
イントラ予測モード特定部5は、符号化対象ブロックとの差分が最小の予測画像を特定すると、その予測画像の生成に用いているイントラ予測モードを特定し、そのイントラ予測モードをベクトル利用予測画像生成部4及び符号化制御部6に出力する。
ベクトル利用予測画像生成部4は、イントラ予測モード特定部5からイントラ予測モードを受けると、そのイントラ予測モードで生成している予測画像をセレクタ7に出力する。
符号化制御部6は、画面内予測モード決定部1により選択されたイントラ予測モード、イントラ予測モード特定部5により特定されたイントラ予測モード及び動き補償予測部3の画面間予測処理に用いられているインター予測モードの中から、最も符号化効率又は符号化画質が高くなる予測モードを選択し、その予測モードをエントロピー符号化部15に出力する。
また、符号化制御部6は、最も符号化効率又は符号化画質が高くなる予測モードが、画面内予測モード決定部1により選択されたイントラ予測モードであれば、画面内予測画像生成部2により生成された予測画像の選択指令をセレクタ7に出力し、イントラ予測モード特定部5により特定されたイントラ予測モードであれば、ベクトル利用予測画像生成部4により生成された予測画像の選択指令をセレクタ7に出力する。また、最も符号化効率又は符号化画質が高くなる予測モードが、動き補償予測部3の画面間予測処理に用いられているインター予測モードであれば、動き補償予測部3により生成された予測画像の選択指令をセレクタ7に出力する。
さらに、符号化制御部6は、各々の符号化対象ブロック毎に、差分画像が圧縮される際に用いられる量子化パラメータ及び変換周波数を決定し、その量子化パラメータ及び変換周波数を含む予測差分符号化パラメータを周波数変換量子化部9、逆周波数変換逆量子化部10及びエントロピー符号化部15に出力する。
また、符号化制御部6は、最も符号化効率又は符号化画質が高くなる予測モードが、画面内予測モード決定部1により選択されたイントラ予測モードであれば、画面内予測画像生成部2により生成された予測画像の選択指令をセレクタ7に出力し、イントラ予測モード特定部5により特定されたイントラ予測モードであれば、ベクトル利用予測画像生成部4により生成された予測画像の選択指令をセレクタ7に出力する。また、最も符号化効率又は符号化画質が高くなる予測モードが、動き補償予測部3の画面間予測処理に用いられているインター予測モードであれば、動き補償予測部3により生成された予測画像の選択指令をセレクタ7に出力する。
さらに、符号化制御部6は、各々の符号化対象ブロック毎に、差分画像が圧縮される際に用いられる量子化パラメータ及び変換周波数を決定し、その量子化パラメータ及び変換周波数を含む予測差分符号化パラメータを周波数変換量子化部9、逆周波数変換逆量子化部10及びエントロピー符号化部15に出力する。
セレクタ7は、符号化制御部6から画面内予測画像生成部2により生成された予測画像の選択指令を受けると、画面内予測画像生成部2により生成された予測画像を選択して、その予測画像を減算部8及び加算部11に出力する。
また、セレクタ7は、符号化制御部6からベクトル利用予測画像生成部4により生成された予測画像の選択指令を受けると、ベクトル利用予測画像生成部4により生成された予測画像を選択して、その予測画像を減算部8及び加算部11に出力する。
また、セレクタ7は、符号化制御部6から動き補償予測部3により生成された予測画像の選択指令を受けると、動き補償予測部3により生成された予測画像を選択して、その予測画像を減算部8及び加算部11に出力する。
また、セレクタ7は、符号化制御部6からベクトル利用予測画像生成部4により生成された予測画像の選択指令を受けると、ベクトル利用予測画像生成部4により生成された予測画像を選択して、その予測画像を減算部8及び加算部11に出力する。
また、セレクタ7は、符号化制御部6から動き補償予測部3により生成された予測画像の選択指令を受けると、動き補償予測部3により生成された予測画像を選択して、その予測画像を減算部8及び加算部11に出力する。
減算部8は、セレクタ7から予測画像を受けると、その予測画像と符号化対象ブロックの差分を求め、その差分画像を周波数変換量子化部9に出力する。
周波数変換量子化部9は、減算部8から差分画像を受けると、その差分画像の周波数を符号化制御部6から出力された予測差分符号化パラメータに含まれている変換周波数に変換するとともに、その予測差分符号化パラメータに含まれている量子化パラメータを用いて、周波数変換後の差分画像を量子化することで、量子化後の差分画像である周波数変換係数を差分画像の圧縮データとして逆周波数変換逆量子化部10及びエントロピー符号化部15に出力する。
周波数変換量子化部9は、減算部8から差分画像を受けると、その差分画像の周波数を符号化制御部6から出力された予測差分符号化パラメータに含まれている変換周波数に変換するとともに、その予測差分符号化パラメータに含まれている量子化パラメータを用いて、周波数変換後の差分画像を量子化することで、量子化後の差分画像である周波数変換係数を差分画像の圧縮データとして逆周波数変換逆量子化部10及びエントロピー符号化部15に出力する。
逆周波数変換逆量子化部10は、周波数変換量子化部9から差分画像の圧縮データを受けると、符号化制御部6から出力された予測差分符号化パラメータに含まれている量子化パラメータを用いて、その圧縮データを逆量子化するとともに、逆量子化後の圧縮データを逆変換周波数し、逆変換周波数後の圧縮データを局部復号予測差分信号として加算部11に出力する。
加算部11は、逆周波数変換逆量子化部10から局部復号予測差分信号を受けると、その局部復号予測差分信号とセレクタ7から出力された予測画像を示す予測信号を加算することで、局部復号画像を示す局部復号画像信号を生成する。
局部復号画像メモリ12は、画面内予測画像生成部2により次回の画面内予測処理で用いられる画像として、加算部11により生成された局部復号画像信号が示す局部復号画像を格納する。
加算部11は、逆周波数変換逆量子化部10から局部復号予測差分信号を受けると、その局部復号予測差分信号とセレクタ7から出力された予測画像を示す予測信号を加算することで、局部復号画像を示す局部復号画像信号を生成する。
局部復号画像メモリ12は、画面内予測画像生成部2により次回の画面内予測処理で用いられる画像として、加算部11により生成された局部復号画像信号が示す局部復号画像を格納する。
デブロッキングフィルタ部13は、加算部11が局部復号画像信号を生成すると、その局部復号画像信号に含まれている符号化歪みを補償し、符号化歪み補償後の局部復号画像信号が示す局部復号画像を参照画像としてフレームメモリ14に出力する。
フレームメモリ14は、動き補償予測部3により次回の動き補償予測処理で用いられる参照画像として、デブロッキングフィルタ部13によるフィルタリング処理後の局部復号画像を格納する。
フレームメモリ14は、動き補償予測部3により次回の動き補償予測処理で用いられる参照画像として、デブロッキングフィルタ部13によるフィルタリング処理後の局部復号画像を格納する。
エントロピー符号化部15は、周波数変換量子化部9から出力された圧縮データと、符号化制御部6から出力された予測モード及び予測差分符号化パラメータと、画面内予測画像生成部2又はベクトル利用予測画像生成部4により用いられたイントラ予測パラメータ/動き補償予測部3から出力されたインター予測パラメータ及び動きベクトルとをエントロピー符号化して、その圧縮データ、予測モード、予測差分符号化パラメータ、イントラ予測パラメータ/インター予測パラメータ・動きベクトルの符号化データが多重化されているビットストリームを生成する。
以上で明らかなように、この実施の形態1によれば、画面内予測方向が異なるイントラ予測モード0〜8の中から、符号化対象ブロックの画面内予測処理に最適なイントラ予測モードを選択する画面内予測モード決定部1と、画面内予測モード決定部1により選択されたイントラ予測モードで、符号化対象ブロックの周辺画像を用いる画面内予測処理を実施して予測画像を生成する画面内予測画像生成部2と、符号化対象ブロックとフレームメモリ14により格納されている1フレーム以上の参照画像を比較しながら動きベクトルを探索する動き探索処理を実施し、その動きベクトルを用いる画面間予測処理を実施して予測画像を生成する動き補償予測部3と、イントラ予測モード0〜8,a〜hで、動き補償予測部3により探索された動きベクトルが指し示す参照画像の周辺画像を用いる画面内予測処理を実施して予測画像を生成するベクトル利用予測画像生成部4と、ベクトル利用予測画像生成部4によりイントラ予測モード0〜8,a〜hで生成されている予測画像の中で、符号化対象ブロックとの差分が最小の予測画像を特定し、その予測画像の生成に用いているイントラ予測モードを特定するイントラ予測モード特定部5とを設け、符号化制御部6が、画面内予測モード決定部1により選択されたイントラ予測モード、イントラ予測モード特定部5により特定されたイントラ予測モード及び動き補償予測部3の画面間予測処理に用いられているインター予測モードの中から、最も符号化効率又は符号化画質が高くなる予測モードを選択するように構成したので、複数回の符号化を実施することなく、画面内予測方向を増やして、符号化効率や符号化画質を高めることができる効果を奏する。
実施の形態2.
図6はこの発明の実施の形態2による動画像符号化装置を示す構成図であり、図において、図1と同一符号は同一または相当部分を示すので説明を省略する。
真裏画像利用予測画像生成部20はフレームメモリ14から符号化対象ブロックと同位置における参照画像(以下、「真裏画像」と称する)の周辺画像(真裏画像の周辺に位置している画像)を読み出し、イントラ予測モード0〜8,a〜hで、その真裏画像を用いる画面内予測処理を実施して予測画像を生成する処理を実施する。なお、真裏画像利用予測画像生成部20は第2の予測画像生成手段を構成している。
図6はこの発明の実施の形態2による動画像符号化装置を示す構成図であり、図において、図1と同一符号は同一または相当部分を示すので説明を省略する。
真裏画像利用予測画像生成部20はフレームメモリ14から符号化対象ブロックと同位置における参照画像(以下、「真裏画像」と称する)の周辺画像(真裏画像の周辺に位置している画像)を読み出し、イントラ予測モード0〜8,a〜hで、その真裏画像を用いる画面内予測処理を実施して予測画像を生成する処理を実施する。なお、真裏画像利用予測画像生成部20は第2の予測画像生成手段を構成している。
図6の例では、動画像符号化装置の構成要素である画面内予測モード決定部1、画面内予測画像生成部2、動き補償予測部3、真裏画像利用予測画像生成部20、イントラ予測モード特定部5、符号化制御部6、セレクタ7、減算部8、周波数変換量子化部9、逆周波数変換逆量子化部10、加算部11、デブロッキングフィルタ部13及びエントロピー符号化部15のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路、あるいは、ワンチップマイコンなど)で構成されているものを想定しているが、動画像符号化装置がコンピュータで構成される場合、画面内予測モード決定部1、画面内予測画像生成部2、動き補償予測部3、真裏画像利用予測画像生成部20、イントラ予測モード特定部5、符号化制御部6、セレクタ7、減算部8、周波数変換量子化部9、逆周波数変換逆量子化部10、加算部11、デブロッキングフィルタ部13及びエントロピー符号化部15の処理内容を記述しているプログラムを当該コンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
次に動作について説明する。
ただし、ベクトル利用予測画像生成部4の代わりに、真裏画像利用予測画像生成部20が実装されている点以外は、上記実施の形態1と同様であるため、主に真裏画像利用予測画像生成部20の処理内容を説明する。
ただし、ベクトル利用予測画像生成部4の代わりに、真裏画像利用予測画像生成部20が実装されている点以外は、上記実施の形態1と同様であるため、主に真裏画像利用予測画像生成部20の処理内容を説明する。
真裏画像利用予測画像生成部20は、予測画像を生成する際、図1のベクトル利用予測画像生成部4のように、動き補償予測部3により探索された動きベクトルを用いずに、符号化対象ブロックと同位置における真裏画像の周辺画像を用いるものである。
まず、真裏画像利用予測画像生成部20は、フレームメモリ14から符号化対象ブロックと同位置にある真裏画像の周辺画像の読み出しを行う。
次に、真裏画像利用予測画像生成部20は、イントラ予測モード0〜8,a〜hで、その周辺画像を用いる画面内予測処理を実施して予測画像を生成し、それらの予測画像をイントラ予測モード特定部5に出力する。
まず、真裏画像利用予測画像生成部20は、フレームメモリ14から符号化対象ブロックと同位置にある真裏画像の周辺画像の読み出しを行う。
次に、真裏画像利用予測画像生成部20は、イントラ予測モード0〜8,a〜hで、その周辺画像を用いる画面内予測処理を実施して予測画像を生成し、それらの予測画像をイントラ予測モード特定部5に出力する。
イントラ予測モード特定部5は、真裏画像利用予測画像生成部20が17種類のイントラ予測モード0〜8,a〜hで予測画像を生成すると、上記実施の形態1と同様に、それらの予測画像の中で、符号化対象ブロックとの差分が最小の予測画像を特定し、そのイントラ予測モードを真裏画像利用予測画像生成部20及び符号化制御部6に出力する。
真裏画像利用予測画像生成部20は、イントラ予測モード特定部5からイントラ予測モードを受けると、そのイントラ予測モードで生成している予測画像をセレクタ7に出力する。
以下の処理は、上記実施の形態1と同様であるため説明を省略する。
真裏画像利用予測画像生成部20は、イントラ予測モード特定部5からイントラ予測モードを受けると、そのイントラ予測モードで生成している予測画像をセレクタ7に出力する。
以下の処理は、上記実施の形態1と同様であるため説明を省略する。
以上で明らかなように、この実施の形態1によれば、画面内予測方向が異なるイントラ予測モード0〜8の中から、符号化対象ブロックの画面内予測処理に最適なイントラ予測モードを選択する画面内予測モード決定部1と、画面内予測モード決定部1により選択されたイントラ予測モードで、符号化対象ブロックの周辺画像を用いる画面内予測処理を実施して予測画像を生成する画面内予測画像生成部2と、符号化対象ブロックとフレームメモリ14により格納されている1フレーム以上の参照画像を比較しながら動きベクトルを探索する動き探索処理を実施し、その動きベクトルを用いる画面間予測処理を実施して予測画像を生成する動き補償予測部3と、イントラ予測モード0〜8,a〜hで、真裏画像の周辺画像を用いる画面内予測処理を実施して予測画像を生成する真裏画像利用予測画像生成部20と、真裏画像利用予測画像生成部20によりイントラ予測モード0〜8,a〜hで生成されている予測画像の中で、符号化対象ブロックとの差分が最小の予測画像を特定し、その予測画像の生成に用いているイントラ予測モードを特定するイントラ予測モード特定部5とを設け、符号化制御部6が、画面内予測モード決定部1により選択されたイントラ予測モード、イントラ予測モード特定部5により特定されたイントラ予測モード及び動き補償予測部3の画面間予測処理に用いられているインター予測モードの中から、最も符号化効率又は符号化画質が高くなる予測モードを選択するように構成したので、複数回の符号化を実施することなく、画面内予測方向を増やして、符号化効率や符号化画質を高めることができる効果を奏する。
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
1 画面内予測モード決定部(予測モード選択手段)、2 画面内予測画像生成部(第1の予測画像生成手段)、3 動き補償予測部(動きベクトル探索手段、動き補償予測手段)、4 ベクトル利用予測画像生成部(第2の予測画像生成手段)、5 イントラ予測モード特定部(イントラ予測モード特定手段)、6 符号化制御部(符号化制御手段)、7 セレクタ(差分画像生成手段)、8 減算部(差分画像生成手段)、9 周波数変換量子化部、10 逆周波数変換逆量子化部、11 加算部、12 局部復号画像メモリ、13 デブロッキングフィルタ部、14 フレームメモリ、15 エントロピー符号化部(可変長符号化手段)、20 真裏画像利用予測画像生成部(第2の予測画像生成手段)。
Claims (5)
- 画面内予測方向が異なる複数のイントラ予測モードの中から、符号化対象の原画像の画面内予測処理に最適なイントラ予測モードを選択する予測モード選択手段と、上記予測モード選択手段により選択されたイントラ予測モードで、上記原画像の周辺画像を用いる画面内予測処理を実施して予測画像を生成する第1の予測画像生成手段と、上記原画像に対する動き探索処理を実施して動きベクトルを探索する動きベクトル探索手段と、上記複数のイントラ予測モードと異なるイントラ予測モードを含む複数のイントラ予測モードで、上記動きベクトル探索手段により探索された動きベクトルが指し示す参照画像の周辺画像を用いる画面内予測処理を実施して予測画像を生成する第2の予測画像生成手段と、上記第2の予測画像生成手段により複数のイントラ予測モードで生成されている予測画像の中で、上記原画像との差分が最小の予測画像を特定し、上記予測画像の生成に用いているイントラ予測モードを特定するイントラ予測モード特定手段と、上記イントラ予測モード選択手段により選択されたイントラ予測モード及び上記イントラ予測モード特定手段により特定されたイントラ予測モードの中で、符号化効率又は符号化画質が高くなる方のイントラ予測モードを選択する符号化制御手段と、上記符号化制御手段により選択されたイントラ予測モードが、上記イントラ予測モード選択手段により選択されたイントラ予測モードである場合、上記第1の予測画像生成手段により上記イントラ予測モードで生成されている予測画像と上記原画像の差分画像を生成し、上記符号化制御手段により選択されたイントラ予測モードが、上記イントラ予測モード特定手段により特定されたイントラ予測モードである場合、上記第2の予測画像生成手段により上記イントラ予測モードで生成されている予測画像と上記原画像の差分画像を生成する差分画像生成手段と、上記差分画像生成手段により生成された差分画像を圧縮する画像圧縮手段と、上記画像圧縮手段による圧縮後の差分画像及び上記符号化制御手段により選択されたイントラ予測モードを可変長符号化する可変長符号化手段とを備えた動画像符号化装置。
- 動きベクトル探索手段により探索された動きベクトルを用いる画面間予測処理を実施して予測画像を生成する動き補償予測手段を設け、
符号化制御手段は、イントラ予測モード選択手段により選択されたイントラ予測モード、イントラ予測モード特定手段により特定されたイントラ予測モード及び上記動き補償予測手段の画面間予測処理に用いられているインター予測モードの中から、最も符号化効率又は符号化画質が高くなる予測モードを選択し、
差分画像生成手段は、上記符号化制御手段によりインター予測モードが選択された場合、上記動き補償予測手段により生成された予測画像と原画像の差分画像を生成し、
可変長符号化手段は、上記符号化制御手段によりインター予測モードが選択された場合、画像圧縮手段による圧縮後の差分画像及び上記符号化制御手段により選択されたインター予測モードを可変長符号化する
ことを特徴とする請求項1記載の動画像符号化装置。 - 画面内予測方向が異なる複数のイントラ予測モードの中から、符号化対象の原画像の画面内予測処理に最適なイントラ予測モードを選択する予測モード選択手段と、上記予測モード選択手段により選択されたイントラ予測モードで、上記原画像の周辺画像を用いる画面内予測処理を実施して予測画像を生成する第1の予測画像生成手段と、上記複数のイントラ予測モードと異なるイントラ予測モードを含む複数のイントラ予測モードで、上記原画像と同位置における参照画像の周辺画像を用いる画面内予測処理を実施して予測画像を生成する第2の予測画像生成手段と、上記第2の予測画像生成手段により複数のイントラ予測モードで生成されている予測画像の中で、上記原画像との差分が最小の予測画像を特定し、上記予測画像の生成に用いているイントラ予測モードを特定するイントラ予測モード特定手段と、上記イントラ予測モード選択手段により選択されたイントラ予測モード及び上記イントラ予測モード特定手段により特定されたイントラ予測モードの中で、符号化効率又は符号化画質が高くなる方のイントラ予測モードを選択する符号化制御手段と、上記符号化制御手段により選択されたイントラ予測モードが、上記イントラ予測モード選択手段により選択されたイントラ予測モードである場合、上記第1の予測画像生成手段により上記イントラ予測モードで生成されている予測画像と上記原画像の差分画像を生成し、上記符号化制御手段により選択されたイントラ予測モードが、上記イントラ予測モード特定手段により特定されたイントラ予測モードである場合、上記第2の予測画像生成手段により上記イントラ予測モードで生成されている予測画像と上記原画像の差分画像を生成する差分画像生成手段と、上記差分画像生成手段により生成された差分画像を圧縮する画像圧縮手段と、上記画像圧縮手段による圧縮後の差分画像及び上記符号化制御手段により選択されたイントラ予測モードを可変長符号化する可変長符号化手段とを備えた動画像符号化装置。
- 原画像に対する動き探索処理を実施して動きベクトルを探索し、上記動きベクトルを用いる画面間予測処理を実施して予測画像を生成する動き補償予測手段を設け、
符号化制御手段は、イントラ予測モード選択手段により選択されたイントラ予測モード、イントラ予測モード特定手段により特定されたイントラ予測モード及び上記動き補償予測手段の画面間予測処理に用いられているインター予測モードの中から、最も符号化効率又は符号化画質が高くなる予測モードを選択し、
差分画像生成手段は、上記符号化制御手段によりインター予測モードが選択された場合、上記動き補償予測手段により生成された予測画像と原画像の差分画像を生成し、
可変長符号化手段は、上記符号化制御手段によりインター予測モードが選択された場合、画像圧縮手段による圧縮後の差分画像及び上記符号化制御手段により選択されたインター予測モードを可変長符号化する
ことを特徴とする請求項3記載の動画像符号化装置。 - 第2の予測画像生成手段が予測画像の生成に用いる複数のイントラ予測モードにおける画面内予測方向が360度の範囲に亘っていることを特徴とする請求項1から請求項4のうちのいずれか1項記載の動画像符号化装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010270265A JP2012120086A (ja) | 2010-12-03 | 2010-12-03 | 動画像符号化装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010270265A JP2012120086A (ja) | 2010-12-03 | 2010-12-03 | 動画像符号化装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012120086A true JP2012120086A (ja) | 2012-06-21 |
Family
ID=46502405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010270265A Pending JP2012120086A (ja) | 2010-12-03 | 2010-12-03 | 動画像符号化装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012120086A (ja) |
-
2010
- 2010-12-03 JP JP2010270265A patent/JP2012120086A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11876979B2 (en) | Image encoding device, image decoding device, image encoding method, image decoding method, and image prediction device | |
JP5905613B2 (ja) | 映像復号化装置 | |
US11831893B2 (en) | Image coding device, image decoding device, image coding method, and image decoding method | |
EP2523458A1 (en) | Video encoding device, and video decoding device | |
WO2010001918A1 (ja) | 画像処理装置および方法、並びにプログラム | |
JP2010016454A (ja) | 画像符号化装置および方法、画像復号装置および方法、並びにプログラム | |
WO2010123055A1 (ja) | 画像処理装置および方法 | |
JP2023168518A (ja) | 予測ブロック生成装置、画像符号化装置、画像復号装置、及びプログラム | |
KR20100044333A (ko) | 동영상 부호화 장치 및 이를 위한 영상 신호의 2차원 정렬 변환 장치 및 방법, 및 이를 위한 기록 매체 | |
JP5598199B2 (ja) | 動画像符号化装置 | |
JP2015076666A (ja) | ブロック構造決定回路および情報圧縮回路 | |
JP2013070419A (ja) | 動画像符号化装置及び動画像復号化装置 | |
JP2014042332A (ja) | 動画像符号化装置及び動画像復号化装置 | |
JP6421426B2 (ja) | 符号化方式変換装置及びプログラム | |
JP2012120086A (ja) | 動画像符号化装置 | |
WO2017104010A1 (ja) | 動画像符号化装置および動画像符号化方法 | |
JP2013098715A (ja) | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 | |
JP5533885B2 (ja) | 動画像符号化装置および動画像復号装置 | |
JP2012023609A (ja) | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 | |
JP5645589B2 (ja) | 動画像符号化装置 |