JP2016134860A - 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム - Google Patents

動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム Download PDF

Info

Publication number
JP2016134860A
JP2016134860A JP2015009858A JP2015009858A JP2016134860A JP 2016134860 A JP2016134860 A JP 2016134860A JP 2015009858 A JP2015009858 A JP 2015009858A JP 2015009858 A JP2015009858 A JP 2015009858A JP 2016134860 A JP2016134860 A JP 2016134860A
Authority
JP
Japan
Prior art keywords
coefficient
candidate
coefficient group
orthogonal transform
group
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
JP2015009858A
Other languages
English (en)
Other versions
JP6476900B2 (ja
Inventor
昇 米岡
Noboru Yoneoka
昇 米岡
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015009858A priority Critical patent/JP6476900B2/ja
Priority to US15/002,351 priority patent/US10171809B2/en
Publication of JP2016134860A publication Critical patent/JP2016134860A/ja
Application granted granted Critical
Publication of JP6476900B2 publication Critical patent/JP6476900B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/124Quantisation
    • 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/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/18Methods 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 a set of transform coefficients
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

【課題】レート歪み最適量子化を適用して量子化係数を決定する処理を1pass化できる動画像符号化装置を提供する。【解決手段】動画像符号化装置は、直交変換単位のブロックに含まれる、低周波数側の係数グループから順に、その係数グループより後の係数グループ内に非0の量子化係数があると仮定して、その係数グループ内の全ての量子化係数を0にするか否かを判定する係数グループ最適化部33と、低周波数側の係数グループから順に、その係数グループよりも後の係数グループ内の量子化係数が全て0と仮定して求めた、その係数グループ内での最も高周波数の非0の量子化係数の第1の候補と既に求められた第2の候補との間で、符号化誤差と符号量とに応じたコストから第1の候補を含む係数グループより後の係数グループによる符号化誤差を除いた比較用コストの比較により第2の候補を第1の候補で更新するか否か判定する最終係数位置判定部35とを有する。【選択図】図4

Description

本発明は、例えば、動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラムに関する。
動画像データは、一般に非常に大きなデータ量を有する。そのため、動画像データを扱う装置は、動画像データを他の装置へ送信しようとする場合、あるいは、動画像データを記憶装置に記憶しようとする場合、動画像データを符号化することにより圧縮する。代表的な動画像の符号化方式として、International Organization for Standardization /International Electrotechnical Commission(ISO/IEC)で策定されたMoving Picture Experts Group phase 2(MPEG-2)、MPEG-4、あるいはH.264 MPEG-4 Advanced Video Coding(H.264 MPEG-4 AVC)が利用されている。また、新たな符号化標準として、High Efficiency Video Coding(HEVC, MPEG-H/H.265)が策定されている。
このような符号化方式において、符号化された動画像データを復号して得られる動画像の画質と圧縮効率のバランスを最適化するために、レート歪み最適量子化(Rate Distortion Optimized Quantization, RDOQ)を適用することが検討されている(例えば、特許文献1〜3を参照)。
RDOQでは、動画像データに含まれるピクチャを分割して得られるブロック内の各画素の予測誤差信号を直交変換して得られる直交変換係数を量子化する際に、符号化誤差と符号量の両方を考慮した符号化コストを最小化するように量子化係数が決定される。
特開2011−176483号公報 特表2011−514055号公報 特開2013−110740号公報
これらの特許文献に開示された方式では、直交変換の単位となるブロックごとに、最も高周波数の非0の量子化係数(以下、最終係数と呼ぶ)の位置を決定する処理と、各量子化係数を個別またはグループ単位で最適化する処理とが行われる。これら二つの処理のうち、最終係数の位置を決定する処理は、最適化された各量子化係数を利用して実行される。そのため、各量子化係数の最適化の処理と最終係数の位置を決定する処理は、いわゆる2pass処理となる。そのため、動画像データを符号化する際のスループットが低下してしまう。
また近年、いわゆる4K(3840画素×2160画素)あるいは8K(7680画素×4320画素)といった、ピクチャ当たりの画素数が非常に多い動画像データの放送も検討されている。ピクチャ当たりの画素数が多くなるほど、符号化に要する時間が長くなるか、より高コストとなる高性能な演算器が必要となるため、符号化のスループットが低下することは好ましくない。特に、リアルタイムの放送のように、低遅延が要求される場合には、スループットの低下により、動画像データの符号化が間に合わず、支障をきたすおそれもある。
そこで、本明細書は、レート歪み最適量子化を適用して量子化係数を決定する処理を1pass化できる動画像符号化装置を提供することを目的とする。
一つの実施形態によれば、動画像符号化装置が提供される。この動画像符号化装置は、動画像に含まれるピクチャの各画素について、その画素の値とその画素の予測信号間の差分により得られる予測誤差信号を、ピクチャを分割した複数のブロックごとに直交変換することで得られる、ブロックに含まれる複数の直交変換係数を、所定数の直交変換係数を含む複数の係数グループに分割する分割部と、複数の係数グループのうち、低周波数の直交変換係数を含む係数グループから順に、その係数グループに含まれる所定数の直交変換係数のそれぞれについて、その直交変換係数を量子化する際の複数の量子化係数の候補の中から、符号化誤差と符号量とから求められるコストが最小となる候補をその直交変換係数の量子化係数とする係数最適化部と、複数の係数グループのうち、低周波数の直交変換係数を含む係数グループから順に、その係数グループよりも高周波数の係数グループにゼロでない量子化係数が含まれると仮定して、その係数グループに含まれる所定数の量子化係数を全てゼロにするか否かを判定する係数グループ最適化部と、複数の係数グループのうち、低周波数の直交変換係数を含む係数グループから順に、その係数グループよりも高周波数の係数グループに含まれる量子化係数が全てゼロであると仮定して、その係数グループに含まれるゼロでない量子化係数のうちから最も高周波数のゼロでない量子化係数の第1の候補を求め、その第1の候補について、符号化誤差と符号量とから求められるコストからその係数グループよりも高周波数の係数グループについての符号化誤差を除いた比較用コストが、その係数グループよりも低周波数の係数グループについて求められた最も高周波数のゼロでない量子化係数の第2の候補について算出された比較用コストに第2の候補を含む係数グループよりも一つ高周波数の係数グループから第1の候補を含む係数グループまでの符号化誤差を加算した値よりも低い場合に、第2の候補を第1の候補に更新し、複数の係数グループのうちの最も高周波数の係数グループについての第2の候補の更新が終了したときの第2の候補を、最も高周波数のゼロでない量子化係数とする最終係数位置判定部と、第2の候補を含む係数グループよりも一つ高周波数側の係数グループから第1の候補を含む係数グループまでの符号化誤差を算出する補正値算出部とを有する。
本発明の目的及び利点は、請求項において特に指摘されたエレメント及び組み合わせにより実現され、かつ達成される。
上記の一般的な記述及び下記の詳細な記述の何れも、例示的かつ説明的なものであり、請求項のように、本発明を限定するものではないことを理解されたい。
本明細書に開示された動画像符号化装置は、レート歪み最適量子化を適用して量子化係数を決定する処理を1pass化できる。
直交変換の単位となるブロックと、係数グループの関係を示す図である。 周波数の順序で並べられたブロック内の各量子化係数と、最終係数の位置との関係の一例を示す図である。 一つの実施形態による動画像符号化装置の概略構成図である。 量子化部の概略構成図である。 係数グループごとの処理順序を示す図である。 着目する係数グループ内での最終係数位置の走査順序と、最終係数の候補の一例を示す図である。 係数グループの最適化と最終係数位置の候補の更新の一例の説明図である。 係数グループの最適化と最終係数位置の候補の更新の一例の説明図である。 係数グループの最適化と最終係数位置の候補の更新の一例の説明図である。 係数グループの最適化と最終係数位置の候補の更新の一例の説明図である。 係数グループの最適化と最終係数位置の候補の更新の一例の説明図である。 レート歪み最適量子化処理の動作フローチャートである。 動画像符号化処理の動作フローチャートである。 何れかの実施形態または変形例による動画像符号化処理を実行可能なコンピュータの構成図である。
以下、図を参照しつつ、動画像符号化装置について説明する。この動画像符号化装置は、直交変換の単位となるブロックごとに、RDOQを適用して、そのブロックに含まれる各量子化係数を最適化する。なお、以下では、特に断りが無い限り、ブロックとは、直交変換の単位となるブロックを意味する。
先ず、理解を容易にするために、RDOQを適用した2pass処理によってブロック内の各量子化係数を最適化する手順について説明する。
RDOQでは、ブロックごとに以下の3種類の処理が実行される。
(1)各量子化係数の最適化
(2)量子化係数グループの最適化
(3)最終係数位置の決定
(1)各量子化係数の最適化
この処理は、ブロック内の低周波数側から順に、直交変換係数ごとに行われる。動画像符号化装置は、着目する直交変換係数について、例えば、3通りの量子化係数の候補を設定し、その候補のそれぞれごとに、次式に従って、符号化誤差、すなわち歪みと符号量、すなわちレートの両方を考慮した符号化コストを算出する。なお、歪みとレートの両方を考慮した符号化コストを、以下では、便宜上、RDコストと呼ぶ。そして動画像符号化装置は、RDコストが最小となる候補を、着目する直交変換係数についての量子化係数とする。
ここで、Distortion及びCBitsは、それぞれ、着目する直交変換係数と対応する量子化係数間の誤差(以下、単に符号化誤差)と符号量の推定値を表す。λは、ラグランジュの未定乗数である。そしてRDcostは、RDコストである。
量子化係数の候補としては、例えば、0と、量子化スケールに基づいてその直交変換係数を量子化したときの値coeffと、(coeff-1)とが用いられる。なお、coeffと、(coeff-1)とは、それぞれ、量子化により削除される低位ビットによる、1未満の値を切り上げた場合と切り捨てた場合に相当する。また量子化スケールは、例えば、そのブロックを含むピクチャについて割り当てられる目標符号量または符号化レートなどに基づいて設定される。
(2)量子化係数グループの最適化
この処理は、4×4個の量子化係数を含む係数グループごとに行われる。そして動画像符号化装置は、着目する係数グループに含まれる全ての量子化係数を0としたときのRDコストが、元の量子化係数を用いたときのRDコストよりも小さくなる場合、着目する係数グループに含まれる全ての量子化係数を0とする。
図1は、直交変換の単位となるブロックと、係数グループの関係を示す図である。図1において、ブロック100は、直交変換の単位となるブロックであり、例えば、HEVCでは、Transform Unit(TU)である。ブロック100内の各サブブロック101は、係数グループであり、それぞれ、4×4個の量子化係数102を含む。直交変換として、離散コサイン変換(Discrete Cosine Transform, DCT)が用いられる場合、ブロック100内では、左上端が最も低周波数となり、右下端が最も高周波数となる。そこで例えば、矢印110に示されるように、高周波数側から順に、係数グループの最適化処理が実行される。また、矢印111に示されるように、低周波数側から順に、各係数グループ内で、個別の量子化係数の最適化処理が行われる。なお、係数グループの最適化処理は、最終係数120を含む係数グループ121、元々全ての量子化係数がゼロの係数グループ122、及び、最も低周波数、すなわち、左上端の係数グループ123については行われない。
(3)最終係数位置の決定
この処理は、ブロック内の高周波数側から順に、量子化係数ごとに行われる。この処理では、動画像符号化装置は、高周波数側から順に、絶対値が1であり、かつ、符号量CBitsが一定値以下となる量子化係数を、順次0に置換したときのRDコストを算出する。なお、高周波数側から順に走査して、絶対値が2以上となる量子化係数のうちの最初に登場する量子化係数以降については、動画像符号化装置は、量子化係数を0に置換したRDコストを算出しない。そして動画像符号化装置は、RDコストが最小となるときの最も高周波数側で非0の量子化係数を最終係数とし、最終係数よりも高周波数側の全ての量子化係数を0とする。
図2は、周波数の順序で並べられたブロック内の各量子化係数と、最終係数の位置との関係の一例を示す図である。図2において、各ブロック内の数値は、量子化係数を表す。また、ブロックの右端ほど、周波数が高い。また、図2において、ブロック列201〜204の右端が最も高い周波数に対応し、一方、ブロック列201〜204の左端が最も低い周波数に対応する。ブロック列201〜204に示されるように、絶対値が1である、最も高周波数側の量子化係数211から順に、絶対値が1である量子化係数212、213が順次0に置換される。ただし、量子化係数214の絶対値が2以上であるので、量子化係数214及びそれよりも低周波数側の量子化係数は0に置換されない。そして例えば、ブロック列203に示されるように、量子化係数211及び212が0に置換されたときのRDコストが最小となる場合、量子化係数213が最終係数となる。
上記のように、(1)、(2)の処理が終わって、全ての量子化係数が一旦定まらない限り、高周波数側から処理する(3)の処理でのRDコスト及びCBitsの算出ができない。そのため、従来技術では、(1)、(2)の処理と、(3)の処理とが2pass処理となっていた。
ここで、発明者は、低周波数側から順に、係数グループごとに、その係数グループに最終係数が含まれると仮定して最終係数の候補を求めることとした。そしてこの場合、最終係数の候補を含む二つの係数グループのRDコストを、その二つの係数グループよりも高周波数側の量子化係数による符号化誤差を無視して比較できることを発明者は見出した。そこで、この動画像符号化装置は、各ブロックについて、低周波数側から順に、係数グループ単位で上記の(1)〜(3)の処理を順次実行する。その際、この動画像符号化装置は、着目する係数グループよりも後の係数グループに最終係数が含まれると仮定して、着目する係数グループの最適化を行う。一方、この動画像符号化装置は、着目する係数グループについて、その係数グループに最終係数が含まれると仮定して最終係数の候補を求める。またこの動画像符号化装置は、着目する係数グループ内の最終係数の候補についてのRDコストを、それ以前の係数グループについて求められた、ブロック全体での最終係数の候補についてのRDコストと比較する。そしてこの動画像符号化装置は、着目する係数グループ内の最終係数の候補についてのRDコストの方が低い場合に、着目する係数グループ内の最終係数の候補をブロック全体での最終係数の候補とする。そしてこの動画像符号化装置は、全ての係数グループについて処理が終了した時点での、最終係数の候補を最終係数とする。これにより、この動画像符号化装置は、RDOQを適用した量子化係数の最適化を1pass処理で行うことを可能とする。
本実施形態では、動画像符号化装置は、HEVCに準拠して動画像データを符号化する。しかし、動画像符号化装置は、ピクチャを分割した各ブロックの予測誤差信号を直交変換して得られる直交変換係数を量子化することによりピクチャを符号化する、他の符号化標準に準拠してもよい。
図3は、一つの実施形態による動画像符号化装置の概略構成図である。動画像符号化装置1は、予測誤差算出部11と、直交変換部12と、量子化部13と、可変長符号化部14と、復号部15と、記憶部19と、動きベクトル計算部20と、符号化モード判定部21と、予測ブロック生成部22と、ループフィルタ部23とを有する。さらに、復号部15は、逆量子化部16と、逆直交変換部17と、加算部18とを有する。
動画像データに含まれる各ピクチャは、例えば、制御部(図示せず)により、複数の符号化処理の単位となるCoding Tree Unit(CTU)に分割される。そしてラスタスキャン順に従って、CTUが動画像符号化装置1に順次入力される。動画像符号化装置1は、CTUごとに動画像符号化処理を実行する。
予測誤差算出部11には、符号化対象CTUに含まれる各Coding Unit(CU)が順次入力される。そして予測誤差算出部11は、符号化対象CTU内のCUごとに、そのCU内の各TUについて、予測ブロック生成部22により生成された予測ブロックとの差分演算を実行する。そして予測誤差算出部11は、その差分演算により得られたTU内の各画素に対応する差分値を、そのTUの予測誤差信号とする。なお、上記では、TU単位で差分演算を行う例で説明したが、予測誤差算出部11は、差分演算の処理をCU単位またはPrediction Unit(PU)単位で実行してもよい。
直交変換部12は、CU内のTUごとに、そのTUの予測誤差信号を直交変換することで予測誤差信号の水平方向の周波数成分及び垂直方向の周波数成分を表す直交変換係数を求める。例えば、直交変換部12は、予測誤差信号に対して、直交変換処理としてDiscrete Cosine Transform(DCT)を実行することにより、直交変換係数として、DCT係数を得る。
量子化部13は、直交変換部12により得られたTUごとに、本実施形態による、1pass処理のRDOQを適用して量子化係数を算出する。なお、量子化部13の処理の詳細は後述する。
量子化部13は、TUごとの量子化係数を可変長符号化部14及び復号部15へ出力する。
可変長符号化部14は、量子化係数を可変長符号化する。さらに、可変長符号化部14は、予測ブロックの作成に利用された動きベクトルなどの情報も可変長符号化する。そして可変長符号化部14は、その可変長符号化によって得られた符号化ビットを、準拠する符号化標準に従って所定の順序に並べたビットストリームを出力する。なお、可変長符号化部14は、量子化係数に適用する可変長符号化方式として、Context-based Adaptive Binary Arithmetic Coding(CABAC)といった算術符号化処理を用いる。また、可変長符号化部14は、量子化係数以外の情報に関して、Context-based Adaptive Variable Length Coding (CAVLC)といったハフマン符号化処理を用いてもよい。
可変長符号化部14は、得られたビットストリームを出力する。
復号部15は、各TUの量子化された直交変換係数から、そのTUよりも後のCUなどを符号化するために参照される参照ブロックを生成し、その参照ブロックを記憶部19に記憶する。
そのために、復号部15の逆量子化部16は、各TUの量子化係数を逆量子化する。そして逆量子化部16は、各TUの復元された直交変換係数を復号部15の逆直交変換部17へ出力する。
逆直交変換部17は、TUごとに、復元された直交変換係数に対して逆直交変換を行う。例えば、直交変換部12が直交変換としてDCTを用いている場合、逆直交変換部17は、逆直交変換として逆DCT処理を実行する。これにより、逆直交変換部17は、TUごとに、符号化前の予測誤差信号と同程度の情報を有する予測誤差信号を復元する。
逆直交変換部17は、TUごとの復元された予測誤差信号を復号部15の加算部18へ出力する。
加算部18は、TUごとに、そのTUの予測ブロックの各画素値に、復元された予測誤差信号を加算することで、その後に符号化されるCUなどに対する予測ブロックを生成するために利用される参照ブロックを生成する。
加算部18は、参照ブロックを生成する度に、その参照ブロックを記憶部19に記憶させる。
記憶部19は、加算部18から受け取った参照ブロックを一時的に記憶する。そして記憶部19に、一つのピクチャに含まれる全ての参照ブロックのデータが書き込まれると、その全ての参照ブロックを組み合わせることで、他のピクチャの符号化の際に参照される参照ピクチャとなる。記憶部19は、動きベクトル計算部20、符号化モード判定部21、予測ブロック生成部22及びループフィルタ部23に、参照ブロックまたは参照ピクチャを供給する。
動きベクトル計算部20は、インター予測符号化用の予測ブロックを生成するために、符号化対象CU内のPUごとに、そのPUと、記憶部19から読み込んだ参照ピクチャとを用いて、動きベクトルを求める。動きベクトルは、PUと、そのPUに最も類似する参照ピクチャ上の領域間の空間的な移動量を表す。
動きベクトル計算部20は、PUと、参照ピクチャとのブロックマッチングを実行することにより、そのPUと最も一致する参照ピクチャ及びその参照ピクチャ上の領域の位置を決定する。そして動きベクトル計算部20は、符号化対象ピクチャ上のPUの位置と、そのPUに最も一致する参照ピクチャ上の領域との水平方向及び垂直方向の移動量を動きベクトルとする。
動きベクトル計算部20は、求めた動きベクトルと、参照ピクチャの識別情報を、符号化モード判定部21及び予測ブロック生成部22へ渡す。
符号化モード判定部21は、符号化対象CTUを分割するCU、PU及びTUのサイズ及び予測ブロックの生成に適用する予測符号化モードを決定する。符号化モード判定部21は、例えば、図示しない制御部から取得した、符号化対象CTUが含まれる符号化対象のピクチャのタイプを示す情報に基づいて、その符号化対象CTU内の各CUの予測符号化モードを決定する。符号化対象のピクチャのタイプが、イントラ予測符号化モードのみの適用が可能なIピクチャであれば、符号化モード判定部21は、適用される符号化モードとしてイントラ予測符号化モードを選択し、符号量が最小となる予測モードを選択する。また、符号化対象のピクチャのタイプがPピクチャまたはBピクチャであれば、符号化モード判定部21は、例えば、適用される符号化モードとして、インター予測符号化モード及びイントラ予測符号化モードの何れかを選択する。なお、Pピクチャは、片方向のインター予測符号化を適用可能なピクチャであり、Bピクチャは、双方向及び片方向のインター予測符号化を適用可能なピクチャである。
符号化モード判定部21は、CU、PU及びTUの適用可能なサイズと適用可能な予測符号化モードの組み合わせのそれぞれについて、符号化対象CTUの符号量の推定値である符号化コストを算出する。例えば、符号化モード判定部21は、インター予測符号化モードについては、CTUを分割するCU、PU及びTUのサイズ及び動きベクトルの予測ベクトルの生成方法を規定するベクトルモードの組み合わせごとに符号化コストを算出する。また、イントラ予測符号化モードについては、符号化モード判定部21は、CTUを分割するCU、PU及びTUのサイズ及び予測モードの組み合わせごとに符号化コストを算出する。
符号化モード判定部21は、例えば、着目する組み合わせの符号化コストを算出するために、次式に従って、その組み合わせに含まれるTUごとに、画素差分絶対値和SADを算出する。
SAD=Σ|OrgPixel-PredPixel|
ここで、OrgPixelは符号化対象ピクチャの着目するブロック、例えば、TUに含まれる画素の値であり、PredPixelは、着目するブロックに対応する予測ブロックに含まれる画素の値である。予測ブロックは、着目する組み合わせに含まれる予測符号化モードに従って、符号化済みの参照ピクチャまたは符号化済みの他のブロックから生成される。
符号化モード判定部21は、着目する組み合わせについて、次式に従って符号化コストCostを算出する。
Cost = ΣSAD+λR
ここで、ΣSADは、符号化対象のCTUに含まれる各TUについて算出されたSADの総和である。またRは、動きベクトル、予測モードを表すフラグなど、直交変換係数以外の項目についての符号量の推定値である。そしてλはラグランジュの未定乗数である。
なお、符号化モード判定部21は、SADの代わりに、着目するブロックと予測ブロックとの差分画像をアダマール変換した後の各画素の絶対値和SATDなどを算出してもよい。
そして符号化モード判定部21は、符号化コストが最小となるように、符号化対象CTU内のCU単位で適用される予測符号化モード(イントラ予測符号化モードまたはインター予測符号化モード)を選択する。さらに、符号化モード判定部21は、各CU内の各PU及びTUの組み合わせごとに符号化コストが最小となる予測モードまたはベクトルモードを選択する。
符号化モード判定部21は、選択したCU、PU及びTUのサイズ及び予測符号化モードの組み合わせを直交変換部12及び予測ブロック生成部22に通知する。
予測ブロック生成部22は、符号化モード判定部21によって選択されたCU、PU及びTUのサイズ及び予測符号化モードの組み合わせに従って各TUの予測ブロックを生成する。予測ブロック生成部22は、例えば、CUがインター予測符号化される場合、そのCU内のPUごとに、記憶部19から読み込んだ参照ピクチャを、動きベクトル計算部20から提供される動きベクトルに基づいて動き補償する。そして予測ブロック生成部22は、動き補償されたインター予測符号化用の予測ブロックを生成する。
また予測ブロック生成部22は、符号化対象CUがイントラ予測符号化される場合、符号化対象CU内のPUごとに選択された予測モードを適用することで、各TUの予測ブロックを生成する。
予測ブロック生成部22は、生成された予測ブロックを予測誤差算出部11へ渡す。
ループフィルタ部23は、記憶部19に記憶されている参照ブロックに対して、ブロックノイズを低減するために、隣接する二つの参照ブロック間の境界を跨ぐようにデブロッキングフィルタ処理を実行することで、各参照ブロックの画素値を平滑化する。デブロッキング処理を行って得られた画素の値は、符号化対象ピクチャよりも後に符号化されるピクチャを符号化する際に参照される参照ピクチャの対応する画素の値となる。なお、ループフィルタ部23は、参照ブロックに対して他のノイズ軽減処理、例えば、sample adaptive offset処理を行ってもよい。そしてループフィルタ部23は、フィルタ処理された参照ブロックの各画素値を記憶部19に書き込む。
以下、量子化部13の処理の詳細について説明する。
図4は、量子化部13の概略構成図である。量子化部13は、制御部30と、スケーリング部31と、係数最適化部32と、係数グループ最適化部33と、補正値算出部34と、最終係数位置判定部35と、判定部36と、記憶部37とを有する。
制御部30は、分割部の一例であり、直交変換係数が算出されたTUが入力されるごとに、そのTUを係数グループ単位で分割する。本実施形態では、係数グループは、上記のように、4×4個の直交変換係数を含む。本実施形態では、量子化部13は、係数グループ単位で低周波数側から順に上記の(1)〜(3)の処理を実行する。そのため、制御部30は、低周波数側の係数グループから順に、スケーリング部31へ渡す。
図5は、係数グループごとの処理順序を示す図である。この例では、TU500は32×32個の直交変換係数を含む。したがって、TU500内に、8×8個の係数グループ501が設定される。また、直交変換処理としてDCTが用いられる場合、TU500内の左上端に位置する直交変換係数が最も低い周波数(直流)の成分を表し、TU500内の右下端に位置する直交変換係数が最も高い周波数の成分を表す。そこで、量子化部13は、矢印502に示される順序で、各係数グループ501に対して(1)〜(3)の処理を実行する。
スケーリング部31は、係数グループが入力される度に、その係数グループに含まれる直交変換係数ごとに、その直交変換係数を量子化した値である量子化係数の候補のリストを作成する。本実施形態では、スケーリング部31は、直交変換係数ごとに、量子化係数の候補を3個含むリストを作成する。各候補は、{0, coeff-1, coeff}である。そして候補coeffは、HEVCに準拠するように、例えば、次式に従って直交変換係数ごとに算出される。
ここで、Ciは、低周波数側からi番目の直交変換係数であり、Q(QP%6,i)は、i番目の直交変換係数に対する量子化スケールである。またQPは、量子化部13に入力されたTUについて使用されている量子化パラメータであり、目標ビットレートなどにより決定される。さらに、QuantScales[]は、量子化スケールのリストである。また、ScalingList[type][i]は、i番目の直交変換係数に対する、typeごとに定められるスケールのリストである。typeは、量子化部13に入力されたTUのサイズ、そのTUを含むCUに適用される予測符号化モード、及び、符号化対象となっているTUが輝度成分または色差成分かなどにより決定される。また、qshiftは、量子化シフト値であり、BitDepthは、画素当たりのビット精度を表す。αは、丸め値であり、例えば、'1<<(qshift-1)'などに設定される。さらに、演算子'>>'は、低位側へのビットシフトを表し、演算子'<<'は、高位側へのビットシフトを表す。
スケーリング部31は、係数グループに含まれる各直交変換係数についての量子化係数の候補を係数最適化部32へ渡す。
係数最適化部32は、係数グループごとに、その係数グループに含まれる各直交変換係数について、対応する量子化係数の候補の中から、RDコストが最小となる候補を特定し、その候補を、その直交変換係数に対する量子化係数とする。
本実施形態では、係数最適化部32は、係数グループ内の直交変換係数の位置によらず、並列に各直交変換係数に対応する量子化係数を決定できるよう、次式に従って各直交変換係数についてのRDコストを、量子化係数の候補ごとに算出する。
ここでJ(li test)は、低周波数側からi番目の直交変換係数についての量子化係数の候補li test (={0, coeff-1, coeff})についてのRDコストである。またerr(Ci,li test)は、i番目の直交変換係数Ciと量子化係数の候補li test 間の二乗誤差である。またErrScaleは、誤差スケールを表す。そしてBitScaleは、小数ビット精度を表す。また、λはラグランジュの未定乗数であり、R[i]は、i番目の係数についての符号量である。なお、本実施形態では、符号量R[i]は、可変長符号化部で行われるCABACによる符号が求められる前のbin数に対応する値として算出される。具体的には、符号量R[i]は、次式で算出される。
ここで、sigCoeffFlag[i]、coeffAbsLevelGreater1Flag[i]、coeffAbsLevelGreater2Flag[i]、coeffAbsLevelRemaining[i]、coeffSignFlag[i]は、それぞれ、HEVCで規定されている、i番目の係数についてのシンタックスエレメントについての符号量である。このうち、sigCoefFlag[i]は、処理対象となる係数グループの量子化係数を高周波数側から順に並べた量子化係数列の最終係数位置から低周波数側の各量子化係数が0か否かを表す情報の符号量であり、1となる。また、coeffAbsLevelGreater1Flag[i]は、量子化係数の絶対値が1より大きいか否かを表す情報での符号量であり、1となる。また、coeffAbsLevelGreater2Flag[i]は、量子化係数の絶対値が2より大きいか否かを表す情報の符号量であり、0となる。また、coeffAbsLevelRemaining[i]は、絶対値が2より大きい量子化係数を二値化した情報の符号量であり、li testが1以下の場合、0である。一方、li testが2以上の場合、coeffAbsLevelRemaining[i]の符号量は、li testをTruncated Rice Golomb符号化したときのビット数となる。その符号化の際に利用されるRiceParam値は、係数グループ全体で同一の値が用いられるので、0〜4の何れかに設定されればよい。さらに、coeffSignFlag[i]は、量子化係数の正負の符号を表す情報の符号量であり、0となる。
係数最適化部32は、各直交変換係数について、RDコストJ(li test)が最小となる候補を特定し、その候補を、その直交変換係数についての量子化係数とする。そして係数最適化部32は、求めた各量子化係数を記憶部37に保存するとともに、係数グループ最適化部33、補正値算出部34及び最終係数位置判定部35へ渡す。さらに、係数最適化部32は、各直交変換係数について、量子化係数の候補の一つである0について算出した符号化誤差err(Ci,0)も記憶部37に保存する。
係数グループ最適化部33は、低周波数側から順に、係数グループごとに、その係数グループに含まれる全ての量子化係数を0にするか否かを判定する。すなわち、係数グループ最適化部33は、上記の(2)の処理を、低周波数側から順に、係数グループごとに実行する。ただし、係数グループ最適化部33は、最も低周波の係数グループに対しては、(2)の処理を実行しない。
また、最終係数が含まれる係数グループについては、係数グループ最適化の対象外であるため、係数グループ最適化部33は、着目する係数グループよりも高周波数側に最終係数が存在すると仮定する。そして係数グループ最適化部33は、着目する係数グループ内の量子化係数を維持した場合のその係数グループ全体のRDコストCGCost(m)と、着目する係数グループ内の全ての量子化係数を0に置換した場合のその係数グループ全体のRDコストCGCost0(m)を算出する。その際、係数グループ最適化部33は、係数グループ間での依存が無いように、例えば、次式に従ってCGCost(m)とCGCost0(m)とを算出する。
ここで、mは、着目する係数グループについての、低周波数側からの順番を表す。また、Σcgerr(Ci,li)は、着目する係数グループ全体の符号化誤差である。また、Ci、liは、それぞれ、着目する係数グループ内でのi番目の直交変換係数及び対応する量子化係数である。なお、err(Ci,li)は、(3)式に示した、err(Ci,li test)の算出式と同様の算出式を利用して算出される。
また、CBitsCG(m)は、量子化係数を維持した場合の着目する係数グループの符号量であり、一方、CBitsCG0(m)は、着目する係数グループ内の量子化係数を全て0に置換した場合のその係数グループの符号量である。このうち、coeffNxNCost[i]は、(4)式において示したcoeffNxNCost[i]の算出式と同様の算出式により算出される。なお、係数グループ最適化部33は、係数最適化部32が量子化係数を決定する際に算出したcoeffNxNCost[i]の値を利用して、CBitsCG(m)を求めてもよい。
CGBits(m)は、係数グループのシンタックスエレメントから求められる、その係数グループに非0の量子化係数が含まれるか否かを表す情報についての符号量であり、可変長符号化部14のCABACによる符号が算出される前のbin数に相当する。sigCoeffFlagは、係数グループ内で最も低周波数の量子化係数のみが非0か否かを表すシンタックスエレメントの符号量であり、0である。また、codedSubBlockFlagは、係数グループ内に非0の量子化係数が1個以上存在するか否かを表すシンタックスエレメントの符号量であり、1である。
係数グループ最適化部33は、着目する係数グループについて、CGCost0(m)がCGCost(m)よりも小さい場合、その係数グループに含まれる量子化係数を全て0に置換すると判定し、全ての量子化係数を0に置換する。一方、係数グループ最適化部33は、CGCost0(m)がCGCost(m)以上である場合、その係数グループに含まれる量子化係数を維持すると判定する。そして係数グループ最適化部33は、その判定結果を表すフラグを記憶部37に保存するとともに、判定部36へ通知する。
補正値算出部34は、係数グループ間でのRDコストの比較に利用する、RDコストの補正値を、係数グループごとに算出する。
ここで、再度(1)式を参照すると、最終係数の位置をkとしたとき、TU全体のRDコストTUCost(k)は、次式で表される。
(6)式において、右辺の第1項は、低周波数側から順に最終係数までの各量子化係数による符号化誤差を表し、右辺の第2項は、最終係数の位置の次の周波数位置から最も高周波数までの各量子化係数による符号化誤差を表す。ただし定義により、最終係数の位置よりも後の各量子化係数は0である。また、右辺の第3項は、ラグランジュの未定乗数にTU全体の符号量を乗じた値を表す。右辺の第1項〜第3項のうち、第1項及び第3項については、最も低周波数(すなわち、0)からk番目までの量子化係数に関連する処理に基づいて算出することができる。そこで、m番目の係数グループに最終係数が含まれると仮定した場合、(6)式の右辺の第2項を、m番目の係数グループの符号化誤差と(m+1)番目以降の係数グループについての符号化誤差とに分解することで、次式が得られる。
ここで、ΣCGDist(t)[t=0,...,m]は、0番目からm番目までの係数グループの符号化誤差を表す。また、ΣCGDist0(t)[t=m+1,...,n/16]は、(m+1)番目以降の係数グループの符号化誤差、すなわち、量子化係数が全て0の係数グループによる符号化誤差を表す。
次式で示されるように、TUCost(k)から、(m+1)番目以降の係数グループの符号化誤差ΣCGDist0(t)を除いたコストをOpt(m)とする。
TUCost(k)は、全ての係数グループの量子化係数が求められないと算出できないが、Opt(m)は、係数グループmに最終係数が含まれると仮定した場合には算出できる。ここで、係数グループmについてのコストOpt(m)と、係数グループ(m+s)(ただし、sは1以上の整数)に最終係数k'が含まれるとしたときのコストOpt(m+s)との差は次式で表される。
(9)式で示されるように、係数グループ(m+s)に最終係数k'が含まれる場合のRDコストTUCost(k')と係数グループmに最終係数kが含まれる場合のRDコストTUCost(k)との差は、コストOpt(m+s)とコストOpt(m)の差に、ΣCGDist0(t)を加えたものと等しい。ただし、t=m+1,...,m+sである。そしてコストOpt(m+s)とコストOpt(m)は、それぞれ、係数グループ(m+s)、mに最終係数が含まれると仮定することで算出できる。したがって、RDコストTUCost(k)及びTUCost(k')は算出できなくても、Opt(m)、Opt(m+s)及びΣCGDist0(t)[t=m+1,...,m+s]を求めることで、TUCost(k)とTUCost(k')の差を算出できることが分かる。
そこで、補正値算出部34は、補正値として、ΣCGDist0(t)[t=m+1,...,m+s]を算出する。この補正値ΣCGDist0(t)[t=m+1,...,m+s]は、係数グループ(m+1)〜係数グループ(m+s)について、その係数グループに含まれる全ての量子化係数を0としたときの符号化誤差err(Ci,0)の和である。補正値算出部34は、係数最適化部32が各直交変換係数に対応する量子化係数を特定するために算出したerr(Ci,0)をCGDist0(m)の算出に利用できる。そこで補正値算出部34は、その時点での最終係数の候補が含まれる係数グループの次の係数グループから順次、着目する係数グループに含まれる各量子化係数についてのerr(Ci,0)を記憶部37から読み出して、その時点での補正値ΣCGDist0(t)に加算する。これにより、補正値算出部34は、着目する係数グループについての補正値ΣCGDist0(t)を算出できる。補正値算出部34は、算出した補正値ΣCGDist0(t)[t=m+1,...,m+s]を最終係数位置判定部35へわたす。
また、補正値算出部34は、TU全体としての最終係数の候補が着目する係数グループについての最終係数の候補で更新される場合、補正値ΣCGDist0(t)を0にリセットする。
最終係数位置判定部35は、低周波数側から順に、係数グループごとに、その係数グループに最終係数が含まれると仮定して、最終係数の候補を求める。すなわち、最終係数位置判定部35は、上記の(3)の処理を、低周波数側から順に、係数グループごとに実行する。そして最終係数位置判定部35は、全ての係数グループについての処理が終了した時点での最終係数の候補を最終係数とし、その最終係数の位置を特定する。
最終係数位置判定部35は、先ず、着目する係数グループ内で最終係数位置の判定を行う。その後、最終係数位置判定部35は、それまでの係数グループに基づいて求められた、TU全体としての最終係数の候補についてのRDコストと着目する係数グループ内の最終係数の候補についてのRDコストとを、補正値とOpt()を利用して比較する。そして、最終係数位置判定部35は、着目する係数グループの方がRDコストが低ければ、着目する係数グループ内の最終係数の候補で、TU全体の最終係数の候補とする。
先ず、着目する係数グループ内での最終係数の候補の判定について説明する。
図6は、着目する係数グループ内での最終係数位置の走査順序と、最終係数の候補の一例を示す図である。図6において、着目する係数グループ600に含まれる量子化係数のうち、量子化係数601〜604の絶対値が1であり、量子化係数605の絶対値が2以上であるとする。そしてその他の量子化係数は0であるとする。最終係数位置の走査は、矢印610で示されるように、高周波数側から順に実行されるので、量子化係数601〜604のうち、量子化係数605よりも高周波数側に位置する量子化係数602〜604が、最終係数の候補となる。
最終係数位置判定部35は、最終係数の候補となる量子化係数、すなわち、後続する量子化係数の絶対値が1以下で、符号量が一定値以下となる量子化係数ごとに、次式に従ってTU全体のRDコストTUCost(k)を算出する。
ここで、kは、着目する最終係数の候補となる量子化係数についての低周波数側からの順番(ただし、最も低周波数の係数について、k=0とする)を表す。また、nは、TU全体に含まれる、量子化係数の総数から1を減じた値(TUSize2-1)である。Σerr(Ci,li)[i=0,...,k]は、0番目からk番目の量子化係数についての符号化誤差であり、Σerr(Ci,0)[i=k+1,...,n]は、(k+1)番目からn番目の量子化係数を0としたときの符号化誤差である。また、Ci、liは、それぞれ、i番目の直交変換係数及び対応する量子化係数である。なお、err(Ci,li)、err(Ci,0)は、(3)式に示した、err(Ci,li test)の算出式と同様の算出式を利用して算出される。
また、CBits(k)は、TU全体の符号量である。このうち、coeffNxNCost[i]は、(4)式において示したcoeffNxNCost[i]の算出式と同様の算出式により算出される。ただし、位置kよりも高周波数の量子化係数についての符号量は0となる。なお、最終係数位置判定部35は、CBits(k)の算出に、係数最適化部32が量子化係数を決定する際に算出したcoeffNxNCost[i]の値を利用してもよい。
CGBits(m)は、係数グループのシンタックスエレメントから求められる、係数グループ内に非0の量子化係数が含まれるか否かを表す情報についての符号量である。最終係数を含む係数グループよりも低周波数側の係数グループについては、CGBits(m)は、(5)式に示されるCGBits(m)の算出と同様の方法で算出される。一方、最終係数を含む係数グループ及びそれ以降の係数グループについては、CGBits(m)は0となる。
また、TUBits(k)は、最終係数位置を表すシンタックスエレメントについての符号量であり、可変長符号化部14のCABACによりそれらシンタックスエレメントの符号が算出される前のbin数に相当する。このうち、シンタックスエレメントcbfは、TU全体に量子化係数が含まれるか否かを表すものであり、その符号量は0または1である。なお、符号量が0になるか1になるかは、TUについての量子化部13の処理が開始される前に決定される。また、シンタックスエレメントlastSigCoeffX及びlastSigCoeffYは、それぞれ、最終係数位置(この例では、k)のTU全体でのx方向の位置及びy方向の位置を表し、その符号量は、それらシンタックスエレメントのbin数となる。
最終係数位置判定部35は、着目する係数グループ内の最終係数の候補ごとに、RDコストTUCost(k)を算出し、TUCost(k)が最小となる候補を、着目する係数グループについての最終係数の候補とする。
次に、最終係数位置判定部35は、着目する係数グループよりも低周波数側の係数グループにおいて求められた、TU全体としての最終係数の候補についてのRDコストと、着目する係数グループ内の最終係数の候補についてのRDコストとを比較する。そして最終係数位置判定部35は、着目する係数グループ内の最終係数の候補についてのRDコストの方が小さい場合、TU全体としての最終係数の候補を、着目する係数グループ内の最終係数の候補で更新する。一方、TU全体としての最終係数の候補についてのRDコストの方が小さい場合には、最終係数位置判定部35は、TU全体としての最終係数の候補を更新しない。
TU全体としての最終係数の候補についてのRDコストと、着目する係数グループ内の最終係数の候補についてのRDコストとの比較は、係数グループ間でのRDコストの比較となる。そこで、最終係数位置判定部35は、着目する係数グループ内の最終係数の候補について、(8)式及び(9)式に基づいてTU全体のRDコストから、着目する係数グループ以降の符号化誤差を除いたコストOpt(Int)を算出する。なお、Intは、着目する係数グループの番号を表す。最終係数位置判定部35は、TU全体としての最終係数の候補について算出され、記憶部37に記憶されているコストOpt(min)と、補正値算出部34から受け取った、(min+1)〜Int間の補正値ΣCGDist0とを利用して、(9)式に従ってその二つのRDコストを比較する。
さらに、着目する係数グループ内に、絶対値が2以上の量子化係数が含まれる場合、最終係数位置判定部35は、着目する係数グループよりも前の係数グループに基づいて設定されたTU全体の最終係数の候補を破棄する。これは、最終係数の条件から、絶対値が2以上の量子化係数よりも低周波数側の量子化係数が最終係数となることはないためである。
なお、最終係数位置判定部35は、係数グループ最適化処理で量子化係数が全て0に置換された係数グループを除いた、TU全体の最終係数の候補と、係数グループ最適化処理の結果に依存しない、TU全体の最終係数の候補とを記憶部37に記憶する。このように、二通りの最終係数の候補を記憶する理由は、最終の係数グループについての最終係数位置の判定が終了した時点で、係数グループの最適化の処理結果がキャンセルされる可能性が有るためである。このようなキャンセルは、最終係数位置が含まれる係数グループについては係数グループ最適化処理が行われないという制約から生じる。
図7〜図11を参照しつつ、係数グループの最適化と最終係数位置の候補の更新の一例について説明する。図7〜図11において、TU700には、4×4個の係数グループが含まれているものとする。また図7〜図11において、丸印721は、係数グループ最適化処理で量子化係数が全て0に置換された係数グループを除いた、TU全体の最終係数の候補が含まれる係数グループを表す。一方、四角722は、係数グループ最適化処理の結果に依存しない、TU全体の最終係数の候補が含まれる係数グループを表す。なお、図7〜図11では、丸印721に対応するコストOpt()をTUcostで表し、補正値をDistDで表す。一方、四角722に対応するコストOpt()をTUCostCtで表し、補正値をDistCtDで表す。
また、各係数グループ内の数値0または1は、その係数グループ内に非0の量子化係数が含まれるか否かを表す。数値0は、非0の量子化係数が含まれないことを表し、数値1は、非0の量子化係数が含まることを表す。
さらに、図7〜図11において、グレーで示される係数グループについては、係数グループ最適化処理及び最終係数位置の判定処理の対象となっていないことを表す。
図7に示されるように、最初に、左上端、すなわち、直流成分を含む、最も低周波数の係数グループ701が処理対象となる。ただし、直流成分を含む係数グループについては、グループ係数の最適化は行われないので、係数グループ701についてはその係数グループ内での最終係数の候補の決定のみが行われる。そしてTUCostCt、TUCostには、Opt(0)が保存される。
次に、係数グループ701の次に低周波数の係数グループ702が処理対象となる。そして係数グループ702では、係数グループ最適化処理により、全ての量子化係数が0に置換される。また、最終係数位置に関しては、係数グループ702内の最終係数の候補についてのRDコストよりも、係数グループ701の内の最終係数の候補についてのRDコストの方が低い。そのため、TU全体としての最終係数の候補は係数グループ701に含まれるとして、その最終係数の候補の位置は更新されない。
次に、係数グループ702の次に低周波数の係数グループ703が処理対象となる。係数グループ703では、係数グループ最適化処理により、全ての量子化係数が維持される。また、最終係数位置に関しては、係数グループ703内の最終係数の候補についてのRDコストよりも、係数グループ701の内の最終係数の候補についてのRDコストの方が低い。そのため、TU全体としての最終係数の候補は係数グループ701に含まれるとして、その最終係数の候補の位置は更新されない。
次に、図8を参照すると、係数グループ703の次に低周波数の係数グループ704が処理対象となる。そして係数グループ704では、係数グループ最適化処理により、全ての量子化係数が0に置換される。さらに、係数グループ704内の最終係数の候補についてのRDコストの方が、係数グループ701内の最終係数の候補についてのRDコストよりも低い。そのため、四角722で示されるように、係数グループ最適化の結果に依存しない方のTU全体としての最終係数の候補は係数グループ704に含まれるとして、その最終係数の候補の位置は更新される。また、TUCostCtも、Opt(3)に更新される。一方、係数グループ704では、係数グループ最適化処理により、全ての量子化係数が0に置換される。そのため、丸印721で示されるように、係数グループ最適化の結果に依存する方のTU全体としての最終係数の候補は、係数グループ701内の候補のまま維持される。
次に、係数グループ704の次に低周波数の係数グループ705が処理対象となる。そして係数グループ705では、係数グループ最適化処理により、全ての量子化係数が維持される。一方、係数グループ705内の最終係数の候補についてのRDコストの方が、係数グループ最適化に依存するTU全体についての最終係数の候補についてのRDコストよりも低い。同様に、係数グループ705内の最終係数の候補についてのRDコストの方が、係数グループ最適化に依存しないTU全体についての最終係数の候補についてのRDコストよりも低い。そこで、丸印721及び四角722に示されるように、係数グループ最適化の結果に依存する方及び依存しない方の両方について、TU全体としての最終係数の候補は係数グループ705内の最終係数の候補に更新される。そしてTUCost及びTUCostCtの両方が、Opt(4)に更新される。
次に、係数グループ705の次に低周波数の係数グループ706が処理対象となる。そして係数グループ706では、係数グループ最適化処理により、全ての量子化係数が0に置換される。また、最終係数位置に関しては、係数グループ706内の最終係数の候補についてのRDコストよりも、係数グループ705内の最終係数の候補についてのRDコストの方が低い。そのため、TU全体としての最終係数の候補は係数グループ705に含まれるとして、最終係数の候補の位置は更新されない。
次に、係数グループ706の次に低周波数の係数グループ707が処理対象となる。そして係数グループ707では、係数グループ最適化処理により、全ての量子化係数が0に置換される。さらに、係数グループ707内の最終係数の候補についてのRDコストの方が、係数グループ705内の最終係数の候補についてのRDコストよりも低い。そのため、四角722に示されるように、係数グループ最適化の結果に依存しない方のTU全体としての最終係数の候補は係数グループ707に含まれるとして、その最終係数の候補の位置が更新される。また、TUCostCtも、Opt(6)に更新される。一方、丸印721に示されるように、係数グループ最適化の結果に依存する方のTU全体としての最終係数の候補は、係数グループ705内の候補のまま維持される。
図9に示されるように、係数グループ707以降の各係数グループには、非0の量子化係数が含まれなかったとする。この場合、係数グループ707は、係数グループ最適化処理の対象とならない。そのため、係数グループ707に含まれる、各量子化係数の0への置換はキャンセルされる。そこで、判定部36は、記憶部37に保存されている、係数グループ707の元の量子化係数を読み込み、係数グループ707の各量子化係数を、その元の量子化係数に戻す。
この場合、最終係数位置判定部35は、係数グループ最適化の結果に依存しない方のTU全体としての最終係数の候補を、すなわち、係数グループ707に含まれる最終係数の候補を、最終係数とする。そして最終係数位置判定部35は、その最終係数に対応するコストをTUCostCtとする。この場合、その最終係数に対応する、TU全体のRDコストは、TUCostCt+DistCtDとなる。
一方、図10に示されるように、係数グループ712に、絶対値が1の量子化係数が含まれており、絶対値が2以上の量子化係数が含まれていなかったとする。そして係数グループ712以降には、非0の量子化係数を含む係数グループは存在しなかったとする。この場合において、係数グループ712内の最終係数の候補についてのRDコストよりも、係数グループ705内の最終係数の候補についてのRDコストの方が低いと、最終係数位置判定部35は、係数グループ705内の最終係数の候補を最終係数とする。そしてこの場合、係数グループ707に含まれる各量子化係数の0への置換は維持される。そして最終係数位置判定部35は、その最終係数に対応するコストをTUCostとする。この場合、その最終係数に対応する、TU全体のRDコストは、TUCostCt+DistDとなる。
また、図11に示されるように、最も高周波数の係数グループ716内に、絶対値が2以上の量子化係数731が含まれていたとする。この場合には、最終係数は、量子化係数731以降の量子化係数となるので、係数グループ705及び係数グループ707内の最終係数の候補は、最終係数の候補から除外される。したがって、最終係数位置判定部35は、係数グループ716内の最終係数の候補を、最終係数とすればよい。この場合も、係数グループ707に含まれる各量子化係数の0への置換は維持される。
最終係数位置判定部35は、最終係数の位置及びその最終係数の位置に対応するTU全体のRDコストを判定部36へ通知する。
判定部36は、最終係数位置判定部35により求められた最終係数の位置に対応する、TU全体のRDコストと、TUに含まれる全ての量子化係数を0に置換したときのRDコストJzとを比較する。そして判定部36は、最終係数の位置に対応するTU全体のRDコストがRDコストJz以下であれば、TU内の各量子化係数、各係数グループの非0係数の有無情報及び最終係数位置を表す情報を可変長符号化部14及び復号部15へ出力する。また、判定部36は、最終係数が位置する係数グループに含まれる全量子化係数が、係数グループ最適化処理によって0に置換されている場合、記憶部37からその係数グループに含まれる各量子化係数の値を読み出して、各量子化係数の値を元に戻す。
一方、判定部36は、RDコストJzの方が小さければ、TUに含まれる全ての量子化係数を0に置換する。そして判定部36は、TU内に非0の量子化係数が含まれないことを表す情報を可変長符号化部14及び復号部15へ出力する。
なお、判定部36は、RDコストJzを次式に従って算出する。
このうち、Σtuerr(Ci,0)は、全ての量子化係数を0としたときのTU全体の符号化誤差を表し、判定部36は、量子化係数最適化の際に算出されるerr(Ci,0)の総和をΣtuerr(Ci,0)として算出できる。またCBitsは、全ての量子化係数を0としたときのTU全体の符号量である。TUのサイズがそのTUを含むCUのサイズと等しい場合、CBits=0となり、TUのサイズがそのTUを含むCUのサイズと異なる場合、CBits=1となる。
図12は、量子化部13により実行される、レート歪み最適量子化処理の動作フローチャートである。量子化部13は、直交変換の単位となるブロック(この例では、TU)ごとに、以下の動作フローチャートに従ってレート歪み最適量子化処理を実行する。
制御部30は、TUを、係数グループごとに分割する(ステップS101)。そして制御部30は、最も周波数の低い係数グループを着目する係数グループに設定する(ステップS102)。そして制御部30は、着目する係数グループをスケーリング部31へ入力する。
スケーリング部31は、着目する係数グループに含まれる直交変換係数ごとに、量子化パラメータに従って、その直交変換係数に対応する量子化係数の候補リスト{0, coeff-1, coeff}を作成する(ステップS103)。そしてスケーリング部31は、着目する係数グループに含まれる各直交変換係数の量子化係数の候補リストを係数最適化部32にわたす。
係数最適化部32は、着目する係数グループに含まれる直交変換係数ごとに、候補リストに含まれる量子化係数の候補の中から、RDコストが最小となる候補を特定し、その特定された候補を、その直交変換係数に対応する量子化係数とする(ステップS104)。そして係数最適化部32は、着目する係数グループに含まれる各量子化係数を、記憶部37に記憶するとともに、係数グループ最適化部33及び最終係数位置判定部35に通知する。また、係数最適化部32は、各直交変換係数についてのRDコストを算出する際に求めた、量子化係数の候補'0'についての符号化誤差err(Ci,0)も記憶部37に記憶する。
係数グループ最適化部33は、着目する係数グループについて、全ての量子化係数を0に置換したときのRDコストと、全ての量子化係数を維持した場合のRDコストの比較により、全ての量子化係数を0に置換するか否か判定する(ステップS105)。そして係数グループ最適化部33は、その判定結果を記憶部37に記憶するとともに、最終係数位置判定部35へ通知する。
補正値算出部34は、現時点における、最終係数の候補を含む係数グループの次の係数グループから、着目する係数グループまでの各量子化係数を0にした場合の符号化誤差の総和を補正値ΣCGDist0として算出する(ステップS106)。そして補正値算出部34は、補正値ΣCGDist0を最終係数位置判定部35へ渡す。
最終係数位置判定部35は、着目する係数グループ内で、絶対値が2以上の量子化係数、及び、それより高周波数側で、絶対値が1が量子化係数のそれぞれについて、その量子化係数よりも高周波数側の量子化係数を0に置換したときのRDコストを算出する。そして最終係数位置判定部35は、RDコストが最小となる量子化係数を、着目する係数グループ内の最終係数の候補に設定する(ステップS107)。
さらに、最終係数位置判定部35は、現時点における、TU全体での最終係数の候補についてのRDコストよりも、着目する係数グループ内の最終係数の候補についてのRDコストの方が低いか否かを判定する。本実施形態では、最終係数位置判定部35は、現時点における、TU全体での最終係数の候補を含む係数グループのコストOpt(min)に補正値ΣCGDist0を加算した値よりも、着目する係数グループのコストOpt(Int)の方が低いか否かを判定する(ステップS108)。(Opt(min)+ΣCGDist0)よりもOpt(Int)の方が低い場合(ステップS108−Yes)、最終係数位置判定部35は、TU全体での最終係数の候補を、着目する係数グループ内の最終係数の候補で更新する(ステップS109)。
ステップS109の後、制御部30は、未着目の係数グループが有るか否か判定する(ステップS110)。また、ステップS108にて、現時点における、TU全体での最終係数の候補についてのRDコストの方が、着目する係数グループ内の最終係数の候補についてのRDコスト以下である場合(ステップS108−No)も、制御部30は、ステップS110の処理を行う。
未着目の係数グループが残っている場合(ステップS110−Yes)、制御部30は、未着目の係数グループのうちの最も低周波数の係数グループを着目する係数グループに設定する(ステップS111)。そして制御部30は、着目する係数グループをスケーリング部31へ入力し、量子化部13は、ステップS103以降の処理を実行する。
一方、未着目の係数グループが残っていない場合(ステップS110−No)、制御部30は、最終係数位置判定部35に、現時点における、TU全体での最終係数の候補を、最終係数とし、その最終係数の位置及び対応するRDコストを判定部36へ通知させる。
判定部36は、TUに含まれる全ての量子化係数を0に置換した場合のTU全体のRDコストJzが、最終係数位置に対応するTU全体のRDコストよりも低いか否か判定する(ステップS112)。RDコストJzが最終係数位置に対応するTU全体のRDコストよりも低い場合(ステップS112−Yes)、判定部36は、TUに含まれる全ての量子化係数を0に置換する(ステップS113)。そして判定部36は、TUに非0の量子化係数が含まれないことを表す情報を可変長符号化部14及び復号部15へ通知する。
一方、RDコストJzが、最終係数位置に対応するTU全体のRDコスト以上である場合(ステップS112−Yes)、判定部36は、TU内の各量子化係数を維持する。そして判定部36は、TU内の各量子化係数、各係数グループの非0係数の有無情報及び最終係数位置を表す情報を復号部15及び可変長符号化部14へ出力する(ステップS114)。
ステップS113またはS114の後、量子化部13は、レート歪み最適量子化処理を終了する。
図13は、一つの実施形態による動画像符号化装置1により実行される動画像符号化処理の動作フローチャートである。動画像符号化装置1は、符号化対象ピクチャに含まれるCTUごとに、この動画像符号化処理を実行する。
符号化モード判定部21は、予測符号化モード、CUサイズ、PUサイズ、TUサイズの組み合わせのうちで符号化コストが最小となる組み合わせを決定する(ステップS201)。そして予測ブロック生成部22は、決定した組み合わせに含まれる予測符号化モード及びCUサイズ、PUサイズ、TUサイズの組み合わせに従って、CTUに含まれる各TUの予測ブロックを算出する(ステップS202)。そして予測誤差信号算出部11は、TUごとに、TUとそのTUに対応する予測ブロック間で画素ごとに差分演算することで、予測誤差信号を算出する(ステップS203)。
その後、直交変換部12は、予測誤差信号をTUごとに直交変換して直交変換係数の組を算出する(ステップS204)。そして量子化部13は、TUごとに、各直交変換係数を、レート歪み最適化処理を適用することで量子化する(ステップS205)。
復号部15は、量子化係数を逆量子化及び逆直交変換して再生した予測誤差信号と予測ブロックを加算して参照ブロックを生成する(ステップS206)。そして復号部15は、その参照ブロックを記憶部19に記憶する。一方、可変長符号化部14は、各量子化係数を可変長符号化する(ステップS207)。そして動画像符号化装置1は、動画像符号化処理を終了する。
以上に説明してきたように、この動画像符号化装置は、直交変換の単位となるブロックごとに、そのブロックに含まれる各直交変換係数に対してレート歪み最適化処理を適用することで、そのブロックに含まれる各直交変換係数を量子化する。その際、この動画像符号化装置は、着目する係数グループよりも高周波数側の係数グループに非0の量子化係数が含まれると仮定して、着目する係数グループについて係数グループ最適化処理を行う。その一方、この動画像符号化装置は、着目する係数グループよりも高周波数側の係数グループには非0の量子化係数は存在しないと仮定して、最終係数の候補を求める。この動画像符号化装置は、着目する係数グループ内の最終係数の候補と、より低周波数側の係数グループ内に位置する最終係数の候補との間でのRDコストの比較の際に、着目する係数グループより高周波数側の係数グループによる符号化誤差を無視することとした。これにより、この動画像符号化装置は、レート歪み最適化処理を、低周波数側の係数グループから順に、いわゆる1pass処理で行うことを可能とし、レート歪み最適化処理のスループットを向上できる。
なお、変形例によれば、量子化部13は、TU全体の量子化係数を0に置換する場合を考慮しなくてもよい。この場合には、量子化部13は、全ての係数グループについて最終係数位置の判定が終わった時点で、RUコストが最小となる最終係数の候補を、そのまま最終係数とすればよい。この場合には、判定部36は省略される。
また、他の変形例によれば、符号化モード判定部21が、符号化対象のCTUに適用される予測符号化モード、CUサイズ、PUサイズ及びTUサイズを決定する際に、量子化部13と同様の処理を行ってもよい。これにより、符号化モード判定部21は、符号量だけでなく、符号化誤差も考慮して、適切な予測符号化モード、CUサイズ、PUサイズ及びTUサイズを決定できる。
なお、上記の各実施形態またはその変形例による動画像符号化装置の各部の機能をプロセッサ上で実行可能なコンピュータプログラムは、コンピュータによって読み取り可能な媒体に記録された形で提供されてもよい。
上述した実施形態またはその変形例による動画像符号化装置は、様々な用途に利用される。例えば、この動画像符号化装置は、ビデオカメラ、映像伝送装置、テレビ電話システム、コンピュータあるいは携帯電話機に組み込まれる。
図14は、上記の各実施形態またはその変形例による動画像符号化装置の各部の機能を実現するコンピュータプログラムが動作することにより、動画像符号化装置として動作するコンピュータの構成図である。
コンピュータ100は、ユーザインターフェース部101と、通信インターフェース部102と、記憶部103と、記憶媒体アクセス装置104と、プロセッサ105とを有する。プロセッサ105は、ユーザインターフェース部101、通信インターフェース部102、記憶部103及び記憶媒体アクセス装置104と、例えば、バスを介して接続される。
ユーザインターフェース部101は、例えば、キーボードとマウスなどの入力装置と、液晶ディスプレイといった表示装置とを有する。または、ユーザインターフェース部101は、タッチパネルディスプレイといった、入力装置と表示装置とが一体化された装置を有してもよい。そしてユーザインターフェース部101は、ユーザの操作に応じて、動画像符号化処理を開始させる操作信号をプロセッサ105へ出力する。
通信インターフェース部102は、コンピュータ100を、ビデオカメラなどの動画像入力装置(図示せず)と接続するための通信インターフェース及びその制御回路を有してもよい。そのような通信インターフェースは、例えば、High-Definition Multimedia Interface、またはUniversal Serial Bus(ユニバーサル・シリアル・バス、USB)とすることができる。
さらに、通信インターフェース部102は、イーサネット(登録商標)などの通信規格に従った通信ネットワークに接続するための通信インターフェース及びその制御回路を有してもよい。この場合には、通信インターフェース部102は、画像入力装置または通信ネットワークに接続された他の機器から、特定の映像フォーマットに準拠した動画像データを取得し、その動画像データをプロセッサ105へ渡す。また通信インターフェース部102は、プロセッサ105から受け取った、符号化された動画像データを通信ネットワークを介して他の機器へ出力してもよい。
記憶部103は、例えば、読み書き可能な半導体メモリと読み出し専用の半導体メモリとを有する。そして記憶部103は、プロセッサ105上で実行される、動画像符号化処理を実行するためのコンピュータプログラム、符号化対象の動画像データ、またはプロセッサ105により符号化された動画像データなどを記憶する。
記憶媒体アクセス装置104は、例えば、磁気ディスク、半導体メモリカード及び光記憶媒体といった記憶媒体106にアクセスする装置である。記憶媒体アクセス装置104は、例えば、記憶媒体106に記憶されたプロセッサ105上で実行される、動画像符号化処理用のコンピュータプログラムを読み込み、プロセッサ105に渡す。また記憶媒体アクセス装置104は、プロセッサ105により符号化された動画像データを記憶媒体106に書き込んでもよい。
プロセッサ105は、上記の各実施形態の何れかまたは変形例による動画像符号化処理用コンピュータプログラムを実行することにより、動画像データを符号化する。そしてプロセッサ105は、符号化された動画像データを記憶部103に保存し、または通信インターフェース部102を介して他の機器へ出力する。
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
1 動画像符号化装置
11 予測誤差算出部
12 直交変換部
13 量子化部
14 可変長符号化部
15 復号部
16 逆量子化部
17 逆直交変換部
18 加算部
19 記憶部
20 動きベクトル計算部
21 符号化モード判定部
22 予測ブロック生成部
23 ループフィルタ部
30 制御部
31 スケーリング部
32 係数最適化部
33 係数グループ最適化部
34 補正値算出部
35 最終係数位置判定部
36 判定部
37 記憶部
100 コンピュータ
101 ユーザインターフェース部
102 通信インターフェース部
103 記憶部
104 記憶媒体アクセス装置
105 プロセッサ
106 記憶媒体

Claims (5)

  1. 動画像に含まれるピクチャの各画素について、当該画素の値と当該画素の予測信号間の差分により得られる予測誤差信号を、前記ピクチャを分割した複数のブロックごとに直交変換することで得られる、前記ブロックに含まれる複数の直交変換係数を、所定数の前記直交変換係数を含む複数の係数グループに分割する分割部と、
    前記複数の係数グループのうち、低周波数の前記直交変換係数を含む係数グループから順に、当該係数グループに含まれる前記所定数の直交変換係数のそれぞれについて、当該直交変換係数を量子化する際の複数の量子化係数の候補の中から、符号化誤差と符号量とから求められるコストが最小となる候補を当該直交変換係数の量子化係数とする係数最適化部と、
    前記複数の係数グループのうち、低周波数の前記直交変換係数を含む係数グループから順に、当該係数グループよりも高周波数の係数グループにゼロでない量子化係数が含まれると仮定して、当該係数グループに含まれる前記所定数の前記量子化係数を全てゼロにするか否かを判定する係数グループ最適化部と、
    前記複数の係数グループのうち、低周波数の前記直交変換係数を含む係数グループから順に、当該係数グループよりも高周波数の係数グループに含まれる前記量子化係数が全てゼロであると仮定して、当該係数グループに含まれるゼロでない前記量子化係数のうちから最も高周波数のゼロでない前記量子化係数の第1の候補を求め、当該第1の候補について、前記コストから当該係数グループよりも高周波数の係数グループについての符号化誤差を除いた比較用コストが、当該係数グループよりも低周波数の係数グループについて求められた最も高周波数のゼロでない量子化係数の第2の候補について算出された前記比較用コストに前記第2の候補を含む係数グループよりも一つ高周波数の前記係数グループから当該係数グループまでの符号化誤差を加算した値よりも低い場合に、前記第2の候補を前記第1の候補に更新し、前記複数の係数グループのうちの最も高周波数の係数グループについての前記第2の候補の更新が終了したときの前記第2の候補を、最も高周波数のゼロでない量子化係数とする最終係数位置判定部と、
    前記第2の候補を含む前記係数グループよりも一つ高周波数側の前記係数グループから前記第1の候補を含む前記係数グループまでの前記符号化誤差を算出する補正値算出部と、
    を有する動画像符号化装置。
  2. 前記補正値算出部は、前記第2の候補を含む前記係数グループよりも一つ高周波数側の前記係数グループから前記第1の候補を含む前記係数グループまでに含まれる全ての前記量子化係数をゼロとして前記符号化誤差を算出する、請求項1に記載の動画像符号化装置。
  3. 前記最終係数位置判定部は、前記第2の候補として、前記第1の候補を含む前記係数グループに含まれる前記所定数の前記量子化係数が全てゼロに置換された場合も前記第1の候補で更新される第3の候補と、前記第1の候補を含む前記係数グループに含まれる前記所定数の前記量子化係数が全てゼロに置換された場合には前記第1の候補で更新されない第4の候補とを含み、前記第3の候補が含まれる前記係数グループよりも高周波数側の前記係数グループに含まれる全ての前記量子化係数がゼロである場合、前記第3の候補を、最も高周波数のゼロでない量子化係数とし、一方、前記第3の候補が含まれる前記係数グループよりも高周波数側の前記係数グループの何れかにゼロでない前記量子化係数が含まれる場合、前記第4の候補を、最も高周波数のゼロでない量子化係数とする、請求項1または2に記載の動画像符号化装置。
  4. 動画像に含まれるピクチャの各画素について、当該画素の値と当該画素の予測信号間の差分により得られる予測誤差信号を、前記ピクチャを分割した複数のブロックごとに直交変換することで得られる、前記ブロックに含まれる複数の直交変換係数を、所定数の前記直交変換係数を含む複数の係数グループに分割し、
    前記複数の係数グループのうち、低周波数の前記直交変換係数を含む係数グループから順に、当該係数グループに含まれる前記所定数の直交変換係数のそれぞれについて、当該直交変換係数を量子化する際の複数の量子化係数の候補の中から、符号化誤差と符号量とから求められるコストが最小となる候補を当該直交変換係数の量子化係数とし、
    前記複数の係数グループのうち、低周波数の前記直交変換係数を含む係数グループから順に、当該係数グループよりも高周波数の係数グループにゼロでない量子化係数が含まれると仮定して、当該係数グループに含まれる前記所定数の前記量子化係数を全てゼロにするか否かを判定し、
    前記複数の係数グループのうち、低周波数の前記直交変換係数を含む係数グループから順に、当該係数グループよりも高周波数の係数グループに含まれる前記量子化係数が全てゼロであると仮定して、当該係数グループに含まれるゼロでない前記量子化係数のうちから最も高周波数のゼロでない前記量子化係数の第1の候補を求め、
    前記第1の候補を含む前記係数グループよりも低周波数の係数グループについて求められた最も高周波数のゼロでない量子化係数の第2の候補を含む前記係数グループよりも一つ高周波数側の前記係数グループから前記第1の候補を含む前記係数グループまでの前記符号化誤差を算出し、
    前記第1の候補についての前記コストから前記第1の候補を含む係数グループよりも高周波数の係数グループについての符号化誤差を除いた比較用コストが、前記第2の候補について算出された前記比較用コストに前記符号化誤差を加算した値よりも低い場合に、前記第2の候補を前記第1の候補に更新し、前記複数の係数グループのうちの最も高周波数の係数グループについての前記第2の候補の更新が終了したときの前記第2の候補を、最も高周波数のゼロでない量子化係数とする、
    ことを含む動画像符号化方法。
  5. 動画像に含まれるピクチャの各画素について、当該画素の値と当該画素の予測信号間の差分により得られる予測誤差信号を、前記ピクチャを分割した複数のブロックごとに直交変換することで得られる、前記ブロックに含まれる複数の直交変換係数を、所定数の前記直交変換係数を含む複数の係数グループに分割し、
    前記複数の係数グループのうち、低周波数の前記直交変換係数を含む係数グループから順に、当該係数グループに含まれる前記所定数の直交変換係数のそれぞれについて、当該直交変換係数を量子化する際の複数の量子化係数の候補の中から、符号化誤差と符号量とから求められるコストが最小となる候補を当該直交変換係数の量子化係数とし、
    前記複数の係数グループのうち、低周波数の前記直交変換係数を含む係数グループから順に、当該係数グループよりも高周波数の係数グループにゼロでない量子化係数が含まれると仮定して、当該係数グループに含まれる前記所定数の前記量子化係数を全てゼロにするか否かを判定し、
    前記複数の係数グループのうち、低周波数の前記直交変換係数を含む係数グループから順に、当該係数グループよりも高周波数の係数グループに含まれる前記量子化係数が全てゼロであると仮定して、当該係数グループに含まれるゼロでない前記量子化係数のうちから最も高周波数のゼロでない前記量子化係数の第1の候補を求め、
    前記第1の候補を含む前記係数グループよりも低周波数の係数グループについて求められた最も高周波数のゼロでない量子化係数の第2の候補を含む前記係数グループよりも一つ高周波数側の前記係数グループから前記第1の候補を含む前記係数グループまでの前記符号化誤差を算出し、
    前記第1の候補についての前記コストから前記第1の候補を含む係数グループよりも高周波数の係数グループについての符号化誤差を除いた比較用コストが、前記第2の候補について算出された前記比較用コストに前記符号化誤差を加算した値よりも低い場合に、前記第2の候補を前記第1の候補に更新し、前記複数の係数グループのうちの最も高周波数の係数グループについての前記第2の候補の更新が終了したときの前記第2の候補を、最も高周波数のゼロでない量子化係数とする、
    ことをコンピュータに実行させるための動画像符号化用コンピュータプログラム。
JP2015009858A 2015-01-21 2015-01-21 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム Active JP6476900B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015009858A JP6476900B2 (ja) 2015-01-21 2015-01-21 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
US15/002,351 US10171809B2 (en) 2015-01-21 2016-01-20 Video encoding apparatus and video encoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015009858A JP6476900B2 (ja) 2015-01-21 2015-01-21 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2016134860A true JP2016134860A (ja) 2016-07-25
JP6476900B2 JP6476900B2 (ja) 2019-03-06

Family

ID=56408796

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015009858A Active JP6476900B2 (ja) 2015-01-21 2015-01-21 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム

Country Status (2)

Country Link
US (1) US10171809B2 (ja)
JP (1) JP6476900B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018135520A1 (ja) * 2017-01-20 2018-07-26 日本電気株式会社 量子化装置、量子化方法および記録媒体

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2016231584A1 (en) * 2016-09-22 2018-04-05 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding video data
US11019336B2 (en) * 2017-07-05 2021-05-25 Red.Com, Llc Video image data processing in electronic devices
US11477486B2 (en) * 2019-01-02 2022-10-18 Qualcomm Incorporated Escape coding for coefficient levels
US11924429B2 (en) * 2019-03-08 2024-03-05 Sony Group Corporation Information processing device and information processing method for determination of optimum quantization coefficients
US11363306B2 (en) * 2019-04-05 2022-06-14 Comcast Cable Communications, Llc Methods, systems, and apparatuses for processing video by adaptive rate distortion optimization
US11184642B2 (en) 2019-08-02 2021-11-23 Mediatek Inc. Methods and apparatus for simplification of coding residual blocks

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000354243A (ja) * 1999-06-10 2000-12-19 Canon Inc 符号化装置およびその方法
JP2011509642A (ja) * 2008-01-08 2011-03-24 クゥアルコム・インコーポレイテッド Cabacコーダのためのレート歪みモデリングに基づいた量子化
JP2011514055A (ja) * 2008-02-21 2011-04-28 クゥアルコム・インコーポレイテッド Cabacコーダのための2パス量子化
JP2011176483A (ja) * 2010-02-23 2011-09-08 Oki Electric Industry Co Ltd 量子化装置、プログラム及び方法、並びに、動画像符号化装置
JP2013110740A (ja) * 2011-11-19 2013-06-06 Research In Motion Ltd マルチレベル有効性写像スキャニング

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8213509B2 (en) * 2006-10-06 2012-07-03 Calos Fund Limited Liability Company Video coding on parallel processing systems
JP2012039590A (ja) * 2010-07-16 2012-02-23 Sony Corp 画像処理装置、画像処理方法、及びプログラム
US10230956B2 (en) * 2012-09-26 2019-03-12 Integrated Device Technology, Inc. Apparatuses and methods for optimizing rate-distortion of syntax elements

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000354243A (ja) * 1999-06-10 2000-12-19 Canon Inc 符号化装置およびその方法
JP2011509642A (ja) * 2008-01-08 2011-03-24 クゥアルコム・インコーポレイテッド Cabacコーダのためのレート歪みモデリングに基づいた量子化
JP2011514055A (ja) * 2008-02-21 2011-04-28 クゥアルコム・インコーポレイテッド Cabacコーダのための2パス量子化
JP2011176483A (ja) * 2010-02-23 2011-09-08 Oki Electric Industry Co Ltd 量子化装置、プログラム及び方法、並びに、動画像符号化装置
JP2013110740A (ja) * 2011-11-19 2013-06-06 Research In Motion Ltd マルチレベル有効性写像スキャニング

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018135520A1 (ja) * 2017-01-20 2018-07-26 日本電気株式会社 量子化装置、量子化方法および記録媒体
JPWO2018135520A1 (ja) * 2017-01-20 2019-11-14 日本電気株式会社 量子化装置、量子化方法およびプログラム
US10834402B2 (en) 2017-01-20 2020-11-10 Nec Corporation Quantization device, method, and recording medium for parallel processing transform coefficients
JP7020431B2 (ja) 2017-01-20 2022-02-16 日本電気株式会社 量子化装置、量子化方法およびプログラム

Also Published As

Publication number Publication date
JP6476900B2 (ja) 2019-03-06
US10171809B2 (en) 2019-01-01
US20160212427A1 (en) 2016-07-21

Similar Documents

Publication Publication Date Title
CN110024392B (zh) 用于视频译码的低复杂度符号预测
KR102028015B1 (ko) 화면 내 예측을 이용한 영상 부호화/복호화 방법 및 장치
JP6476900B2 (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
JP6698142B2 (ja) ビデオデータを符号化するための方法及び装置
KR20160093061A (ko) 비디오 코덱에서 신택스 요소 인코딩을 위한 방법 및 장치
CN110870312B (zh) 用于视频压缩中的帧内编码的方法和设备
CN114303380B (zh) 用于几何划分标志的索引的cabac译码的编码器、解码器及对应方法
JP2017168879A (ja) 画像符号化装置、画像符号化方法、及び画像符号化プログラム
US11310505B2 (en) Method and apparatus for adaptive context modeling in video encoding and decoding
JP6719538B2 (ja) ビデオデータを符号化するための方法及び装置
WO2023055300A9 (en) Improved residual sign prediction of transform coefficients in video coding
JP2017073602A (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
JP2018110313A (ja) 動画像符号化装置、動画像符号化方法、動画像符号化用コンピュータプログラム、動画像復号装置及び動画像復号方法ならびに動画像復号用コンピュータプログラム
JP6700877B2 (ja) 画像復号装置、画像復号プログラム及びチップ
JP2022183942A (ja) 符号化装置及びプログラム
JP2023117786A (ja) 符号化装置、プログラム、及びモデル生成方法
JP6154588B2 (ja) 画像符号化装置、画像復号装置及びプログラム
CN115834882A (zh) 一种帧内预测方法、装置、电子设备及存储介质
JP2016146602A (ja) 映像符号化装置、方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180731

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180824

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190121

R150 Certificate of patent or registration of utility model

Ref document number: 6476900

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150