JP6501532B2 - 画像符号化装置、画像符号化方法及びプログラム - Google Patents

画像符号化装置、画像符号化方法及びプログラム Download PDF

Info

Publication number
JP6501532B2
JP6501532B2 JP2015011726A JP2015011726A JP6501532B2 JP 6501532 B2 JP6501532 B2 JP 6501532B2 JP 2015011726 A JP2015011726 A JP 2015011726A JP 2015011726 A JP2015011726 A JP 2015011726A JP 6501532 B2 JP6501532 B2 JP 6501532B2
Authority
JP
Japan
Prior art keywords
prediction
intra prediction
prediction mode
block
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.)
Active
Application number
JP2015011726A
Other languages
English (en)
Other versions
JP2016136700A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2015011726A priority Critical patent/JP6501532B2/ja
Priority to US15/000,442 priority patent/US10349050B2/en
Publication of JP2016136700A publication Critical patent/JP2016136700A/ja
Application granted granted Critical
Publication of JP6501532B2 publication Critical patent/JP6501532B2/ja
Active 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/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/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/19Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Description

本発明は、画像符号化装置、画像符号化方法及びプログラムに関する。
動画像の圧縮記録の符号化方式として、H.264/MPEG−4 AVC(以下、H.264)が知られている。近年、さらに高効率な符号化方式の国際標準化を行う活動が開始され、JCT−VC(Joint Collaborative Team on Video Coding)が設立された。JCT−VCでは、High Efficiency Video Coding符号化方式(以下、HEVC)の標準化が進められている。HEVCにおいては符号化効率を向上させるために、画面内における画素間の相関を利用した画面内予測(以下、イントラ予測とも称す)及び異なる画面間の時間的な相関を利用した画面間予測(以下、インター予測とも称す)を行い、予測誤差を符号化する。
イントラ予測は、予測の単位であるイントラ予測ブロックのサイズ(以下、イントラ予測ブロックサイズ)に基づいて行われる。HEVCにおいては、イントラ予測ブロックサイズとして水平方向4画素、垂直方向4画素(以下、4×4画素と示す)、8×8画素、16×16画素、32×32画素、64×64画素の5種類を使用可能である。また、HEVCにおいては、さらなる高効率な符号化を実現するために、図9に示すように35個のイントラ予測モードが定義されている。
さらに、HEVCにおいては、符号化のブロック単位であるCoding Tree Unit(以下、CTU)内において、イントラ予測を行うイントラ予測ブロックとインター予測を行うインター予測ブロックとを混在させて使用することが可能である。なお、H.264においては、符号化の単位であるマクロブロック内でイントラ予測を行うイントラ予測ブロックとインター予測を行うインター予測ブロックとを混在させることはできない。
特開2006−5438号公報 特開2009−177352号公報
前述のようにHEVCにおいては、イントラ予測ブロックサイズとして5種類が存在し、イントラ予測モードとして35個のモードが定義されている。このように多くのイントラ予測ブロックサイズ及びイントラ予測モードの中から最適な組み合わせを選択するには、多大な演算量が必要となる。これに対し、符号化処理を高速化するために、符号化のブロック単位でパイプライン処理を行うといった手法が考えられる。
HEVCにおいて、最適なイントラ予測モードを選択するためには、各イントラ予測モードの予測発生符号量を計算する必要があるので、周囲のブロックのイントラ予測モードを参照する必要がある。イントラ予測モードの決定に対しパイプライン処理を行った場合、処理対象のブロックのイントラ予測モードを決定するタイミングでは、周囲のブロックのイントラ予測モードが確定していないことがある。結果として、処理対象のブロックのイントラ予測モードの選択に必要な符号量が計算できず、最適なイントラ予測モードの選択ができないという課題が存在した。特許文献1の手法によれば、隣接するブロックのイントラ予測モードが確定していない場合、他のブロックで確定しているイントラ予測モードを使用することにより、前述の課題に対応している。また、特許文献2の手法によれば、隣接するブロックのイントラ予測モードが確定していない場合、時間的に最も近いフレームのブロックのイントラ予測モードを使用することにより、前述の課題に対応している。
しかしながら、HEVCにおいては、符号化のブロック単位であるCTU内部においてイントラ予測を行うイントラ予測ブロックとインター予測を行うインター予測ブロックとの混在が可能となっている。このため、CTU内のあるブロックのイントラ予測モードがイントラ予測モード決定処理により一度決定しても、後段のパイプライン処理によりインター予測モードと判定され、インター予測モードに置き換えられてしまう場合がある。
このような場合、パイプラインの前段にあるイントラ予測モード決定処理の段階では、処理対象のブロックの周囲のブロックが後段のパイプライン処理によってインター予測モードに置き換えられるかどうか判別することができない。このため、処理対象のブロックのイントラ予測モードの選択に必要な符号量が計算できず、最適なイントラ予測モードの選択ができないという新しい課題がある。この課題に対しては、前述した特許文献1や特許文献2の手法では対応することができない。
本発明の目的は、符号化のブロック単位内にイントラ予測を行うブロックとインター予測を行うブロックが混在可能な場合においても、イントラ予測モードの決定を高速かつ効率良く行うことを可能とする画像符号化装置を提供することである。
本発明に係る画像符号化装置は、画像を符号化して符号化データを生成する画像符号化装置であって、画像を構成するフレームをブロックに分割する分割手段と、符号化対象ブロックにおける予測に関する予測情報を決定する予測情報決定手段と、前記予測情報決定手段によって決定された前記予測情報に従って符号化対象ブロックを符号化し、前記符号化データを生成する符号化手段とを備え、前記予測情報は、符号化対象ブロックと同じ画面内の符号化済の画素を用いて予測するイントラ予測を用いるか、又は、符号化対象ブロックと異なる画面の符号化済の画素を用いて予測するインター予測を用いるかを示す情報を含み、前記予測情報は、符号化対象ブロックにおいてイントラ予測を用いる場合、複数のイントラ予測モードの中から決定される、当該符号化対象ブロックにおいて用いられるイントラ予測モードを示す情報を更に含み、前記予測情報決定手段は、符号化対象ブロックにおける予測方法として、前記イントラ予測を用いるか、又は、前記インター予測を用いるか決定する予測モード決定手段と、符号化対象ブロックの周辺のブロックの予測モードに基づいて、前記イントラ予測モードを決定するイントラ予測モード決定手段とを有し、前記イントラ予測モード決定手段は、前記周辺のブロックにおいて前記インター予測を用いることができる場合には、当該周辺のブロックにおける予測情報に関わらず、当該周辺のブロックがインター予測されると推定して符号化対象ブロックのイントラ予測モードを決定し、前記予測モード決定手段は、前記周辺のブロックにおいて前記インター予測を用いることができる場合には、前記周辺のブロックにおける前記予測情報に基づいて決定されるイントラ予測モードで行われる前記イントラ予測の結果に基づかずに、前記周辺のブロックがインター予測されると推定して決定されたイントラ予測モードで行われる前記イントラ予測の結果に基づき、符号化対象ブロックにおける予測方法として、前記イントラ予測を用いるか、又は、前記インター予測を用いるか決定することを特徴とする。
本発明によれば、符号化対象のフレームがインター予測を用いることができる場合には、周辺のブロックがインター予測されていると推定してイントラ予測モードを決定することで、イントラ予測モードの決定を高速かつ効率良く行うことができる。
本発明の実施形態による画像符号化装置の構成例を示す図である。 本実施形態における予測モード決定部の構成例を示す図である。 本実施形態による画像符号化装置の動作例を示すフローチャートである。 本実施形態における予測モード決定処理を示すフローチャートである。 本実施形態における優先モード算出処理を示すフローチャートである。 隣接する左及び上のブロックの予測情報から優先モードを算出する方法の一例を示すフローチャートである。 本実施形態における優先モード算出処理の他の例を示すフローチャートである。 本実施形態による画像符号化装置を実現可能なコンピュータのハードウェア構成例を示す図である。 HEVCにおけるイントラ予測モードを説明するための図である。
以下、本発明の実施形態を図面に基づいて説明する。なお、以下の実施形態において示す構成等は一例に過ぎず、本発明は図示された構成等に限定されるものではない。
図1は、本発明の一実施形態による画像符号化装置の構成例を示すブロック図である。画像符号化装置100は、図1に示すような回路構成をハードウェアとして有してもよい。図1において、端子101は、画像データを入力する入力端子である。ブロック分割部102は、入力された画像データを複数のブロックに切り出し、ブロック単位の画像データを後段に出力する。本実施形態では、入力画像を64×64画素のCTU(Coding Tree Unit)に分割し、それをさらに8×8画素のブロックに分割するものとして説明するが、ブロックの分割の方法はこれに限定されない。入力画像の性質に応じてブロックサイズを決定したり、ブロックサイズ毎に符号化コストを計算して符号化コストが最小となるブロックサイズを適応的に選択したりしても構わない。
予測制御情報生成部103は、イントラ予測モードを決定する際に必要となる後述の優先モードの算出を制御する、予測制御情報を生成して出力する。本実施形態では、符号化対象のフレームがイントラ予測(画面内における画素間の相関を利用した画面内予測)のみで構成される場合には予測制御情報を0とするものとする。また、符号化対象のフレームがインター予測(異なる画面間の時間的な相関を利用した画面間予測)を用いることができる場合には予測制御情報を1とするものとする。ただし、予測制御情報の決定方法や値との組み合わせはこれに限定されない。入力画像の性質や非図示のユーザからの入力によって決定しても構わない。
予測モード決定部104は、画面内予測であるイントラ予測や画面間予測であるインター予測等を行い、最適な予測モードを決定する。ここでの予測モードとは、イントラ予測を用いるかインター予測を用いるかを識別するフラグや、イントラ予測を用いる場合のイントラ予測モードや、インター予測を用いる場合の動きベクトル等のことである。本実施形態では、こうした予測モードの情報を予測情報と呼称する。
図2は、予測モード決定部104の構成例を示すブロック図である。優先モード算出部201は、予測制御情報生成部103から入力された予測制御情報や予測モードバッファ105から入力された周辺のブロックの予測情報から、イントラ予測モード決定に必要となる優先モード情報を算出する。優先モード情報の算出についての具体的な方法については後述する。
イントラ予測画素生成部202は、フレームメモリ110を適宜参照して符号化対象ブロックの周辺の符号化済の画素からイントラ予測モード毎のイントラ予測画像を生成する。また、イントラ予測画素生成部202は、生成したイントラ予測画像とブロック分割部102から入力されたブロック単位の入力画像から予測誤差を算出し、対応するイントラ予測モードの情報とともにイントラ予測モード決定部203に出力する。
イントラ予測モード決定部203は、優先モード算出部201から入力された優先モード情報やイントラ予測画素生成部202から入力された予測誤差及びイントラ予測モードの情報から、イントラ予測モード毎の符号化コストを計算する。そして、イントラ予測モード決定部203は、計算されたイントラ予測モード毎の符号化コストを比較して最適なイントラ予測モードを決定し、対応する符号化コストの情報とともに予測モード決定部206に出力する。
インター予測画素生成部204は、符号化対象ピクチャよりも前に符号化されたピクチャの画素から動きベクトル毎のインター予測画像を生成する。また、インター予測画素生成部204は、生成したインター予測画像とブロック分割部102から入力されたブロック単位の入力画像から予測誤差を算出し、対応する動きベクトルの情報とともにインター予測モード決定部205に出力する。
インター予測モード決定部205は、インター予測画素生成部204から入力された動きベクトル毎の予測誤差及び動きベクトルの情報から、動きベクトル毎の符号化コストを計算する。そして、インター予測モード決定部205は、計算された動きベクトル毎の符号化コストを比較して最適な動きベクトルを決定し、対応する符号化コストの情報とともに予測モード決定部206に出力する。
予測モード決定部206は、イントラ予測モード決定部203から入力されたイントラ予測の符号化コストと、インター予測モード決定部205から入力されたインター予測の符号化コストとを比較して最適な符号化モードを決定する。イントラ予測を用いることを決定した場合には、予測モード決定部206は、イントラ予測を示す識別情報をイントラ予測モード決定部203から入力されたイントラ予測モードの情報とともに予測情報として出力する。一方、インター予測を用いることを決定した場合には、予測モード決定部206は、インター予測を示す識別情報をインター予測モード決定部205から入力された動きベクトルの情報とともに予測情報として出力する。
図1に戻り、予測モードバッファ105は、予測モード決定部104から出力されたブロック単位の予測情報を保持する。予測補償部106は、ブロック分割部102から入力されたブロック単位の画像データに対し、予測モード決定部104から出力された予測情報に基づいてイントラ予測やインター予測等を行い、予測画像データを生成する。また、予測補償部106は、入力された画像データと予測画像データとから予測誤差を算出して出力する。
変換・量子化部107は、予測補償部106から入力された予測誤差をブロック単位で直交変換して変換係数を得て、さらに量子化を行って量子化係数を得る。逆量子化・逆変換部108は、変換・量子化部107から入力された量子化係数を逆量子化して変換係数を再生し、さらに逆直交変換して予測誤差を再生する。画像再生部109は、予測モード決定部104から出力された予測情報に基づいて、フレームメモリ110を適宜参照して予測画像データを生成し、これと逆量子化・逆変換部108から入力された予測誤差から再生画像データを生成して出力する。
フレームメモリ110は、画像再生部109で再生された画像データを格納しておくメモリである。フレームメモリ110に格納された再生画像データは、予測モード決定部104及び予測補償部106により参照される。符号化部111は、変換・量子化部107から出力された量子化係数及び予測モード決定部104から出力された予測情報を符号化してビットストリームを生成して出力する。端子112は、符号化部111で生成されたビットストリームを外部に出力する出力端子である。
次に、本実施形態による画像符号化装置の動作について説明する。図3は、本実施形態による画像符号化装置の動作例を示すフローチャートである。
ステップS301にて、予測制御情報生成部103は、イントラ予測モードを決定する際に必要となる優先モードの算出を制御する予測制御情報を生成し、予測モード決定部104に出力する。ステップS302にて、ブロック分割部102は、端子101から入力された画像データを複数のブロックに切り出し、ブロック単位の画像データを後段に出力する。ステップS303にて、予測モード決定部104は、イントラ予測やインター予測等を行い最適な予測モードを決定し、得られた予測情報を予測モードバッファ105に格納する。また、予測情報は、予測補償部106や符号化部111にも出力される。
ステップS303での予測モード決定処理について、図4を用いて説明する。図4は、本実施形態における予測モード決定処理を示すフローチャートである。ステップS401にて、優先モード算出部201は、ステップS301において生成された予測制御情報や、周辺のブロックの予測情報から、イントラ予測モードの決定に必要となる優先モード情報を算出する。
ここで、本実施形態における優先モード算出処理について、図5を用いて説明する。図5は、本実施形態における優先モード算出処理を示すフローチャートである。まず、ステップS501にて、優先モード算出部201は、ステップS301において生成された予測制御情報に基づいた判定を行い、予測制御情報が1であればステップS504に進み、そうでなければステップS502に進む。
ステップS502にて、優先モード算出部201は、予測モードバッファ105を適宜参照し、符号化対象ブロックの左に隣接するブロックの予測モードを取得して設定する。ステップS503にて、優先モード算出部201は、予測モードバッファ105を適宜参照し、符号化対象ブロックの上に隣接するブロックの予測モードを取得して設定する。なお、ステップS502の処理とステップS503の処理を行う順序は逆であっても良い。
ステップS504にて、優先モード算出部201は、符号化対象ブロックの左に隣接するブロックの予測モードを、予測モードバッファ105に格納されている左に隣接するブロックの予測モードに関わらず、インター予測モードと設定する。ステップS505にて、優先モード算出部201は、符号化対象ブロックの上に隣接するブロックの予測モードを、予測モードバッファ105に格納されている上に隣接するブロックの予測モードに関わらず、インター予測モードと設定する。なお、ステップS504の処理とステップS505の処理を行う順序は逆であっても良い。
ステップS506にて、優先モード算出部201は、ステップS502〜ステップS505での処理で設定された符号化対象ブロックの左及び上に隣接するブロックの予測モードの情報を用いて1つ以上の優先モードを算出し、処理を終了する。優先モードの算出方法は、特に限定しないが、本実施形態では図6に示された方法に基づいて、優先モード0、優先モード1、優先モード2の3種類の優先モードを算出するものとする。
例えば、ステップS501において予測制御情報が1であると判定された場合を例に説明すると、ステップS504、S505において左及び上に隣接するそれぞれのブロックの予測モードがインター予測モードであると設定される。その場合、図6においては、ステップS601、S603、S604、S606、S607、S608の処理を経て、ステップS609にて、Intra_Planar、Intra_DC、Vertical(26)の3つが優先モードとして算出される。図6に例示した優先モード算出方法は、非特許文献1の8.4.2節に記載されている方法であるため、ここでのさらなる詳しい説明は省略する。
図4に戻り、ステップS402にて、イントラ予測画素生成部202は、フレームメモリ110に格納された符号化対象ブロックの周辺の符号化済の画素からイントラ予測モード毎のイントラ予測画像を生成する。さらに、生成されたイントラ予測画像とステップS302において分割されたブロック単位の入力画像から予測誤差を算出する。
ステップS403にて、イントラ予測モード決定部203は、ステップS401において算出された優先モード情報やステップS402において算出された予測誤差からイントラ予測モード毎の符号化コストを計算する。そして、計算されたイントラ予測モード毎の符号化コストを比較して最適なイントラ予測モードを決定する。また、決定された最適なイントラ予測モードに対応する符号化コストをイントラコストとして算出する。
符号化コストの計算方法は特に限定しないが、本実施形態では下記の式(1)に基づいて計算されるものとする。
Cost = Dist + λ × Bits …(1)
式(1)において、Costは算出される符号化コストである。DistはステップS402において算出された予測誤差の総量を示す値であり、差分絶対値和であるSAD等が用いられる。λは量子化パラメータに応じて定まる係数である。Bitsは対象の符号化モードを用いた際に識別に必要となる符号量を予測したものである。
HEVCにおいては、非特許文献1の7.3.8.5章に記載されている、prev_intra_luma_pred_flag符号やmpm_idx符号、rem_intra_luma_pred_mode符号の発生符号量を予測したものである。各符号の発生符号量の予測方法は特に限定されず、エントロピー符号化の動作をモデル化して発生符号量を正確に計算してもよいし、エントロピー符号化前の2値データの分量から推定しても良い。
本実施形態では、ステップS401において優先モードに指定された予測モードに対しては、prev_intra_luma_pred_flag符号とmpm_idx符号の予測発生符号量の合計をBitsとして符号化コストを算出するものとする。一方、ステップS401において優先モードに指定されなかった予測モードに対しては、prev_intra_luma_pred_flag符号とrem_intra_luma_pred_mode符号の予測発生符号量の合計をBitsとする。
HEVCにおいては、mpm_idx符号は0〜2の値をとり、rem_intra_luma_pred_mode符号は0〜31の値をとる。これにより、mpm_idx符号の方がrem_intra_luma_pred_mode符号より短い符号長となるため、結果として優先モードの方がその他のモードよりも選択されやすくなる。
ステップS404にて、インター予測画素生成部204は、符号化対象ピクチャよりも前に符号化されたピクチャの画素から動きベクトル毎のインター予測画像を生成する。さらに、生成されたインター予測画像とステップS302において分割されたブロック単位の入力画像から予測誤差を算出する。
ステップS405にて、インター予測モード決定部205は、ステップS404において算出された動きベクトル毎の予測誤差を用いて、動きベクトル毎の符号化コストを計算する。そして、計算された動きベクトル毎の符号化コストを比較して最適な動きベクトルを決定する。また、決定された最適な動きベクトルに対応する符号化コストをインターコストとして算出する。本実施形態では、ステップS403と同様に、式(1)で示された計算方法に基づいて符号化コストを計算するものとする。
ステップS406にて、予測モード決定部206は、ステップS403において算出されたイントラコストとステップS405において算出されたインターコストとの比較を行う。比較の結果、イントラコストの方が小さければステップS407に進み、そうでなければステップS408に進む。本実施形態ではイントラコストとインターコストとが同一である場合にはステップS408に進むものとしているが、ステップS407に進むようにしても構わない。
ステップS407にて、予測モード決定部206は、イントラ予測を示す識別情報をステップS403において決定された最適なイントラ予測モードの情報とともに予測情報として出力する。より具体的には、予測情報は、後述のステップS308において、符号化部111によってprev_intra_luma_pred_flag符号やmpm_idx符号、rem_intra_luma_pred_mode符号となり、符号化される。このため、ステップS403において決定された最適なイントラ予測モードとステップS401において算出された優先モードとが一致すれば最終的な符号長がより短くなるため、符号化効率が向上する効果がある。
ステップS408にて、予測モード決定部206は、インター予測を示す識別情報をステップS405において決定された最適な動きベクトルとともに予測情報として出力する。なお、図4に示した処理において、ステップS402及びS403の処理と、ステップS404及びS405の処理とは、行う順序が逆であっても良いし、並列して行っても良い。
図3に戻り、ステップS304にて、予測補償部106は、ブロック分割部102から入力されたブロック単位の画像データに対し、ステップS303において決定された予測モードに基づいてイントラ予測やインター予測等を行い、予測画像データを生成する。さらに、入力された画像データと生成した予測画像データとから予測誤差を算出し、変換・量子化部107に出力する。
ステップS305にて、変換・量子化部107は、ステップS304において算出され予測補償部106から入力された予測誤差をブロック単位で直交変換して変換係数を得て、さらに量子化を行って量子化係数を算出する。算出された量子化係数は、逆量子化・逆変換部108及び符号化部111に出力される。ステップS306にて、逆量子化・逆変換部108は、ステップS305において算出され変換・量子化部107から入力された量子化係数を逆量子化して変換係数を再生し、さらに逆直交変換して予測誤差を再生する。再生された予測誤差は、画像再生部109に出力される。
ステップS307にて、画像再生部109は、まず、ステップS303において決定され予測モード決定部104から出力された予測モードに基づいて、フレームメモリ110を適宜参照して予測画像データを生成する。さらに、これとステップS306において再生され逆量子化・逆変換部108から入力された予測誤差から再生画像データを生成し、フレームメモリ110に格納する。
ステップS308にて、符号化部111は、ステップS305において算出され変換・量子化部107から出力された量子化係数及びステップS303において得られ予測モード決定部104から出力された予測情報を符号化してビットストリームを生成する。そして、生成されたビットストリームの符号データは適宜端子112から出力される。
ステップS309にて、画像符号化装置は、フレーム内のすべてのブロックの符号化が完了したか否かの判定を実施し、完了している場合にはステップS310に進み、そうでない場合は次のブロックを対象としてステップS302に進む。ステップS310にて、画像符号化装置は、すべてのフレームの符号化が完了したか否かの判定を実施し、完了している場合には符号化処理を終了し、そうでない場合には次のフレームを対象としてステップS301に進む。
本実施形態によれば、ステップS504及びS505において、周囲のブロックをインターブロックと推定して優先モードを算出することにより、イントラ予測モードの決定についてパイプライン実装を用いて高速にかつ効率良く行うことができる。特にほとんどのブロックがインター予測として符号化される場合においては、ステップS401において算出した優先モードと実際に符号長が短くなるモードとが一致するため、符号化効率の向上効果が大きくなる。
なお、本実施形態では、ステップS308での符号化処理をステップS307の処理後に実行するようにしているが、ステップS305の処理後に実行されるのであれば、順序はこれに限定されない。また、ステップS503において、隣接する左と上の両方のブロックの予測モードをインター予測と設定したが、左もしくは上の片方だけインター予測と設定し、もう片方は予測モードバッファ105を参照して予測情報を取得する構成をとっても構わない。
さらには、図7に示すように、左もしくは上に隣接するブロックが同じ符号化のブロックの単位内に属するか否かに応じて隣接するブロックの予測情報の設定方法を変更する構成としても構わない。予測モードの決定を符号化ブロックの単位でパイプライン実装する場合においては、隣接するブロックが異なる符号化ブロック内に存在した場合には既に対象となる予測モードが確定している。このような場合には既に確定している予測モードを適応的に活用することで、より効率良くイントラ予測モードを決定することが可能となる。
図7は、本実施形態における優先モード算出処理の他の例を示すフローチャートである。まず、ステップS701にて、優先モード算出部201は、ステップS301において生成された予測制御情報に基づいた判定を行い、予測制御情報が1であればステップS704に進み、そうでなければステップS702に進む。
ステップS702にて、優先モード算出部201は、予測モードバッファ105を適宜参照し、符号化対象ブロックの左に隣接するブロックの予測モードを取得して設定する。ステップS703にて、優先モード算出部201は、予測モードバッファ105を適宜参照し、符号化対象ブロックの上に隣接するブロックの予測モードを取得して設定する。なお、ステップS702の処理とステップS703の処理を行う順序は逆であっても良い。
ステップS704にて、優先モード算出部201は、符号化対象ブロックの左に隣接するブロックが、同じ符号化ブロック内に属するか否かを判定する。左に隣接するブロックが同じ符号化ブロック内に存在する場合には、ステップS706に進み、優先モード算出部201は、左に隣接するブロックの予測モードを、インター予測モードと設定する。一方、左に隣接するブロックが異なる符号化ブロックに存在する場合には、ステップS705に進み、優先モード算出部201は、予測モードバッファ105を適宜参照して、左に隣接するブロックの予測モードを取得して設定する。
ステップS707にて、優先モード算出部201は、符号化対象ブロックの上に隣接するブロックが、同じ符号化ブロック内に属するか否かを判定する。上に隣接するブロックが同じ符号化ブロック内に存在する場合には、ステップS709に進み、優先モード算出部201は、上に隣接するブロックの予測モードを、インター予測モードと設定する。一方、上に隣接するブロックが異なる符号化ブロックに存在する場合には、ステップS708に進み、優先モード算出部201は、予測モードバッファ105を適宜参照して、上に隣接するブロックの予測モードを取得して設定する。
ステップS710にて、優先モード算出部201は、前述した処理で設定された符号化対象ブロックの左及び上に隣接するブロックの予測モードの情報を用いて、図5に示したステップS506と同様にして優先モードを算出し、処理を終了する。なお、ステップS704〜S706の処理と、ステップS707〜S709の処理とは、実行する順序が逆であっても良い。
また、本実施形態では、図6のフローチャートに示した処理に基づいて3つの優先モードを算出するものとしているが、算出される優先モードの数はこれに限定されない。例えば、ステップS301において算出された予測制御情報が1である場合には、非方向性予測であるIntra_PlanarとIntra_DCの2つのみを優先モードとしたり、どちらか一方のみを優先モードとしたりすることも可能である。
また、本実施形態では、画像再生部109で再生された画像データはそのままフレームメモリ110に格納され、予測モード決定部104や予測補償部106に参照される構成としたが、画質向上のためのインループフィルタ処理を実施しても構わない。ブロック単位で再生された画像データをフレームメモリ110に格納し、フレーム単位でインループフィルタ処理を行い、フィルタ処理された画像データをフレームメモリ110に再格納する構成とすることもできる。そのような場合には、予測モード決定部104や予測補償部106においては、イントラ予測にはフィルタ処理前の画像データが参照され、インター予測にはフィルタ処理後の画像データが参照されることになる。
(本発明の他の実施形態)
前述した実施形態では、図1に示した本実施形態による画像符号化装置の各処理部はハードウェアで構成しているものとして説明したが、画像符号化装置の各処理部で行う処理をコンピュータプログラムでもって構成しても良い。図8は、本実施形態による画像符号化装置を実現可能なコンピュータのハードウェアの構成例を示すブロック図である。
CPU801は、RAM802やROM803に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行うとともに、本実施形態による画像符号化装置が行うものとして前述した各処理を実行する。すなわち、CPU801は、図1に示した各処理部として機能することになる。前述したフローチャートで説明した書く処理をCPU801が中心となってその制御を行う。
RAM802は、外部記憶装置806からロードされたコンピュータプログラムやデータ、I/F(インターフェース)807を介して外部から取得したデータ等を一時的に記憶するためのエリアを有する。さらに、RAM802は、CPU801が各種の処理を実行する際に用いるワークエリアを有する。すなわち、RAM802は、例えば、フレームメモリとして割り当てたり、その他の各種のエリアを適宜提供したりすることができる。ROM803には、本コンピュータの設定データや、ブートプログラム等が格納されている。
操作部804は、キーボードやマウス等により構成されており、本コンピュータのユーザが操作することで、各種の指示をCPU801に対して入力することができる。表示部805は、例えば液晶ディスプレイで構成され、CPU801による処理結果を表示する。外部記憶装置806は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。外部記憶装置806には、OS(オペレーティングシステム)や、図1に示した各部の機能をCPU801に実現させるためのコンピュータプログラムが保存されている。さらには、外部記憶装置806には、処理対象としての各画像データが保存されていても良い。
外部記憶装置806に保存されているコンピュータプログラムやデータは、CPU801による制御に従って適宜、RAM802にロードされ、CPU801による処理対象となる。I/F807には、LANやインターネット等のネットワーク、投影装置や表示装置などの他の機器を接続することができ、本コンピュータはこのI/F807を介して様々な情報を取得したり、送出したりすることができる。808は前述した各部を繋ぐバスである。
また、本発明の目的は、前述した機能を実現するコンピュータプログラムのコードを記録した記憶媒体を、システムに供給し、そのシステムがコンピュータプログラムのコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたコンピュータプログラムのコード自体が前述した実施形態の機能を実現し、そのコンピュータプログラムのコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムのコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたコンピュータプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのコンピュータプログラムのコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。本発明を前記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムのコードが格納されることになる。
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
102:ブロック分割部 103:予測制御情報生成部 104:予測モード決定部 105:予測モードバッファ 106:予測補償部 107:変換・量子化部 108:逆量子化・逆変換部 109:画像再生部 110:フレームメモリ 111:符号化部 201:優先モード算出部 202:イントラ予測画素生成部 203:イントラ予測モード決定部 204:インター予測画素生成部 205:インター予測モード決定部 206:予測モード決定部

Claims (6)

  1. 画像を符号化して符号化データを生成する画像符号化装置であって、
    画像を構成するフレームをブロックに分割する分割手段と、
    符号化対象ブロックにおける予測に関する予測情報を決定する予測情報決定手段と、
    前記予測情報決定手段によって決定された前記予測情報に従って符号化対象ブロックを符号化し、前記符号化データを生成する符号化手段と
    を備え、
    前記予測情報は、符号化対象ブロックと同じ画面内の符号化済の画素を用いて予測するイントラ予測を用いるか、又は、符号化対象ブロックと異なる画面の符号化済の画素を用いて予測するインター予測を用いるかを示す情報を含み、
    前記予測情報は、符号化対象ブロックにおいてイントラ予測を用いる場合、複数のイントラ予測モードの中から決定される、当該符号化対象ブロックにおいて用いられるイントラ予測モードを示す情報を更に含み、
    前記予測情報決定手段は、
    符号化対象ブロックにおける予測方法として、前記イントラ予測を用いるか、又は、前記インター予測を用いるか決定する予測モード決定手段と、
    符号化対象ブロックの周辺のブロックの予測モードに基づいて、前記イントラ予測モードを決定するイントラ予測モード決定手段と
    を有し、
    前記イントラ予測モード決定手段は、前記周辺のブロックにおいて前記インター予測を用いることができる場合には、当該周辺のブロックにおける予測情報に関わらず、当該周辺のブロックがインター予測されると推定して符号化対象ブロックのイントラ予測モードを決定し、
    前記予測モード決定手段は、前記周辺のブロックにおいて前記インター予測を用いることができる場合には、前記周辺のブロックにおける前記予測情報に基づいて決定されるイントラ予測モードで行われる前記イントラ予測の結果に基づかずに、前記周辺のブロックがインター予測されると推定して決定されたイントラ予測モードで行われる前記イントラ予測の結果に基づき、符号化対象ブロックにおける予測方法として、前記イントラ予測を用いるか、又は、前記インター予測を用いるか決定する
    ことを特徴とする画像符号化装置。
  2. 前記イントラ予測モード決定手段は、前記周辺のブロックが前記インター予測を用いることができない場合には、符号化対象ブロックの前記周辺のブロックのイントラ予測モードに基づいて前記符号化対象ブロックのイントラ予測モードを決定することを特徴とする請求項1記載の画像符号化装置。
  3. 前記イントラ予測モード決定手段は、前記符号化対象ブロックの前記周辺のブロックのイントラ予測モードに応じて、前記複数のイントラ予測モードのうちから1つ以上の優先モードを決定し、決定した前記優先モードが他のイントラ予測モードよりも選択されやすいように制御することを特徴とする請求項1又は2記載の画像符号化装置。
  4. 前記イントラ予測モード決定手段は、前記複数のイントラ予測モードのうちのIntra_Planar及びIntra_DCの少なくとも1つを前記優先モードとして決定することを特徴とする請求項3記載の画像符号化装置。
  5. 画像を符号化して符号化データを生成する画像符号化方法であって、
    画像を構成するフレームをブロックに分割する分割工程と、
    符号化対象ブロックにおける予測に関する予測情報を決定する予測情報決定工程と、
    前記予測情報決定工程によって決定された前記予測情報に従って符号化対象ブロックを符号化し、前記符号化データを生成する符号化工程と
    を有し、
    前記予測情報は、符号化対象ブロックと同じ画面内の符号化済の画素を用いて予測するイントラ予測を用いるか、又は、符号化対象ブロックと異なる画面の符号化済の画素を用いて予測するインター予測を用いるかを示す情報を含み、
    前記予測情報は、符号化対象ブロックにおいてイントラ予測を用いる場合、複数のイントラ予測モードの中から決定される、当該符号化対象ブロックにおいて用いられるイントラ予測モードを示す情報を更に含み、
    前記予測情報決定工程は、
    符号化対象ブロックにおける予測方法として、前記イントラ予測を用いるか、又は、前記インター予測を用いるか決定する予測モード決定工程と、
    符号化対象ブロックの周辺のブロックの予測モードに基づいて、前記イントラ予測モードを決定するイントラ予測モード決定工程と
    含み、
    前記イントラ予測モード決定工程において、前記周辺のブロックにおいて前記インター予測を用いることができる場合には、当該周辺のブロックにおける予測情報に関わらず、当該周辺のブロックがインター予測されると推定して符号化対象ブロックのイントラ予測モードを決定し、
    前記予測モード決定工程において、前記周辺のブロックにおいて前記インター予測を用いることができる場合には、前記周辺のブロックにおける前記予測情報に基づいて決定されるイントラ予測モードで行われる前記イントラ予測の結果に基づかずに、前記周辺のブロックがインター予測されると推定して決定されたイントラ予測モードで行われる前記イントラ予測の結果に基づき、符号化対象ブロックにおける予測方法として、前記イントラ予測を用いるか、又は、前記インター予測を用いるか決定する
    ことを特徴とする画像符号化方法。
  6. コンピュータを請求項1〜4のいずれか1項に記載の画像符号化装置の各手段として機能させるためのプログラム。
