JP4650461B2 - 符号化装置、符号化方法、プログラム、及び記録媒体 - Google Patents

符号化装置、符号化方法、プログラム、及び記録媒体 Download PDF

Info

Publication number
JP4650461B2
JP4650461B2 JP2007184286A JP2007184286A JP4650461B2 JP 4650461 B2 JP4650461 B2 JP 4650461B2 JP 2007184286 A JP2007184286 A JP 2007184286A JP 2007184286 A JP2007184286 A JP 2007184286A JP 4650461 B2 JP4650461 B2 JP 4650461B2
Authority
JP
Japan
Prior art keywords
prediction
mode
intra
cost
value
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.)
Expired - Fee Related
Application number
JP2007184286A
Other languages
English (en)
Other versions
JP2009021927A (ja
Inventor
央二 中神
数史 佐藤
陽一 矢ケ崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2007184286A priority Critical patent/JP4650461B2/ja
Priority to CN2008101268873A priority patent/CN101345876B/zh
Priority to US12/171,882 priority patent/US8213505B2/en
Publication of JP2009021927A publication Critical patent/JP2009021927A/ja
Application granted granted Critical
Publication of JP4650461B2 publication Critical patent/JP4650461B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明は、符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体に関し、例えばH.264及びMPEG−4 Part10(Advanced Video Coding )による符号化装置に適用することができる。本発明は、異なる予測値生成単位で検出される最適予測モードからイントラ予測に適した予測モードを検出して符号化処理する際に、一方の最適予測モード検出処理を他方の最適予測モード検出処理に利用して、これら異なる予測値生成単位による最適予測モードを検出することにより、多数の予測モードから最適予測モードを選択して画像データを符号化処理する場合に、最適予測モードの選択に係る演算処理量を低減する。
近年、放送局、一般家庭等における動画の伝送、記録には、画像データの冗長性を有効に利用して効率良く画像データを伝送、蓄積する装置が普及しつつある。このような装置は、例えばMPEG(Moving Picture Experts Group)等の方式に準拠して、離散コサイン変換等の直交変換と動き補償とにより画像データを効率良くデータ圧縮している。
ここでこの種のデータ圧縮方式の1つであるMPEG2(ISO/IEC 13818-2 )は、汎用の画像符号化方式として定義された方式である。MPEG2は、飛び越し走査方式、順次走査方式の双方に、また標準解像度画像、高精細画像の双方に対応できるように定義され、現在、プロフェッショナル用途及びコンシューマー用途の広範なアプリケーションに広く用いられている。具体的にMPEG2によれば、例えば720×480画素による標準解像度、飛び越し走査方式の画像データを4〜8〔Mbps〕のビットレートにデータ圧縮することができる。また1920×1088画素による高解像度、飛び越し走査方式の画像データを18〜22〔Mbps〕のビットレートにデータ圧縮することができ、高画質で高い圧縮率を確保することができる。
しかしながらMPEG2は、放送用に適合した高画質符号化方式であり、MPEG1より符号量の少ない高圧縮率の符号化方式には対応していない。これに対して近年の携帯端末の普及により、MPEG1より符号量の少ない高圧縮率の符号化方式のニーズの高まりが予測される。そこでMPEG4による符号化方式の規格が、ISO/IEC(International 0rganization for Standardization/International Electrotechnical Commission )14496−2により1998年12月に国際標準に承認された。
またこのようなデータ圧縮方式では、当初はテレビ会議用の画像符号化を目的としたものであったH26L(ITU-T Q6/16 VCEG)が規格化されている。このH26Lは、MPEG2、MPEG4に比して演算量が増大するものの、MPEG2、MPEG4に比して高い符号化効率を確保することができる。またMPEG4の活動の一環として、このH26Lをベースにして各種機能を取り入れ、さらに一段と高い符号化効率を確保する符号化方式の標準化が、Joint Model of Enhanced-Compression Video Codingとして進められ、この方式は、2003年3月に、H.264及びMPEG−4 Part10(Advanced Video Coding )との名称により国際標準に設定された。以下、この明細書では、この規格をJVT規格と呼ぶ。
図5は、このJVT規格の符号化装置を示すブロック図である。符号化装置1は、複数のイントラ予測モードと複数のインター予測モードとから最適予測モードを選択し、この選択した予測モードによる予測値を画像データD1から減算して差分データ(予測誤差データ)D2を生成する。またこの差分データD2を直交変換処理、量子化処理、可変長符号化処理して符号化データD5を出力する。
この符号化装置1において、アナログディジタル変換回路(A/D)2は、ビデオ信号S1をアナログディジタル変換処理して画像データD1を出力する。画面並べ替えバッファ3は、このアナログディジタル変換回路2から出力される画像データD1を入力し、この符号化装置1の符号化処理に係るGOP(Group of Pictures )構造に応じて、この画像データD1のフレームを並べ替えて出力する。
減算回路4は、この画面並べ替えバッファ3から出力される画像データD1を受け、イントラ符号化においては、イントラ予測回路5から出力される予測値をこの画像データD1から減算して差分データD2を出力する。またインター符号化においては、動き予測・補償回路6から予測値を入力し、画像データD1からこの予測値を減算して差分データD2を出力する。
直交変換回路7は、離散コサイン変換、カルーネン・レーベ変換等の直交変換処理により、減算回路4の出力データD2を処理し、その処理結果である係数データD3を出力する。量子化回路8は、レート制御回路9のレート制御による量子化スケールにより、この係数データD3を量子化して出力する。可逆符号化回路10は、この量子化回路8の出力データを可変長符号化、算術符号化等により可逆符号化処理して出力データD4を生成する。また可逆符号化回路10は、イントラ符号化に関する情報、インター符号化に関する情報等をイントラ予測回路5、動き予測・補償回路6から取得し、これらの情報を出力データD4のヘッダ情報に設定する。
蓄積バッファ11は、この可逆符号化回路10の出力データD4を蓄積して続く伝送路の伝送速度で出力する。レート制御回路9は、この蓄積バッファ11の空き容量の監視により符号化処理による発生符号量を監視すると共に、この監視結果により量子化回路8の量子化スケールを切り換え、この符号化装置1による発生符号量を制御する。
逆量子化回路13は、量子化回路8の出力データを逆量子化処理し、量子化回路8の入力データを復号する。逆直交変換回路14は、逆量子化回路13の出力データを逆直交変換処理し、直交変換回路7の入力データD2を復号する。符号化装置1は、図示しない加算回路により、この逆直交変換回路14の出力データに対応する予測値を加算し、減算回路4の入力データを復号する。デブロックフィルタ15は、この加算回路の出力データからブロック歪を除去して出力する。フレームメモリ16は、このデブロックフィルタ15の出力データを参照画像情報として記録して保持する。
動き予測・補償回路6は、インター符号化において、このフレームメモリ16に保持された参照画像情報による予測フレームを基準にして画像並べ替えバッファ3から出力される画像データの動きベクトルMVを検出し、インター予測モードにおける最適予測モードを検出する。またインター符号化が選択されると、この最適予測モードにより、対応する動きベクトルMVによりフレームメモリ16に保持した参照画像情報を動き補償して予測画像情報を生成し、この予測画像情報による予測値を減算回路4に出力する。
イントラ予測回路5は、イントラ符号化において、フレームメモリ16の入力データに基づいてイントラ予測モードにおける最適予測モードを検出する。またイントラ符号化が選択されると、この最適予測モードによりフレームメモリ16の入力データから予測画像情報の予測値を生成して減算回路4に出力する。
符号化装置1では、GOP構造に対応する処理対象ピクチャに応じて、これらイントラ予測回路5、動き予測・補償回路6で検出される最適予測モードから、この符号化装置1における予測モードが選択され、この選択結果に応じてイントラ予測回路5、動き予測・補償回路6による予測値により選択的に減算回路4で差分データD2が生成される。
図6は、JVT規格の復号化装置を示すブロック図である。この復号化装置20において、蓄積バッファ21は、伝送路を介して入力される符号化データD5を一時蓄積して出力する。可逆復号化回路22は、可変長復号化、算術復号化等によりこの蓄積バッファ21の出力データを処理し、符号化装置1における可逆符号化回路10の入力データを復号する。またこのときこの出力データがイントラ符号化されたものである場合、ヘッダに格納されたイントラ予測モードの情報を復号してイントラ予測回路23に出力する。またこの出力データがインター符号化されたものである場合、ヘッダに格納された動きベクトルに関する情報を復号して動き予測・補償回路24へ出力する。
逆量子化回路25は、可逆復号化回路22の出力データを逆量子化処理し、符号化装置1の量子化回路8に入力される係数データD3を復号する。逆直交変換回路26は、この逆量子化回路25から出力される係数データを入力して逆直交変換処理し、符号化装置1の直交変換回路7に入力される差分データD2を復号する。
加算回路27は、逆直交変換回路26から出力される差分データD2を入力し、イントラ符号化において、イントラ予測回路23で生成される予測画像の予測値を加算して出力するのに対し、インター符号化において、動き予測・補償回路24から出力される予測画像の予測値を加算して出力する。これにより加算回路27は、符号化装置1における減算回路4の入力データを復号する。
デブロックフィルタ28は、この加算回路27の出力データからブロック歪を除去して出力する。画面並べ替えバッファ29は、このデブロックフィルタ28から出力される画像データのフレームをGOP構造に応じて並べ替えて出力する。ディジタルアナログ変換回路(D/A)30は、この画面並べ替えバッファ29の出力データをディジタルアナログ変換処理して元のビデオ信号S1を出力する。
フレームメモリ31は、デブロックフィルタ28の出力データを参照画像情報として記録して保持する。動き予測・補償回路24は、インター符号化において、可逆復号化回路22から通知される動きベクトルの情報によりフレームメモリ31に保持された参照画像情報を動き補償して予測値を生成し、この予測値を加算回路27に出力する。イントラ予測回路23は、イントラ符号化において、可逆復号化回路22から通知されるイントラ予測モードによりフレームメモリ31の入力データから予測値を生成し、この予測値を加算回路27に出力する。
ここでJVT規格では、イントラ予測モードに、イントラ4×4モード、イントラ8×8モード、イントラ16×16モードが用意されている。イントラ4×4モードは、4画素×4画素のブロックが直交変換処理の単位とされ、この直交変換処理の1個がイントラ予測回路5における予測値の生成単位とされる。またイントラ16×16モードは、4画素×4画素のブロックが直交変換処理の単位とされ、この4画素×4画素の直交変換処理の4個×4個のブロック(16画素×16画素のブロック)が予測値の生成単位とされる。これに対してイントラ8×8モードは、MPEG2と同様に、8画素×8画素のブロックが直交変換処理の単位とされ、予測値の生成単位とされる。以下、これらイントラ4×4モード、イントラ8×8モード、イントラ16×16モードにおける予測値の生成単位をそれぞれブロック、サブマクロブロック、マクロブロックと呼ぶ。
JVT規格では、これらイントラ4×4モード、イントラ8×8モード、イントラ16×16モードにおいて、イントラ16×16モードのマクロブロックである16画素×16画素のブロック単位で画像データD1を順次処理する。従ってイントラ16×16モードにおける16画素×16画素のブロックを上下左右にそれぞれ2等分したブロックがイントラ8×8モードにおけるサブマクロブロックとなり、イントラ8×8モードでは、この16画素×16画素のマクロブロックにおけるサブマクロブロックをラスタ走査の順序で処理する。またイントラ16×16モードにおける16画素×16画素のブロックを上下左右にそれぞれ4等分したブロックがイントラ4×4モードにおけるブロックとなり、イントラ4×4モードでは、図7において処理順序を数字により示すように、この16画素×16画素のマクロブロックにおけるブロックをラスタ走査の順序で順次処理する。
JVT規格では、イントラ予測モードにおけるイントラ4×4モード、イントラ16×16モードにおいて、デブロックフィルタ15で処理する前の復号済みの隣接ブロック又は隣接マクロブロックの画素値を用いて予測値が生成される。またイントラ8×8モードでは、MPEG2と同様にして、デブロックフィルタ15で処理した後の復号済みの隣接マクロブロックの画素値を用いて予測値が生成される。
なおJVT規格では、ビデオ信号S1が飛び越し走査方式のビデオ信号である場合、図8において矢印により処理順序を示すように、垂直方向に連続する2つの予測値の生成単位をペア(以下、マクロブロックペアと呼ぶ)にして、フィールドモード又はフレームモードにより順次符号化処理することが可能である。
イントラ予測モードでは、イントラ4×4モード、イントラ8×8モード、イントラ16×16モードにより輝度信号に対する予測値の処理が異なる。従って以下においては、先ずイントラ4×4モードにおける処理を説明する。なおイントラ8×8モードは、MPEG2と同様の処理であることから説明は省略する。
ここでイントラ4×4モードは、mb part pred mode(mb type,0)が、Intra 4x4に等しい時に適用される。予測値の生成処理では、prev intra4x4 pred mode flag、rem intra4x4 pred mode (if available) 、周辺輝度block のデブロックフィルタ15による処理前の画素値 (if available) を入力パラメータとし、予測値生成対象のブロックに対する輝度信号の予測値を生成する。
ここでイントラ4×4モードにおいて、adaptive frame field flag の値が0の時、予測値の生成処理では、当該ブロックのイントラ予測がavailable か、not available かの判定処理を行う。ここでこの判定処理は、図9に示すように、当該ブロックの隣接ブロックに含まれる、復号化処理済み画素A〜Mの輝度画素値を入力し、画素a〜pによる処理対象ブロックに対して、これら隣接画素A〜Mの画素値がavailable か否か判定して実行される。
ここで予測値生成対象の4画素×4画素のブロックを4x4LumaBlkLoc と定義し、このブロックにおける左上部の画素値の位置を、4x4LumaBlkIdx により指し示すものと定義する。従って図9における画素a〜pによるブロックは、4x4LumaBlkLoc であり、4x4LumaBlkIdx は、符号aの画素の位置を示すことになる。また画素dの位置(x,y)は、x:4x4LumaBlkLoc[4x4LumaBlkIdx] [0]+3,y:4x4LumaBlkLoc[4x4LumaBlkIdx] [1]により示され、画素Aの位置(x,y)は、x:4x4LumaBlkLoc[4x4LumaBlkIdx][0],y:4x4LumaBlkLoc[4x4LumaBlkIdx][1] −1により示される。
隣接画素A〜Mの画素値は、(条件1)当該画素が、ピクチャ外、若しくはスライス外である場合、(条件2)復号化処理において、当該画素が、予測値生成対象のブロックより後に処理されるブロックに属する場合、又は(条件3)constrained intra pred flag= 0で、当該ブロックがインターマクロブロックに属する場合、not available であるとされる。なお画素E〜Hは、(条件1)〜(条件3)の何れかに該当する場合でも、画素Dがavailable の場合、画素Dの画素値を適用してavailable とされる。
なおmb adaptive frame field flagが値1で、field pic flagが値0の場合、隣接画素A〜Mは、mb adaptive frame field flagが値0である場合と同一に定義される。また当該ブロックが、field decoding mode であって、top field macroblockである場合、次式により示すように、隣接画素が定義される。
Figure 0004650461
また当該ロブロックが、field decoding mode であって、bottom field macroblock である場合には、次式により示すように、隣接画素が定義される。
Figure 0004650461
イントラ4×4モードは、図10により示す複数の予測モードが用意されており、上述の隣接画素がavailable かnot available かの判定処理結果に応じて、適用可能な予測モードが変化する。ここでIntra4x4LumaPredMode[4x4LumaBlkIdx] の値が0、1〜8の場合の予測方向を、図10との対比により図11により示す。なお各予測モードの具体的な予測値については、復号化処理において詳述する。
ここで図12に示すように、処理対象マクロブロックの上及び左に位置するマクロブロックは、処理対象のマクロブロックと高い相関を有している。そこでJVT規格では、符号化済みの上及び左に位置するマクロブロックの予測方向から、対象マクロブロックの予測方向を予測する方法も採用されている。
この隣接マクロブロックの予測方向を使用した予測方向の予測処理は、adaptive frame field flagが値0の場合、又はfield pic flagが値1の場合、始めに隣接マクロブロックのアドレス検出、availabilityの検証が実行される。ここでこのアドレス検出、検証の処理は、対象マクロブロックのアドレスMbAddress を入力し、この対象マクロブロックの上に位置するマクロブロックのアドレスMbAddressA及び左に位置するマクロブロックのアドレスMbAddressBを検出し、この上及び左に位置するマクロブロックのavailabilityを判定する処理である。
ここであるマクロブロックのアドレスMbAddress に対して、(条件1)MbAddress <0が成り立つ場合、(条件2)MbAddress >MaxMbAddress−1が成り立つ場合、(条件3)MbAddress により指定されるマクロブロックが異なるslice に属するものである場合、又は(条件4)MbAddress により指定されるマクロブロックが復号化済みではない場合、このアドレスMbAddress のマクロブロックは、not available であるとされる。
この判定処理が上及び左に位置するマクロブロックにそれぞれ適用されてavailable か否か判定される。なおマクロブロックペアによる処理において、左に位置するマクロブロックの属するマクロブロックペアのアドレスMbPairAddressAは、処理対象マクロブロックの属するマクロブロックペアのアドレスMbPairAddress −1であり、また上に位置するマクロブロックの属するマクロブロックペアのアドレスMbPairAddressBは、処理対象マクロブロックの属するマクロブロックペアのアドレスMbPairAddress − (frame width in mbs minus1 +1)である。
このマクロブロックの判定結果に基づいて、符号化装置では、隣接マクロブロックのアドレス検出、availabilityの検証が以下のように行われる。なおこの処理の入力パラメータは、MbAddressAであり、出力は変数ExtIntra4x4LumaPred の値(4種類)である。符号化装置では、この隣接マクロブロックから予測方向を予測する場合には、この変数ExtIntra4x4LumaPred を伝送する。
ここで当該マクロブロックの左に位置するマクロブロック(MbAddressAで指し示されるマクロブロック)がavailable であり、MbAddressAで指し示されるマクロブロックのmb typeがI 4x4 又はSIの時、ExtIntra4x4LumaPredModeの値は以下の処理により得られる。ここでIntra4x4LumaPredModeは、MbAddressAにより指し示されるマクロブロックに対して割り当てられた値である。
Figure 0004650461
またMbAddressAで指し示されるマクロブロックがavailable でなく、又はそのmb type
がI 4x4 、SIの何れでもない場合、ExtIntra4x4LumaPredMode の値は以下の処理により得られる。
Figure 0004650461
また当該マクロブロックの上に位置するマクロブロック(MbAddressBで指し示されるマクロブロック)がavailable で、MbAddressBで指し示されるマクロブロックのmb type が、I 4x4 又はSIの場合、ExtIntra4x4LumaPredMode の値は以下の処理により得られる。ここで、Intra4x4LumaPredModeは、MbAddressBにより指し示されるマクロブロックに対して割り当てられた値である。
Figure 0004650461
またMbAddressBで指し示されるマクロブロックがavailable でなく、又はそのmb type
がI 4x4 、SIの何れでもない場合、ExtIntra4x4LumaPredModeの値は以下の処理により得られる。
Figure 0004650461
また図7について上述したマクロブロックペアの処理の場合、符号化装置では、隣接マクロブロックペアのイントラ予測モードに関する情報を抽出して伝送する。ここで当該マクロブロックのmb adaptive frame field flagが値1であって、field pic flagが値0の場合、以下のように処理される。
まず当該マクロブロックペアが、frame modeの場合、MbPairAddressA及びMbPairAddressBから、top macroblock、bottom macroblock のそれぞれに対して、当該マクロブロックに対するExtIntra4x4LumaPredModeTop及びExtIntra4x4LumaPredModeBottom (合計8種類)が求められる。
ここでTop macroblockに関しては、(3)式及び(5)式により、ExtIntra4x4PredModeTop、ExtIntra4x4PredModeTopが求められる。またBottom Macroblockに関しては、(3)式及び(5)式により、ExtIntra4x4PredModeTop、ExtIntra4x4PredModeTopが求められる。なおこれらにおいて(3)式及び(5)式のMbAddressA、MbAddressBには、それぞれMbPairAddressA、MbPairAddressBが適用される。
また当該マクロブロックペアが、field modeの場合、同様に、MbPairAddressA及びMbPairAddressBから、top macroblock、bottom macroblock のそれぞれに対して、当該マクロブロックに対するExtIntra4x4LumaPredModeTop及びExtIntra4x4LumaPredModeBottom (合計8種類)が求められる。
ここで隣接マクロブロックペアMbPairAddressAに対しては、(3)式により、それぞれExtIntra4x4LumaPredModeTop及びExtIntra4x4LumaPredModeBottom が求められる。なおここで(3)式のMbAddressAには、MbPairAddressAが適用される。
なお隣接マクロブロックペア MbPairAddressB がfield modeである場合、又は隣接マクロブロックペア MbPairAddressB がavailable でない場合であって、当該マクロブロックペアがtop macroblockの場合、(5)式により、ExtIntra4x4LumaPredModeTopが求められる。なおこの場合、(5)式のMBAddressBには、MBPairAddressBで指し示されるMB Pairのtop macroblockが適用される。
隣接マクロブロックペア MbPairAddressB がfield modeである場合、又は隣接マクロブロックペア MbPairAddressB がavailable でない場合であって、当該マクロブロックペアがbottom macroblock の場合、(5)式により、ExtIntra4x4LumaPredModeBottom が求められる。なおこの場合、(5)式のMBAddressBには、MBPairAddressBで指し示されるMB Pair のtop macroblockが適用される。
また隣接マクロブロックペア MbPairAddressB がframe modeである場合、当該マクロブロックペアにおけるtop macroblockについては、(5)式が適用されてExtIntra4x4LumaPredModeTopが求められる。但し、(5)式のMBAddressBには、MBPairAddressBで指し示されるマクロブロックペアのtop macroblockが適用される。また当該マクロブロックペアにおけるbottom macroblock については、(5)式が適用されてExtIntra4x4LumaPredModeBottom が求められる。但し、(5)式のMBAddressBには、MBPairAddressBで指し示されるマクロブロックペアのbottom macroblock が適用される。
なお図13(A)〜(D)は、マクロブロックペアfield modeの場合の、これらの処理結果によるマクロブロックペアの関係を示す図である。
マクロブロックに対するIntra4x4LumaPredModeの復号化処理は、以下のように実行される。ここでこの処理は、adaptive frame field flag が値1の場合、又はfield pic flagが値1の場合に適用され、prev intra4x4 pred mode flag、rem intra4x4 pred mode、ExtIntra4x4LumaPredMode を用いた以下の擬似コードにより記述される。
Figure 0004650461
これに対して図7について上述したマクロブロックペアに対するIntra4x4LumaPredModeの復号化処理は、以下のように実行される。ここでこの処理は、mb adaptive frame field flagが値1であって、field pic flagが値0の場合に適用される。この処理は、当該マクロブロックペアのtop macroblockに対するprev intra4x4 pred mode flag、rem intra4x4 pred mode、ExtIntra4x4LumaModePredTopを用いた(7)式の疑似コードの処理により実行される。なお求められたIntra4x4LumaPredModeは、当該マクロブロックペアのtop macroblockに対して割り当てられる。また当該マクロブロックペアのbottom macroblock に対するprev intra4x4 pred mode flag、rem intra4x4 pred mode、ExtIntra4x4LumaModePredTopを用いた(7)式の疑似コードの処理により、Intra4x4LumaPredModeが求められ、当該マクロブロックペアのbottom macroblock に対して割り当てられる。
またイントラ4×4モードにおけるイントラ予測の復号化処理は、図9について上述した隣接画素A〜Mの画素値、4×4ブロックに対して定義されるIntra4x4LumaPredMode[4x4LumaBlkIdx] を用いて、4x4LumaBlkIdx によって指定されるブロックに対して予測画素値が求められる。
ここでVertical予測は、Intra4x4LumaPredMode[4x4LumaBlkIdx] が値0の場合に適用され、隣接画素A〜Dがavailable の場合のみ適用される。それぞれの予測値は、次式により示される。
Figure 0004650461
またHorizontal予測は、Intra4x4LumaPredMode[4x4LumaBlkIdx] が値1の場合に適用され、隣接画素I〜Lがavailable の場合にのみ適用される。それぞれの予測値は次式により示される。
Figure 0004650461
またDC予測は、Intra4x4LumaPredMode[4x4LumaBlkIdx] が値2の場合に適用され、隣接画素A〜Lが全てavailable の場合、予測値は次式により示される。
Figure 0004650461
これに対して隣接画素A〜Dの全てがnot available の場合、予測値は次式により示される。
Figure 0004650461
また隣接画素I〜Lの全てがnot available の場合、予測値は次式により示される。
Figure 0004650461
また隣接画素A〜Lの全てがnot available の場合、予測値は値128とされる。
これに対してDiagonal Down Left予測は、Intra4x4LumaPredMode[4x4LumaBlkIdx] が値3の場合に適用され、隣接画素A〜Mがavailable の場合にのみ適用され、予測値は次式により示される。
Figure 0004650461
またDiagonal Down Right 予測は、Intra4x4LumaPredMode[4x4LumaBlkIdx] が値4の場合に適用され、隣接画素A〜Mがavailable の場合にのみ適用され、予測値は次式により示される。
Figure 0004650461
またDiagonal Vertical Right 予測は、Intra4x4LumaPredMode[4x4LumaBlkIdx] が値5の場合に適用され、隣接画素A〜Mがavailable の場合にのみ適用され、予測値は次式により示される。
Figure 0004650461
またHorizontal Down 予測は、Intra4x4LumaPredMode[4x4LumaBlkIdx] が値6の場合に適用され、隣接画素A〜Mがavailable の場合にのみ適用され、予測値は次式により示される。
Figure 0004650461
またVertical Left 予測は、Intra4x4LumaPredMode[4x4LumaBlkIdx] が値7の場合に適用され、隣接画素A〜Mがavailable の場合にのみ適用され、予測値は次式により示される。
Figure 0004650461
またHorizontal Up 予測は、Intra4x4LumaPredMode[4x4LumaBlkIdx] が値8の場合に適用され、隣接画素A〜Mがavailable の場合にのみ適用され、予測値は次式により示される。
Figure 0004650461
次に、イントラ16×16モードに関する処理を説明する。ここでイントラ16×16モードは、mb part pred mode(mb type,0)が、Intra16x16と等しい場合に適用される。予測値の生成処理では、当該マクロブロックに対するmb type 及び当該マクロブロックの隣接画素のデブロックフィルタ15による処理前の画素値を入力パラメータとして、マクロブロックに対する輝度信号の予測値を生成する。
ここで当該マクロブロックに属する画素値を、P(x,y); x,y= 0〜15で表す。また、隣接画素値は、P(x,-1)及びP(-1,y); x,y= -1〜15で表す。画素値P(x,-1) 及びP(-1,y) について、以下の条件1又は条件2が成立する場合、画素値P(x,y)は、not available とする。なお条件1は、予測値生成元が当該ピクチャ若しくは当該スライス内に存在しない場合であり、条件2は、隣接画素値が、非イントラマクロブロックに所属し、かつconstrained intra pred flag が値1の場合である。
イントラ16×16モードでは、この画素値P(x,y)の判定によりモード0〜モード3が定義される。ここでモード0は、vertical予測であり、画素値P(x,-1); x,y= -1〜15がavailable である場合にのみ適用され、予測値は次式により示される。
Figure 0004650461
またモード1は、horizontal予測であり、画素値P(-1,y); x,y= -1〜15がavailable である場合にのみ適用され、予測値は次式により示される。
Figure 0004650461
またモード2は、DC予測であり、画素値P(x,-1)及びP(-1,y); x,y= -1〜15が全てavailable である場合、予測値は次式により示される。
Figure 0004650461
またモード2において、画素値P(x,-1); x,y= -1〜15がnot available である場合、予測値は次式により示される。
Figure 0004650461
またモード2において、画素値P(-1,y); x,y= -1〜15がnot available である場合、予測値は次式により示される。
Figure 0004650461
また画素値P(x,-1)及びP(-1,y); x,y= -1〜15が全てnot available である場合、予測値が値128に設定される。
これに対してモード3は、plane 予測であり、画素値P(x,-1)及びP(-1,y); x,y= -1〜15が全てavailable の場合にのみ適用され、予測値が次式により示される。なおここで、Clip()は、0〜255の範囲でのクリップ処理を表す。
Figure 0004650461
次に色差信号のイントラ予測を説明する。ここで色差信号のイントラ予測は、Iマクロブロック及びSIマクロブロックに対してのみ適用され、intra chroma pred mode及びデブロックフィルタ15による処理前の隣接画素値を入力パラメータとして、マクロブロックの色差信号に対する予測値を生成する。
ここで当該マクロブロックに属する画素値をP(x,y); x,y=0 〜7 で表す。また、隣接画素値をP(x,-1) 及びP(-1,y); x,y=-1 〜7 で表す。なお色差信号に対するイントラ予測モードは、輝度信号の予測モードとは独立に設定することが可能である。画素値P(x,-1)及びP(-1,y) について、条件1又は条件2が成立する場合、画素値P(x,y)は、not available とする。なお条件1は、予測値の生成元が当該ピクチャ若しくは当該スライス内に存在しない場合であり、条件2は、隣接画素値が、非イントラマクロブロックに所属し、かつconstrained intra pred flagが値1の場合である。
色差信号のイントラ予測モードでは、この画素値P(x,y)の判定によりモード0〜モード3が定義される。ここでモード0は、DC予測であり、P(x,-1) 及びP(-1,y) がavailableである場合、予測値は次式により示される。
Figure 0004650461
これに対して画素値P(-1,y) がnot available である場合、予測値は次式により示される。
Figure 0004650461
また画素値P(x,-1) がnot available である場合には、予測値は次式により示される。
Figure 0004650461
また画素値P(x,-1) 及びP(-1,y) がnot available である場合には、予測値は値128に設定される。
またモード1はhorizontal予測であり、画素値P(-1,y) がavailable の場合にのみ適用され、予測値は次式により示される。
Figure 0004650461
またモード2はvertical予測であり、画素値P(x,-1) がavailable の場合にのみ適用され、予測値は次式により示される。
Figure 0004650461
またモード3はplane 予測であり、画素値P(x,-1) 及びP(-1,y) がavailable の場合にのみ適用され、予測値は次式により示される。
Figure 0004650461
符号化装置は、これら各種の予測モードから最適予測モードを選択して画像データD1を符号化処理する。ここでOrg(i,j)を当該4×4ブロックにおける原画像上の画素値とし、Pred(mode,i,j)をmode(i,j)で示されるイントラ予測モードによる予測値とする。符号化装置は、次式の演算処理により予測誤差が最も小さくなる予測モードを最適予測モードとする。
Figure 0004650461
なおここでSADは最小値のモードを選択する関数であり、次式により示すように、SADに代えてSATD(mode)を適用してもよい。
Figure 0004650461
なおここでHadamard()は、アダマール変換操作を示し、次式により示すように、対象の行列にアダマール変換行列を掛けて実行される。
Figure 0004650461
なおHは、アダマール変換行列であり、4次では次式により表される。
Figure 0004650461
またHT はアダマール変換行列Hを転置したものである。
実際上、符号化装置1では、図14(A)〜(C)に示すように、イントラ4×4モード、イントラ8×8モード、イントラ16×16モードによる予測モード毎に、16画素×16画素のブロック単位でSAD(mode)又はSATD(mode)を求め、若しは各モードによる発生符号量にヘッダビット成分による符号量を加味したコスト関数による最小値のモードを選択し、最適予測モードを選択する。なおこの図14には各予測モードにおけるマクロブロックとの関係を併せて図14(D)に示す。
またはこの16画素×16画素のブロックを、各イントラ予測モードmodeで符号化したときのヘッダビットを、SAD0(mode)又はSATD0(mode)で表し、このSAD0(mode)又はSATD0(mode)で表されるコスト値Costを最小とする予測モードを最適予測モードとする。なおこのコスト値Costは、次式により表され、QPO (QP)は、量子化パラメータQPと実際量子化に用いられる量子化スケールを関連付ける関数である。なおここでコスト値は、予測モードの判定に使用するコスト関数により求められる各予測モードにおける値であり、発生符号量を示す指標としての値である。具体的にコスト値は、(31)式、(32)式では各予測モードにおける右辺の値である。
Figure 0004650461
なおこの(35)式に代えて、次式を適用するようにしてもよい。
Figure 0004650461
このような各種予測モードによる符号化処理に関して、例えば特開2005−151017号公報には、処理対象画像の解像度等より予測モードを絞り込むことにより、最適モードを選択する処理を簡略化する方法が提案されている。
ところで上述した多数の予測モードから最適予測モードを選択する処理にあっては、演算処理量が膨大なる問題がある。特にイントラ4×4モード、イントラ8×8モード、イントラ16×16モードでは、1つのブロック当たりそれぞれ9、9、4つの予測方向毎にコスト値を算出することが必要になり、このコスト値の算出に多大なる演算量を要する。
特開2005−151017号公報
本発明は以上の点を考慮してなされたもので、多数の予測モードから最適予測モードを選択して画像データを符号化処理する場合に、最適予測モードの選択に係る演算処理量を低減することができる符号化装置、符号化方法、プログラム、及び記録媒体を提案しようとするものである。
上記課題を解決するために、本発明のある観点によれば、イントラ予測モードにおいて、入力画像データから予測値を減算して差分データを生成し、前記差分データを処理して前記入力画像データを符号化処理する符号化装置において、第1の予測値生成単位の複数の予測モードから、前記第1の予測値生成単位での符号化処理に最適な第1の最適予測モードを検出する第1の予測モード検出部と、前記第1の予測値生成単位を分割した第2の予測値生成単位の複数の予測モードから、前記第2の予測値生成単位での符号化処理に最適な第2の最適予測モードを検出する第2の予測モード検出部と、前記第1及び第2の最適予測モードから、前記符号化処理に最適な符号化処理の最適予測モードを選択し、前記符号化処理の最適予測モードにより前記予測値を生成する予測値生成部と、を有し、前記第1の予測モード検出部は、前記第1の予測値生成単位における複数の予測モード毎に、発生符号量を示すコスト値を計算する第1のコスト値計算部を有し、前記第1のコスト値計算部で計算した前記コスト値の比較により、前記第1の最適予測モードを検出し、前記第2の予測モード検出部は、前記第2の予測値生成単位における複数の予測モード毎に、発生符号量を示すコスト値を計算する第2のコスト値計算部を有し、前記第2のコスト値計算部で計算したコスト値の比較により、前記第2の最適予測モードを検出し、前記第1のコスト値計算部は、前記第1の予測値生成単位毎に、前記第2のコスト値計算部で計算したコスト値を対応する予測モード毎に集計することにより、前記コスト値を計算し、前記第2の予測値生成単位における予測モードには存在しない予測方向による前記第1の予測値生成単位の予測モードについては、前記第2のコスト値計算部で計算した予測方向の異なるコスト値を用いる(但し、少なくとも2つのコスト値が用いられてもよいし、それらの平均値を集計したものが用いられてもよい。)、符号化装置が提供される。
また、前記第1の最適予測モードが、イントラ16×16モードの最適予測モードであり、前記第2の最適予測モードが、イントラ4×4モードの最適予測モード又はイントラ8×8モードの最適予測モードであってもよい。
また、前記第1の最適予測モードが、イントラ8×8モードの最適予測モードであり、前記第2の最適予測モードが、イントラ4×4モードの最適予測モードであってもよい。
また、上記課題を解決するために、本発明の別の観点によれば、イントラ予測モードにおいて、入力画像データから予測値を減算して差分データを生成し、前記差分データを処理して前記入力画像データを符号化する符号化方法において、第1の予測値生成単位を分割した第2の予測値生成単位における複数の予測モード毎に、発生符号量を示すコスト値を計算する第2のコスト値計算ステップと、前記第2のコスト値計算ステップで計算したコスト値の比較により、前記第2の予測値生成単位での符号化処理に最適な第2の最適予測モードを検出する第2の最適予測モード検出ステップと、前記第1の予測値生成単位毎に、前記第2のコスト値計算ステップで計算したコスト値を対応する予測モード毎に集計することにより、前記第1の予測値生成単位における複数の予測モード毎に、発生符号量を示すコスト値を計算する第1のコスト値計算ステップと、前記第1のコスト値計算ステップで計算した前記コスト値の比較により、前記第1の予測値生成単位での符号化処理に最適な第1の最適予測モードを検出する第1の最適予測モード検出ステップと、前記第1及び第2の最適予測モードから、前記符号化処理に最適な符号化処理の最適予測モードを選択し、前記符号化処理の最適予測モードにより前記予測値を生成する予測値生成ステップと、を含み、前記第1のコスト値計算ステップでは、前記第2の予測値生成単位における予測モードには存在しない予測方向による前記第1の予測値生成単位の予測モードについては、前記第2のコスト値計算ステップで計算した予測方向の異なるコスト値を用いる、符号化方法が提供される。
また、上記課題を解決するために、本発明の別の観点によれば、上記の符号化方法をコンピュータに実現させるためのプログラムが提供される。さらに、上記課題を解決するために、本発明の別の観点によれば、当該プログラムが記録された、コンピュータにより読み取り可能な記録媒体が提供される。
上記構成によれば、第2の最適予測モードを検出する処理を利用して、第1の予測モードを検出することから、第1の予測モードを検出する際の演算処理量を低減することができる。従って多数の予測モードから最適予測モードを選択して画像データを符号化処理する場合に、最適予測モードの選択に係る演算処理量を低減することができる。
また、第1の最適予測モードを検出する処理を利用して、第2の予測モードを検出すると、第2の予測モードを検出する際の演算処理量を低減することができる。従って多数の予測モードから最適予測モードを選択して画像データを符号化処理する場合に、最適予測モードの選択に係る演算処理量を低減することができる。
本発明によれば、多数の予測モードから最適予測モードを選択して画像データを符号化処理する場合に、最適予測モードの選択に係る演算処理量を低減することができる。
以下、適宜図面を参照しながら本発明の実施例を詳述する。
(1)実施例の構成
図2は、図5との対比により本発明の実施例1の符号化装置を示すブロック図である。この符号化装置41は、イントラ予測回路5に代えて、イントラ予測回路42及びイントラ予測推定回路43が設けられる点を除いて、符号化装置1と同一に構成される。この符号化装置41は、イントラ予測回路42及びイントラ予測推定回路43により最適予測モードを選択してイントラ予測の予測値を生成する。
ここでイントラ予測回路42は、イントラ4×4モードにおける各予測モードのコスト値を計算し、イントラ16×16モードのマクロブロックに対応するブロック単位で、計算したコスト値をイントラ予測推定回路43に出力する。なおコスト値の計算手法は、発生符号を示すものであれば、種々の計算手法を適用することができる。
イントラ予測推定回路43は、このイントラ予測回路42から出力されるイントラ4×4モードにおける各予測モードのコスト値を用いて、イントラ8×8モード及びイントラ16×16モードにおける各予測モードのコスト値を計算する。またこの計算したコスト値からそれぞれ最小値を検出し、イントラ8×8モード及びイントラ16×16モードにおける最適予測モードを検出する。イントラ予測推定回路43は、この検出した最適予測モードを、そのコスト値と共にイントラ予測回路42に通知する。
イントラ予測回路42は、始めに検出したイントラ4×4モードにおける各予測モードのコスト値から、イントラ4×4モードにおける最適予測モードを検出する。イントラ予測回路42は、これらイントラ4×4モードにおける最適な予測モードと、イントラ予測推定回路43から通知されるイントラ8×8モードにおける最適予測モード及びイントラ16×16モードにおける最適予測モードとから、イントラ予測に最適予測モードを検出し、このイントラ予測の最適予測モードによる予測値を計算して減算回路4に出力する。なおこのイントラ予測の最適予測モードの検出は、例えば最小のコスト値の検出により実行される。
ここで図1は、イントラ予測推定回路43における処理手順を示すフローチャートである。イントラ予測推定回路43は、イントラ4×4モードにおける各予測モードのコスト値がイントラ予測回路42から16画素×16画素のブロック分入力されると、この処理手順を開始してステップSP1からステップSP2に移る。
ここでこのイントラ4×4モードにおける各予測モードのコスト値をCost〔x〕〔k〕とする。なおここでKは、予測方向を示す変数である。イントラ4×4モード、イントラ8×8モードでは、この変数Kによりモード0〜モード8による9方向の予測方向が特定され、イントラ16×16モードでは、この変数Kによりモード0〜モード3による4方向の予測方向が特定される。またxは、図14(A)において数字1〜16により示すブロックを特定する変数であり、イントラ16×16モードのマクロブロックにおいて、イントラ4×4モードの各ブロックを特定する変数である。
イントラ予測推定回路43は、このステップSP2において、イントラ8×8モードのコスト値Cost〔α〕〔k〕の計算に使用する変数α、kを初期化する。ここで変数αは、図14(B)についてi〜ivにより示すサブマクロブロックを特定する変数であり、イントラ16×16モードのマクロブロックにおいて、イントラ8×8モードの各サブマクロブロックを特定する変数である。具体的に、この図1の例では、変数Kをモード0を示す変数に初期化し、またαを先頭サブマクロブロックiを示す変数に初期化する。
続いてイントラ予測推定回路43は、ステップSP3において、次式の演算処理により、イントラ8×8モードにおける変数Kによる予測モードについて、対応する予測方向及びブロックのイントラ4×4モードにおけるコスト値Cost(x)[K] を積算し、コスト値Cost(α)[K] を計算する。
Figure 0004650461
なおここで(37)式における右辺のxは、図14(D)の表により示される。従ってイントラ予測推定回路43は、イントラ8×8モードにおける先頭サブマクロブロックiのモード0については、次式により示すように、イントラ4×4モードにおけるブロック1、2、5、6のモード0のコスト値Costを積算して、コスト値を計算する。
Figure 0004650461
なおJVT規格により使用できない予測方向uが存在する場合、その場合のコスト値は、例えば次式により示すように、この予測方向のモードが選択されない値にコスト値Cost(x)[K] が設定されてコスト値が積算される。従って、次式では、コスト値を無限大としているが、これに代えて計算過程でオーバーフローする値、予測されるコスト値の最大値を越える値等、他のコスト値に比して値の大きな種々の値を適用することができる。
Figure 0004650461
イントラ予測推定回路43は、続いてステップSP4に移り、変数Kを更新し、コスト値を計算する予測モードを変更する。また続くステップSP5において、変数Kを判定することにより、最後の予測モードまでコスト値を計算したか否か判断する。ここで否定結果が得られると、イントラ予測推定回路43は、ステップSP3に戻り、続く予測モードについて、同様にしてコスト値を計算する。その結果、イントラ予測推定回路43は、ステップSP3−SP4−SP5−SP3の処理手順を繰り返し、イントラ8×8モードにおける先頭サブマクロブロックiについて、モード0からモード8まで、順次、コスト値を計算し、モード8までコスト値を計算すると、ステップSP5で肯定結果が得られてステップSP6に移る。
このステップSP6において、イントラ予測推定回路43は、変数Kを初期化する。また変数αの更新によりコスト値計算対象のサブマクロブロックを切り換える。続いてイントラ予測推定回路43は、ステップSP7に移り、変数αの判定により、イントラ8×8モードの最後のサブマクロブロックivまでコスト値を計算したか否か判断する。ここで否定結果が得られると、イントラ予測推定回路43は、ステップSP3に戻り、続くサブマクロブロックのコスト値を計算する。
従ってイントラ予測推定回路43は、この場合、続くサブマクロブロックii、iii 、ivについて、サブマクロブロックiと同様にして、順次、イントラ4×4モードで計算したコスト値を積算して各予測モードのコスト値を計算する。また最後のサブマクロブロックivのコスト値を計算すると、ステップSP7からステップSP8に移る。
このステップSP8において、イントラ予測推定回路43は、サブマクロブロックi〜ivでそれぞれ検出したモード0〜モード8のコスト値を用いて、それぞれサブマクロブロック毎に次式の演算処理を実行し、サブマクロブロック毎にコスト値の最小値を検出する。またこの検出した最小値の予測方向d(α)を検出する。
Figure 0004650461
このステップSP8の処理により、イントラ予測推定回路43は、イントラ8×8モードにおける最適予測モードをサブマクロブロック毎に検出する。続いてイントラ予測推定回路43は、ステップSP9に移り、変数Kを初期化する。
また続くステップSP10において、次式の演算処理を実行し、イントラ16×16モードにおける変数Kによる予測モードについて、対応する予測方向のイントラ4×4モードにおけるコスト値Cost(x)[K] を積算してコスト値Cost[K] を計算する。
Figure 0004650461
従ってイントラ予測推定回路43は、モード0については、イントラ4×4モードのブロック1〜16におけるモード0のコスト値Costを積算してコスト値を計算する。続いてイントラ予測推定回路43は、ステップSP11において、変数Kの更新により、計算対象のモードを変更する。また続くステップSP12において、この変数Kの判定により、イントラ16×16モードの最後のモードまでコスト値を計算したか否か判断する。
イントラ予測推定回路43は、このステップSP12で否定結果が得られると、ステップSP10に戻り、続くモード1のコスト値を計算する。またこのモード1のコスト値を計算すると、ステップSP11で計算対象のモードを更新した後、ステップSP12からステップSP10に戻り、モード2のコスト値を計算する。また同様にしてモード3のコスト値を計算する。
ここでJVT規格では、イントラ16×16モードとイントラ4×4モードとで、モード3である3番目の予測方向が異なる。そこでイントラ予測推定回路43は、予測方向の異なるイントラ4×4モードのコスト値を平均値化して積算し、イントラ16×16モードにおけるモード3のコスト値を計算する。具体的に、イントラ予測推定回路43は、このモード3のコスト計算では、次式の演算処理により、イントラ4×4モードにおける3番目の予測方向によるコスト値Cost(x)[3] (モード3のコスト値)と8番目の予測方向によるコスト値Cost(x)[8] (モード8のコスト値)との平均値を積算してイントラ16×16モードによるコスト値Cost[3] を計算する。
Figure 0004650461
この(42)式の演算処理により、イントラ予測推定回路43は、イントラ16×16モードとイントラ4×4モードとの間で、相関の高いモードの処理結果を利用して、イントラ4×4モードでは存在しないイントラ16×16モードにおける予測方向のコスト値Cost[3] を計算する。
イントラ予測推定回路43は、ステップSP10において、モード3のコスト値を計算すると、この場合、続くステップSP12において、肯定結果が得られることにより、ステップSP12からステップSP13に移る。
ここでイントラ予測推定回路43は、ステップSP10の繰り返しで検出したイントラ16×16モード、モード0〜モード3のコスト値から最小値を検出し、イントラ16×16モードにおける最適予測モードを検出する。イントラ予測推定回路43は、このステップSP13で検出したイントラ16×16モードにおける最適予測モードと、ステップSP8で検出したイントラ8×8モードにおける最適予測モードとをイントラ予測回路42に通知し、ステップSP14に移ってこの処理手順を終了する。
(2)実施例の動作
以上の構成において(図2)、ビデオ信号S1は、アナログディジタル変換回路2により画像データD1に変換され、画面並べ替えバッファ3において、GOP構造に応じて並べ替えられ、続く減算回路4において、イントラ予測回路5、動き予測・補償回路6で生成されるイントラ予測、インター予測の予測値が減算されて差分データD2が生成される。ビデオ信号S1は、この差分データD2が直交変換回路7により直交変換処理され、その結果得られる係数データが量子化回路8で量子化された後、可逆符号化回路10で可変長符号化処理されて符号化データD5(D4)が生成され、この符号化データD5がバッファ11を介して伝送路に出力される。また量子化回路8の出力データが逆量子化回路13、逆直交変換回路14で順次処理されて元の画像データD1が復号され、この画像データD1が参照画像情報としてフレームメモリ16に格納される。
この一連の符号化処理において、符号化装置41では、複数のイントラ予測モードと複数のインター予測モードとから最適予測モードを選択し、この選択した予測モードによる予測値を画像データD1から減算して差分データD2を生成し、効率良くデータ圧縮して画像データD1を伝送する。
しかしながらこの複数の予測モードから最適予測モードを選択する処理は、従来、各予測モードで、発生符号量を示すコスト値を計算し、最小のコスト値を検出することが必要であり、このコスト値の計算に多大な演算量を必要とした。
そこでこの符号化装置41では、イントラ予測モードに関して、イントラ4×4モードについては、イントラ予測回路42で従来と同様にして予測モード毎にコスト値が計算され、計算したコスト値から最小のコスト値を検出して最適予測モードが検出される。
これに対してイントラ8×8モード、イントラ16×16モードについては、このイントラ予測回路42におけるイントラ4×4モードの処理を利用して、イントラ予測推定回路43でそれぞれ最適予測モードが検出される。またこのイントラ予測推定回路43で検出したイントラ8×8モード、イントラ16×16モードの最適予測モードと、イントラ4×4モードの最適予測モードとがイントラ予測回路42で判定されてイントラ予測の最適予測モードが検出され、この検出した最適予測モードによるイントラ予測の予測値が生成される。
その結果、この符号化装置41では、イントラ4×4モードの処理を利用して、イントラ8×8モード、イントラ16×16モードの最適予測モードを検出することにより、イントラ8×8モード、イントラ16×16モードにおいて最適予測モードを検出する際の演算処理を従来に比して低減することができ、最適予測モードの選択に係る演算処理量を低減する。
より具体的に、符号化装置41では、イントラ予測推定回路43において、イントラ4×4モードで求められた各予測モードのコスト値が、イントラ8×8モードの予測モード毎に集計され、イントラ8×8モードにおける各予測モードのコスト値が求められる。また同様に、イントラ4×4モードで求められた各予測モードのコスト値が、イントラ16×16モードの予測モード毎に集計され、イントラ16×16モードにおける各予測モードのコスト値が求められる。またイントラ8×8モード、イントラ16×16モードでそれぞれこれらのコスト値の最小値が求められ、イントラ8×8モード、イントラ16×16モードにおける最適予測モードが求められる。
従ってこの符号化装置41では、イントラ8×8モード、イントラ16×16モードにおけるコスト値を計算する処理を、従来に比して格段的に少ない演算量で実行することができ、その結果、最適予測モードの選択に係る演算処理量を従来に比して低減することができる。
ここでこの実施例のように、イントラ4×4モードで求められたコスト値を用いて、イントラ8×8モード、イントラ16×16モードにおけるコスト値を計算する場合、予測元の画素の位置、デブロックフィルタによる処理の有無等が異なることにより、(31)式、(32)式等によりコスト値を求める場合に比して、精度に欠ける恐れがある。しかしながらこれらイントラ4×4モード、イントラ8×8モード等では、予測方向、原画像の空間的位置が同じであることから、実際には、(31)式、(32)式等によりコスト値を求める場合に比して、実用上十分な精度でコスト値を求めることができる。従ってこの符号化装置41では、実用上十分な精度で最適予測モードを検出して効率良く画像データD1を符号化処理することができる。
またイントラ4×4モードには存在しないイントラ16×16モードの予測方向については、相関の高い2つのモードのコスト値を平均値化して集計することによりコスト値が求められる。その結果、符号化装置41では、イントラ4×4モードにおける相関の高い処理結果を利用して、イントラ4×4モードには存在しないイントラ16×16モードの予測方向についても、コスト値を検出して最適予測モードか否か判定することができる。
(3)実施例の効果
以上の構成によれば、異なる予測値生成単位で検出される最適予測モードからイントラ予測に適した予測モードを検出して符号化処理する際に、一方の最適予測モード検出処理を他方の最適予測モード検出処理に利用して、これら異なる予測値生成単位による最適予測モードを検出することにより、多数の予測モードから最適予測モードを選択して画像データを符号化処理する場合に、最適予測モードの選択に係る演算処理量を低減することができる。
また各予測モードのコスト値を計算、比較して最適予測モードを検出するようにして、予測値生成単位の小さな側で検出されたコスト値を集計して、予測値生成単位側の大きな側のコスト値を計算することにより、予測値生成単位側の大きな側におけるコスト値の計算に要する演算処理量を格段的に低減して、最適予測モードの選択に係る演算処理量を低減することができる。
また予測方向の異なるコスト値の平均値を集計することにより、一方の側には存在しない予測方向のコスト値についても、計算に要する演算処理量を格段的に低減して実用上十分な精度によりコスト値を計算することができる。
またイントラ4×4モードによるコスト値を用いて、イントラ8×8モード、イントラ16×16モードのコスト値を計算することにより、これら3種類のイントラモードにそれぞれ用意された複数の予測モードから最適予測モードを選択する場合に、予測モードの選択に係る演算処理量を低減することができる。
この実施例においては、イントラ4×4モードで最適予測モードを検出する処理を利用して、イントラ8×8モード及びイントラ16×16モードの最適予測モードを検出する代わりに、イントラ8×8モードで最適予測モードを検出する処理を利用して、イントラ4×4モード及びイントラ16×16モードの最適予測モードを検出する。より具体的に、イントラ8×8モードで算出したコスト値を用いて、イントラ4×4モード及びイントラ16×16モードのコスト値を算出する。本発明の実施例に係る符号化装置は、このコスト値の算出に係る処理が異なる点を除いて、実施例1の符号化装置41と同一に構成される。従って以下においては、図2の構成を流用して説明する。
この符号化装置において、イントラ予測回路42は、イントラ8×8モードにおける各予測モードのコスト値を計算し、イントラ16×16モードのマクロブロックに対応するブロック単位で、計算したコスト値をイントラ予測推定回路43に出力する。
イントラ予測推定回路43は、このイントラ予測回路42から出力されるイントラ8×8モードにおける各予測モードのコスト値を用いて、イントラ4×4モード及びイントラ16×16モードにおける各予測モードのコスト値を計算する。またこの計算したコスト値からそれぞれ最小値を検出し、イントラ4×4モード及びイントラ16×16モードにおける最適予測モードを検出する。イントラ予測推定回路43は、この検出した最適予測モードを、そのコスト値と共にイントラ予測回路42に通知する。
イントラ予測回路42は、始めに検出したイントラ8×8モードにおける各予測モードのコスト値から、イントラ8×8モードにおける最適予測モードを検出する。イントラ予測回路42は、これらイントラ8×8モードにおける最適な予測モードと、イントラ予測推定回路43から通知されるイントラ4×4モードにおける最適予測モード及びイントラ16×16モードにおける最適予測モードとから、イントラ予測に最適予測モードを検出し、このイントラ予測の最適予測モードによる予測値を計算して減算回路4に出力する。
図3は、図1との対比によりこのイントラ予測推定回路43における処理手順を示すフローチャートである。イントラ予測推定回路43は、イントラ8×8モードにおける各予測モードのコスト値がイントラ予測回路42から16画素×16画素のブロック分入力されると、この処理手順を開始してステップSP21からステップSP22に移る。
イントラ予測推定回路43は、このステップSP22において、イントラ4×4モードのコスト値Cost〔x〕〔k〕の計算に使用する変数x、kを初期化する。具体的に、この図2の例では、変数Kをモード0を示す変数に初期化し、またxを先頭ブロック1を示す変数に初期化する(図14参照)。
続いてイントラ予測推定回路43は、ステップSP23において、次式の演算処理により、イントラ4×4モードにおける変数Kによる予測モードについて、対応する予測方向及びサブマクロブロックのイントラ8×8モードにおけるコスト値Cost(α)[K] を、対応するイントラ4×4モードのブロック数で割り算し、コスト値Cost(x)[K]を計算する。
Figure 0004650461
なおここで(43)式における右辺のαは、図14(D)の表により求められる。なおJVT規格により使用できない予測方向uが存在する場合、実施例1と同様に、この予測方向のモードが選択されない値にコスト値Cost(α)[K] が設定されてコスト値が計算される。
イントラ予測推定回路43は、続いてステップSP24に移り、変数Kを更新し、コスト値を計算する予測モードを変更する。また続くステップSP25において、変数Kを判定することにより、最後の予測モードまでコスト値を計算したか否か判断する。ここで否定結果が得られると、イントラ予測推定回路43は、ステップSP23に戻り、続く予測モードについて、同様にしてコスト値を計算する。その結果、イントラ予測推定回路43は、ステップSP23−SP24−SP25−SP23の処理手順を繰り返し、イントラ4×4モードにおける先頭ブロック1について、モード0からモード8まで、順次、コスト値を計算し、モード8までコスト値を計算すると、ステップSP25で肯定結果が得られてステップSP26に移る。
このステップSP26において、イントラ予測推定回路43は、変数Kを初期化する。また変数xの更新によりコスト値計算対象のブロックを切り換える。続いてイントラ予測推定回路43は、ステップSP27に移り、変数xの判定により、イントラ4×4予測モードの最後のブロック16までコスト値を計算したか否か判断する。ここで否定結果が得られると、イントラ予測推定回路43は、ステップSP23に戻り、続くブロックのコスト値を計算する。
従ってイントラ予測推定回路43は、この場合、続くブロック2、3、……について、ブロック1と同様にして、順次、イントラ8×8モードで計算したコスト値を割り算して各予測モードのコスト値を計算する。また最後のブロック16のコスト値を計算すると、ステップSP27からステップSP28に移る。従ってイントラ8×8モードにおける先頭サブマクロブロックiに対応するイントラ4×4モードのブロック1、2、5、6に対して、イントラ予測推定回路43は、イントラ8×8モードの先頭サブマクロブロックiで求められたコスト値Cost(i)〔k〕の1/4のコスト値をそれぞれ設定する。また続くイントラ8×8モードにおけるサブマクロブロックiiに対応するイントラ4×4モードのブロック3、4、7、8に対して、イントラ予測推定回路43は、イントラ8×8モードのサブマクロブロックiiで求められたコスト値Cost(ii)〔k〕の1/4のコスト値をそれぞれ設定する。
このステップSP28において、イントラ予測推定回路43は、ブロック1〜16でそれぞれ検出したモード0〜モード8のコスト値からブロック毎にコスト値の最小値を検出する。またこの検出した最小値の予測方向d(x)を検出する。このステップSP28の処理により、イントラ予測推定回路43は、イントラ4×4モードにおける最適予測モードをブロック毎に検出する。
続いてイントラ予測推定回路43は、ステップSP29に移り、変数Kを初期化する。また続くステップSP30において、次式の演算処理を実行し、イントラ16×16モードにおける変数Kによる予測モードについて、対応する予測方向のイントラ8×8モードにおけるコスト値Cost(α)[K] を積算してコスト値Cost[K] を計算する。
Figure 0004650461
続いてイントラ予測推定回路43は、ステップSP31において、変数Kの更新により、計算対象のモードを変更する。また続くステップSP32において、この変数Kの判定により、イントラ16×16モードの最後のモードまでコスト値を計算したか否か判断する。
イントラ予測推定回路43は、このステップSP32で否定結果が得られると、ステップSP30に戻り、続くモード1のコスト値を計算する。またこのモード1のコスト値を計算すると、ステップSP31で計算対象のモードを更新した後、ステップSP32からステップSP30に戻り、モード2のコスト値を計算する。また同様にしてモード3のコスト値を計算する。
イントラ予測推定回路43は、このモード3のコスト計算において、次式の演算処理により、イントラ8×8モードにおける3番目の予測方向によるコスト値Cost(α)[3] (モード3のコスト値)と8番目の予測方向によるコスト値Cost(α)[8] (モード8のコスト値)との平均値を積算してイントラ16×16モードによるコスト値Cost[3] を計算する。
Figure 0004650461
この(45)式の演算処理により、イントラ予測推定回路43は、イントラ16×16モードとイントラ8×8モードとの間で、相関の高いモードの処理結果を利用して、イントラ8×8モードでは存在しないイントラ16×16モードにおける予測方向のコスト値Cost[3] を計算する。
イントラ予測推定回路43は、ステップSP30において、モード3のコスト値を計算すると、この場合、続くステップSP32において、肯定結果が得られることにより、ステップSP32からステップSP33に移る。ここでイントラ予測推定回路43は、ステップSP30の繰り返しで検出したイントラ16×16モード、モード0〜モード3のコスト値から最小値を検出し、イントラ16×16モードにおける最適予測モードを検出する。イントラ予測推定回路43は、このステップSP33で検出したイントラ16×16モードにおける最適予測モードと、ステップSP28で検出したイントラ4×4モードにおける最適予測モードとをイントラ予測回路42に通知し、ステップSP34に移ってこの処理手順を終了する。
この実施例によれば、イントラ8×8モードのコスト値を用いてイントラ16×16モードのコスト値を計算するようにしても、実施例1と同様の効果を得ることができる。
また予測値生成単位の大きい側の処理を、予測値生成単位の小さい側で利用して、この予測値生成単位の小さな側の最適予測モードを検出するようにしても、実施例1と同様の効果を得ることができる。
この実施例においては、イントラ8×8モードで最適予測モードを検出する処理を利用して、イントラ4×4モード及びイントラ16×16モードの最適予測モードを検出する代わりに、イントラ16×16モードで最適予測モードを検出する処理を利用して、イントラ4×4モード及びイントラ8×8モードの最適予測モードを検出する。より具体的に、イントラ16×16モードで算出したコスト値を用いて、イントラ4×4モード及びイントラ8×8モードのコスト値を算出する。本発明の実施例に係る符号化装置は、このコスト値の算出に係る処理が異なる点を除いて、実施例1の符号化装置41と同一に構成される。従って以下においては、図2の構成を流用して説明する。
この符号化装置において、イントラ予測回路42は、イントラ16×16モードにおける各予測モードのコスト値を計算し、計算したコスト値をイントラ予測推定回路43に出力する。
イントラ予測推定回路43は、このイントラ予測回路42から出力されるイントラ16×16モードにおける各予測モードのコスト値を用いて、イントラ4×4モード及びイントラ8×8モードにおける対応する予測方向のコスト値を計算する。またこの計算したコスト値からそれぞれ最小値を検出し、イントラ4×4モード及びイントラ8×8モードにおける最適予測モードを検出する。イントラ予測推定回路43は、この検出した最適予測モードを、そのコスト値と共にイントラ予測回路42に通知する。
イントラ予測回路42は、始めに検出したイントラ16×16モードにおける各予測モードのコスト値から、イントラ16×16モードにおける最適予測モードを検出する。イントラ予測回路42は、これらイントラ16×16モードにおける最適予測モードと、イントラ予測推定回路43から通知されるイントラ4×4モードにおける最適予測モード及びイントラ8×8モードにおける最適予測モードとから、イントラ予測に最適予測モードを検出し、このイントラ予測の最適予測モードによる予測値を計算して減算回路4に出力する。
図4は、図1との対比によりこのイントラ予測推定回路43における処理手順を示すフローチャートである。イントラ予測推定回路43は、イントラ16×16モードにおける各予測モードのコスト値がイントラ予測回路42から入力されると、この処理手順を開始してステップSP41からステップSP42に移る。
イントラ予測推定回路43は、このステップSP42において、イントラ4×4モードのコスト値Cost(x)[K]の計算に使用する変数x、kを初期化する。具体的に、変数Kをモード0を示す変数に初期化し、またxを先頭ブロック1を示す変数に初期化する(図14参照)。
続いてイントラ予測推定回路43は、ステップSP43において、次式の演算処理により、イントラ4×4モードにおける変数Kによる予測モードについて、対応する予測方向のコスト値Cost[K] を、対応するイントラ4×4モードのブロック数で割り算し、コスト値Cost(x)[K] を計算する。
Figure 0004650461
なおJVT規格により使用できない予測方向uが存在する場合、実施例1と同様に、この予測方向のモードが選択されない値にコスト値Cost[K] が設定されてコスト値が計算される。
イントラ予測推定回路43は、続いてステップSP44に移り、変数Kを更新し、コスト値を計算する予測モードを変更する。また続くステップSP45において、変数Kを判定することにより、イントラ16×16モードの最後の予測モードまでコスト値を計算したか否か判断する。ここで否定結果が得られると、イントラ予測推定回路43は、ステップSP43に戻り、続く予測モードについて、同様にしてコスト値を計算する。その結果、イントラ予測推定回路43は、ステップSP43−SP44−SP45−SP43の処理手順を繰り返し、イントラ4×4モードにおける先頭ブロック1について、モード0からモード3まで、順次、コスト値を計算し、モード3までコスト値を計算すると、ステップSP45で肯定結果が得られてステップSP46に移る。
このステップSP46において、イントラ予測推定回路43は、変数Kを初期化する。また変数xの更新によりコスト値計算対象のブロックを切り換える。続いてイントラ予測推定回路43は、ステップSP47に移り、変数xの判定により、イントラ4×4モードの最後のブロック16までコスト値を計算したか否か判断する。ここで否定結果が得られると、イントラ予測推定回路43は、ステップSP43に戻り、続くブロックのコスト値を計算する。
従ってイントラ予測推定回路43は、この場合、ステップSP43の処理を繰り返し、イントラ16×16モードのモード0〜3のコスト値を、イントラ16×16モードの1つのマクロブロックに含まれるイントラ4×4モードのブロック数で割り算して、イントラ4×4モードのモード0〜3のコスト値を計算する。また最後のブロック16のコスト値を計算すると、ステップSP47からステップSP48に移る。
このステップSP48において、イントラ予測推定回路43は、ブロック1〜16でそれぞれ検出したモード0〜モード3のコスト値からブロック毎にコスト値の最小値を検出する。またこの検出した最小値の予測方向d(x)を検出する。このステップSP48の処理により、イントラ予測推定回路43は、イントラ4×4モードにおける最適予測モードをブロック毎に検出する。
続いてイントラ予測推定回路43は、ステップSP49に移り、変数Kを初期化する。また続くステップSP50において、イントラ16×16モードのモード0のコスト値を、イントラ16×16モードの1つのマクロブロックに含まれるイントラ8×8モードのサブマクロブロック数で割り算して、イントラ8×8モードのモード0のコスト値を計算する。
続いてイントラ予測推定回路43は、ステップSP51において、変数Kの更新により、計算対象のモードを変更する。また続くステップSP52において、この変数Kの判定により、イントラ16×16モードの最後のモードまでコスト値を計算したか否か判断する。
イントラ予測推定回路43は、このステップSP52で否定結果が得られると、ステップSP50に戻り、続くモード1のコスト値を計算する。イントラ予測推定回路43は、このステップSP50の処理をイントラ16×16モードの最後のモードまで繰り返すと、ステップSP52で肯定結果が得られ、ステップSP52からステップSP53に移る。
またステップSP53において、イントラ8×8モードの最適予測モードを検出し、このイントラ8×8モードにおける最適予測モードと、ステップSP48で検出したイントラ4×4モードにおける最適予測モードとをイントラ予測回路42に通知し、ステップSP54に移ってこの処理手順を終了する。
なおJVT規格では、イントラ16×16モードにおけるモード3の予測方向に対して、イントラ8×8モード、イントラ4×4モードにおけるモード3の予測方向が異なる。従って、次式により示すように、イントラ8×8モード、イントラ4×4モードにおけるモード3に加えて、イントラ16×16モードにおけるモード3の予測方向をそれぞれモード8のコスト値に割り当てるようにして、このイントラ16×16モードにおけるモード3のコスト値から、異なる予測方向のコスト値を計算するようにしてもよい。
Figure 0004650461
この実施例のように、イントラ16×16モードのコスト値を用いて、イントラ8×8モード、イントラ4×4モードのコスト値を計算するようにしても、実施例1と同様の効果を得ることができる。
ところで上述した実施例1において、イントラ4×4モードのコスト値からイントラ8×8モードのコスト値を計算してイントラ8×8モードの最適予測モードを検出する場合に、イントラ8×8モードの1つのサブマクロブロックに含まれるイントラ4×4モードの4つのブロックの全てで、例えばモード0が最適予測モードの場合、イントラ8×8モードでコスト値を検出するまでも無く、イントラ8×8モードでもモード0が最適予測モードとなる。
またイントラ8×8モードの1つのサブマクロブロックに含まれるイントラ4×4モードの4つのブロックのうちの3つのブロックで、例えばモード0が最適予測モードである場合、イントラ8×8モードでもモード0が最適予測モードとなる可能性が極めて高いと言える。
またイントラ8×8モードの1つのサブマクロブロックに含まれるイントラ4×4モードの4つのブロックのうちの2つのブロックで、例えばモード0が最適予測モードであり、残り2つのブロックで、例えばモード1及びモード3が最適予測モードである場合、イントラ8×8モードでもモード0が最適予測モードとなる可能性が極めて高いと言える。
これによりこの実施例では、予測値生成単位の小さい側で検出した最適予測モードを集計して、いわゆる多数決により予測値生成単位の小さい側の最適予測モードを検出する。また集計値が所定値以上の最適予測モードが検出できない場合、上述の実施例1又は実施例2と同様のコスト値の計算により最適予測モードを検出する。
この実施例によれば、予測値生成単位の小さい側で検出した最適予測モードを集計して、いわゆる多数決により予測値生成単位の小さい側の最適予測モードを検出することにより、一段と演算処理量を低減することができる。
ところで上述した実施例3において、イントラ16×16モードのコスト値からイントラ8×8モードのコスト値を計算してイントラ8×8モードの最適予測モードを検出する場合にあって、イントラ16×16モードの最適予測モードがモード0の場合、イントラ16×16モードの1つのマクロブロックに含まれるイントラ8×8モードの4つのサブマクロブロックでは、イントラ16×16モードと同一のモード0が最適予測モードとなる。
そこでこの実施例では、予測値生成単位の大きな側で検出した最適予測モードを、予測値生成単位の小さな側の最適予測モードに割り当てる。
この実施例によれば、予測値生成単位の大きな側で検出した最適予測モードを、予測値生成単位の小さな側の最適予測モードに割り当てることにより、一段と演算処理量を低減することができる。
なお上述の実施例においては、イントラ16×16モード、イントラ8×8モード、イントラ4×4モードのうちの1つのモードで計算したコスト値又は最適予測モードを使用して他の2つのモードのコスト値又は最適モードを検出する場合について述べたが、本発明はこれに限らず、これら3つのモードのうちの2つのモードでコスト値又は最適予測モードを求め、このコスト値又は最適予測モードから残る1つのモードのコスト値又は最適予測モードを求めるようにしてもよい。
また上述の実施例においては、ハードウェア構成による符号化装置に本発明を適用する場合について述べたが、本発明はこれに限らず、コンピュータ等の演算処理によるソフトウェア構成による符号化装置にも広く適用することができる。なおこの場合、プログラムにあっては、光ディスク、磁気ディスク、メモリカード等の記録媒体に記録して提供してもよく、さらにはインターネット等のネットワークを介して提供するようにしてもよい。
また上述の実施例においては、JVT符号化方式により符号化処理する場合に本発明を適用する場合について述べたが、本発明はこれに限らず、異なるブロックサイズによる予測値生成単位でイントラ予測する各種符号化処理に広く適用することができる。
本発明は、符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体に関し、例えばH.264及びMPEG−4 Part10による符号化装置に適用することができる。
本発明の実施例1の符号化装置におけるイントラ予測推定回路の処理手順を示すフローチャートである。 本発明の実施例1の符号化装置を示すブロック図である。 本発明の実施例2の符号化装置におけるイントラ予測推定回路の処理手順を示すフローチャートである。 本発明の実施例3の符号化装置におけるイントラ予測推定回路の処理手順を示すフローチャートである。 従来の符号化装置を示すブロック図である。 従来の復号化装置を示すブロック図である。 16画素×16画素のブロックにおけるイントラ4×4モードの処理順序を示す略線図である。 マクロブロックペアの処理の説明に供する略線図である。 予測値生成の説明に供する略線図である。 イントラ4×4モードの予測モードを示す図表である。 イントラ4×4モードの予測方向を示す略線図である。 隣接マクロブロックからの予測方向の予測の説明に供する略線図である。 マクロブロックペアの処理の説明に供する略線図である。 各予測モードにおけるマクロブロックの関係を示す略線図である。
符号の説明
1、41……符号化装置、4……減算回路、5、23、42……イントラ予測回路、6、24……動き予測・補償回路、7……直交変換回路、8……量子化回路、10……可変長符号化回路、20……復号化装置、43……イントラ予測推定回路

Claims (6)

  1. イントラ予測モードにおいて、入力画像データから予測値を減算して差分データを生成し、前記差分データを処理して前記入力画像データを符号化処理する符号化装置において、
    第1の予測値生成単位の複数の予測モードから、前記第1の予測値生成単位での符号化処理に最適な第1の最適予測モードを検出する第1の予測モード検出部と、
    前記第1の予測値生成単位を分割した第2の予測値生成単位の複数の予測モードから、前記第2の予測値生成単位での符号化処理に最適な第2の最適予測モードを検出する第2の予測モード検出部と、
    前記第1及び第2の最適予測モードから、前記符号化処理に最適な符号化処理の最適予測モードを選択し、前記符号化処理の最適予測モードにより前記予測値を生成する予測値生成部と、
    を有し、
    前記第1の予測モード検出部は、
    前記第1の予測値生成単位における複数の予測モード毎に、発生符号量を示すコスト値を計算する第1のコスト値計算部を有し、
    前記第1のコスト値計算部で計算した前記コスト値の比較により、前記第1の最適予測モードを検出し、
    前記第2の予測モード検出部は、
    前記第2の予測値生成単位における複数の予測モード毎に、発生符号量を示すコスト値を計算する第2のコスト値計算部を有し、
    前記第2のコスト値計算部で計算したコスト値の比較により、前記第2の最適予測モードを検出し、
    前記第1のコスト値計算部は、
    前記第1の予測値生成単位毎に、前記第2のコスト値計算部で計算したコスト値を対応する予測モード毎に集計することにより、前記コスト値を計算し、
    前記第2の予測値生成単位における予測モードには存在しない予測方向による前記第1の予測値生成単位の予測モードについては、前記第2のコスト値計算部で計算した予測方向の異なるコスト値の平均値を集計する、
    符号化装置。
  2. 前記第1の最適予測モードが、イントラ16×16モードの最適予測モードであり、
    前記第2の最適予測モードが、イントラ4×4モードの最適予測モード又はイントラ8×8モードの最適予測モードである、
    請求項1に記載の符号化装置。
  3. 前記第1の最適予測モードが、イントラ8×8モードの最適予測モードであり、
    前記第2の最適予測モードが、イントラ4×4モードの最適予測モードである、
    請求項1に記載の符号化装置。
  4. イントラ予測モードにおいて、入力画像データから予測値を減算して差分データを生成し、前記差分データを処理して前記入力画像データを符号化する符号化方法において、
    第1の予測値生成単位を分割した第2の予測値生成単位における複数の予測モード毎に、発生符号量を示すコスト値を計算する第2のコスト値計算ステップと、
    前記第2のコスト値計算ステップで計算したコスト値の比較により、前記第2の予測値生成単位での符号化処理に最適な第2の最適予測モードを検出する第2の最適予測モード検出ステップと、
    前記第1の予測値生成単位毎に、前記第2のコスト値計算ステップで計算したコスト値を対応する予測モード毎に集計することにより、前記第1の予測値生成単位における複数の予測モード毎に、発生符号量を示すコスト値を計算する第1のコスト値計算ステップと、
    前記第1のコスト値計算ステップで計算した前記コスト値の比較により、前記第1の予測値生成単位での符号化処理に最適な第1の最適予測モードを検出する第1の最適予測モード検出ステップと、
    前記第1及び第2の最適予測モードから、前記符号化処理に最適な符号化処理の最適予測モードを選択し、前記符号化処理の最適予測モードにより前記予測値を生成する予測値生成ステップと、
    を含み、
    前記第1のコスト値計算ステップでは、
    前記第2の予測値生成単位における予測モードには存在しない予測方向による前記第1の予測値生成単位の予測モードについては、前記第2のコスト値計算ステップで計算した予測方向の異なるコスト値の平均値を集計する、
    符号化方法。
  5. イントラ予測モードにおいて、入力画像データから予測値を減算して差分データを生成し、前記差分データを処理して前記入力画像データを符号化する符号化方法をコンピュータに実現させるためのプログラムであって、
    第1の予測値生成単位を分割した第2の予測値生成単位における複数の予測モード毎に、発生符号量を示すコスト値を計算する第2のコスト値計算ステップと、
    前記第2のコスト値計算ステップで計算したコスト値の比較により、前記第2の予測値生成単位での符号化処理に最適な第2の最適予測モードを検出する第2の最適予測モード検出ステップと、
    前記第1の予測値生成単位毎に、前記第2のコスト値計算ステップで計算したコスト値を対応する予測モード毎に集計することにより、前記第1の予測値生成単位における複数の予測モード毎に、発生符号量を示すコスト値を計算する第1のコスト値計算ステップと、
    前記第1のコスト値計算ステップで計算した前記コスト値の比較により、前記第1の予測値生成単位での符号化処理に最適な第1の最適予測モードを検出する第1の最適予測モード検出ステップと、
    前記第1及び第2の最適予測モードから、前記符号化処理に最適な符号化処理の最適予測モードを選択し、前記符号化処理の最適予測モードにより前記予測値を生成する予測値生成ステップと、
    を含み、
    前記第1のコスト値計算ステップでは、
    前記第2の予測値生成単位における予測モードには存在しない予測方向による前記第1の予測値生成単位の予測モードについては、前記第2のコスト値計算ステップで計算した予測方向の異なるコスト値の平均値を集計する、符号化方法をコンピュータに実現させるためのプログラム。
  6. イントラ予測モードにおいて、入力画像データから予測値を減算して差分データを生成し、前記差分データを処理して前記入力画像データを符号化する符号化方法をコンピュータに実現させるためのプログラムが記録された、コンピュータにより読み取り可能な記録媒体であって、
    第1の予測値生成単位を分割した第2の予測値生成単位における複数の予測モード毎に、発生符号量を示すコスト値を計算する第2のコスト値計算ステップと、
    前記第2のコスト値計算ステップで計算したコスト値の比較により、前記第2の予測値生成単位での符号化処理に最適な第2の最適予測モードを検出する第2の最適予測モード検出ステップと、
    前記第1の予測値生成単位毎に、前記第2のコスト値計算ステップで計算したコスト値を対応する予測モード毎に集計することにより、前記第1の予測値生成単位における複数の予測モード毎に、発生符号量を示すコスト値を計算する第1のコスト値計算ステップと、
    前記第1のコスト値計算ステップで計算した前記コスト値の比較により、前記第1の予測値生成単位での符号化処理に最適な第1の最適予測モードを検出する第1の最適予測モード検出ステップと、
    前記第1及び第2の最適予測モードから、前記符号化処理に最適な符号化処理の最適予測モードを選択し、前記符号化処理の最適予測モードにより前記予測値を生成する予測値生成ステップと、
    を含み、
    前記第1のコスト値計算ステップでは、
    前記第2の予測値生成単位における予測モードには存在しない予測方向による前記第1の予測値生成単位の予測モードについては、前記第2のコスト値計算ステップで計算した予測方向の異なるコスト値の平均値を集計する、符号化方法をコンピュータに実現させるためのプログラムが記録された、コンピュータにより読み取り可能な記録媒体。
JP2007184286A 2007-07-13 2007-07-13 符号化装置、符号化方法、プログラム、及び記録媒体 Expired - Fee Related JP4650461B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007184286A JP4650461B2 (ja) 2007-07-13 2007-07-13 符号化装置、符号化方法、プログラム、及び記録媒体
CN2008101268873A CN101345876B (zh) 2007-07-13 2008-07-10 视频编码中的帧内预测编码设备及编码方法
US12/171,882 US8213505B2 (en) 2007-07-13 2008-07-11 Encoding apparatus, encoding method, program for encoding method, and recording medium having program for encoding method recorded thereon

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007184286A JP4650461B2 (ja) 2007-07-13 2007-07-13 符号化装置、符号化方法、プログラム、及び記録媒体

Publications (2)

Publication Number Publication Date
JP2009021927A JP2009021927A (ja) 2009-01-29
JP4650461B2 true JP4650461B2 (ja) 2011-03-16

Family

ID=40247745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007184286A Expired - Fee Related JP4650461B2 (ja) 2007-07-13 2007-07-13 符号化装置、符号化方法、プログラム、及び記録媒体

Country Status (3)

Country Link
US (1) US8213505B2 (ja)
JP (1) JP4650461B2 (ja)
CN (1) CN101345876B (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2010067668A1 (ja) * 2008-12-08 2012-05-17 シャープ株式会社 画像符号化装置及び画像復号装置
KR101260157B1 (ko) 2009-02-13 2013-05-06 리서치 인 모션 리미티드 인트라코딩된 이미지 또는 프레임에 대한 인루프 디블로킹
JP5158003B2 (ja) * 2009-04-14 2013-03-06 ソニー株式会社 画像符号化装置と画像符号化方法およびコンピュータ・プログラム
JP5219089B2 (ja) 2009-04-30 2013-06-26 株式会社メガチップス 画像データの生成方法
RU2547617C2 (ru) * 2010-12-17 2015-04-10 Мицубиси Электрик Корпорейшн Устройство кодирования изображений, устройство декодирования изображений, способ кодирования изображений и способ декодирования изображений
US9049455B2 (en) * 2010-12-28 2015-06-02 Panasonic Intellectual Property Corporation Of America Image coding method of coding a current picture with prediction using one or both of a first reference picture list including a first current reference picture for a current block and a second reference picture list including a second current reference picture for the current block
CA2823503C (en) 2011-01-12 2019-03-19 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method, and image decoding method
CN106454361B (zh) * 2011-01-13 2019-06-28 佳能株式会社 图像编码装置和方法以及图像解码装置和方法
US9654785B2 (en) 2011-06-09 2017-05-16 Qualcomm Incorporated Enhanced intra-prediction mode signaling for video coding using neighboring mode
BR112013033697A2 (pt) * 2011-07-01 2017-07-11 Samsung Electronics Co Ltd método de codificação de vídeo com previsão intra usando processo de verificação para possibilidade de referência unificada, método de decodificação de vídeo e seu dispositivo
CN107181962B (zh) 2011-10-07 2020-03-27 英迪股份有限公司 对当前块的帧内预测模式进行解码的方法
JP5798539B2 (ja) * 2012-09-24 2015-10-21 株式会社Nttドコモ 動画像予測符号化装置、動画像予測符号化方法、動画像予測復号装置及び動画像予測復号方法
EP3186964A1 (en) 2014-08-25 2017-07-05 Intel Corporation Selectively bypassing intra prediction coding based on preprocessing error data
CN107113444A (zh) * 2014-11-04 2017-08-29 三星电子株式会社 使用帧内预测对视频进行编码/解码的方法和装置
CN104519352A (zh) * 2014-12-17 2015-04-15 北京中星微电子有限公司 一种判别最佳预测模式的方法及装置
WO2016125604A1 (ja) 2015-02-06 2016-08-11 ソニー株式会社 画像符号化装置および方法
US10893276B2 (en) 2015-03-04 2021-01-12 Sony Corporation Image encoding device and method
KR20170089778A (ko) * 2016-01-27 2017-08-04 한국전자통신연구원 예측을 사용하는 비디오의 부호화 및 복호화를 위한 방법 및 장치
CN106911934B (zh) * 2017-03-01 2020-03-03 北京奇艺世纪科技有限公司 块效应去除方法及去块效应滤波器
CN109543199B (zh) * 2018-11-28 2022-06-10 腾讯科技(深圳)有限公司 一种文本翻译的方法以及相关装置
CN110881125B (zh) * 2019-12-10 2021-10-29 中国科学院深圳先进技术研究院 帧内预测方法、视频编码、解码方法及相关设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007150728A (ja) * 2005-11-28 2007-06-14 Mitsubishi Electric Corp 動画像符号化装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6519005B2 (en) * 1999-04-30 2003-02-11 Koninklijke Philips Electronics N.V. Method of concurrent multiple-mode motion estimation for digital video
KR100750110B1 (ko) * 2003-04-22 2007-08-17 삼성전자주식회사 4×4인트라 휘도 예측 모드 결정방법 및 장치
JP2005151017A (ja) 2003-11-13 2005-06-09 Sharp Corp 画像符号化装置
JP2005203905A (ja) * 2004-01-13 2005-07-28 Sony Corp 画像符号化装置、画像符号化方法並びに画像符号化プログラム
JP2006100871A (ja) * 2004-09-28 2006-04-13 Sony Corp 符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体
CN100525467C (zh) * 2005-06-14 2009-08-05 北京中星微电子有限公司 一种yuy2图像的镜像处理方法
JP2007116351A (ja) * 2005-10-19 2007-05-10 Ntt Docomo Inc 画像予測符号化装置、画像予測復号装置、画像予測符号化方法、画像予測復号方法、画像予測符号化プログラム、及び画像予測復号プログラム
JP4250638B2 (ja) * 2006-06-30 2009-04-08 株式会社東芝 動画像符号化装置及びその方法
US8416857B2 (en) * 2007-03-29 2013-04-09 James Au Parallel or pipelined macroblock processing

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007150728A (ja) * 2005-11-28 2007-06-14 Mitsubishi Electric Corp 動画像符号化装置

Also Published As

Publication number Publication date
CN101345876B (zh) 2010-11-10
US20090097556A1 (en) 2009-04-16
US8213505B2 (en) 2012-07-03
JP2009021927A (ja) 2009-01-29
CN101345876A (zh) 2009-01-14

Similar Documents

Publication Publication Date Title
JP4650461B2 (ja) 符号化装置、符号化方法、プログラム、及び記録媒体
JP5266342B2 (ja) 映像イントラ予測方法及び装置
JP4650173B2 (ja) 符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体
KR100739714B1 (ko) 인트라 예측 모드 결정 방법 및 장치
KR100994524B1 (ko) 화상 정보 부호화 장치 및 방법, 및 화상 정보 복호 장치및 방법
JP4247680B2 (ja) 符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体
JP5173409B2 (ja) 符号化装置および符号化装置を備えた動画像記録システム
US8780994B2 (en) Apparatus, method, and computer program for image encoding with intra-mode prediction
WO1997046021A1 (en) Device and method for predicting and encoding image, device and method for predicting and decoding image, and recording medium
JP2004140473A (ja) 画像情報符号化装置、復号化装置並びに画像情報符号化方法、復号化方法
JP2008507190A (ja) 動き補償方法
WO2006098226A1 (ja) 符号化装置および符号化装置を備えた動画像記録システム
KR20090087767A (ko) 영상의 인트라 예측 부호화 방법
US9106917B2 (en) Video encoding apparatus and video encoding method
JP4360093B2 (ja) 画像処理装置および符号化装置とそれらの方法
JP2007013298A (ja) 画像符号化装置
JP2006100871A (ja) 符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体
JP4924708B2 (ja) 復号装置及び方法
WO2017082304A1 (ja) 情報圧縮装置、情報圧縮方法、記録媒体、及び、符号化装置
US20070297517A1 (en) Entropy encoding and decoding apparatuses, and entropy encoding and decoding methods
JP2010035025A (ja) 符号化装置およびその方法
JP2005244666A (ja) データ処理装置、符号化装置およびデータ処理方法
JP4561701B2 (ja) 動画像符号化装置
JP4983908B2 (ja) 復号装置及び方法
JP4100067B2 (ja) 画像情報変換方法及び画像情報変換装置

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090331

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090403

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090623

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100330

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100907

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101022

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101116

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101129

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131224

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees