JP7054007B2 - 符号化装置及びプログラム - Google Patents

符号化装置及びプログラム Download PDF

Info

Publication number
JP7054007B2
JP7054007B2 JP2018237633A JP2018237633A JP7054007B2 JP 7054007 B2 JP7054007 B2 JP 7054007B2 JP 2018237633 A JP2018237633 A JP 2018237633A JP 2018237633 A JP2018237633 A JP 2018237633A JP 7054007 B2 JP7054007 B2 JP 7054007B2
Authority
JP
Japan
Prior art keywords
search
vector
prediction
block
motion
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
JP2018237633A
Other languages
English (en)
Other versions
JP2020102669A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2018237633A priority Critical patent/JP7054007B2/ja
Priority to PCT/JP2019/047670 priority patent/WO2020129681A1/ja
Priority to US17/414,889 priority patent/US11528485B2/en
Publication of JP2020102669A publication Critical patent/JP2020102669A/ja
Application granted granted Critical
Publication of JP7054007B2 publication Critical patent/JP7054007B2/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/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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • 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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/57Motion estimation characterised by a search window with variable size or shape

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、符号化装置及びプログラムに関する。
MPEG(Moving Picture Experts Group)-2、MPEG-4、MPEG-4/AVC(Advanced Video Coding)等の動画像符号化規格がある。HEVC(High Efficiency Video Coding)は、今後の普及が見込まれている次世代の動画像符号化規格である。
動画像符号化規格では、1枚の画像のフレームに閉じた情報を用いて符号化処理が実行されるフレーム内符号化と、時系列の複数の画像のフレームの情報を用いて符号化処理が実行されるフレーム間符号化とが規定されている。フレーム間符号化では、符号化装置は、符号化対象画像及び参照画像を用いて、動きベクトルを探索する処理(以下「動き探索処理」という。)を実行する。動きベクトルは、符号化対象画像及び参照画像の画素単位の差分(フレーム間差分値)の累積値等が最も小さくなる参照画像の座標を示すベクトルである。
符号化装置は、動きベクトル及びフレーム間差分値を符号化することによって、符号化結果の情報量を削減する。符号化される動きベクトル及びフレーム間差分値の情報量を削減するためには、符号化装置は、精度のよい動きベクトルを探索する必要がある。精度のよい動きベクトルを探索する動き探索処理には、膨大な演算量が必要である。動き探索処理では、符号化装置は、符号化対象画像及び参照画像のフレーム間差分値を、整数又は小数の画素単位で導出する。このため、動き探索処理には、さらに膨大な演算量が必要である。
符号化装置では、動き探索処理が実行される参照画像内の探索領域(探索中心を含む領域)が、正式の動き探索処理(本番の動き探索処理)の前に決定される場合がある。この場合、符号化装置は、正式の動き探索処理の前に探索領域に対して動きベクトルを探索する処理(事前探索処理)を実行する。
事前探索処理では、符号化装置は、縮小された符号化対象画像を用いて、縮小された参照画像内の探索領域を決定する。符号化装置は、符号化対象画像及び参照画像を、例えば8分の1画素の長さのサイズに縮小する。符号化装置は、縮小された符号化対象画像及び参照画像内の探索領域について、例えば8分の1画素の長さの画素単位(小数の画素単位)で事前探索処理を実行する。
事前探索処理では、符号化装置は、縮小された符号化対象画像について、精度の粗い動きベクトルを導出する。符号化装置は、事前探索処理によって探索された複数の動きベクトルのうちでフレーム間差分値が最も小さい動きベクトルが示す位置を、正式の動き探索処理における参照画像内の探索中心と決定する。符号化装置は、事前探索処理において決定された探索中心を含む領域(探索領域)に対して、正式の動き探索処理を実行する。
「MPEG-4/AVC」及びHEVCでは、動きベクトル予測(Motion Vector Prediction: MVP)が規定されている。動きベクトル予測では、符号化装置は、符号化の対象ブロックの周囲のブロックにおける動きベクトルに基づいて、対象ブロックにおける動きベクトル予測(MVP)の結果のベクトルである予測ベクトルを導出する。符号化装置は、対象ブロックにおける最終的な動きベクトルが示す位置の画素値と、動きベクトル予測の予測ベクトルが示す位置の画素値との差分(予測残差)を符号化する。このため、符号化装置は、動きベクトル予測の予測ベクトルが示す位置に近く且つ予測残差の小さい位置を効率よく探索することで、符号化効率を向上させることが可能である。
このため、符号化装置は、動きベクトル予測の予測ベクトルが示す位置を探索中心として、その探索中心を含む探索領域に対して動き探索処理を実行する場合がある。HEVCでは、符号化の対象ブロックの左方向に位置するブロックに基づいて決定される左予測ベクトル(左MVP)と、その対象ブロックの上方向に位置するブロックに基づいて決定される上予測ベクトル(上MVP)との2種類の予測ベクトルがある。
符号化装置は、符号化効率を高くすることが可能となる予測ベクトルを、これら2種類の予測ベクトルのうちから選択する。各予測ベクトルが示す探索中心を含む探索領域を符号化装置が探索するので、HEVCにおける動き探索処理の処理量(探索処理量)は、MPEG-4/AVCにおける動き探索処理の処理量と比較して増大する場合がある。
このため、HEVCにおける動き探索処理では、事前探索処理の結果のベクトルである事前探索ベクトル「MVpre」と、動きベクトル予測の予測ベクトルとに由来する複数の探索中心候補が用いられる。動き探索処理の処理量をさらに削減するために、符号化装置は、複数の探索中心候補のうちから探索中心候補を選択し(絞り込み)、選択された少ない個数の探索中心候補を含む小さい探索領域に対して正式の動き探索処理を実行することが必要である。特に、LSI(Large Scale Integration)又はFPGA(Field Programmable Gate Array)等のハードウェアを用いて符号化装置が実現される場合、各ブロックに対する動き探索処理の処理量が一定以下であれば、回路規模は削減される。
ハードウェアの回路規模を削減するため、各ブロックの探索中心候補の個数が一定数以下となるように、探索中心候補が選択される場合がある。特許文献1では、符号化装置は、縮小された画像に対する事前探索処理において精度のよい動きベクトルを導出する際に、その縮小された画像に対する動きベクトル予測の各予測ベクトルのコスト値を比較する(特許文献1参照)。
事前探索処理における探索領域が広いので、動きベクトル予測の予測ベクトルが示す探索中心候補は、事前探索処理における探索領域に含まれている場合が多い。このため、符号化装置は、事前探索処理を追加実行しなくても、事前探索処理において動きベクトルを導出した際に、その縮小された画像に対する動きベクトル予測の各予測ベクトルのコスト値を取得可能である。
特許文献1では、符号化装置は、縮小された画像に対する事前探索処理において導出された精度のよい動きベクトル及びコスト値と、その縮小された画像に対する動きベクトル予測の2本の予測ベクトルのコスト値とを、事前探索処理において動きベクトルを導出する際に導出する。符号化装置は、これら3個のコスト値と閾値との比較結果に基づいて、3個の探索中心候補から2個の探索中心候補を選択する。符号化装置は、選択された2個の探索中心候補に基づいて、正式の動き探索処理を実行する。
特許第6259272号公報
しかしながら、特許文献1では、事前探索処理における動きベクトル予測の各予測ベクトルと、事前探索処理後の正式の動き探索処理における動きベクトル予測の各予測ベクトルとは異なっている。「MPEG-4/AVC」及びHEVCでは、小さい画素単位の動きベクトルにも対応するため、符号化装置は、正式の動き探索処理を小さいブロック単位で実行する。特にHEVCでは、例えば8×8画素のように小さいブロックが動きベクトルを持つことが可能である。
従来の符号化装置は、縮小された画像に対して事前探索処理を実行するので、縮小される前では大きいブロック単位の探索領域に対して事前探索処理を実行する。例えば、従来の符号化装置は、32×32画素のブロックを4×4画素のブロックまで8分の1の長さのサイズに縮小してから、縮小された画像のブロック単位の探索領域に対して事前探索処理を実行する。仮に、事前探索処理において未だ縮小されていない画像におけるブロックと、正式の動き探索処理における画像のブロックとが、同様の小さいブロックである場合、事前探索処理における縮小された画像におけるブロックは、例えば2×2画素のように小さすぎるブロックとなる。従来の符号化装置は、このように小さすぎるブロックを用いて、フレーム間の大まかな動きを捉えることが難しい。このため、フレーム間の大まかな動きを符号化装置が捉えるには、事前探索処理と正式の動き探索処理とで、探索領域のブロックのサイズが異なる必要がある。
動きベクトル予測の予測ベクトルは、対象ブロックとの相対的な位置(例えば、対象ブロックの左又は上の位置)のブロックにおける動きベクトルである。このため、事前探索処理と正式の動き探索処理とで探索領域のブロックのサイズが異なっている場合には、事前探索処理と正式の動き探索処理とで動きベクトル予測の予測ベクトルも異なる。仮に、事前探索処理が32×32画素のブロック単位で実行され、正式の動き探索処理が8×8画素のブロック単位で実行される場合、事前探索処理では32×32画素のブロックは、左予測ベクトル及び上予測ベクトルの1組の予測ベクトルを持つ。
32×32画素のブロックは、8×8画素の16個のブロックから構成される。正式の動き探索処理では、32×32画素の各ブロックは、動きベクトル予測の1組の予測ベクトルを持つ。これに対して、事前探索処理では、32×32画素の各ブロックは、16組の異なる左予測ベクトル及び上予測ベクトルを持つ場合がある。動きベクトル予測の各予測ベクトルが示す探索中心候補を、事前探索処理において符号化装置が選択した場合でも、正式の動き探索処理における動きベクトル予測の各予測ベクトルと、事前探索処理においてコスト値が比較される動きベクトル予測の各予測ベクトルとが異なるので、符号化効率は低下してしまう。
このように、従来の符号化装置は、事前探索処理における画像のブロック単位で、探索中心候補を選択する。事前探索処理における画像のブロックのサイズは、正式の動き探索処理における画像のブロックのサイズよりも大きいことが多い。このため、正式の動き探索処理における画像のブロック単位で探索中心候補に対する処理を従来の符号化装置が切り替えることができないので、符号化効率は低下してしまう。このように、従来の符号化装置は、探索処理量が削減された場合、符号化効率の低下を抑止することができないという問題がある。
上記事情に鑑み、本発明は、探索処理量が削減された場合でも、符号化効率の低下を抑止することが可能である符号化装置及びプログラムを提供することを目的としている。
本発明の一態様は、画像をブロックに分割して符号化を実行する符号化装置であって、符号化対象のブロックにおける複数の仮動きベクトル候補を取得する候補取得部と、取得された仮動きベクトル候補の方向及び大きさと同一の方向及び大きさのベクトルである対応ベクトルと、符号化済みのブロックにおける前記対応ベクトルが示す探索中心の評価情報とを取得する評価情報取得部と、前記評価情報に基づいて、前記複数の仮動きベクトル候補のうちから動きベクトル候補を、前記複数の仮動きベクトル候補の数よりも少なくなるように選択する選択部とを備える符号化装置である。
本発明の一態様は、上記の符号化装置であって、前記対応ベクトルは、前記符号化済みのブロックが前記符号化対象のブロックであった際の前記仮動きベクトル候補である。
本発明の一態様は、上記の符号化装置であって、前記評価情報取得部は、前記符号化済みのブロックの探索領域に前記探索中心が含まれている前記対応ベクトルの前記仮動きベクトル候補の前記評価情報を、前記対応ベクトルの前記評価情報と等しくし、前記符号化済みのブロックの探索領域に前記探索中心が含まれていない前記対応ベクトルの前記仮動きベクトル候補の前記評価情報を、符号化された前記仮動きベクトル候補の符号量と固定値とが加算された結果と等しくする。
本発明の一態様は、上記の符号化装置であって、前記対応ベクトルの前記評価情報は、符号化された前記仮動きベクトル候補の符号量と画素値の差分絶対値和とが加算された結果の値である。
本発明の一態様は、上記の符号化装置であって、前記符号化済みのブロックは、前記符号化対象のブロックが前記画像の左端のブロックでない場合、前記符号化対象のブロックの左方向のブロックであり、前記符号化対象のブロックが前記画像の左端のブロックである場合、前記符号化対象のブロックの上方向のブロックである。
本発明の一態様は、上記の符号化装置としてコンピュータを機能させるためのプログラムである。
本発明により、探索処理量が削減された場合でも、符号化効率の低下を抑止することが可能である。
実施形態における、符号化装置の構成例を示す図である。 実施形態における、インター予測処理部の構成例を示す図である。 実施形態における、符号化処理の対象ブロックに隣接する各画素の例を示す図である。 実施形態における、コーディング・ツリー・ユニットと、事前探索単位と、プレディクション・ユニットとの例を示す図である。 実施形態における、各探索範囲を含む探索領域の例を示す図である。 実施形態における、事前探索ベクトル及び予測ベクトルの例を示す図である。 実施形態における、対応ベクトルの例を示す図である。 実施形態における、探索領域の外を示す対応ベクトルの例を示す図である。 実施形態における、符号化装置の動作例を示すフローチャートである。
本発明の実施形態について、図面を参照して詳細に説明する。
(第1実施形態)
図1は、符号化装置1の構成例を示す図である。符号化装置1は、動画像等の信号を符号化する装置である。符号化装置1は、指定されたパラメータに基づいて、例えば動画像のフレーム(原画像)を符号化する。以下では、符号化装置1は、一例として、H.264/AVC又はHEVC等の動画像符号化処理を実行する。符号化装置1は、符号化処理を対象ブロック単位で実行する。HEVCでは、対象ブロック(符号化ブロック)は、コーディング・ユニット(Coding Unit: CU)である。コーディング・ユニットは、コーディング・ツリー・ユニット(Coding Tree Unit: CTU)を構成する。
符号化装置1は、原画像整形部101と、イントラ予測処理部102と、インター予測処理部103と、予測残差信号生成部104と、変換・量子化処理部105と、エントロピー符号化部106と、逆量子化・逆変換処理部107と、復号信号生成部108と、ループフィルタ処理部109とを備える。
符号化装置1の各機能部のうち一部又は全部は、例えば、LSI等のハードウェアを用いて実現される。符号化装置1の各機能部のうちの一部又は全部は、CPU(Central Processing Unit)等のプロセッサが、記憶部に記憶されたプログラムを実行することにより、ソフトウェアとして実現されてもよい。記憶部は、例えばフラッシュメモリ、HDD(Hard Disk Drive)などの不揮発性の記録媒体(非一時的な記録媒体)が好ましい。記憶部は、RAM(Random Access Memory)などの揮発性の記録媒体を備えてもよい。記憶部は、例えばプログラム、画像データを記憶する。
原画像整形部101は、原画像信号(動画像のフレーム)を、ラスタスキャン順で取得する。原画像整形部101は、原画像データを対象ブロック単位に整形する。原画像整形部101は、対象ブロック単位の原画像データを、予測残差信号生成部104及びインター予測処理部103に出力する。
イントラ予測処理部102は、復号信号を復号信号生成部108から取得する。イントラ予測処理部102は、復号信号の対象フレームに対して、イントラ予測を実行する。
インター予測処理部103は、対象ブロック単位の原画像信号を、原画像整形部101から取得する。インター予測処理部103は、フィルタリング処理後の復号信号を、参照画像信号として、ループフィルタ処理部109から取得する。
予測残差信号生成部104は、対象ブロック単位の原画像信号を、原画像整形部101から取得する。予測残差信号生成部104は、予測信号をイントラ予測処理部102又はインター予測処理部103から取得する。予測信号は、予測残差信号生成部104が予測信号をイントラ予測処理部102から取得する場合、イントラ予測の結果を表す情報を含む。予測信号は、予測残差信号生成部104が予測信号をインター予測処理部103から取得する場合、インター予測の結果を表す情報を含む。予測残差信号生成部104は、原画像信号と予測信号との差分を、予測残差信号として変換・量子化処理部105に出力する。
変換・量子化処理部105は、離散コサイン変換等の直交変換を予測残差信号に対して実行する。変換・量子化処理部105は、変換係数を量子化する。変換・量子化処理部105は、量子化された変換係数を、エントロピー符号化部106と逆量子化・逆変換処理部107とに出力する。
エントロピー符号化部106は、量子化された変換係数をエントロピー符号化する。エントロピー符号化部106は、エントロピー符号化された変換係数のビットストリームを、復号装置等である外部装置に出力する。このように、符号化装置1は、動き探索処理における探索結果を、復号装置等である外部装置に送信する。
逆量子化・逆変換処理部107は、量子化された変換係数を、変換・量子化処理部105から取得する。逆量子化・逆変換処理部107は、量子化された変換係数に対して、逆量子化及び逆直交変換処理を実行する。逆量子化・逆変換処理部107は、逆量子化及び逆直交変換処理の結果である予測残差復号信号を、復号信号生成部108に出力する。
復号信号生成部108は、予測信号をイントラ予測処理部102又はインター予測処理部103から取得する。復号信号生成部108は、予測残差復号信号と予測信号とを加算することによって、符号化された対象ブロックの復号信号を生成する。
ループフィルタ処理部109は、符号化歪みが低減されるフィルタリング処理を、復号信号に対して実行する。ループフィルタ処理部109は、フィルタリング処理後の復号信号を、参照画像信号として、インター予測処理部103に出力する。
次に、インター予測処理部103の構成例の詳細を説明する。
図2は、インター予測処理部103の構成例を示す図である。インター予測処理部103は、縮小画像生成部201と、事前探索処理処理部202と、予測ベクトル生成部203と、探索中心決定部204と、動き探索処理部205と、動き探索結果格納部206とを備える。
縮小画像生成部201は、原画像及び参照画像を取得する。縮小画像生成部201は、原画像に対して縮小処理を実行する。縮小画像生成部201は、原画像の縮小率と同じ縮小率で、参照画像に対して縮小処理を実行する。縮小画像生成部201は、縮小された原画像及び参照画像を、事前探索処理処理部202に出力する。
事前探索処理処理部202は、縮小された原画像及び参照画像を用いて、事前探索処理を実行する。事前探索処理処理部202は、事前探索処理の結果である精度のよい動きベクトルを、予測ブロックごとの1本の事前探索ベクトルとして、探索中心決定部204に出力する。HEVCでは、予測ブロック(動き補償ブロック)は、プレディクション・ユニット(Prediction Unit: PU)である。
予測ベクトル生成部203は、対象ブロックの周囲のブロックの動きベクトルに基づいて動きベクトル予測を実行することによって、対象ブロックにおける動きベクトル予測の予測ベクトルを、予測ブロックごとに導出する。HEVCでは2種類の動きベクトル予測が規定されているので、予測ベクトル生成部203は、2本の予測ベクトルを予測ブロックごとに探索中心決定部204に出力する。
HEVCの規格において、符号化処理の対象ブロックごとに予測ベクトルが導出される動きベクトル予測の2通りの方法が規定されている。HEVCでは、符号化効率の良い予測ベクトルを符号化装置が選択することが可能である。このため、予測ベクトル生成部203は、2本の予測ベクトルを導出する。
探索中心決定部204(ベクトル取得部)は、予測ブロックごとの1本の事前探索ベクトルを、1個の探索中心候補を示すベクトル(以下「探索中心候補ベクトル」という。)として、事前探索処理処理部202から取得する。探索中心決定部204は、予測ブロックごとの2本の予測ベクトルを、2個の探索中心候補を示すベクトル(探索中心候補ベクトル)として、予測ベクトル生成部203から取得する。
探索中心決定部204は、現在の予測ブロックに対する動き探索処理よりも時間的に前(過去)の予測ブロックに対する動き探索処理の結果を、動き探索結果格納部206から取得する。すなわち、探索中心決定部204は、現在の予測ブロックの直前(過去)の予測ブロックの探索中心候補ベクトルのうちから、現在の予測ブロックの1本の事前探索ベクトルに対応するベクトルを、現在の予測ブロックの探索中心候補ベクトルとして、動き探索結果格納部206から取得する。探索中心決定部204は、現在の予測ブロックの直前(過去)の予測ブロックの探索中心候補ベクトルのうちから、現在の予測ブロックの2本の予測ベクトルに対応するベクトルを、現在の予測ブロックの探索中心候補ベクトルとして、動き探索結果格納部206から取得する。
以下、探索中心候補ベクトルに対応するベクトルを「対応ベクトル」という。すなわち、対応ベクトルは、符号化済みの対象ブロックが符号化の対象ブロックであった際の過去の探索中心候補ベクトル(仮動きベクトル候補)である。探索中心候補ベクトルの対応ベクトルの方向及び大きさは、その探索中心候補ベクトルの方向及び大きさと同じである。
探索中心決定部204は、過去の予測ブロックに対する動き探索処理の結果に基づいて、2本の探索中心候補ベクトルを3本の探索中心候補ベクトルのうちから選択する。探索中心決定部204は、選択された2本の探索中心候補ベクトルを動き探索処理部205に出力する。
探索中心決定部204は、現在の予測ブロックの直前の1個の予測ブロックにおける、1本の事前探索ベクトルと2本の予測ベクトルとのうちから、最適な探索中心候補ベクトルを選択する。これによって、探索中心決定部204は、符号化効率を低下させずに、動き探索処理の処理量を削減することが可能である。
動き探索処理部205は、原画像及び参照画像を取得する。動き探索処理部205は、探索中心決定部204によって選択された探索中心候補ベクトルが示す探索中心を含む領域に対して、動き探索処理を予測ブロックごとに実行する。動き探索処理部205は、選択された動きベクトル(確定された動きベクトル)と、予測差分画像(予測差分信号)とを、予測残差信号生成部104に出力する。
動き探索結果格納部206は、現在の1個の予測ブロックにおける1本の事前探索ベクトルと2本の予測ベクトルとを、動き探索処理の結果として、一定期間格納する。格納されている1本の事前探索ベクトルと2本の予測ベクトルとは、現在の1個の予測ブロックの次の予測ブロックにおける最適な探索中心候補ベクトルが選択される処理において、探索中心決定部204によって使用される。
次に、予測ベクトル生成部203の詳細を説明する。
図3は、符号化処理の対象ブロック301に隣接する各画素の例を示す図である。対象ブロック301の左下の画素302「A0」を含む符号化済みの対象ブロック(周辺ブロック)の符号化モードが、動きベクトルを持つ符号化モードである場合、予測ベクトル生成部203は、画素302「A0」を含む符号化済みの対象ブロックの動きベクトルを予測ベクトル「MVP1」とする。対象ブロック301の左下の画素302「A0」を含む符号化済みの対象ブロックの符号化モードが、動きベクトルを持つ符号化モードでない場合、予測ベクトル生成部203は、画素303「A1」を含む符号化済みの対象ブロックの動きベクトルを予測ベクトル「MVP1」とする。
対象ブロック301の上方向の画素についても同様に、予測ベクトル生成部203は、予測ベクトルを定める。対象ブロック301の右上の画素304「B0」を含む符号化済みの対象ブロック(周辺ブロック)の符号化モードが、動きベクトルを持つ符号化モードである場合、予測ベクトル生成部203は、画素304「B0」を含む符号化済みの対象ブロックの動きベクトルを予測ベクトル「MVP2」とする。対象ブロック301の右上の画素304「B0」を含む符号化済みの対象ブロックの符号化モードが、動きベクトルを持つ符号化モードでない場合、対象ブロック301の右上の画素305「B1」を含む符号化済みの対象ブロックの符号化モードが、動きベクトルを持つ符号化モードであるか否かを判定する。対象ブロック301の右上の画素305「B1」を含む符号化済みの対象ブロックの符号化モードが、動きベクトルを持つ符号化モードである場合、画素305「B1」を含む符号化済みの対象ブロックの動きベクトルを予測ベクトル「MVP2」とする。対象ブロック301の右上の画素305「B1」を含む符号化済みの対象ブロックの符号化モードが、動きベクトルを持つ符号化モードでない場合、予測ベクトル生成部203は、画素306「B2」を含む符号化済みの対象ブロックの動きベクトルを予測ベクトル「MVP2」とする。
このように、予測ベクトル生成部203は、動きベクトル予測の1本の予測ベクトル「MVP1」を、画素302又は画素303に基づいて生成する。予測ベクトル生成部203は、動きベクトル予測の1本の予測ベクトル「MVP2」を、画素304、画素305又は画素306に基づいて生成する。予測ベクトル生成部203は、動きベクトル予測の予測ベクトル「MVP1」及び「MVP2」を、探索中心決定部204に出力する。なお、予測ベクトル生成部203は、符号化途中の対象ブロック(周辺ブロック)の動きベクトルを、予測ベクトルとしてもよい。
HEVCでは、符号化装置は、動きベクトル予測及び動き補償処理を、予測ブロック(プレディクション・ユニット)単位で実行する。予測ブロックのサイズは、8×8画素から64×64画素までである。正式の動き探索処理が実行される予測ブロックのサイズが8×8画素のような小さいサイズである場合、縮小画像生成部201が原画像を縮小することによって、予測ブロックが2×2画素のような非常に小さいサイズになってしまう。このため、事前探索処理における動きベクトルの精度が低下してしまう。
事前探索処理後の正式の動き探索処理が実行される予測ブロックのサイズが8×8画素のような小さいサイズである場合でも、事前探索処理における動きベクトルの精度が低下させないようにするため、事前探索処理処理部202は、32×32画素のような大きいサイズの予測ブロックに対して事前探索処理を実行する場合がある。この場合、事前探索処理処理部202によって実行される事前探索処理における予測ブロックのサイズと、動き探索処理部205によって実行される正式の動き探索処理における予測ブロックのサイズは異なる。事前探索ベクトル「MVpre」は、32×32画素のような大きいサイズの予測ブロックごとに、事前探索処理処理部202によって生成される。
図4は、コーディング・ツリー・ユニット(CTU)と、事前探索単位と、プレディクション・ユニット(PU)との例を示す図である。図4では、対象ブロック(符号化ブロック)である複数のコーディング・ユニットから構成されるコーディング・ツリー・ユニット400のサイズは、64×64画素である。事前探索処理処理部202によって実行される事前探索処理の単位である事前探索単位401のサイズは、32×32画素である。動き探索処理部205によって実行される動き探索処理の単位であるプレディクション・ユニット500のサイズは、8×8画素である。
予測ベクトル「MVP1」及び「MVP2」が示す探索中心候補は、8×8画素サイズのプレディクション・ユニット500ごとに異なる。このため、コーディング・ツリー・ユニット400には、64組の予測ベクトル「MVP1」及び「MVP2」が存在する。事前探索ベクトル「MVpre」が示す探索中心候補は、32×32画素サイズの事前探索単位ごとに異なる。このため、コーディング・ツリー・ユニット400には、事前探索単位401~404に、計4本の事前探索ベクトル「MVpre」が存在する。
したがって、各プレディクション・ユニットは、1個の探索中心候補を示す事前探索ベクトルと、2個の探索中心候補を示す予測ベクトルとを有する。これら3個の探索中心候補を共有するプレディクション・ユニットと事前探索単位とコーディング・ツリー・ユニットとの各サイズは互いに異なる。事前探索処理処理部202によって生成された事前探索ベクトル「MVpre」と予測ベクトル生成部203によって生成された予測ベクトル「MVP1」及び「MVP2」の3本の探索中心候補ベクトルのうちから、最適な探索中心候補ベクトルを探索中心決定部204が選択する例について説明する。
図5は、各探索範囲を含む探索領域の例を示す図である。事前探索ベクトル700「MVpre_1」が示す探索中心候補を含む探索範囲601の形状と、予測ベクトル701「MVP1_1」が示す探索中心候補を含む探索範囲602の形状と、予測ベクトル702「MVP2_1」が示す探索中心候補を含む探索範囲603の形状とは、いずれも「横の画素数×縦の画素数=W×H」サイズの矩形である。プレディクション・ユニット500に対して、事前探索ベクトル700「MVpre_1」と予測ベクトル701「MVP1_1」とが2本の探索中心候補ベクトルとして選択された場合、探索領域600は、2本の探索中心候補ベクトルが示す各探索中心候補を含む。プレディクション・ユニット500に対して、探索領域600は、選択されなかった予測ベクトル702「MVP2_1」が示す探索中心候補を含む探索範囲603を含まない。
以下では、コスト値は、評価を表す情報(評価情報)である。コスト値が小さいほど、評価は高い。コスト値が小さい(評価が高い)探索中心候補ベクトルは、適した探索中心候補ベクトルであり、探索中心決定部204によって選択され易い。コスト値は、一例として、動きベクトルが符号化された際に簡易的に見積もられた動きベクトルの符号量(以下「動きベクトルコスト値」という。)と差分絶対値和との和(加算結果)である。この差分絶対値和は、原画像の画素値と動きベクトルが示す参照画像の画素値との差分絶対値和(Sum of Absolute Difference: SAD)でもよいし、原画像の画素値と動きベクトルが示す参照画像の画素値との差分絶対値に対して2次元アダマール変換が実行された結果の差分絶対値和(Sum of Absolute Transformed Difference: SATD)でもよい。
動き探索結果格納部206は、各プレディクション・ユニットに対する正式の動き探索処理のうち、直前に実行された正式の動き探索処理について、探索領域600における動き探索処理の結果を表すコスト値を、探索点(探索領域600における画素)ごとに格納する。図5では、動き探索結果格納部206は、プレディクション・ユニット500について、探索領域600における動き探索処理の結果を表すコスト値を、探索点ごとに格納する。探索範囲601及び探索範囲602の少なくとも一部が重なっている場合、探索範囲601及び探索範囲602が全く重なっていない場合と比較して、実質的な探索点数は少ない。動き探索結果格納部206は、最大「2×W×H」個の探索点について、各コスト値を格納する。
図6は、事前探索ベクトル及び予測ベクトルの例を示す図である。プレディクション・ユニット500(符号化済みのブロック)に対する動き探索処理の次にプレディクション・ユニット501(符号化対象のブロック)に対する動き探索処理が実行される場合、探索中心決定部204は、プレディクション・ユニット501の3本の探索中心候補ベクトルとして、事前探索ベクトル703「MVpre_2」と予測ベクトル704「MVP1_2」と予測ベクトル705「MVP2_2」とを取得する。
図7は、対応ベクトルの例を示す図である。探索中心決定部204は、直前に実行されたプレディクション・ユニット500に対する正式の動き探索処理の結果について、プレディクション・ユニット501の3本の探索中心候補ベクトルにそれぞれ対応するベクトル(対応ベクトル)ごとのコスト値を、動き探索結果格納部206から取得する。
対応ベクトル706は、図6に示された事前探索ベクトル703に対応するベクトルである。対応ベクトル706は、探索領域600内の探索中心候補803を示す。対応ベクトル707は、図6に示された予測ベクトル704に対応するベクトルである。対応ベクトル707は、探索領域600内の探索中心候補804を示す。対応ベクトル708は、図6に示された予測ベクトル705に対応するベクトルである。対応ベクトル708は、探索領域600内の探索中心候補805を示す。
探索中心決定部204(評価情報取得部)は、直前に実行されたプレディクション・ユニット500に対する正式の動き探索処理における対応ベクトル706~708の各コスト値を、現在のプレディクション・ユニット501に対する正式の動き探索処理における各探索中心候補ベクトル(事前探索ベクトル703、予測ベクトル704、予測ベクトル705)の各コスト値とする。
探索中心決定部204は、現在のプレディクション・ユニット501に対する正式の動き探索処理における探索中心候補ベクトルの各コスト値を比較する。探索中心決定部204は、3本の探索中心候補ベクトルのうちから、コスト値の小さい順に2本の探索中心候補ベクトルを選択する。探索中心決定部204は、選択された2本の探索中心候補ベクトルを、プレディクション・ユニット501に対する正式の動き探索処理における2本の探索中心候補ベクトルとする。
このようにして、探索中心決定部204は、プレディクション・ユニット501の3本の探索中心候補ベクトルのうちから、2本の探索中心候補ベクトルを選択する。探索中心決定部204は、選択された2本の探索中心候補ベクトルが示す2個の探索中心候補を、プレディクション・ユニット501の正式の動き探索処理における2個の探索中心として選択する。
図8は、探索領域600の外を示す対応ベクトルの例を示す図である。対応ベクトルのいずれかは、探索領域600の外を示す場合がある。対応ベクトル706が示す探索中心候補803は、プレディクション・ユニット500の探索領域600に含まれている。対応ベクトル708が示す探索中心候補805は、プレディクション・ユニット500の探索領域600に含まれている。このため、動き探索結果格納部206は、対応ベクトル706のコスト値と、対応ベクトル708のコスト値とを格納している。
対応ベクトル707が示す探索中心候補804は、プレディクション・ユニット500の探索領域600に含まれていない。このため、動き探索結果格納部206は、対応ベクトル707のコスト値を格納していない。したがって、探索中心決定部204は、対応ベクトル707のコスト値を参照することができず、対応ベクトル707のコスト値と対応ベクトル706又は707のコスト値とを比較することができない。
このように、1本以上の対応ベクトルのコスト値を探索中心決定部204が参照することができない場合、探索中心決定部204は、ユーザ等によって予め定められたパラメータ値(固定値)と動きベクトルコスト値との和を、参照不可である対応ベクトルのコスト値と定める。これによって、探索中心決定部204は、参照可である対応ベクトルのコスト値と、参照不可である対応ベクトルのコスト値とを比較することが可能である。
次に、符号化装置1の動作例を、一例として図6~図8を参照しながら説明する。
図9は、符号化装置1の動作例を示すフローチャートである。探索中心決定部204は、対象のプレディクション・ユニット501の探索中心を選択する処理を開始する(ステップS101)。
探索中心決定部204は、図6に示された事前探索ベクトル703「MVpre_2」を、事前探索処理処理部202から取得する。探索中心決定部204は、事前探索ベクトル703「MVpre_2」を、探索中心候補ベクトル「SC_1」と定める。探索中心決定部204は、予測ベクトル704「MVP1_2」及び予測ベクトル705「MVP2_2」を、予測ベクトル生成部203から取得する。探索中心決定部204は、予測ベクトル704「MVP1_2」を、探索中心候補ベクトル「SC_2」と定める。探索中心決定部204は、予測ベクトル705「MVP2_2」を、探索中心候補ベクトル「SC_3」と定める(ステップS102)。
ステップS103からステップS110までにおいて探索中心候補ベクトル「SC_1」、「SC_2」及び「SC_3」に対してコスト値を設定するため、探索中心決定部204は、インデックス「i」に1を代入する(ステップS103)。
探索中心候補ベクトル「SC_i」の探索中心が、プレディクション・ユニット500(プレディクション・ユニット501の直前)における探索領域600内であるか否かを、探索中心決定部204は判定する(ステップS104)。
探索中心候補ベクトル「SC_i」の探索中心がプレディクション・ユニット500における探索領域600内である場合(ステップS104:YES)、探索中心決定部204は、探索中心候補ベクトル「SC_i」の対応ベクトル(探索中心候補ベクトル「SC_i」に相当するベクトル)のコスト値を、動き探索結果格納部206から取得する(ステップS105)。
探索中心決定部204は、取得された対応ベクトルのコスト値を、プレディクション・ユニット501の探索中心候補ベクトル「SC_i」のコスト値「C_i」と等しくする(ステップS106)。
探索中心候補ベクトル「SC_i」の探索中心がプレディクション・ユニット500における探索領域600の外である場合(ステップS104:NO)、対応ベクトルのコスト値が動き探索結果格納部206に格納されていないので、探索中心決定部204は、探索中心候補ベクトル「SC_i」が符号化された際の探索中心候補ベクトル「SC_i」の符号量を、動きベクトルコスト値として簡易的に導出する。例えば、探索中心決定部204による動きベクトルコスト値の導出方法は、動き探索処理部205による動きベクトルの符号量(動きベクトルコスト値)の導出方法と同じでよい(ステップS107)。
探索中心決定部204は、ユーザ等によって予め定められたパラメータ値「P」(固定値)と、動きベクトルコスト値とを加算した結果(合計値)を、探索中心候補ベクトル「SC_i」のコスト値「C_i」と等しくする(ステップS108)。
探索中心決定部204は、インデックス「i」に1を加算する(ステップS109)。探索中心決定部204は、インデックスの値が探索中心候補ベクトルの本数「3」よりも大きいか否かを判定する(ステップS109)。インデックス「i」の値が探索中心候補ベクトルの本数「3」以下である場合(ステップS109:NO)、探索中心決定部204は、ステップS104に処理を戻す。
インデックス「i」の値が探索中心候補ベクトルの本数「3」よりも大きい場合(ステップS109:YES)、探索中心決定部204は、探索中心候補ベクトル「SC_1」、「SC_2」及び「SC_3」の各コスト値を比較する。探索中心決定部204は、コスト値が小さい順に、2本の探索中心候補ベクトルを選択する。探索中心決定部204は、選択された2本の探索中心候補ベクトルが示す各探索中心候補を、対象のプレディクション・ユニット501(現PU)の各探索中心として選択する(ステップS111)。
ステップS108のパラメータ値「P」は、差分コスト値を表す差分絶対値和(SAD又はSATD)に相当する値であり、差分コスト値以外のコスト値(動きベクトルコスト値)に対する閾値のように機能する。図8に示されているように、3個の探索中心候補803~805のうち1個の探索中心候補804のみがプレディクション・ユニット500の探索領域600の外である場合について説明する。
探索領域600内の2個の探索中心候補803及び805を示す各探索中心候補ベクトルのコスト値が、探索中心候補804を示す探索中心候補ベクトルのコスト値「パラメータP+動きベクトルコスト値」よりも小さい場合、探索中心決定部204は、これら2個の探索中心候補803及び805を、プレディクション・ユニット501の探索中心とする。
探索領域600内の2個の探索中心候補803及び805を示す各探索中心候補ベクトルのコスト値、探索中心候補804を示す探索中心候補ベクトルのコスト値「パラメータP+動きベクトルコスト値」よりも大きい場合、探索中心決定部204は、これら2個の探索中心候補803及び805を、プレディクション・ユニット501の探索中心として選択しない。
探索領域600内の2個の探索中心候補803及び805を示す各探索中心候補ベクトルのコスト値と、探索中心候補804を示す探索中心候補ベクトルのコスト値とが等しい場合、パラメータ値「P」は、動きベクトルコスト値に対する閾値として機能する。
仮に、3個の探索中心候補のうち2個以上の探索中心候補がプレディクション・ユニット500(直前のPU)の探索領域600の外にある場合、探索領域600の外の各探索中心候補を示す探索中心候補ベクトルの各コスト値が比較されることによって、パラメータ「P」が打ち消されるので、探索中心決定部204は、動きベクトルコスト値が小さい探索中心候補ベクトルが示す探索中心候補を、プレディクション・ユニット501の探索中心として選択する。
以上のように、実施形態の符号化装置1は、画像を対象ブロックに分割(整形)して符号化を実行する。実施形態の符号化装置1は、探索中心決定部204(候補取得部、評価情報取得部、選択部)を備える。探索中心決定部204は、符号化の対象ブロックにおける複数の探索中心候補ベクトル(仮動きベクトル候補)を取得する。探索中心決定部204は、取得された探索中心候補ベクトルの方向及び大きさと同一の方向及び大きさのベクトルである対応ベクトルを取得する。探索中心決定部204は、符号化済みの対象ブロックにおける対応ベクトルが示す探索中心の評価情報を取得する。探索中心決定部204は、評価情報に基づいて、複数の探索中心候補ベクトルのうちから探索中心候補ベクトル(動きベクトル候補)を、それら複数の探索中心候補ベクトルの数よりも少なくなるように選択する。
これにより、実施形態の符号化装置1は、既に符号化されたブロックに係る動き探索の結果を利用して、動きベクトルの候補を絞り込む。実施形態の符号化装置1は、画素値の読み込みをしなくても、対象ブロックの周囲のブロックにおける正式の動き探索処理の結果に基づいて、探索中心候補を決定する。すなわち、実施形態の符号化装置1は、事前探索処理(追加コスト)を追加実行しなくても、動きベクトル予測(MVP)の精度のよい各予測ベクトルの対応ベクトルが示す各探索中心候補のコスト値(評価情報)を比較し、比較結果に基づいて、現在の予測ブロックの探索中心候補ベクトルを選択する。このようにして、実施形態の符号化装置1は、探索処理量が削減された場合でも、符号化効率の低下を抑止することが可能である。
実施形態の符号化装置1は、過去の探索結果に基づいて探索中心候補の絞り込みを実行することで、追加の探索処理等を実行しなくてもよいので、探索処理量を大幅に削減することが可能である。実施形態の符号化装置1は、正式の動き探索処理におけるプレディクション・ユニットごとに対応ベクトルの絞り込みを実行することで、事前探索処理におけるブロックのサイズと正式の動き探索処理におけるブロックのサイズとが異なることによって符号化性能が劣化することを抑止することが可能である。実施形態の符号化装置1は、事前探索処理と正式の動き探索処理とで、動きベクトル予測の予測ベクトルに齟齬が生じないようにすることが可能である。特に、プレディクション・ユニットのブロックサイズが例えば8×8画素のように小さい場合、プレディクション・ユニットが1個ずれても探索中心候補の優劣に大きな違いは生じにくい。このため、直前のプレディクション・ユニット(直前PU)の探索結果に基づいて、現在のプレディクション・ユニット(現PU)の探索中心候補ベクトルのコスト値が評価されることは、対応ベクトルの選択結果に大きな影響を与えない。
上記の実施形態では、動き探索結果格納部206は、一例として、直前のプレディクション・ユニットの探索結果のみを格納している。現在のプレディクション・ユニット(現PU)がフレームの左端に位置する場合では、直前のプレディクション・ユニット(直前PU)はフレーム右端に位置するため、現在のプレディクション・ユニットと直前のプレディクション・ユニットとの距離が離れているために、探索結果の相関が低く、対応ベクトルの選択結果に応じて、符号化性能が劣化する場合がある。動き探索結果格納部206は、直前のプレディクション・ユニットの探索結果だけでなく、原画像のフレームの左端に位置する現在のプレディクション・ユニットの直近のプレディクション・ユニットの探索結果も格納してもよい。その場合、フレームの左端のプレディクション・ユニットの探索中心候補が選択される場合、探索中心決定部204は、直前のプレディクション・ユニットの探索結果を使用するのではなく、フレームの左端の直近のプレディクション・ユニットの探索結果を使用してもよい。このように、直近のプレディクション・ユニットは、符号化対象のブロック(プレディクション・ユニット)が原画像のフレームの左端のブロックでない場合、符号化対象のブロックの例えば左方向のブロックである。直近のプレディクション・ユニットは、符号化対象のブロックが原画像のフレームの左端のブロックである場合、符号化対象のブロックの例えば上方向のブロックである。探索中心決定部204は、フレームにおいて現在のプレディクション・ユニットの直上のプレディクション・ユニットの過去の探索結果(現PUとの相関が高い探索結果)を利用できるので、符号化性能が劣化することを抑止することが可能である。
上記の実施形態では、探索中心決定部204は、直前のプレディクション・ユニットの1本の対応ベクトルのコスト値(1個の探索中心のコスト値)を、動き探索結果格納部206から取得している。コスト値は、複数の探索中心候補ベクトルのコスト値(複数の探索中心のコスト値)の合計値でもよい。例えば、探索中心決定部204は、現在のプレディクション・ユニットの探索中心候補ベクトルが示す探索中心候補を中心として上下左右に±1点で計9点の探索中心候補について、直前のプレディクション・ユニットに対する正式の動き探索処理の結果における対応ベクトルのコスト値を取得する。探索中心決定部204は、取得されたコスト値を比較することで、探索中心候補ベクトルを選択してもよい。コスト値は、複数の探索中心候補ベクトルのコスト値(複数の探索中心のコスト値)の中央値でもよい。これによって、探索中心決定部204は、画像のノイズ等に影響されずに、コスト値をより正確に比較し、探索中心候補ベクトルを選択することが可能である。
以上をまとめると、一例として以下のようになる。
実施形態の符号化装置1は、入力画像に対し参照画像との時間的相関を利用して、動き探索処理及び画素値予測を実行する。実施形態の符号化装置1は、縮小画像生成部と、事前動き探索処理部と、予測ベクトル生成部と、予測ベクトル生成部と、探索中心決定部と、動き探索処理部と、動き探索結果格納部とを備える。縮小画像生成部は、入力画像と参照画像を縮小処理する。事前動き探索処理部は、縮小画像生成部により同比率で縮小された縮小済み入力画像の符号化対象ブロックと縮小済み参照画像の事前動き探索用探索領域とを用いて、事前動き探索処理を実行することにより第一の動きベクトルを決定する。予測ベクトル生成部は、対象符号化ブロックの周辺ブロックから、MVPの2本予測ベクトルを導出し、第二の動きベクトル及び第三の動きベクトルとして決定する。探索中心決定部は、動き探索結果格納部に格納された過去のブロックの動き探索結果を用いて、第一の動きベクトルと第二の動きベクトルと第三の動きベクトルとの3本のベクトルから、2本以下のベクトルを選択し、符号化の対象ブロックの探索中心を示すベクトルとして決定する。
動き探索処理部は、探索中心決定部により決定された2本のベクトルが示す探索中心に基づいて、本動き探索用探索領域を決定し、本動き探索用探索領域の内の各点に対して動き探索処理を実行する。ここで、動き探索処理部は、原画像と動きベクトルが指し示す参照画像との差分絶対値和(SAD)、又は、差分値に2次元アダマール変換を行った値の差分絶対値和(SATD)と、動きベクトルを符号化した際に生ずる符号量を簡易的に見積もった動きベクトルコスト値との和を、本動き探索用探索領域の内の各点における探索コスト値と定める。動き探索処理部は、探索コスト値が最小の点を探索する。動き探索結果格納部は、動き探索処理部によって導出された、本動き探索用探索領域の内の各点における動きベクトル結果と対応する探索コスト値とを、1個の符号化の対象ブロックの分だけ保存する。探索中心決定部は、第一の動きベクトルと第二の動きベクトルと第三の動きベクトルとの3本の動きベクトルを、探索中心候補とする。
探索中心決定部は、探索中心候補と同一のベクトルが動き探索処理部に格納された複数の動きベクトルのうちに存在するか否かを判定する。探索中心決定部は、探索中心候補と同一のベクトルが存在する場合、同一のベクトルに対応する動き探索処理部に格納された探索コスト値を、探索中心候補の探索中心コストと設定する。
探索中心決定部は、探索中心候補と同一のベクトルが存在しない場合、探索中心候補のベクトルを符号化した際の符号量を、動き探索処理部における動きベクトルコスト値の導出方法と同一の方法で導出して探索中心ベクトルコスト値とする。探索中心決定部は、探索中心候補と同一のベクトルが存在しない場合、任意の値に設定可能な差分値パラメータと探索中心ベクトルコスト値の和を、探索中心候補の探索中心のコスト値とする。これによって、探索中心決定部は、第一の動きベクトルと第二の動きベクトルと第三の動きベクトルとの3本の動きベクトルの探索中心候補のそれぞれの探索中心のコスト値を決定する。探索中心決定部は、3個の探索中心のコスト値のうち、値の小さい2個の探索中心を決定する。探索中心決定部は、それぞれのコスト値に相当する2個の探索中心候補を、符号化対象ブロックの探索中心として決定する。
動き探索結果格納部は、本動き探索用探索領域の内の各点における動きベクトル結果と、対応する探索コスト値とを、直近に導出した1個のブロック(第1ブロック)として保存する。動き探索結果格納部は、直近に導出された画面左端の1個のブロックについても、第2ブロックとして保存する。探索中心決定部は、符号化の対象ブロックが画面左端のブロックでない場合、直近に導出した1個のブロックである第1ブロックについて、動き探索処理部に格納された動きベクトル結果の中に探索中心候補と同一のベクトルが存在するか否かを判定する。探索中心決定部は、符号化の対象ブロックが画面左端のブロックである場合、直近に導出した画面左端の1個のブロックである第2ブロックについて、動き探索処理部に格納された動きベクトル結果の中に探索中心候補と同一のベクトル(対応ベクトル)が存在するかを判定する。探索中心決定部は、探索中心候補と同一のベクトルが存在する場合、同一のベクトル(対応ベクトル)に対応する探索コスト値であって動き探索処理部に格納された探索コスト値を、探索中心候補の探索中心のコスト値と設定する。
上述した実施形態における符号化装置をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
例えば、復号装置は、符号化装置1の機能部の少なくとも一部を備えてもよい。上述した実施形態では、動き探索処理における探索結果を符号化装置1が復号装置に送信しているが、動き探索処理における探索結果を符号化装置1が復号装置に送信する代わりに、復号装置は、符号化装置1が実行する動き探索処理と同様の処理を実行することによって、動き探索処理における探索結果を取得してもよい。
本発明は、動画像等を符号化する符号化装置に適用可能である。
1…符号化装置、101…原画像整形部、102…イントラ予測処理部、103…インター予測処理部、104…予測残差信号生成部、105…変換・量子化処理部、106…エントロピー符号化部、107…逆量子化・逆変換処理部、108…復号信号生成部、109…ループフィルタ処理部、201…縮小画像生成部、202…事前探索処理処理部、203…予測ベクトル生成部、204…探索中心決定部、205…動き探索処理部、206…動き探索結果格納部、301…対象ブロック、302~306…画素、400…コーディング・ツリー・ユニット、401~404…事前探索単位、500~501…プレディクション・ユニット、600…探索領域、601~603…探索範囲、700…事前探索ベクトル、701…予測ベクトル、702…予測ベクトル、703…事前探索ベクトル、704…予測ベクトル、705…予測ベクトル、706~708…対応ベクトル、803~805…探索中心候補

Claims (5)

  1. 画像をブロックに分割して符号化を実行する符号化装置であって、
    符号化対象のブロックにおける複数の仮動きベクトル候補を取得する候補取得部と、
    取得された仮動きベクトル候補の方向及び大きさと同一の方向及び大きさのベクトルである対応ベクトルと、符号化済みのブロックにおける前記対応ベクトルが示す探索中心の評価情報とを取得する評価情報取得部と、
    前記評価情報に基づいて、前記複数の仮動きベクトル候補のうちから動きベクトル候補を、前記複数の仮動きベクトル候補の数よりも少なくなるように選択する選択部と
    を備え
    前記評価情報取得部は、
    前記符号化済みのブロックの探索領域に前記探索中心が含まれている前記対応ベクトルの前記仮動きベクトル候補の前記評価情報を、前記対応ベクトルの前記評価情報と等しくし、
    前記符号化済みのブロックの探索領域に前記探索中心が含まれていない前記対応ベクトルの前記仮動きベクトル候補の前記評価情報を、符号化された前記仮動きベクトル候補の符号量と固定値とが加算された結果と等しくする、
    号化装置。
  2. 前記対応ベクトルは、前記符号化済みのブロックが前記符号化対象のブロックであった際の前記仮動きベクトル候補である、
    請求項1に記載の符号化装置。
  3. 前記対応ベクトルの前記評価情報は、符号化された前記仮動きベクトル候補の符号量と画素値の差分絶対値和とが加算された結果の値である、
    請求項1又は請求項2に記載の符号化装置。
  4. 前記符号化済みのブロックは、
    前記符号化対象のブロックが前記画像の左端のブロックでない場合、前記符号化対象のブロックの左方向のブロックであり、
    前記符号化対象のブロックが前記画像の左端のブロックである場合、前記符号化対象のブロックの上方向のブロックである、
    請求項1から請求項のいずれか一項に記載の符号化装置。
  5. 請求項1から請求項のいずれか一項に記載の符号化装置としてコンピュータを機能させるためのプログラム。
JP2018237633A 2018-12-19 2018-12-19 符号化装置及びプログラム Active JP7054007B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018237633A JP7054007B2 (ja) 2018-12-19 2018-12-19 符号化装置及びプログラム
PCT/JP2019/047670 WO2020129681A1 (ja) 2018-12-19 2019-12-05 符号化装置及びプログラム
US17/414,889 US11528485B2 (en) 2018-12-19 2019-12-05 Encoding apparatus and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018237633A JP7054007B2 (ja) 2018-12-19 2018-12-19 符号化装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2020102669A JP2020102669A (ja) 2020-07-02
JP7054007B2 true JP7054007B2 (ja) 2022-04-13

Family

ID=71102838

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018237633A Active JP7054007B2 (ja) 2018-12-19 2018-12-19 符号化装置及びプログラム

Country Status (3)

Country Link
US (1) US11528485B2 (ja)
JP (1) JP7054007B2 (ja)
WO (1) WO2020129681A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113301348B (zh) * 2021-07-27 2022-01-04 杭州博雅鸿图视频技术有限公司 运动矢量选择方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010008654A1 (en) 2008-07-16 2010-01-21 Sony Corporation Speculative start point selection for motion estimation iterative search
JP2014150467A (ja) 2013-02-01 2014-08-21 Handotai Rikougaku Kenkyu Center:Kk 動き推定装置及び動き推定プログラム
JP2015111774A (ja) 2013-12-06 2015-06-18 日本電信電話株式会社 映像符号化装置及び映像符号化プログラム
JP2018085608A (ja) 2016-11-22 2018-05-31 日本電信電話株式会社 画像符号化装置、画像符号化方法及びコンピュータプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2941548A1 (fr) * 2009-01-28 2010-07-30 France Telecom Procede de representation d'un materiau

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010008654A1 (en) 2008-07-16 2010-01-21 Sony Corporation Speculative start point selection for motion estimation iterative search
JP2014150467A (ja) 2013-02-01 2014-08-21 Handotai Rikougaku Kenkyu Center:Kk 動き推定装置及び動き推定プログラム
JP2015111774A (ja) 2013-12-06 2015-06-18 日本電信電話株式会社 映像符号化装置及び映像符号化プログラム
JP2018085608A (ja) 2016-11-22 2018-05-31 日本電信電話株式会社 画像符号化装置、画像符号化方法及びコンピュータプログラム

Also Published As

Publication number Publication date
WO2020129681A1 (ja) 2020-06-25
US11528485B2 (en) 2022-12-13
JP2020102669A (ja) 2020-07-02
US20220078437A1 (en) 2022-03-10

Similar Documents

Publication Publication Date Title
TWI717586B (zh) 於視訊解碼器中導出運動向量資訊
JP6753979B2 (ja) 動き情報の復号化方法及び符号化方法
US20210021855A1 (en) Image processing method and image processing device
KR102606778B1 (ko) 모션 벡터 리파인먼트 및 모션 보상을 위한 메모리 액세스 윈도우 및 패딩
JP6776276B2 (ja) 画像予測方法および画像予測装置
TW202013967A (zh) 改進的模式匹配的運動向量推導
RU2761511C2 (ru) Окно ограниченного доступа к памяти для уточнения вектора движения
US8488678B2 (en) Moving image encoding apparatus and moving image encoding method
JP2015536092A (ja) 標準に準拠した、モデルベースの映像符号化及び映像復号化
US11284087B2 (en) Image encoding device, image decoding device, and image processing method
CN103688541A (zh) 在视频译码中缓冲预测数据
JP2015515806A (ja) コンテキストベースの映像符号化及び映像復号化
US11310524B2 (en) Method and apparatus for determining motion vector of affine code block
TWI738236B (zh) 視訊編碼中具有運動精化的雙向預測視訊處理方法和裝置
KR20140083063A (ko) 움직임 벡터 예측 부호화 방법, 움직임 벡터 예측 복호 방법, 동화상 부호화 장치, 동화상 복호 장치 및 그들의 프로그램
JP7054007B2 (ja) 符号化装置及びプログラム
JP6259272B2 (ja) 映像符号化装置及び映像符号化プログラム
JP6019797B2 (ja) 動画像符号化装置、動画像符号化方法、及びプログラム
JP2012129791A (ja) 画像符号化装置
US20170280137A1 (en) Image compressing device and image compressing method
JP7201906B2 (ja) 参照領域決定装置及びプログラム
JP5913911B2 (ja) 画像符号化装置
JP6849781B2 (ja) 画像符号化装置、画像符号化方法及びコンピュータプログラム
JP2008072608A (ja) 画像符号化装置及び画像符号化方法
US20130215966A1 (en) Image encoding method, image decoding method, image encoding device, image decoding device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210316

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220201

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220314

R150 Certificate of patent or registration of utility model

Ref document number: 7054007

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150