JP2015011726A 2015-01-23 2015-01-23 画像符号化装置、画像符号化方法及びプログラム Active JP6501532B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015011726A JP6501532B2 (ja) 2015-01-23 2015-01-23 画像符号化装置、画像符号化方法及びプログラム
US15/000,442 US10349050B2 (en) 2015-01-23 2016-01-19 Image coding apparatus, image coding method and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015011726A JP6501532B2 (ja) 2015-01-23 2015-01-23 画像符号化装置、画像符号化方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2016136700A JP2016136700A (ja) 2016-07-28
JP6501532B2 true JP6501532B2 (ja) 2019-04-17

Family

ID=56433872

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015011726A Active JP6501532B2 (ja) 2015-01-23 2015-01-23 画像符号化装置、画像符号化方法及びプログラム

Country Status (2)

Country Link
US (1) US10349050B2 (ja)
JP (1) JP6501532B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6501532B2 (ja) * 2015-01-23 2019-04-17 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム
JP2019041165A (ja) * 2017-08-23 2019-03-14 富士通株式会社 画像符号化装置、画像復号装置、画像処理方法、及び画像処理プログラム
WO2020084473A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Multi- iteration motion vector refinement
JP7146086B2 (ja) 2018-11-12 2022-10-03 北京字節跳動網絡技術有限公司 インター予測のためのバンド幅制御方法
WO2020103852A1 (en) 2018-11-20 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Difference calculation based on patial position
EP3915259A4 (en) 2019-03-06 2022-03-30 Beijing Bytedance Network Technology Co., Ltd. USE OF A CONVERTED UNIVERSITY PREDICTION CANDIDATE

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4577048B2 (ja) * 2004-03-11 2010-11-10 パナソニック株式会社 画像符号化方法、画像符号化装置および画像符号化プログラム
JP2006005438A (ja) * 2004-06-15 2006-01-05 Sony Corp 画像処理装置およびその方法
KR100745765B1 (ko) * 2006-04-13 2007-08-02 삼성전자주식회사 화상 데이터의 공간상 예측 장치 및 방법과 그를 이용한부호화 장치 및 방법, 화상 데이터의 공간상 예측 보상장치 및 방법과 그를 이용한 복호화 장치 및 방법
CN101998120B (zh) * 2006-05-24 2014-07-30 松下电器产业株式会社 图像编码装置、图像编码方法及图像编码集成电路
JP5111127B2 (ja) * 2008-01-22 2012-12-26 キヤノン株式会社 動画像符号化装置及びその制御方法、並びに、コンピュータプログラム
US9503715B2 (en) * 2013-08-30 2016-11-22 Qualcomm Incorporated Constrained intra prediction in video coding
JP6501532B2 (ja) * 2015-01-23 2019-04-17 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム

Also Published As

Publication number Publication date
JP2016136700A (ja) 2016-07-28
US10349050B2 (en) 2019-07-09
US20160219274A1 (en) 2016-07-28

Similar Documents

Publication Publication Date Title
US11711539B2 (en) Image encoding apparatus, image encoding method and program, image decoding apparatus, and image decoding method and program
JP6501532B2 (ja) 画像符号化装置、画像符号化方法及びプログラム
EP3174297B1 (en) Video encoding and decoding with improved error resilience
US20110206288A1 (en) Image encoding/decoding system using graph based pixel prediction and encoding system and method
CN110933426B (zh) 一种解码、编码方法及其设备
JP4921239B2 (ja) 画像処理装置およびその方法
BR112013032716B1 (pt) método de decodificação de vídeo e método de codificação de vídeo para compensação de movimento
CN115348442A (zh) 一种运动信息确定方法、装置及其设备
JP2013146038A (ja) 画像量子化装置、画像量子化方法及びプログラム、画像逆量子化装置、画像逆量子化方法及びプログラム
EP2343899A1 (en) Method and device for video transcoding using quad-tree based mode selection
EP2343900A1 (en) Method and device for motion vector estimation in video transcoding using full-resolution residuals
US9491455B2 (en) Picture encoding method, picture decoding method, picture encoding apparatus, picture decoding apparatus, picture encoding program, and picture decoding program
EP2343898A1 (en) Method and device for motion vector estimation in video transcoding using union of search areas
JP3775630B2 (ja) 動画像の領域分割符号化装置
JP5937926B2 (ja) 画像符号化装置、画像復号装置、画像符号化プログラム及び画像復号プログラム
KR20220011175A (ko) 화상 복호 장치, 복호 방법, 및 컴퓨터 프로그램
JP5281597B2 (ja) 動きベクトル予測方法,動きベクトル予測装置および動きベクトル予測プログラム
CN112565747A (zh) 一种解码、编码方法、装置及其设备
JP2016134852A (ja) 符号化装置、符号化方法及びプログラム
JP5957513B2 (ja) 動画像復号化方法
EP2343897A1 (en) Method and Device for Motion Vector Prediction in Video Transcoding
KR20220156017A (ko) 화상 부호화 장치, 화상 부호화 방법 및 기억 매체, 화상 복호 장치, 화상 복호 방법 및 기억 매체
JP6253564B2 (ja) 画像符号化装置,画像復号装置,画像符号化方法,画像復号方法,画像符号化プログラムおよび画像復号プログラム
KR101525325B1 (ko) 인트라 예측 모드 결정 방법 및 그 장치
JP6080726B2 (ja) 動画像符号化装置及び画面内予測モード決定方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180731

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180919

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: 20190219

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190319

R151 Written notification of patent or utility model registration

Ref document number: 6501532

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151