JPWO2016031253A1 - ブロックサイズ決定方法及びプログラム - Google Patents

ブロックサイズ決定方法及びプログラム Download PDF

Info

Publication number
JPWO2016031253A1
JPWO2016031253A1 JP2016544967A JP2016544967A JPWO2016031253A1 JP WO2016031253 A1 JPWO2016031253 A1 JP WO2016031253A1 JP 2016544967 A JP2016544967 A JP 2016544967A JP 2016544967 A JP2016544967 A JP 2016544967A JP WO2016031253 A1 JPWO2016031253 A1 JP WO2016031253A1
Authority
JP
Japan
Prior art keywords
block
blocks
depth
integration
size
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.)
Granted
Application number
JP2016544967A
Other languages
English (en)
Other versions
JP6569677B2 (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of JPWO2016031253A1 publication Critical patent/JPWO2016031253A1/ja
Application granted granted Critical
Publication of JP6569677B2 publication Critical patent/JP6569677B2/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/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/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/192Methods 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 the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • 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/53Multi-resolution motion estimation; Hierarchical motion estimation

Landscapes

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

Abstract

動き推定を行う動画像符号化方式のために、動き情報を保持する単位であるブロックサイズを決定する際に必要となる計算量を削減する。プログラムは、コンピュータに、予め定められた最も深い階層のブロックである最小ブロックのそれぞれの動き情報を求めるベクトル探索処理と、動き情報を保持する単位であるブロックサイズを決定するブロックサイズ決定処理と、現に着目している階層よりも一階層深い階層のブロックであるサブブロックの動き情報を少なくとも含む統合条件に基づいて、互いに隣接する一又は複数のサブブロックをひとつの動き情報を有するひとつのブロックに統合するか否かを判定するブロック統合処理とを実行させ、前記ブロックサイズ決定処理は、最小ブロックよりも一階層浅い階層のブロックから予め定められた最も浅い階層のブロックである最大ブロックの順に、前記ブロック統合処理を階層的に実行することによりブロックサイズを決定する。

Description

本発明は動画像の符号化に関する。本発明は、特に、符号化効率を低下させることなく、演算量を削減する動画像の符号化に関する。
近年、動画像を高解像度化する要望は益々強くなっている。こうした要望に応えるため、MPEG-2、H.264/MPEG-4 AVC(以下H.264)、H.265/HEVC(以下H.265)といった符号化方式は、後に登場したものほど圧縮効率が向上している。
これらの符号化方式は、フレーム間の動き補償予測を用いて情報を圧縮することで高い符号化効率を達成する。動き補償予測は、符号化対象フレームと符号化済みの参照フレームの間の動き情報を用いて参照フレームの画像を補正し、補正された画像(予測画像)と符号化対象となる現画像の差分情報とフレーム間の動きを表す情報のみを符号化することで動画像情報を圧縮する技術である。
フレーム間の動きは、移動量を表す動きベクトルによって表現される(例えば、特許文献1参照)。参照フレームと符号化対象フレーム間の動き情報を算出する処理を動き推定という。動き推定では、デコード画像に発生するノイズ量を抑えつつ、符号化する情報量を最小化する動き情報を算出することが重要である。このため、近年の動画像符号化装置ではRD最適化(Rate-Distortion Optimization)と呼ばれる手法が広く用いられている。
一般に、RD最適化では、着目したブロックについて多数の動きベクトル候補を想定し、それら動きベクトル候補のそれぞれについてJ=D+λRで表されるレート歪みコスト(RDコスト)が算出される。そして、RDコストが最小となるような動きベクトル候補は、その着目したブロックの動きベクトルとして採用される。このように、動きベクトル候補毎にRDコストを求めることにより、着目したブロックの動きベクトルを求める処理を、動きベクトル探索と呼ぶものとする。ここで、Dは差分画像に発生する歪み量であり、Rは動き情報の符号化で発生する符号量であり、λは画像の複雑さなどに依存する重み係数である。動き情報は動きベクトル情報を含む。動きベクトル探索では、多数の動きベクトル候補それぞれについてRDコストを算出する都合上、演算量が膨大になる。
非特許文献1にはH.265規格に基づく処理の内容が記載されている。H.265動画像符号化の処理は、CU(Coding Unit)と呼ばれる最大64x64画素のブロック単位で行われる。H.265/HEVCでは、CUサイズを可変にすることで効率的に符号量を圧縮することができる。最適なCUサイズは、図7に示すように、最大サイズのブロック64x64を階層的に四分木分割した32x32、16x16、8x8画素サイズのCUから選択される。
また、H.265規格ではCUをPU(Prediction Unit)に分割して動き推定が行われる。PUは動き情報を保持する単位である。図8に示すように、PUは、CUのサイズを2Nx2Nとするとき、2Nx2N、2NxN、Nx2N、NxNのうちの最適なブロックサイズに分割される。これら4種類の分割の仕方を総称してPU分割と呼ぶものとする。このようにCU・PUのサイズを可変とし、平坦な部分では、大きなブロックで符号化することにより、動き情報の符号量を削減することができる。他方、細かな変化のある部分では、小さなブロックで符号化することにより、差分画像の歪み量を削減することができる。これにより、動き情報の符号化で発生する符号量Rと、差分画像に発生する歪み量Dにより定められるRDコストJ=D+λRを小さくすることができる。
最適なCU分割及びPU分割を選択する単純な方法は次のようなものとなる。
(A1)64x64サイズのブロックがCUとして仮定される。このときの以下の(A2)〜(A6)の処理をCU階層深度depth=1の処理と呼ぶものとする。
(A2)CUと仮定されたブロックについて、図8で示した4つのPU分割(PU partitioning)が想定される。
(A3)(A2)で想定された4つのPU分割のそれぞれにおいて、PU毎に動きベクトル探索が行われる。CUのサイズは2Nx2Nとする。このとき、そのCUをそのままひとつのPU、即ち、2Nx2NのサイズのPUの動きベクトルが求められる。また、そのCUを上下に二分して、2NxNの2つのPUに分割したときの各PUの動きベクトルが求められる。また、そのCUを左右に二分して、Nx2Nの2つのPUに分割したときの各PUの動きベクトルが求められる。また、そのCUを四分木分割してNxNの4つのPUに分割したときの各PUの動きベクトルが求められる。
(A4)(A3)で求めた各PUの動きベクトルに基づいて、PU分割毎のRDコストの合計が求められる。2Nx2NサイズのPUについてはRDコストがひとつ求められるので、そのRDコストがそのまま合計となる。このRDコストをJ(2Nx2N)と表すものとする。2NxNサイズのPUについてはRDコストが2つ求められるので、両者が合計される。この合計をJ(2NxN)と表すものとする。Nx2NサイズのPUについても同様であり、この合計をJ(Nx2N)と表すものとする。NxNサイズのPUについては4つのRDコストが求められるので、それら4つのRDコストが合計される。この合計をJ(NxN)と表すものとする。
(A5)(A4)で求められたRDコストの合計が最小となるようなPU分割が求められる。即ち、J(2Nx2N)、J(2NxN)、J(Nx2N)、J(NxN)のうち、最小となるものに対応するPU分割が求められる。
(A6)64x64サイズのブロックを四分木分割した4つの32x32サイズのブロックを考えて、これらのブロックがそれぞれCUであると仮定される。4つの32x32サイズのブロックのそれぞれについて、(A2)〜(A5)が行われる。この処理をCU階層深度depth=2の処理と呼ぶものとする。
(A7)64x64サイズのブロックを四分木分割した4つの32x32サイズのブロックを考え、それら32x32サイズのブロックが更に四分木分割される。即ち、64x64サイズのブロックに対して2段階の四分木分割を行うことにより得られる、合計16個の16x16サイズのブロックがそれぞれCUと仮定される。16個の16x16サイズのブロックそれぞれについて(A2)〜(A5)が行われる。この処理をCU階層深度depth=3の処理と呼ぶものとする。
(A8)64x64サイズのブロックに対して3段階の四分木分割を行うことにより得られる、合計で64個の8x8サイズのブロックをそれぞれCUと仮定して、(A2)〜(A5)が行われる。この処理をCU階層深度depth=4の処理と呼ぶものとする。
(A9)(A1)〜(A8)の結果に基づいて、64x64ブロック全体でのRDコストの合計が最小となるようなCU分割が求められる。
CUサイズ及びPUサイズの選択は画質に大きな影響を与える。その一方で、多数のCUサイズ、PUサイズに対する動きベクトル探索処理を逐一実行すると、演算量が非常に多くなる。特に、4K等の高解像度動画用の実用的なエンコーダを実装する際に、全てのCUサイズ、PUサイズでの動きベクトル探索を実行するのは現実的ではない。H.265では、選択できるブロックサイズの種類がH.264の7種類に比べて13種類に増えたため、演算量がさらに多くなっている。
このような演算量の増加を抑制するための技術が非特許文献2に記載されている。同文献に記載のMVM(Motion Vector Merging)では、まず、小さいサイズのブロックにおける動きベクトル探索によって動き情報が求められる。次に、近接ブロック間で動き情報が比較され、等しい場合に近接ブロックが統合(merge)されて大きなブロックとみなされる。これにより演算量が抑制される。
より詳しくは、まずNxNサイズのPUの動きベクトル探索が行われる。図9に示すように、4つのNxNサイズのブロックの動きベクトルのうち3つが等しい場合には、これら4つのNxNブロックがひとつの2Nx2Nサイズのブロックに統合される。また、互いに横方向に隣接する2つのブロックの動き情報が等しい場合には、4つのNxNブロックが2つの2NxNブロックに統合される。また、互いに縦方向に隣接する2つのブロックの動き情報が等しい場合には、4つのNxNブロックが2つのNx2Nブロックに統合される。
このように、隣接ブロック間で動き情報が互いに等しい場合、それらのブロックの統合が決定されると共に、その動き情報が統合後のブロックの動き情報とみなされる。このため、上述の方法のステップ(A3)における、2Nx2N、2NxN、Nx2Nのサイズのブロックに関する動きベクトル探索を行う必要がなく、NxNのサイズのブロックについてのみ動きベクトル探索が行われる。
また、隣接ブロック間での動き情報の比較に応じてブロック統合が決定されるので、上述の方法のステップ(A4)(A5)を行う必要がない。これは、PU分割毎のRDコストの合計を比較しなくても、動き情報の比較によって適したPU分割を選択することができるからである。
図11のフローチャートを参照して非特許文献2に記載のブロックサイズ決定処理について説明する。blockは符号化対象となるブロックを示す変数である。depthはCU階層深度を示す1以上4以下の自然数であり、初期値は1である。2Nはブロックサイズであり、2Nは64, 32, 16, 8のいずれかであって、初期値は64である。後述するように、このブロックサイズ決定処理は再帰呼び出しを含む処理である。
ステップS1101では、depthが最大、すなわち最小サイズのブロック階層か否かが判定される。depth=4ならば判定は真であり、depth=1,2,3ならば判定は偽である。
判定が真であるとき、即ち、最小サイズのブロック階層であるとき、後述するステップS1103に処理が移行する。
一方、ステップS1101の判定が偽、すなわち最小サイズのブロック階層でなければ、着目するブロックを四分木分割して生成される4つのサブブロック、subblock[1], subblock[2], subblock[3], subblock[4]のそれぞれに対して、ブロックサイズ決定処理が行われる(ステップS1102)。このブロックサイズ決定処理は、本ブロックサイズ処理自身を呼び出す再帰呼び出しとして実行される。つまり、CU階層深度depth=1,2,3の場合、本ブロックサイズ処理自身を呼び出す再帰呼び出しが行われる。サブブロックsubblock[i]は、現に着目しているブロックよりもCU階層深度が1つ深くなるので、再帰呼び出しされたブロックサイズ決定処理では、引数depthに+1が加算されている。また、上述したように、現に着目しているブロックのサイズを示す引数が2Nである一方、サブブロックsubblock[i]のサイズを示す引数はNとなっている。
ステップS1103では、ブロックblockを四分木分割したサブブロックsubblock[1]、subblock[2]、subblock[3]、subblock[4]それぞれの動きベクトル探索が行われる。ステップS1101の判定が真であってステップS1101から処理が移行してきた場合、即ち、depth=4であり、ブロックサイズが8x8の場合、そのサブブロックである4x4のブロックそれぞれについて動きベクトル探索が行われる。
ステップS1104では、ステップS1103で得られた各サブブロックの動き情報に基づいて、ブロック統合の処理が行われ、最良ブロックサイズbestPartが決定される。詳細については後述するが、ブロック統合処理は最良ブロックサイズbestPartとして2Nx2N、2NxN、Nx2N、NxNのいずれかを返す。
ステップS1105では、最良ブロックサイズbestPartにおけるRDコストbestPartCostと、それまでの最良コストminCostとの大小の比較が行われる。RDコストbestPartCostが最良コストminCostよりも小さい場合(ステップS1105のy)には、最良コストminCostがRDコストbestPartCostの値で更新され、最良深度bestDepthが現在実行中のブロックサイズ決定処理のCU階層深度の値で更新される(ステップS1106)。
次にステップS1104のブロック統合処理の動作について図12を参照して説明する。ブロック統合処理では4つのブロックblockが引数となる。ただし、ここでいう引数blockが示すブロックは、図11のフローチャートにいうsubblock[i]に相当する。
ステップS1002では、引数として指定した4つのブロックについて予め求めた動き情報に基づいて、2Nx2Nサイズのブロックへの統合の可否が判定される。統合可能な場合(ステップS1002のy)、最良ブロックサイズbestPartとして2Nx2Nが返される。非特許文献2では、2Nx2Nに統合可能な条件を4つのうち3つのブロックの動きベクトルが同一であることとしている。
ステップS1003では、引数として指定した4つのブロックについて予め求めた動き情報に基づいて、2NxNサイズのブロックへの統合の可否が判定される(ステップS1003のy)。統合可能な場合、最良ブロックサイズbestPartとして2NxNが返される。非特許文献2では2NxNに統合可能な条件は、横に並ぶ2つのブロックを一組としたとき、組となるブロック同士の動きベクトルが同一であることとしている。
ステップS1004では、引数として指定した4つのブロックについて予め求めた動き情報に基づいて、Nx2Nサイズのブロックへの統合の可否が判定される。統合可能な場合(ステップS1004のy)、最良ブロックサイズbestPartとしてNx2Nが返される。非特許文献2では、Nx2Nに統合可能な条件は、縦に並ぶ2つのブロックを一組としたとき、組となるブロック同士の動きベクトルが同一であることとしている。
ステップS1002、S1003、S1004のどの条件にも当てはまらない場合、最良ブロックサイズbestPartとしてNxNが返される。
このブロックサイズ決定処理では、次のようなタイミングで動きベクトル探索が実行される。
まず、深度depth=4のブロックサイズ決定処理が行われる。ここでは、ステップS1103において、8x8サイズブロック1(図14)、8x8サイズブロック2(図15)、8x8サイズブロック3(図16)、8x8サイズブロック4(図17)を対象とする動きベクトル探索が行われる。深度depth=4において動きベクトル探索の対象となるサブブロックは4x4サイズブロックである。
次に、8x8サイズブロック1〜4からなる16x16サイズブロック(図18)を対象として、depth=3のブロックサイズ決定処理が行われる。ここでは、ステップS1103において8x8サイズブロックをサブブロックとして動きベクトル探索が行われる。
8x8サイズブロック1〜4を対象とするdepth=4のブロックサイズ決定処理と同様にして、8x8サイズブロック5〜8を対象とするdepth=4のブロックサイズ決定処理がそれぞれ行われる。また、8x8サイズブロック5〜8からなる16x16サイズブロック(図19)を対象とするdepth=3のブロックサイズ決定処理が行われる。8x8サイズブロック9〜12についても、depth=4のブロックサイズ決定処理がそれぞれ行われ、8x8サイズブロック9〜12からなる16x16サイズブロック(図20)を対象とするdepth=3のブロックサイズ決定処理が行われる。更に、8x8サイズブロック13〜16を対象とするdepth=4のブロックサイズ決定処理がそれぞれ行われ、8x8サイズブロック13〜16からなる16x16サイズブロック(図21)を対象とするdepth=3のブロックサイズ決定処理が行われる。
次に、8x8サイズブロック1〜16からなる32x32サイズブロック(図22)を対象とするdepth=2のブロックサイズ決定処理が行われる。depth=2のステップS1103における動きベクトル探索のサブブロックは16x16サイズブロックである。
上述の、8x8サイズブロック1〜16を対象とするdepth=4,3,2のブロックサイズ決定処理が、8x8サイズブロック17〜32、8x8サイズブロック33〜48、及び、8x8サイズブロック49〜64それぞれを対象として行われる。
最後に、全ブロック、即ち、8x8サイズブロック1〜64からなる64x64サイズブロックを対象とするdepth=1のブロックサイズ決定処理が行われる。depth=1の動きベクトル探索におけるサブブロックは32x32サイズブロックである。
このように、非特許文献2に記載のブロックサイズ決定処理は、現に着目しているCU階層深度depthにおけるサブブロックそれぞれについて動きベクトル探索を行うステップ(ステップS1103)を含む。depth=4では4x4サイズブロック、depth=3では8x8サイズブロック、depth=2では16x16サイズブロック、depth=1では32x32サイズブロックをそれぞれ対象として動きベクトル探索が行われる。
特開2012-257148号公報
ITU-T Recommendation H.265 ''High efficiency video coding,'' Apr 2013. Felipe Sampaio, Sergio Bampi, Mateus Grellert, Luciano Agostini, Julio Mattos, "Motion Vectors Merging: Low Complexity Prediction Unit Decision Heuristic for the Inter-Prediction of HEVC Encoders", 2012 IEEE International Conference on Multimedia and Expo. p.658-662
検討を重ねた結果、発明者はブロックサイズ決定処理に要する演算量を更に削減する余地があることを見出した。
上述したように、非特許文献2に記載のブロックサイズ決定処理では、指定したCU階層深度にてブロックを四分木分割して4つのサブブロックとし、これらサブブロックのそれぞれについて動きベクトル探索が行われる。この手法には冗長な動きベクトル探索が含まれていることが判明した。
深度4のブロックサイズ決定処理では、ステップS1103において8x8サイズブロックの動きベクトル探索が行われる。一方、深度3のブロックサイズ決定処理のステップS1103では、16x16サイズブロックのサブブロックそれぞれについて動きベクトル探索が行われるが、このサブブロックとは8x8サイズブロックである。このため、8x8サイズブロックについての動きベクトル探索が繰り返されることになる。
本発明はこのような状況に鑑みてなされたものであり、その例示的な目的は、動き推定を行う動画像符号化方式のために、動き情報を保持する単位であるブロックサイズを決定する際に必要となる計算量を削減することである。
本発明は、その一態様として、コンピュータに、予め定められた最も深い階層のブロックである最小ブロックのそれぞれの動き情報を求めるベクトル探索処理と、動き情報を保持する単位であるブロックサイズを決定するブロックサイズ決定処理と、現に着目している階層よりも一階層深い階層のブロックであるサブブロックの動き情報を少なくとも含む統合条件に基づいて、互いに隣接する一又は複数のサブブロックをひとつの動き情報を有するひとつのブロックに統合するか否かを判定するブロック統合処理とを実行させ、前記ブロックサイズ決定処理は、最小ブロックよりも一階層浅い階層のブロックから予め定められた最も浅い階層のブロックである最大ブロックの順に、前記ブロック統合処理を階層的に実行することによりブロックサイズを決定する動き推定を行う動画像符号化方式のためのプログラムを記録したコンピュータ読み取り可能なプログラム記録媒体を提供する。
また、本発明は、他の一態様として、予め定められた最も深い階層のブロックである最小ブロックのそれぞれの動き情報を求め、動き情報を保持する単位であるブロックサイズを決定し、現に着目している階層よりも一階層深い階層のブロックであるサブブロックの動き情報を少なくとも含む統合条件に基づいて、互いに隣接する一又は複数のサブブロックをひとつの動き情報を有するひとつのブロックに統合するか否かを判定し、前記ブロックサイズを、最小ブロックよりも一階層浅い階層のブロックから予め定められた最も浅い階層のブロックである最大ブロックの順に前記判定を階層的に実行することにより決定する動き推定を行う動画像符号化方式のためのブロックサイズ決定方法。を提供する。
本発明によれば、最小ブロックの動き情報を求めた後、その動き情報を起点として、最小ブロックよりも一階層浅い階層のブロックから最大ブロックの順に、ブロック統合処理を階層毎に実行することにより、ブロックサイズを決定するので、階層毎にベクトル探索を実行する必要がない。このため計算量を削減することができる。
図1は、本発明の第1〜第4の実施の形態に係るブロックサイズ決定処理の一例について説明するためのフローチャートである。 図2は、本発明の第2の実施の形態に係るブロック統合処理について説明するためのフローチャートである。 図3は、本発明の第2の実施の形態に係るブロック統合処理について説明するためのフローチャートである。 図4は、本発明の第3の実施の形態に係るブロック統合処理について説明するためのフローチャートである。 図5は、本発明の第3の実施の形態に係るブロック統合処理について説明するためのフローチャートである。 図6は、本発明の第4の実施の形態に係るブロック統合処理について説明するためのフローチャートである。 図7は、64x64サイズのCUを四分木分割して得られるブロックについて説明するための図である。 図8は、2Nx2NサイズのCUと2Nx2N、2NxN、Nx2N、NxNサイズのPUの関係を説明するための図である。 図9は、動き情報に基づいて行うブロック統合について説明するための図である。 図10は、ブロック統合情報mertgeinfoを含む統合条件に基づいてブロック統合処理の実行の要否を判定する動作を説明するための図である。 図11は、非特許文献2に記載のブロックサイズ決定処理について説明するためのフローチャートである。 図12は、非特許文献2に記載のブロックサイズ決定処理、及び、本発明の第1の実施の形態におけるブロック統合処理について説明するためのフローチャートである。 図13は、ブロックサイズ決定処理の対象となるブロックについて説明するための図である。 図14は、CU階層深度depth=4で動きベクトル探索の対象となるブロックについて説明するための図である。 図15は、CU階層深度depth=4で動きベクトル探索の対象となるブロックについて説明するための図である。 図16は、CU階層深度depth=4で動きベクトル探索の対象となるブロックについて説明するための図である。 図17は、CU階層深度depth=4で動きベクトル探索の対象となるブロックについて説明するための図である。 図18は、CU階層深度depth=3で動きベクトル探索の対象となるブロックについて説明するための図である。 図19は、CU階層深度depth=3で動きベクトル探索の対象となるブロックについて説明するための図である。 図20は、CU階層深度depth=3で動きベクトル探索の対象となるブロックについて説明するための図である。 図21は、CU階層深度depth=3で動きベクトル探索の対象となるブロックについて説明するための図である。 図22は、CU階層深度depth=2で動きベクトル探索の対象となるブロックについて説明するための図である。 図23は、CU階層深度depth=2で動きベクトル探索の対象となるブロックについて説明するための図である。 図24は、CU階層深度depth=2で動きベクトル探索の対象となるブロックについて説明するための図である。 図25は、CU階層深度depth=1で動きベクトル探索の対象となるブロックについて説明するための図である。 図26は、コンピュータの一例を示すブロック図である。
(第1の実施の形態)
本発明の第1の実施の形態であるブロックサイズ決定処理1について説明する。ブロックサイズ決定処理1は、コンピュータが、符号化対象となるブロックを示す変数block、CU階層深度を示す変数depth、ブロックサイズを示す変数2Nを指定して行う処理である。ここでは、CU階層深度depthは1以上4以下の自然数である。ブロックサイズ2Nは8、16、32、64のいずれかである。CU階層深度depthの初期値は1である。ブロックサイズ2Nの初期値は64である。後述するように、ブロックサイズ決定処理1は自分自身を呼び出す再帰呼び出しを含む処理である。
ブロックサイズ決定処理1について図1のフローチャートを参照して説明する。まず、コンピュータは、CU階層深度depthが最大であるか否か、即ち、最小サイズのブロック階層か否かを判定する(ステップS101)。
判定が真、すなわち、CU階層深度depth=4であって、最小サイズのブロック階層である場合、コンピュータは、そのブロックの動きベクトル探索を行って動き情報を求め、その動き情報に基づいてそのブロックのRDコストを算出する(ステップS106)。そして、コンピュータは、現在のCU階層深度depth=4を最良深度bestDepth=4と設定(ステップS107)してリターンする。
判定が偽、即ち、CU階層深度depthが1から3であって、最小サイズのブロック階層ではない場合、コンピュータは、ブロックサイズ決定処理1を再帰呼び出しする(ステップS102)。即ち、コンピュータは、そのブロックを四分木分割して生成されるサブブロックそれぞれを対象として、ブロックサイズ決定処理1を行う。
ステップS102において、ブロックを構成する4つのサブブロックそれぞれを対象としたブロックサイズ決定処理1が終了すると、この時点で、各サブブロックの動き情報が得られる。
ステップS103では、コンピュータは、ステップS102で得られた各サブブロックの動き情報に基づいてブロック統合処理を行うことで、最良ブロックサイズbestPartを決定する。ここで行うブロック統合処理は、背景技術の欄において図12を参照しつつ上述したものが用いられる。ブロック統合処理は、最良ブロックサイズbestPartとして2Nx2N、2NxN、Nx2N、NxNのいずれかを返す処理である。
ステップS104では、コンピュータは、最良ブロックサイズbestPartにおけるRDコストbestPartCostと、それまでの最良コストminCostとの大小を比較する。RDコストbestPartCostが最良コストminCostよりも小さい場合(ステップS104のy)、コンピュータは、RDコストbestPartCostの値で最良コストminCostを更新すると共に、現在実行中のブロックサイズ決定処理のCU階層深度の値で最良深度bestDepthを更新する(ステップS105)。
このブロックサイズ決定処理では、次のようなタイミングで動きベクトル探索が実行される。
コンピュータは、ステップS106、S107にてCU階層深度depth=4を対象とする処理を行う。depth=4のブロックサイズ決定処理におけるサブブロックは、4x4サイズブロックである。特に、ステップS106において、コンピュータは、8x8サイズブロック1(図14)、2(図15)、3(図16)、4(図17)を対象とする動きベクトル探索を行う。
コンピュータは、8x8サイズブロック1〜4からなる16x16サイズブロック(図18)を対象とするdepth=3のブロックサイズ決定処理としてステップS102-S105を行う。
コンピュータは、上述の8x8サイズブロック1〜4を対象とするdepth=4のブロックサイズ決定処理と同様にして、8x8サイズブロック5〜8を対象とする動きベクトル探索をステップS106にてそれぞれ行う。更に、コンピュータは、8x8サイズブロック5〜8からなる16x16サイズブロック(図19)を対象とするdepth=3のブロックサイズ決定処理としてステップS102-S105を行う。
コンピュータは、上述の8x8サイズブロック1〜4を対象とするdepth=4のブロックサイズ決定処理と同様にして、8x8サイズブロック9〜12を対象とする動きベクトル探索をステップS106にてそれぞれ行う。また、コンピュータは、8x8サイズブロック9〜12からなる16x16サイズブロック(図20)を対象とするdepth=3のブロックサイズ決定処理としてステップS102-S105を行う。
コンピュータは、上述の8x8サイズブロック1〜4を対象とするdepth=4のブロックサイズ決定処理と同様にして、8x8サイズブロック13〜16を対象とする動きベクトル探索をステップS106にてそれぞれ行う。また、コンピュータは、8x8サイズブロック13〜16からなる16x16サイズブロック(図21)を対象とするdepth=3のブロックサイズ決定処理としてステップS102-S105を行う。
コンピュータは、8x8サイズブロック1〜16からなる32x32サイズブロック(図22)を対象とするdepth=2のブロックサイズ決定処理としてステップS102-S105を行う。depth=2のブロックサイズ決定処理におけるサブブロックは、16x16サイズブロックである。
コンピュータは、上述の、8x8サイズブロック1〜16を対象とするdepth=4,3,2のブロックサイズ決定処理と同様の処理を、8x8サイズブロック17〜32、8x8サイズブロック33〜48、及び、8x8サイズブロック49〜64をそれぞれ対象として行う。
最後に、コンピュータは、全ブロック、即ち、8x8サイズブロック1〜64からなる64x64サイズブロックを対象とするdepth=1のブロックサイズ決定処理としてステップS102-S105を行う。depth=1のブロックサイズ決定処理におけるサブブロックは、32x32サイズブロックである。尚、上述の処理には、並列して実行可能な処理が多数含まれているが、これらの一部又は全部は並列処理で実現されてもよい。
上述のように、ブロックサイズ決定処理1によれば、動きベクトル探索処理を行うのはCU階層深度が最深のとき、即ち、深度4のブロックサイズ決定処理におけるステップS106のみであり、深度1〜3のブロックサイズ決定処理では動きベクトル探索処理が行われない。このため、ブロックサイズ決定処理1によれば、深度1〜4のそれぞれにおいて動きベクトル探索処理を行う従来の手法と比較して、演算量を削減することができる。
非特許文献2によれば、図11のステップS1103に示すように、CU階層深度depth=1〜4のそれぞれにおいて、サブブロックの動きベクトル探索が行われる。depth=4では4x4サイズブロックを対象として動きベクトル探索が行われる。depth=3では8x8サイズブロックを対象として動きベクトル探索が行われる。depth=2では16x16サイズブロックを対象として動きベクトル探索が行われる。depth=1では32x32サイズブロックを対象として動きベクトル探索が行われる。これに対して、本実施形態のブロックサイズ決定処理1では、depth=4での4x4サイズブロックを対象とする動きベクトル探索のみが行われ、depth=3,2,1では動きベクトル探索が行われない。
上述の第1の実施の形態では、ブロック統合処理において、互いに隣接するサブブロックの動きベクトルが完全に一致するとき、それらサブブロックを統合するものとして説明した。第1の実施の形態の一変形例として、コンピュータは、互いに隣接するサブブロックの動きベクトルの差を求め、その差が予め定められた閾値以下の場合、それらのサブブロックの動きベクトルは一致するものとみなしてもよい。本変形例では、閾値はCU階層深度に関わらず一定とする。
(第2の実施の形態)
次に、本発明の第2の実施の形態について説明する。第1の実施の形態では、ブロック統合処理において、複数のサブブロックの統合の可否を判定する条件は、CU階層深度に関わらず一定であり、隣接するサブブロックの動きベクトルが一致するか否かに応じて、それらサブブロックの統合の可否を判定した。上述した第1の実施の形態の変形例も、CU階層深度に関わらず同じ条件でサブブロック統合の可否を判定するという点で同様であり、隣接するサブブロックの動きベクトルの差と予め定められた一定の閾値との比較結果に応じてサブブロックの統合の可否を判定した。
これに対して、第2の実施の形態では、サブブロック統合の可否を判定する際の条件が、CU階層深度に応じて異なる。第2の実施の形態は、その他の点では第1の実施の形態と同様である。以下、第1の実施の形態とは異なる点を中心として説明する。
図1のステップS103にて行うブロック統合処理として、第2の実施の形態では、図2に示したブロック統合処理2を行う。ブロック統合処理2では、引数として、統合対象サブブロックblockに加えて、CU階層深度depthをとる。ステップS201では、コンピュータは、CU階層深度depthに応じてステップS202,S203,S204で用いる判定条件を決定する。
ここで、複数のサブブロックを統合可能か判断する際に用いる判定条件を統合条件と呼び、統合条件を決定する処理を統合条件決定処理と呼ぶものとする。ブロック統合処理2では、コンピュータは、CU階層深度depthに応じて判定条件を決定する。コンピュータは、統合条件決定処理によって階層深度に応じてサブブロックの統合の要否を判定するので、画質の向上や圧縮効率の向上を図ることができる。
ブロック統合処理2の一例としてブロック統合処理3を挙げることができる。図3を参照すると、ブロック統合処理3の統合条件決定処理S301では、コンピュータは、CU階層深度depthに応じて、サブブロック間動きベクトル差の閾値を決定する。隣り合うサブブロックが同じ方向に動いているか否かを判定する際、第1の実施の形態の変形では、隣り合うサブブロックの動きベクトルの差を求め、その差が予め定めた閾値以下の場合に、それらのサブブロックの動きベクトルは一致すると判定された。その際に参照する閾値は、CU階層深度depthに関わらず一定だった。これに対して、ブロック統合処理3では、CU階層深度depthに応じて異なる閾値が用いられる。
一般に、階層が深い、即ち、ブロックサイズが小さいほど動き情報に必要な符号量が多くなる。ブロック統合処理3では、ステップS301において閾値thをCU階層深度depthとする。
コンピュータは、以後のステップS302-S304において統合の可否を判定する際の判定条件を、CU階層深度depthに応じて変えるように構成されている。例えば、ステップS302では、4つのブロックblock[0]、block[1]、block[2]、block[3]が四分木構造に配置されているとき、ブロックblock[0]の動き情報block[0].mvとブロックblock[1]の動き情報block[1].mvの差分と閾値thとを比較することが、block[0].mv-block[1].mv<thとして記載されている。
同様にして、ブロックblock[2]の動き情報block[2].mvとブロックblock[3]の動き情報block[3].mvの差分と閾値thとの比較を行うことが、block[2].mv-block[3].mv<thとして記載されている。また、ブロックblock[0]の動き情報block[0].mvとブロックblock[2]の動き情報block[2].mvの差分と閾値thとの比較を行うことが、block[0].mv-block[2].mv<thとして記載されている。また、ブロックblock[1]の動き情報block[1].mvとブロックblock[3]の動き情報block[3].mvの差分と閾値thとの比較を行うことが、block[1].mv-block[3].mv<thとして記載されている。これら4つの不等式で表された条件は、論理積を示す記号&&で連結されている。ステップS303、S304その他後述する図6のステップS602-S604も、同様の表記方法にて記載されている。
このようにすることにより、CU階層深度が大きいほど、閾値thが大きくなり、ブロック統合がされやすくなる一方、CU階層深度が小さいほど、閾値thが小さくなり、ブロック統合がされにくくなる。
2Nx2N統合判定であるステップS302では、コンピュータは、隣り合うサブブロックの動き情報の差を求め4つのベクトル差が全て閾値以下なら2Nx2Nと判定する。2NxN統合判定であるステップS303では、コンピュータは、横に隣り合うサブブロックの動き情報の差が全て閾値以下なら2NxNと判定する。Nx2N統合判定であるステップS304では、コンピュータは、縦に隣り合うサブブロックの動き情報の差が全て閾値以下ならNx2Nと判定する。
ブロック統合処理2の別の例としては、4つのサブブロックを2Nx2Nに統合する旨の判定をする際、動き情報が一致するサブブロックの数を、CU階層深度depthに応じて異なるものにすることが考えられる。深い階層の場合、即ち、CU階層深度depthが大きい場合には、コンピュータは、4つのサブブロックのうち任意の3つの動き情報が一致するとき、それら4つのサブブロックを統合すると判定する。一方、コンピュータは、浅い階層の場合、即ち、CU階層深度depthが小さい場合には、4つのサブブロック全ての動き情報が一致するとき、それら4つのサブブロックを統合すると判定する。
本実施の形態により、より適したブロックサイズを選択できることとなり符号化効率が向上する。
(第3の実施の形態)
次に、第3の実施の形態について説明する。第3の実施の形態では、ブロックサイズ決定処理1のブロック統合処理S203に代えて、図4に示すブロック統合処理4が用いられる。その他の動作は第1の実施の形態のブロックサイズ決定処理1と同様である。
ブロック統合処理4では、コンピュータは、統合条件としてブロック統合情報mergeInfoを用いる。ブロック統合情報mergeInfoは、より深い階層におけるブロック統合処理の結果に関する情報である。このため、ブロック統合処理4では、引数として、統合対象サブブロックblockに加えて、ブロック統合情報mergeInfoが用いられる。ステップS401では、コンピュータは、ブロック統合情報mergeInfoに応じて、ステップS402,S403,S404で用いる判定条件を決定する。
ブロック統合処理4の一例として、統合されたブロックサイズをブロック統合情報mergeInfoとして用いて判定条件を設定するブロック統合処理5を図5に示す。例えば、深いCU階層深度から浅いCU階層深度の順にブロック統合の可否を判定していく際に、現在のCU階層深度よりも深いCU階層深度においてブロックが統合できていない場合があるとする。このような場合には、動き情報の比較を行うまでもなく、現在のCU階層深度におけるサブブロックの動き情報は一致しないと判断することができる。ブロック統合処理5は、このことを考慮した処理である。
コンピュータは、ステップS501において統合条件を決定する。統合条件は、例えば、図10の右上ブロックのように深い階層で2Nx2Nに統合できなかったサブブロックが4つのうち一つでもあれば統合しない、という条件を含む。コンピュータは、この統合条件に基づいてブロック統合情報mergeInfoを判定することにより、4つのサブブロックがそれぞれ統合可能なサイズであるか否かをステップS502にて判定する。
ステップS502で偽と判断された場合、コンピュータは、その後の条件判定を行うことなく、統合できない(サイズNxN)と判断する。この場合、ステップS202-S204における、2Nx2N、2NxN、Nx2Nの統合可否を判定する処理の実行をスキップするので、その分、必要な計算量が少なくなる。
一方、ステップS502で真と判断された場合、コンピュータは、上述したブロック統合処理2のステップS202-S204を実行して、2Nx2N, 2NxNまたはNx2Nに統合するか否かを判断する。
尚、コンピュータは、ブロック統合処理2のステップS202-S204の代わりに、ブロック統合処理3またはブロック統合処理4を行うこととしてもよい。
本実施の形態によれば、より深いCU階層深度depthにおけるブロック統合処理の結果に基づいて、4つのサブブロックを2Nx2N、2NxN、Nx2Nに統合可能か否かを判定する処理の実行の要否をステップS502にて判定し、不要な場合には、これらの判定処理の実行を省略するので、ブロック統合処理の演算量を削減することができる。
(第4の実施の形態)
本実施の形態では、第3の実施の形態と同様に、より深いCU階層深度におけるブロック統合処理の結果に基づいて、ブロックが統合可能か判断する条件が決定される。第4の実施の形態では、ブロックサイズ決定処理1のブロック統合処理S203に代えて、図6に示すブロック統合処理6を用いる。その他の動作は第1の実施の形態のブロックサイズ決定処理1と同様である。
ステップS601では、コンピュータは、現在のCU階層深度depthよりも深い階層のサブブロック情報に基づいて、隣接するサブブロックの動きベクトルの差と比較する閾値を決定する。一般に、小さいブロックが多いと動き情報の符号量が多くなる。このことに鑑みて、本実施の形態では、コンピュータは、深いCU階層深度で統合したサブブロックが少ない場合(統合していないサブブロックが多い場合)には閾値を大きくする。一方、コンピュータは、深いCU階層深度で統合したサブブロックが多い場合(統合していないサブブロックが少ない場合)には閾値を小さくする。深いCU階層深度で統合したサブブロックの数が多いか少ないかは、例えば予め閾値を別に定めて、その閾値よりも多い場合は多いとし、少ない場合は少ないとする。
このようにすれば、深いCU階層深度で統合したサブブロックが少ない場合には、隣接するサブブロックの動きベクトルの差が、閾値thよりも小さくなりやすいので、ステップS602-S604が真になりやすくなる。このため、深いCU階層深度にて統合できなかったブロックについても、浅いCU階層深度にて統合できる場合が起こり得るようになる。その結果、本実施の形態のブロックサイズ決定処理によれば、圧縮効率及び画質を向上することができる。
以上、本発明を実施の形態に即して説明したが、本発明はこれに限定されるものではない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
上述の実施の形態では、ブロック分割の手法として四分木分割を用いたものを説明しているが、本発明はこれに限定されるものではない。
例えば、上述の実施の形態では、1個の64x64ブロックを4個の32x32ブロックに分割するが、その代わりに、1個の64x64ブロックを16個の16x16ブロックに分割することとしてもよい。
また、上述の実施の形態では、1個の正方形のブロックを4個の正方形のブロックに分割するが、分割するブロックの形状、分割したブロックの形状は、どちらも、正方形に限定されるものではない。例えば、分割の方法は、正方形のブロックを2つの長方形のブロックに分割するものでもよいし、長方形のブロックを2つの正方形のブロックに分割するものでもよい。
また、上述の実施の形態では、ブロックの形状は、どのCU階層深度でも正方形であり、換言すると、CU階層深度に関わらず、ブロックの形状は相似である。しかし、ブロックの形状は、これに限定されるものではなく、CU階層深度毎に異なる形状のブロックが用いられてもよい。例えば、ブロックの形状は、1階層目は64x64の正方形のブロックとし、2階層目は64x32の長方形のブロックとし、3階層目は32x32の正方形のブロックとしてもよい。
また、ブロックサイズは、上述の実施の形態では2Nx2N,2NxN,Nx2N,NxNとして説明されたが、これに限定されるものではない。例えば、H.265におけるAMP(Asymmetric motion partitions)のような分割や他の分割でも同様に動作可能である。
また、上述の実施の形態では、ブロック統合の可否を動きベクトルに基づいて判定したが、本発明はこれに限定されるものではない。例えば、参照フレームインデックスや参照方向などの情報に基づいて判定が行われてもよい。異なる参照フレームに対する動きベクトルの場合、フレーム間距離に応じたスケーリングを行った動きベクトル情報が用いられても良い。
ブロックを統合する判定条件は、各動きベクトルを保持する小ブロックのサイズや、各小ブロックのRDコストによって重み付けされてもよい。
上述の各実施の形態に示したようなブロック統合処理によりブロックサイズを決定したあと、再び決定されたブロックサイズのみ動きベクトル探索が行われてもよい。このようにすれば低演算量で画質を向上させることもできる。
図26は、上述した実施の形態におけるコンピュータのハードウェア構成の一例を示すブロック図である。コンピュータ100は、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、記憶装置104と、ドライブ装置105と、通信インタフェース106と、入出力インタフェース107とを備える。
CPU101は、記憶装置104に記憶されたプログラム108をRAM103を用いて実行する。プログラム108は、ROM102に記憶されていてもよい。また、プログラム108は、記録媒体109に記録され、ドライブ装置105によって読み出されてもよいし、外部装置からネットワーク110を介して送信されてもよい。通信インタフェース106は、ネットワーク110を介して外部装置とデータをやり取りする。入出力インタフェース107は、周辺機器(キーボード、マウス、表示装置など)とデータをやり取りする。通信インタフェース106及び入出力インタフェース107は、データを取得又は出力する手段として機能することができる。ブロックサイズの決定に必要なデータは、記憶装置104に記憶されていてもよいし、プログラム108に含まれていてもよい。
なお、コンピュータの構成要素の一部又は全部は、汎用又は専用の回路、プロセッサ等やこれらの組み合わせによって実現され得る。これらは、単一のチップによって構成されてもよいし、複数のチップによって構成されてもよい。
上記の実施形態の一部又は全部は以下の付記のようにも記載されうるが、これらに限定されるものではない。
(付記1)
動き推定を行う動画像符号化方式のために、動き情報を保持する単位であるブロックサイズを決定する処理をコンピュータに実行させるプログラムであって、
予め定められた最も浅い階層のブロックを最大ブロックと呼び、
最大ブロックを分割してなる、予め定められた最も深い階層のブロックを最小ブロックと呼び、
現に着目している階層のブロックを現ブロックと呼び、
現に着目している階層よりも一階層深い階層のブロックをサブブロックと呼ぶとき、
最小ブロックそれぞれの動き情報を求めるベクトル探索処理と、
サブブロックの動き情報を少なくとも含む統合条件に基づいて、互いに隣接する一乃至複数のサブブロックを、ひとつの動き情報を有するひとつのブロックに統合するか否かを判定するブロック統合処理と
をコンピュータに実行させ、
最小ブロックよりも一階層浅い階層のブロックから最大ブロックの順に、ブロック統合処理を階層的に実行することにより、ブロックサイズを決定するプログラム。
(付記2)
前記統合条件はサブブロックの動き情報の他の情報を含み、
現に着目している階層における前記統合条件を、前記他の情報に基づいて決定する統合条件決定処理を更に含む
ことを特徴とする付記1に記載のプログラム。
(付記3)
前記他の情報は、現に着目している階層の深度であることを特徴とする、付記2に記載のプログラム。
(付記4)
前記他の情報は、現に着目している階層よりも深い階層におけるブロック統合処理の結果に係る情報であることを特徴とする、付記2に記載のプログラム。
(付記5)
前記統合条件は、隣り合うサブブロックの間の動き情報の差分と、予め定められた前記差分に係る閾値との比較に基づいて定められるものを含むことを特徴とする付記1乃至付記4のいずれかに記載のプログラム。
(付記6)
前記統合条件は現に着目している階層の深度を含み、
前記差分に係る閾値を現に着目している階層の深度に応じて定める処理を含む付記5に記載のプログラム。
(付記7)
現に着目している階層よりも深い階層におけるブロック統合処理の結果に基づいて、現に着目している階層におけるブロック統合処理の実行の要否を判定する処理を更に含むことを特徴とする付記1乃至付記6のいずれかに記載のプログラム。
(付記8)
動き推定を行う動画像符号化方式のために、動き情報を保持する単位であるブロックサイズを決定する方法であって、
予め定められた最も浅い階層のブロックを最大ブロックと呼び、
最大ブロックを分割してなる、予め定められた最も深い階層のブロックを最小ブロックと呼び、
現に着目している階層のブロックを現ブロックと呼び、
現に着目している階層よりも一階層深い階層のブロックをサブブロックと呼ぶとき、
最小ブロックそれぞれの動き情報を求めるベクトル探索処理を処理装置にて実行する段階と、
サブブロックの動き情報を少なくとも含む統合条件に基づいて、互いに隣接する一乃至複数のサブブロックを、ひとつの動き情報を有するひとつのブロックに統合するか否かを判定するブロック統合処理を処理装置にて実行する段階と
を含み、
最小ブロックよりも一階層浅い階層のブロックから最大ブロックの順に、ブロック統合処理を階層的に実行することにより、ブロックサイズを決定する
ことを特徴とするブロックサイズ決定方法。
(付記9)
前記統合条件はサブブロックの動き情報の他の情報を含み、
現に着目している階層における前記統合条件を、前記他の情報に基づいて決定する統合条件決定処理を処理装置にて実行する段階を更に含む
ことを特徴とする付記8に記載のブロックサイズ決定方法。
(付記10)
前記他の情報は、現に着目している階層の深度であることを特徴とする、付記9に記載のブロックサイズ決定方法。
(付記11)
前記他の情報は、現に着目している階層よりも深い階層におけるブロック統合処理の結果に係る情報であることを特徴とする、付記9に記載のブロックサイズ決定方法。
(付記12)
前記統合条件は、隣り合うサブブロックの間の動き情報の差分と、予め定められた前記差分に係る閾値との比較に基づいて定められるものを含むことを特徴とする付記8乃至付記11のいずれかに記載のブロックサイズ決定方法。
(付記13)
前記統合条件は現に着目している階層の深度を含み、
前記差分に係る閾値を現に着目している階層の深度に応じて定める処理を処理装置にて実行する段階を含む付記12に記載のブロックサイズ決定方法。
(付記14)
現に着目している階層よりも深い階層におけるブロック統合処理の結果に基づいて、現に着目している階層におけるブロック統合処理の実行の要否を判定する処理を処理装置にて実行する段階を更に含むことを特徴とする付記8乃至付記13のいずれかに記載のブロックサイズ決定方法。
この出願は、2014年8月28日に出願された日本特許出願特願2014−173698を基礎とする優先権を主張し、その開示の全てをここに取り込む。
1 ブロックサイズ決定処理
2−6 ブロック統合処理
100 コンピュータ

Claims (10)

  1. コンピュータに、
    予め定められた最も深い階層のブロックである最小ブロックのそれぞれの動き情報を求めるベクトル探索処理と、
    動き情報を保持する単位であるブロックサイズを決定するブロックサイズ決定処理と、
    現に着目している階層よりも一階層深い階層のブロックであるサブブロックの動き情報を少なくとも含む統合条件に基づいて、互いに隣接する一又は複数のサブブロックをひとつの動き情報を有するひとつのブロックに統合するか否かを判定するブロック統合処理とを実行させ、
    前記ブロックサイズ決定処理は、最小ブロックよりも一階層浅い階層のブロックから予め定められた最も浅い階層のブロックである最大ブロックの順に、前記ブロック統合処理を階層的に実行することによりブロックサイズを決定する
    動き推定を行う動画像符号化方式のためのプログラムを記録したコンピュータ読み取り可能なプログラム記録媒体。
  2. 前記統合条件は、サブブロックの動き情報の他の情報を含み、
    現に着目している階層における前記統合条件を、前記他の情報に基づいて決定する統合条件決定処理を更に含む
    ことを特徴とする請求項1に記載のプログラム記録媒体。
  3. 前記他の情報は、現に着目している階層の深度であることを特徴とする、請求項2に記載のプログラム記録媒体。
  4. 前記他の情報は、現に着目している階層よりも深い階層における前記ブロック統合処理の結果に係る情報であることを特徴とする、請求項2に記載のプログラム記録媒体。
  5. 前記統合条件は、隣り合うサブブロックの間の動き情報の差分と、前記差分に係る閾値との比較に基づいて定められるものを含むことを特徴とする請求項1乃至請求項4のいずれかに記載のプログラム記録媒体。
  6. 前記統合条件は現に着目している階層の深度を含み、
    前記差分に係る閾値を現に着目している階層の深度に応じて定める処理を含む請求項5に記載のプログラム記録媒体。
  7. 現に着目している階層よりも深い階層におけるブロック統合処理の結果に基づいて、現に着目している階層における前記ブロック統合処理の実行の要否を判定する処理を更に含むことを特徴とする請求項1乃至請求項6のいずれかに記載のプログラム記録媒体。
  8. 予め定められた最も深い階層のブロックである最小ブロックのそれぞれの動き情報を求め、
    動き情報を保持する単位であるブロックサイズを決定し、
    現に着目している階層よりも一階層深い階層のブロックであるサブブロックの動き情報を少なくとも含む統合条件に基づいて、互いに隣接する一又は複数のサブブロックをひとつの動き情報を有するひとつのブロックに統合するか否かを判定し、
    前記ブロックサイズを、最小ブロックよりも一階層浅い階層のブロックから予め定められた最も浅い階層のブロックである最大ブロックの順に前記判定を階層的に実行することにより決定する
    動き推定を行う動画像符号化方式のためのブロックサイズ決定方法。
  9. 前記統合条件は、サブブロックの動き情報の他の情報を含み、
    現に着目している階層における前記統合条件を、前記他の情報に基づいて決定する
    ことを特徴とする請求項8に記載のブロックサイズ決定方法。
  10. 前記他の情報は、現に着目している階層の深度であることを特徴とする、請求項9に記載のブロックサイズ決定方法。
JP2016544967A 2014-08-28 2015-08-27 ブロックサイズ決定方法及びプログラム Expired - Fee Related JP6569677B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014173698 2014-08-28
JP2014173698 2014-08-28
PCT/JP2015/004324 WO2016031253A1 (ja) 2014-08-28 2015-08-27 ブロックサイズ決定方法及びプログラム記録媒体

Publications (2)

Publication Number Publication Date
JPWO2016031253A1 true JPWO2016031253A1 (ja) 2017-06-15
JP6569677B2 JP6569677B2 (ja) 2019-09-04

Family

ID=55399165

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016544967A Expired - Fee Related JP6569677B2 (ja) 2014-08-28 2015-08-27 ブロックサイズ決定方法及びプログラム

Country Status (3)

Country Link
US (1) US10356403B2 (ja)
JP (1) JP6569677B2 (ja)
WO (1) WO2016031253A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018008678A1 (ja) * 2016-07-08 2018-01-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 復号装置、符号化装置、復号方法及び符号化方法
JP6565885B2 (ja) 2016-12-06 2019-08-28 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法及び画像符号化プログラム、並びに画像復号化装置、画像復号化方法及び画像復号化プログラム
JP6914722B2 (ja) * 2017-05-11 2021-08-04 キヤノン株式会社 動画像符号化装置、動画像符号化方法及びプログラム
CN110213591B (zh) * 2018-03-07 2023-02-28 腾讯科技(深圳)有限公司 一种视频运动估计方法、装置及存储介质
CN108833923B (zh) * 2018-06-20 2022-03-29 腾讯科技(深圳)有限公司 视频编码、解码方法、装置、存储介质和计算机设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001078197A (ja) * 1999-09-03 2001-03-23 Canon Inc 画像符号化装置、画像符号化方法及び記憶媒体
JP2005012439A (ja) * 2003-06-18 2005-01-13 Nippon Hoso Kyokai <Nhk> 符号化装置、符号化方法および符号化プログラム
JP2009182792A (ja) * 2008-01-31 2009-08-13 Oki Electric Ind Co Ltd 動きベクトル検出装置及び方法、動画像符号化装置及び方法、並びに、動画像復号化装置及び方法
JP2011130265A (ja) * 2009-12-18 2011-06-30 Nippon Telegr & Teleph Corp <Ntt> 動きベクトル検出装置、動きベクトル検出方法およびプログラム
JP2012257148A (ja) * 2011-06-10 2012-12-27 Nippon Hoso Kyokai <Nhk> 動きベクトル検出装置、符号化装置、復号装置、及びこれらのプログラム
WO2013031071A1 (ja) * 2011-09-02 2013-03-07 パナソニック株式会社 動画像復号装置、動画像復号方法、及び集積回路

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5594504A (en) * 1994-07-06 1997-01-14 Lucent Technologies Inc. Predictive video coding using a motion vector updating routine
JP2000511366A (ja) * 1995-10-25 2000-08-29 サーノフ コーポレイション 4分割ツリーベースの可変ブロックサイズ動き推定装置および方法
US20080126278A1 (en) * 2006-11-29 2008-05-29 Alexander Bronstein Parallel processing motion estimation for H.264 video codec
US8605786B2 (en) * 2007-09-04 2013-12-10 The Regents Of The University Of California Hierarchical motion vector processing method, software and devices
EP2717575B1 (en) * 2011-05-27 2018-10-10 Sun Patent Trust Image decoding method and image decoding device
BR112013031215B8 (pt) * 2011-06-10 2022-07-19 Mediatek Inc Método e aparelho de codificação escalável de vídeo
KR101449435B1 (ko) * 2012-01-09 2014-10-17 삼성전자주식회사 움직임 벡터 정규화에 기초한 영상의 부호화 방법 및 장치, 영상의 복호화 방법 및 장치
SG11201510554RA (en) * 2013-07-24 2016-02-26 Qualcomm Inc Simplified advanced motion prediction for 3d-hevc
KR102179383B1 (ko) * 2013-08-09 2020-11-16 삼성전자주식회사 병합 모드 결정 방법 및 장치

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001078197A (ja) * 1999-09-03 2001-03-23 Canon Inc 画像符号化装置、画像符号化方法及び記憶媒体
JP2005012439A (ja) * 2003-06-18 2005-01-13 Nippon Hoso Kyokai <Nhk> 符号化装置、符号化方法および符号化プログラム
JP2009182792A (ja) * 2008-01-31 2009-08-13 Oki Electric Ind Co Ltd 動きベクトル検出装置及び方法、動画像符号化装置及び方法、並びに、動画像復号化装置及び方法
JP2011130265A (ja) * 2009-12-18 2011-06-30 Nippon Telegr & Teleph Corp <Ntt> 動きベクトル検出装置、動きベクトル検出方法およびプログラム
JP2012257148A (ja) * 2011-06-10 2012-12-27 Nippon Hoso Kyokai <Nhk> 動きベクトル検出装置、符号化装置、復号装置、及びこれらのプログラム
WO2013031071A1 (ja) * 2011-09-02 2013-03-07 パナソニック株式会社 動画像復号装置、動画像復号方法、及び集積回路

Also Published As

Publication number Publication date
US20170257631A1 (en) 2017-09-07
JP6569677B2 (ja) 2019-09-04
US10356403B2 (en) 2019-07-16
WO2016031253A1 (ja) 2016-03-03

Similar Documents

Publication Publication Date Title
RU2705435C1 (ru) Способ и устройство для кодирования информации движения, а также способ и устройство для ее декодирования
US10511856B2 (en) Method and system for predictive coding/decoding with directional scanning
CN107105279B (zh) 用于引导合并候选块的方法和使用该方法的设备
KR102194295B1 (ko) 움직임 벡터 리스트 설정 방법 및 이러한 방법을 사용하는 장치
JP6569677B2 (ja) ブロックサイズ決定方法及びプログラム
KR20200077495A (ko) 참조 유닛 결정 방법 및 장치
TWI774141B (zh) 視訊編解碼方法及裝置
US20150350674A1 (en) Method and apparatus for block encoding in video coding and decoding
KR102658929B1 (ko) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
US20200228831A1 (en) Intra prediction mode based image processing method, and apparatus therefor
KR20210100741A (ko) 영상 코딩 시스템에서 인트라 예측을 사용하는 영상 디코딩 방법 및 그 장치
WO2017010073A1 (ja) 動画像符号化装置、動画像符号化方法および動画像符号化プログラムを記憶する記録媒体
AU2016228181A1 (en) Method for inducing a merge candidate block and device using same
US20170347099A1 (en) Method for scanning coding blocks inside a video frame by video codecs
JPWO2014045515A1 (ja) 映像符号化装置、映像符号化方法および映像符号化プログラム
KR20130122566A (ko) 깊이 정보를 이용한 움직임 벡터 예측을 위한 3차원 영상의 부호화 방법 및 장치, 및 복호화 방법 및 장치
AU2018267557B2 (en) Predictive encoding method, predictive encoding device, and predictive encoding program of motion vector, and, predictive decoding method, predictive decoding device, and predictive decoding program of motion vector
CN116684578A (zh) 基于控制点运动矢量的仿射模型优化
KR20150045978A (ko) 계층적 데이터 단위의 스캔 순서에 기반한 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
KR20140147067A (ko) 계층적 데이터 단위의 스캔 순서에 기반한 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170213

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180713

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190514

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190620

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190722

R150 Certificate of patent or registration of utility model

Ref document number: 6569677

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees