JP6700877B2 - 画像復号装置、画像復号プログラム及びチップ - Google Patents

画像復号装置、画像復号プログラム及びチップ Download PDF

Info

Publication number
JP6700877B2
JP6700877B2 JP2016050634A JP2016050634A JP6700877B2 JP 6700877 B2 JP6700877 B2 JP 6700877B2 JP 2016050634 A JP2016050634 A JP 2016050634A JP 2016050634 A JP2016050634 A JP 2016050634A JP 6700877 B2 JP6700877 B2 JP 6700877B2
Authority
JP
Japan
Prior art keywords
block
sequence
pixel value
unit
inverse
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2016050634A
Other languages
English (en)
Other versions
JP2017168955A (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.)
Japan Broadcasting Corp
Original Assignee
Japan Broadcasting 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 Japan Broadcasting Corp filed Critical Japan Broadcasting Corp
Priority to JP2016050634A priority Critical patent/JP6700877B2/ja
Publication of JP2017168955A publication Critical patent/JP2017168955A/ja
Application granted granted Critical
Publication of JP6700877B2 publication Critical patent/JP6700877B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、画像の非可逆圧縮符号化方式の逆量子化技術において、高精度かつ低演算コストに逆量子化処理を行う画像復号装置、画像復号プログラム及びチップに関する。
従来、信号の符号化方式として、信号波形を予測し、予測残差を符号化する手法が知られている。特に、映像信号を符号化する場合においては、あるフレームを符号化する際に、映像をブロックに分割し、その符号化対象ブロック毎に既に符号化済みの別のフレームまたは当該フレーム内の画像から予測処理を行う。そして、予測処理の結果と符号化対象ブロックとの誤差に対して離散コサイン変換等の変換処理を行い、変換処理の結果である変換係数を量子化し、さらに量子化結果をエントロピー符号化する。このようにして、映像信号のデータが圧縮符号化され、符号化ストリームとして出力される。
このような符号化方式は、ハイブリッド符号化またはMC−DCT(Motion Compensation/Discrete Cosine Transform)符号化と呼ばれている。例えば、MPEG−1、MPEG−2、MPEG−4、MPEG−4 AVC/H.264、及びMPEG−H HEVC/H.265の各符号化方式は、MC−DCT符号化に属する方式である。
一方、エントロピー符号化された符号化ストリームを元の画像に復号するためには、ブロックを構成する変換係数に対し、逆量子化を行う必要がある。しかし、符号化ストリームを逆量子化する際に、量子化誤差が発生するため、ブロック間での局所的な画像の劣化が発生したり、ブロックのエッジ領域等で画像の歪みやぼけが発生したりする場合がある。
このような画像劣化等を制御するために、全変分ノルムを最小化する逆量子化値を求める手法が知られている(例えば特許文献1を参照)。具体的には、この手法は、逆量子化された複数の逆量子化値の候補の中から、空間周波数における個々の逆量子化値の振動がより小さくなるように、全変分ノルムを最小化する逆量子化値に順次更新するものである。
特許第5447871号公報
前述の符号化方式において、符号化時の量子化処理では、DCT変換された変換係数が、量子化テーブルに設定された量子化ステップで除算され、その除算結果がいわゆる丸め演算され、その結果、量子化インデックスが生成される。一方、復号時の逆量子化処理では、量子化インデックスに量子化ステップが乗算されることで、変換係数が復元される。
このため、符号化時の量子化処理において、量子化ステップが1より大きい場合には、複数の異なる変換係数が1つの量子化インデックスに変換される。そして、復号時の逆量子化処理において、1つの量子化インデックスが1つの変換係数に変換される。すなわち、符号化時の異なる複数の変換係数が、復号時に1つの代表的な変換係数に対応付けられてしまうため、量子化誤差が発生し、画質劣化を招いてしまう。さらに、この画質劣化は、ブロックの境界付近において画素値の段差として現れるため、ブロック歪みとして知覚されてしまう。
また、前述の特許文献1の手法を用いた場合、逆量子化された変換係数の複数の候補のうち、全変分ノルムを最小化するものを最終的な変換係数として採用する。これにより、画質改善を図ることができる。しかし、全変分ノルムの演算コストが大きいことから、処理負荷が高く、遅延が大きくなってしまうという問題があった。
そこで、本発明はかかる課題を解決するためになされたものであり、その目的は、圧縮符号化された画像の復号処理において、高精度かつ低演算コストに逆量子化処理を行うことが可能な画像復号装置、画像復号プログラム及びチップを提供することにある。
前記課題を解決するため、請求項1の画像復号装置は、符号化されたストリームを入力し、前記ストリームをエントロピー復号して量子化インデックス列を生成し、前記量子化インデックス列を逆量子化及び逆直交変換してブロックの画素値列を生成し、前記ブロックの画素値列をメモリに格納し、前記メモリから前記画素値列を読み出し復号画像として出力する画像復号装置において、前記量子化インデックス列を逆量子化し、前記ブロックの変換係数列を生成し、前記変換係数列を逆直交変換し、前記ブロックの画素値列を生成し、前記変換係数列の補正及び前記補正した後の変換係数列の逆直交変換を繰り返し、前記ブロックの画素値列を前記メモリに格納する逆変換部を備え、前記逆変換部が、前記逆量子化及び前記逆直交変換を行うブロックを対象ブロックとし、当該対象ブロックに隣接するブロックを参照ブロックとして、前記メモリから、前記対象ブロックと前記参照ブロックとの間の所定の境界領域における前記参照ブロックの画素値列を読み出し、前記所定の境界領域における前記対象ブロックの画素値列と、前記所定の境界領域における前記参照ブロックの画素値列との差分を定量化した評価値を算出し、前記評価値を小さくするように、前記変換係数列を補正し、前記逆変換部が、逆量子化初期化手段、変換係数記憶手段、逆直交変換手段、ブロック境界評価手段及び変換係数補正手段を備え、前記逆量子化初期化手段が、前記量子化インデックス列に逆量子化を施し、初期の変換係数列を生成し、前記初期の変換係数列を前記変換係数記憶手段に格納し、前記変換係数記憶手段が、前記初期の変換係数列を記憶すると共に、前記補正した後の変換係数列を記憶し、前記逆直交変換手段が、前記変換係数記憶手段から前記変換係数列を読み出し、前記変換係数列に逆直交変換を施し、前記対象ブロックの画素値列を生成し、前記変換係数補正手段から補正完了を入力した場合、前記対象ブロックの画素値列を前記メモリに格納し、前記ブロック境界評価手段が、前記メモリから、前記対象ブロックと前記参照ブロックとの境界領域における前記参照ブロックの画素値列を読み出し、前記境界領域における前記対象ブロックの画素値列と、前記境界領域における前記参照ブロックの画素値列との差分を定量化した評価値を算出し、前記変換係数補正手段が、前記ブロック境界評価手段により算出された前記評価値を小さくするように、前記変換係数記憶手段に格納された前記変換係数列のうち直流成分に近い所定数の前記変換係数を繰り返し補正し、前記補正の回数が所定回数と等しくなった場合、または、前記評価値の減少量が所定の閾値以下となった場合、前記補正完了を前記逆直交変換手段に出力する、ことを特徴とする。
係る構成によれば、対象ブロックと参照ブロックとの間の境界領域における画素値の連続性が向上し、ブロック歪みの発生を抑えることができる。また、元の画像の画素値が連続的である場合には、当該連続性を仮定した正則化が効を奏し、逆量子化により得られる変換係数がより真値に近くなることが期待される。また、評価値の演算は、対象ブロックと参照ブロックとの間の境界領域のみに限定されるから、対象ブロック及び参照ブロックの全領域について演算する必要がなく、演算コストを低下させることができる。また、補正回数が所定回数と等しくなった場合、または、評価値の減少量が所定の閾値以下となった場合、対象ブロックの処理が完了し、メモリに対象ブロックの画素値列が格納される。
また、請求項2の画像復号装置は、請求項1に記載の画像復号装置において、前記評価値を、前記対象ブロックと前記参照ブロックとの間の境界領域における前記対象ブロックの画素値列と、前記境界領域における前記参照ブロックの画素値列とを用いて、前記境界領域における画素対の画素値間のノルムにより定義される数量の総和とする、ことを特徴とする。
係る構成によれば、評価値の演算は、対象ブロックと参照ブロックとの間の境界領域のみに限定され、画素対のノルムに基づいてなされるから、演算コストを低下させることができる。
また、請求項の画像復号装置は、請求項1または2に記載の画像復号装置において、前記逆変換部を第1の逆変換部とし、さらに、第2の逆変換部、画像特徴量算出部及び切替部を備え、前記第2の逆変換部が、前記量子化インデックス列を逆量子化し、前記ブロックの変換係数列を生成し、前記変換係数列を逆直交変換し、対象ブロックの画素値列を生成し、前記画像特徴量算出部が、前記第2の逆変換部により生成された前記対象ブロックの画素値列、当該対象ブロックの周辺の画素値列、または、前記対象ブロックの画素値列及び当該対象ブロックの周辺の画素値列に基づいて、画像特徴量を算出し、前記切替部が、前記画像特徴量算出部により算出された画像特徴量に基づいて、前記第2の逆変換部により生成された前記対象ブロックの画素値列を確定して前記メモリに格納するか、または、前記第1の逆変換部に、前記逆量子化及び前記逆直交変換にて前記対象ブロックの画素値列を生成させ、前記対象ブロックの画素値列を確定して前記メモリに格納する、ことを特徴とする。
係る構成によれば、本発明の逆変換処理と従来の逆変換処理とが画像特徴量に応じて切り替わるから、画像特徴量に応じて演算コストを一層低下させることができる。
また、請求項の画像復号装置は、請求項1からまでのいずれか一項に記載の画像復号装置において、さらに、予測部を備え、前記逆変換部が、前記変換係数列を逆直交変換することで、前記ブロックの残差画像の画素値列を生成し、前記ブロックの残差画像の画素値列に、前記予測部により生成された予測画像の画素値列を加算することで、前記ブロックの画素値列を生成し、前記予測部が、前記メモリに格納された画素値列を読み出し、前記対象ブロックの画素値列を予測し、前記予測画像の画素値列を生成する、ことを特徴とする。
係る構成によれば、残差画像の画素値列に対して処理が行われ、対象ブロックと参照ブロックとの間の境界領域における画素値の連続性が向上し、ブロック歪みの発生を抑えることができ、演算コストを低下させることができる。
さらに、請求項の画像復号プログラムは、コンピュータを、請求項1からまでのいずれか一項に記載の画像復号装置として機能させることを特徴とする。
さらに、請求項のチップは、符号化されたストリームを入力し、前記ストリームをエントロピー復号して量子化インデックス列を生成し、前記量子化インデックス列を逆量子化及び逆直交変換してブロックの画素値列を生成し、前記ブロックの画素値列をメモリに格納し、前記メモリから前記画素値列を読み出し復号画像として出力する画像復号装置に搭載されるチップにおいて、前記量子化インデックス列を逆量子化し、前記ブロックの変換係数列を生成し、前記変換係数列を逆直交変換し、前記ブロックの画素値列を生成し、前記変換係数列の補正及び前記補正した後の変換係数列の逆直交変換を繰り返し、前記ブロックの画素値列を前記メモリに格納する逆変換部を備え、前記逆変換部が、前記逆量子化及び前記逆直交変換を行うブロックを対象ブロックとし、当該対象ブロックに隣接するブロックを参照ブロックとして、前記メモリから、前記対象ブロックと前記参照ブロックとの境界領域における前記参照ブロックの画素値列を読み出し、前記境界領域における前記対象ブロックの画素値列と、前記境界領域における前記参照ブロックの画素値列との差分を定量化した評価値を算出し、前記評価値を小さくするように、前記変換係数列を補正し、前記逆変換部が、逆量子化初期化手段、変換係数記憶手段、逆直交変換手段、ブロック境界評価手段及び変換係数補正手段を備え、前記逆量子化初期化手段が、前記量子化インデックス列に逆量子化を施し、初期の変換係数列を生成し、前記初期の変換係数列を前記変換係数記憶手段に格納し、前記変換係数記憶手段が、前記初期の変換係数列を記憶すると共に、前記補正した後の変換係数列を記憶し、前記逆直交変換手段が、前記変換係数記憶手段から前記変換係数列を読み出し、前記変換係数列に逆直交変換を施し、前記対象ブロックの画素値列を生成し、前記変換係数補正手段から補正完了を入力した場合、前記対象ブロックの画素値列を前記メモリに格納し、前記ブロック境界評価手段が、前記メモリから、前記対象ブロックと前記参照ブロックとの境界領域における前記参照ブロックの画素値列を読み出し、前記境界領域における前記対象ブロックの画素値列と、前記境界領域における前記参照ブロックの画素値列との差分を定量化した評価値を算出し、前記変換係数補正手段が、前記ブロック境界評価手段により算出された前記評価値を小さくするように、前記変換係数記憶手段に格納された前記変換係数列のうち直流成分に近い所定数の前記変換係数を繰り返し補正し、前記補正の回数が所定回数と等しくなった場合、または、前記評価値の減少量が所定の閾値以下となった場合、前記補正完了を前記逆直交変換手段に出力する、ことを特徴とする。
以上のように、本発明によれば、圧縮符号化された画像の復号処理において、高精度かつ低演算コストに逆量子化処理を行うことが可能となり、画質劣化を改善することができる。
従来の量子化前の変換係数と逆量子化後の変換係数との関係を示す図である。 画像復号処理の対象である対象ブロックと既に画像復号された参照ブロックとの境界領域を示す図である。 本発明の実施形態による画像復号装置の構成の一例を示すブロック図である。 本発明の実施形態における逆変換部の構成の一例を示すブロック図である。 ブロック内の空間周波数の低い所定数の変換係数を変更対象とする例を説明する図である。 逆変換部の処理の一例を示すフローチャートである。 本発明の他の実施形態による画像復号装置の構成の一例を示すブロック図である。 本発明の他の実施形態における逆変換部の構成の一例を示すブロック図である。
以下、本発明を実施するための形態について図面を用いて詳細に説明する。
〔本発明の概要〕
まず、本発明の概要について説明する。一般に、符号化側の画像符号化装置は、符号化対象の画像を入力すると、当該画像(入力画像)を複数の部分領域(ブロック)に分割し、ブロック単位に、ブロックの画素値、またはブロックの画素値から予測画像の画素値を減じた残差画像の画素値に対し、離散コサイン変換等の直交変換を行い、変換結果の変換係数列に対し量子化を行い、量子化インデックス列を生成する。そして、画像符号化装置は、量子化インデックス列に対しエントロピー符号化を行い、符号化ストリームとして出力する。
このような直交変換処理及び量子化処理は、画像のフレームが複数のブロックに分割された当該ブロック単位に行われる。画像符号化装置は、量子化処理において、ブロックの変換係数列につき、いずれの基底関数(離散コサイン変換を用いる場合には空間周波数)を適用したかに応じて、同値とは限らない量子化ステップを用いて量子化を行い、量子化インデックス列を生成する。空間周波数毎に適用すべき量子化ステップを表にしたものは、量子化テーブルと呼ばれる。量子化テーブルは、通例、低い空間周波数に対する量子化ステップほど小さい(細かい)値が設定されている。さらに、量子化テーブルは複数存在し、そのいずれを用いるかは、量子化パラメータ(QP:Quantization Parameter)の値によってユーザが指定する。
つまり、画像符号化装置は、量子化処理において、量子化パラメータが示す量子化テーブルを特定し、量子化テーブルに定義されている量子化ステップ(空間周波数毎の量子化ステップ)を用いて、ブロックの変換係数列のそれぞれ(空間周波数毎の変換係数)を、量子化インデックスに変換し、ブロックの量子化インデックス列を生成する。
具体的には、画像符号化装置は、以下の式を用いて、変換係数列を構成する変換係数値Tを、量子化ステップQを用いて量子化し、量子化インデックス列を構成する量子化インデックスiを算出する。
Figure 0006700877
ここで、関数roundは、引数に与えられた実数値を整数化する丸め処理を表す。round処理は、例えば、以下の式のとおりである。
Figure 0006700877
一方で、復号側の画像復号装置は、画像符号化装置から符号化ストリームを入力し、符号化ストリームに対しエントロピー復号を行い、量子化インデックス列を生成する。そして、画像復号装置は、量子化インデックス列に対し逆量子化を行い、変換係数を生成し、変換係数に対し、逆離散コサイン変換等の逆直交変換を行い、元のブロックの画素値または残差画像の画素値を生成し、元の画像を復号画像として復元する。
このような逆量子化処理及び逆直交変換処理は、ブロック単位に行われる。画像復号装置は、逆量子化処理において、量子化パラメータが示す量子化テーブルを特定し、量子化テーブルに定義されている量子化ステップ(空間周波数毎の量子化ステップ)を用いて、量子化インデックス列を構成する量子化インデックスを、変換係数列を構成する変換係数(空間周波数毎の変換係数)に変換し、変換係数列を生成する。量子化パラメータは、画像符号化装置から入力した符号化ストリームに含まれており、符号化ストリームがエントリピー復号されることで得られる。
具体的には、画像復号装置は、以下の式を用いて、量子化インデックス列を構成する量子化インデックスiを、量子化ステップQを用いて逆量子化し、変換係数列を構成する変換係数Uを算出する。つまり、画像復号装置は、量子化インデックスiに量子化ステップQを乗算することで、逆量子化後の変換係数Uを求める。
Figure 0006700877
図1は、従来の量子化前の変換係数と逆量子化後の変換係数との関係の一例を示す図である。横軸は、量子化前の変換係数Tnを示し、縦軸は、逆量子化後の変換係数Unを示す。量子化インデックス(in)は、量子化ステップQ=4のときの値を示している。図1において、T,U,iの右側のnは、ブロック内において、空間周波数に対応した番号を示す。
画像符号化装置の量子化処理において、量子化前の変換係数T(以下、nは省略する。)に応じて、図1の()で示した量子化インデックスiが求められる。例えば、量子化前の変換係数T=3のとき、量子化インデックスi=1が求められる。また、画像復号装置の逆量子化処理において、図1の()で示した量子化インデックスiに応じて、逆量子化後の変換係数Uが求められる。例えば、量子化インデックスi=1のとき、逆量子化後の変換係数U=4が求められる。
量子化前の変換係数Tが6以上10未満の場合(図1の両矢印の箇所を参照)、量子化インデックスiは全てi=2となり、量子化インデックスi=2の場合、逆量子化後の変換係数Uは、全てU=8に対応付けられる(図1の片矢印の箇所を参照)。このため、この逆量子化処理では、量子化前の変換係数Tを正確に再現することはできない。
そこで、本発明の逆量子化処理では、例えば、量子化インデックスi=2の場合、逆量子化後の変換係数を単純にU=8に対応付けるのではなく、逆量子化後の変換係数Uを、4以上9未満の中の最適な数値に対応付けることを特徴とする。逆量子化後の変換係数Uを最適な数値に対応付ける処理は、後述する図2にて説明するとおり、画像復号処理の対象である対象ブロックと既に画像復号された参照ブロックとの境界領域において、画素値が可能な限り連続的に接続されるように行われる。
図2は、画像復号処理の対象である対象ブロックと既に画像復号された参照ブロックとの境界領域を示す図である。対象ブロックの画像復号処理において、対象ブロックの上側の参照ブロック及び左側の参照ブロックが既に画像復号済みである場合を想定する。
対象ブロックと上側の参照ブロックとの間における境界領域の画素は、対象ブロックの上端に位置する画素h(0,0)〜h(7,0)、及び上側の参照ブロックの下端に位置する画素a(0,V)〜a(7,V)である。また、対象ブロックと左側の参照ブロックとの間における境界領域の画素は、対象ブロックの左端に位置する画素h(0,0)〜h(0,7)、及び左側の参照ブロックの右端に位置する画素b(H,0)〜b(H,7)である。
本発明の逆量子化処理では、図2に示した境界領域のように、逆量子化の対象である対象ブロックと、既に復号済みの1以上の参照ブロックとの間の境界に注目する。つまり、逆量子化処理の後に逆直交変換処理を行った結果の画素値が、この境界において可能な限り連続的に接続されるように(例えば、境界領域の画素対(対象ブロックの画素、及び境界を挟んでこれに対応する参照ブロックの画素)の画素値が所定範囲内の値となるように)、対象ブロックの変換係数を繰り返し補正することで、逆量子化後の変換係数Uを求める。
これにより、ブロックの境界領域で発生するブロック歪み等による局所的な画像の劣化を改善することができる。
尚、図2に示した境界領域は、対象ブロックと参照ブロックとが接する境界において、対象ブロックの1画素及び参照ブロックの1画素からなる1画素対の領域である。本発明の逆量子化処理では、境界領域として1画素対の領域だけでなく、2画素以上の所定画素数で対となる領域に着目し、この境界領域において画素値が連続するように、対象ブロックの変換係数を繰り返し補正するようにしてもよい。
〔画像復号装置〕
次に、本発明の実施形態による画像復号装置について説明する。図3は、本発明の実施形態による画像復号装置の構成の一例を示すブロック図である。この画像復号装置1は、エントロピー復号部11、逆変換部12及びメモリ部13を備えている。画像復号装置1は、画像の画素値に対して、逆量子化処理及び逆直交変換処理を行う。
エントロピー復号部11は、画像符号化装置から、画像のブロックの画素値列が符号化されたストリーム(符号化ストリーム)を入力し、符号化ストリームにエントリピー復号を施し、ブロックの量子化インデックス列を生成する。そして、エントロピー復号部11は、ブロックの量子化インデックス列を逆変換部12に出力する。
逆変換部12は、エントロピー復号部11からブロックの量子化インデックス列を入力し、量子化インデックス列に逆量子化を施し、ブロックの変換係数列を生成し、ブロックの変換係数列に逆直交変換を施し、ブロックの画素値列を生成する。そして、逆変換部12は、当該ブロックを対象ブロックとし、メモリ部13から、対象ブロックに隣接する参照ブロックの画素値列のうち、対象ブロックとの間の境界領域における画素値列を読み出す。
逆変換部12は、生成した対象ブロックの画素値列のうち境界領域の画素値列と、参照ブロックの境界領域における画素値列との間の差分を算出し、当該差分に基づいて、境界領域の不連続性を示す評価値Eを算出する。そして、逆変換部12は、評価値Eが減少するように(境界領域の不連続性が減少するように(境界領域が連続するように))、変換係数列の一部または全部を補正し、補正後の変換係数列に逆直交変換を施し、対象ブロックの画素値列を生成する。
逆変換部12は、このような補正処理を繰り返し行い、補正処理の繰り返しが完了したときに、対象ブロックの画素値列をメモリ部13に格納する。逆変換部12の処理の詳細については後述する。
メモリ部13には、逆変換部12により逆量子化処理及び逆変換処理が行われた対象ブロックの画素値列が、対応するブロックの位置に順次格納される。これにより、メモリ部13には、復号画像が順次形成される。
画像復号装置1は、メモリ部13内に復号画像が完全に形成された後、メモリ部13から復号画像を読み出し、外部へ出力する。
〔逆変換部12〕
次に、図3に示した逆変換部12について詳細に説明する。図4は、逆変換部12の構成の一例を示すブロック図である。この逆変換部12は、逆量子化初期化手段121、変換係数記憶手段122、逆直交変換手段123、ブロック境界評価手段124及び変換係数補正手段125を備えている。
逆量子化初期化手段121は、エントロピー復号部11から量子化インデックス列(inn=0,1,・・,N-1を入力し、各量子化インデックスに逆量子化を施し、変換係数列の初期値(Un (0)n=0,1, ・・,N-1を求める。そして、逆量子化初期化手段121は、変換係数列の初期値(Un (0)n=0,1, ・・,N-1を変換係数記憶手段122に格納する。ここで、Nは、ブロック内の量子化インデックスまたは変換係数の数であり、1以上の整数である。
例えば、逆量子化初期化手段121は、以下の式により、量子化インデックス列(inn=0,1, ・・,N-1に、量子化テーブルに格納された量子化ステップ列(Qnn=0,1, ・・,N-1を乗算することで逆量子化し、変換係数列の初期値(Un (0)n=0,1, ・・,N-1を求める。
Figure 0006700877
変換係数記憶手段122は、逆量子化初期化手段121により格納される変換係数列の初期値(Un (0)n=0,1, ・・,N-1を記憶し、後述する変換係数補正手段125により格納される変換係数列の補正値を記憶する。
つまり、変換係数記憶手段122には、逆量子化初期化手段121が動作する初期化時のみ、逆量子化初期化手段121により変換係数列の初期値(Un (0)n=0,1, ・・,N-1が格納され、初期化時以外のときに、後述する変換係数補正手段125により変換係数列の補正値が格納される。このように、変換係数記憶手段122には、変換係数列(Un (k)n=0,1, ・・,N-1が格納される。kは、繰り返しの回数を表す0以上の整数である。
逆直交変換手段123は、変換係数記憶手段122に格納された変換係数列(Un (k)n=0,1, ・・,N-1を読み出し、変換係数列(Un (k)n=0,1, ・・,N-1に逆離散コサイン変換等の逆直交変換を施し、復号画像の画素値列を生成する。そして、逆直交変換手段123は、生成した復号画像の画素値列(対象ブロックの画素値列)のうち、参照ブロック(後述するブロック境界評価手段124の処理に用いる参照ブロック)との間の境界領域における画素値列(対象ブロックの境界領域の画素値列)をブロック境界評価手段124に出力する。この場合、逆直交変換手段123は、後述する変換係数補正手段125により補正が繰り返されることに伴い、逆直交変換を繰り返して行う。
また、逆直交変換手段123は、変換係数補正手段125から補正完了を入力した場合、変換係数の補正が完了したものと判断し、生成済みの画素値列を確定し、対象ブロックの画素値列(Unn=0,1, ・・,N-1としてメモリ部13に格納する。
ブロック境界評価手段124は、逆直交変換手段123から対象ブロックの境界領域の画素値列を入力すると共に、メモリ部13から、対象ブロックに隣接する参照ブロックの画素値列(補正完了にて確定しているブロックの画素値列)のうち、対象ブロックとの間の境界領域における画素値列(参照ブロックの境界領域の画素値列)を読み出す。そして、ブロック境界評価手段124は、対象ブロックの境界領域の画素値列と参照ブロックの境界領域の画素値列とを比較し、ブロック境界(ブロック間の境界領域)の不連続性を定量化し、評価値Eを算出する。
ブロック境界評価手段124は、ブロック境界の不連続性を示す評価値Eを変換係数補正手段125に出力する。この場合、ブロック境界評価手段124は、後述する変換係数補正手段125により補正が繰り返され、逆直交変換手段123により逆直交変換が繰り返されることに伴い、評価値Eを繰り返し算出する。
例えば、ブロック境界評価手段124は、対象ブロックの境界領域の画素値列と参照ブロックの境界領域の画素値列とを比較し(図2を参照)、以下の式により、そのノルムにより定義される量の総和(例えば二乗和)を、ブロック境界の不連続性を示す評価値Eとして求める。
Figure 0006700877
ここで、iは、i∈(対象ブロックと参照ブロック(上)に接する画素の水平座標の全て)を示し、jは、j∈(対象ブロックと参照ブロック(左)に接する画素の垂直座標の全て)を示す。また、引数Vは、参照ブロック(上)の垂直方向の画素数から1を減じた値であり、引数Hは、参照ブロック(左)の水平方向の画素数から1を減じた値である。また、対象ブロックと参照ブロックとの大きさが異なる場合、または辺の一部のみを接する場合には、対象ブロックと参照ブロックとで接している画素についてのみ、前記数式(5)の演算を行う。
変換係数補正手段125は、ブロック境界評価手段124からブロック境界の不連続性を示す評価値Eを入力し、評価値Eが小さくなるように(ブロック境界が連続するように)、変換係数記憶手段122に格納された変換係数列(Un (k)n=0,1, ・・,N-1を繰り返し補正し、その補正結果である変換係数列(Un (k+1)n=0,1, ・・,N-1を変換係数記憶手段122に格納する。
また、変換係数補正手段125は、繰り返し補正の回数と所定回数とを比較し、繰り返し補正の回数が所定回数と等しくなった場合に、変換係数の補正が完了したものと判断し、補正完了を逆直交変換手段123に出力する。変換係数補正手段125は、繰り返し補正の回数が所定回数よりも小さい限り、繰り返し補正の処理を継続する。繰り返し補正の回数は、変換係数が補正され、その結果、当該変換係数に対応する評価値Eが小さくなった回数であってもよいし、変換係数が補正され、当該変換係数に対応する評価値Eを入力した回数であってもよい。
尚、変換係数補正手段125は、ブロック境界の不連続性を示す評価値Eの変化量(減少量)と所定の閾値とを比較し、評価値Eの変化量(減少量)が閾値以下となった場合に、変換係数の補正が完了したものと判断し、補正完了を逆直交変換手段123に出力するようにしてもよい。また、変換係数補正手段125は、前述の繰り返し補正の回数と所定回数との比較処理、及び評価値Eの変化量(減少量)と所定の閾値との比較処理を組み合わせ、いずれかの条件を満たした場合、またはいずれか一方の条件を最初に満たした場合に、変換係数の補正が完了したものと判断し、補正完了を逆直交変換手段123に出力するようにしてもよい。
また、変換係数補正手段125は、変換係数の補正を1回のみ行うようにしてもよい。この場合、変換係数補正手段125は、第1回目の変換係数の補正を行った後、ブロック境界評価手段124から評価値Eを入力した場合に、補正完了を逆直交変換手段123に出力する。
これにより、逆直交変換手段123は、変換係数補正手段125から補正完了を入力すると、変換係数の補正が完了したものと判断し、生成済みの対象ブロックの画素値列を確定し、メモリ部13に格納する。つまり、対象ブロックについて、変換係数記憶手段122に格納された逆量子化後の変換係数(Un (k)n=0,1, ・・,N-1が繰り返し補正され、ブロック境界の不連続性が所定の条件において最も低くなる最終的な変換係数列(Unn=0,1, ・・,N-1が導出される。そして、ブロック境界の不連続性が所定の条件において最も低くなる最終的な変換係数列(Unn=0,1, ・・,N-1に対応した画素値列が、メモリ部13に格納される。
(変換係数列の繰り返し補正処理の具体例)
ここで、変換係数記憶手段122に格納された変換係数列(Un (k)n=0,1, ・・,N-1を繰り返し補正する処理の具体例について説明する。変換係数補正手段125は、例えばレーベンバーグマーカート法(Levenberg Marquardt Method)を用いて、変換係数列(Un (k)n=0,1, ・・,N-1を繰り返し補正する。
具体的には、変換係数補正手段125は、変換係数記憶手段122に格納された変換係数列(Un (k)n=0,1, ・・,N-1のうち1以上の所定数の変換係数を、所定量だけ増加または減少(変更)させる。そして、変換係数補正手段125は、その結果の評価値E2と前回の評価値E1とを比較し、評価値E2が評価値E1よりも小さい場合に、その所定数の変換係数の増加または減少(変更)を確定する。
変換係数補正手段125は、さらに同じ所定数の変換係数を変更、または他の変換係数を変更し、その結果の評価値E3と前回の評価値E2とを比較し、評価値E3が評価値E2よりも小さい場合に、その変更を確定する。
一方、変換係数補正手段125は、評価値E2が評価値E1以上の場合、または、評価値E3が評価値E2以上の場合に、その変更を取り消し、元の変換係数に戻す。そして、変換係数補正手段125は、同じ変換変数を逆方向に変更(増加を取り消した場合は減少、減少を取り消した場合は増加)したり、他の変換係数を変更したりすることで、変換係数を確定する。
このように、変換係数補正手段125は、変換係数記憶手段122に格納された変換係数列(Un (k)n=0,1, ・・,N-1のうち所定数の変換係数の変更を行い、評価値Eが以前の値よりも小さい場合に、その変更を確定し、評価値Eが以前の値以上の場合に、その変更を取り消す。このような繰り返し補正処理を行うことにより、補正結果である変換係数列(Un (k+1)n=0,1, ・・,N-1が変換係数記憶手段122に格納される。
尚、変換係数補正手段125は、変換係数を変更する際に、当該変換係数について、量子化処理した結果が量子化インデックスと一致する範囲内に限り、変更することができる。例えば、変換係数に対応する量子化インデックスがinであった場合、量子化ステップをQとして、当該変換係数の変更後の値Un (k+1)は、(in−0.5)・Q≦Un (k+1)<(in+0.5)・Qを満たさなければならない。
また、変換係数補正手段125が変更の対象とする変換係数は、変換係数列(Un (k)n=0,1, ・・,N-1のうち全ての変換係数であってもよいし、一部の変換係数であってもよい。変換係数補正手段125が、変換係数列(Un (k)n=0,1, ・・,N-1のうち一部の変換係数を変更する場合、例えば、変換係数列(Un (k)n=0,1, ・・,N-1のうち空間周波数(水平周波数及び垂直周波数)の低い方から所定数の変換係数のみを変更対象とするようにしてもよい。
図5は、ブロック内の空間周波数の低い所定数の変換係数を変更対象とする例を説明する図である。横軸は水平周波数を示し、縦軸は垂直周波数を示し、左上端は直流成分を示す。ブロック内において、網掛けを施した所定数の変換係数が変更対象である。
図5に示すように、変換係数補正手段125は、ブロック内の変換係数列(Un (k)n=0,1, ・・,N-1のうち、空間周波数の最も低い直流成分から所定周波数までの間の複数の変換係数であって、直流成分に近い所定数の変換係数を変更対象に設定し、当該所定数の変換係数の変更を繰り返し、補正結果である変換係数列(Un (k+1)n=0,1, ・・,N-1を生成する。
これにより、空間周波数の低い所定数の変換係数を変更対象(補正対象)とすることで、評価値Eを効率的に減少させることができる。したがって、ブロックの境界領域において、連続した画素値を効率的に得ることができ、結果として、ブロック歪み等による局所的な画像の劣化を改善することができる。これは、空間周波数の高い領域よりも低い領域の変換係数列の方が、ブロック歪み等に大きく影響するからである。
ここで、変換係数補正手段125は、図5に示した変更対象である網掛けを施した変換係数列について、低い空間周波数から高い空間周波数へ順番に、変換係数を補正するようにしてもよい。具体的には、変換係数補正手段125は、図5に示した変更対象の変換係数列のうち、最初に、空間周波数の直流成分の変換係数列を補正する。そして、変換係数補正手段125は、直流成分に近い(低い)空間周波数から高い空間周波数へ移行するように、変換係数列を順番に補正する。
変換係数補正手段125は、最初の変換係数について、評価値Eが小さくなるように、所定量だけ変更し、前述の繰り返し補正の回数と所定回数との比較処理の条件を満たすまで、当該変換係数を補正する。そして、変換係数補正手段125は、最初の変換係数につき前述の条件を満たした場合に、次の変換係数について、評価値Eが小さくなるように、所定量だけ変更し、前述の繰り返し補正の回数と所定回数との比較処理の条件を満たす限り、当該変換係数を補正する。
変換係数補正手段125は、このような処理を、変更対象の全ての変換係数列について行い、変更対象の全ての変換係数列について補正が完了したときに、補正完了を逆直交変換手段123に出力する。この場合、変換係数補正手段125は、変換係数列を順番に補正する処理の中で、評価値Eの変化量(減少量)と所定の閾値との比較処理の条件を満たした場合、補正が完了したとして、補正完了を逆直交変換手段123に出力するようにしてもよい。
これにより、空間周波数の低い所定数の変換係数について、低い空間周波数から高い空間周波数へと変換係数を順番に補正する(低い空間周波数の変換係数を優先して補正する)ことで、評価値Eを一層効率的に減少させることができる。したがって、ブロック歪み等による局所的な画像の劣化を改善することができる。これは、空間周波数が低い変換係数であるほど、ブロック歪み等に大きく影響するからであり、例えば、直流成分の変換係数が、ブロック歪み等に最も影響する可能性が高いからである。
(逆変換部12の処理)
次に、図4に示した逆変換部12の処理について詳細に説明する。図6は、逆変換部12の処理の一例を示すフローチャートである。まず、逆変換部12の逆量子化初期化手段121は、エントロピー復号部11から量子化インデックス列(inn=0,1, ・・,N-1を入力する(ステップS701)。そして、逆量子化初期化手段121は、各量子化インデックスに逆量子化を施し、変換係数列の初期値(Un (0)n=0,1, ・・,N-1を求め(ステップS702)、変換係数列の初期値(Un (0)n=0,1, ・・,N-1を変換係数記憶手段122に格納する(ステップS703)。
逆直交変換手段123は、変換係数記憶手段122に格納された変換係数列(Un (k)n=0,1, ・・,N-1を読み出し、変換係数列(Un (k)n=0,1, ・・,N-1に逆直交変換を施し、対象ブロックの画素値列を生成する(ステップS704)。最初は、変換係数列の初期値(Un (0)n=0,1, ・・,N-1に対し、逆直交変換が施される。
ブロック境界評価手段124は、逆直交変換手段123により逆直交変換された対象ブロックの画素値列のうち、当該対象ブロックに隣接する参照ブロックとの間の境界領域における画素値列と、当該対象ブロックに隣接する参照ブロックの画素値列のうち、対象ブロックとの間の境界領域における画素値列とを比較し、ブロック境界の不連続性を示す評価値Eを算出する(ステップS705)。
変換係数補正手段125は、ブロック境界評価手段124により算出された今回の評価値Eが前回の評価値Eよりも小さいか否か(ブロック境界が連続するように変化したか否か)を判定する(ステップS706)。変換係数補正手段125は、ステップS706において、今回の評価値Eが前回の評価値Eよりも小さい(ブロック境界が連続するように変化した)と判定した場合(ステップS706:Y)、ステップS707へ移行する。一方、変換係数補正手段125は、ステップS706において、今回の評価値Eが前回の評価値Eよりも小さくない(ブロック境界が連続するように変化していない)と判定した場合(ステップS706:N)、ステップS708へ移行する。
変換係数補正手段125は、今回の評価値Eが前回の評価値Eよりも小さい場合、ステップS706から移行して、後述するステップS708の補正処理の回数(補正回数)が所定回数よりも小さいか否かを判定する(ステップS707)。変換係数補正手段125は、ステップS707において、後述するステップS708の補正処理の回数(補正回数)が所定回数よりも小さいと判定した場合(ステップS707:Y)、ステップS708へ移行する。一方、変換係数補正手段125は、ステップS707において、後述するステップS708の補正処理の回数(補正回数)が所定回数よりも小さくないと判定した場合(ステップS707:N)、ステップS709へ移行する。
変換係数補正手段125は、今回の評価値Eが前回の評価値Eよりも小さくない場合、ステップS706から移行して、または、後述するステップS708の補正処理の回数(補正回数)が所定回数よりも小さい場合、ステップS707から移行して、変換係数列(Un (k)n=0,1, ・・,N-1の一部または全部を補正する。そして、変換係数補正手段125は、変換係数列の補正値(Un (k+1)n=0,1, ・・,N-1を決定し、変換係数記憶手段122に格納し(ステップS708)、ステップS704へ移行する。これにより、補正後の変換係数列に対して逆直交変換が施され、評価値Eが算出され、ブロック境界の不連続性が評価される。
尚、変換係数補正手段125は、今回の評価値Eが前回の評価値Eよりも小さくない場合、ステップS706から移行して、すなわち、ブロック境界が連続するように変化していない場合、既に補正した変換係数を取り消すために、変換係数記憶手段122に格納した変換係数を削除する。そして、変換係数補正手段125は、ステップS708において、補正前の変換係数列(Un (k)n=0,1, ・・,N-1を基準として、その一部または全部を新たに補正する。
変換係数補正手段125は、ステップS708の補正処理の回数(補正回数)が所定回数よりも小さくない場合、ステップS707から移行して、変換係数の補正が完了したものと判断する(ステップS709)。そして、逆直交変換手段123は、ステップS704にて既に生成済みの画素値列(変換係数記憶手段122に格納されている最新の変換係数列(Un (k)n=0,1, ・・,N-1に対応する画素値列)を確定し、対象ブロックの画素値列(Unn=0,1, ・・,N-1として出力し、メモリ部13に格納する(ステップS710)。
以上のように、本発明の実施形態の画像復号装置1によれば、逆変換部12のブロック境界評価手段124は、逆直交変換手段123により逆直交変換された対象ブロックの境界領域の画素値列と、当該対象ブロックに隣接する参照ブロックの境界領域の画素値列とを比較し、ブロック境界の不連続性を示す評価値Eを算出する。そして、変換係数補正手段125は、評価値Eが小さくなるように(ブロック境界が連続するように)、変換係数列を繰り返し補正する。
変換係数補正手段125は、繰り返し補正の回数が所定回数と等しくなったと判定し、変換係数の補正が完了したものと判断する。そして、逆直交変換手段123は、変換係数の補正が完了したときの当該変換係数から生成した画素値列を、対象ブロックの画素値列として確定する。
これにより、対象ブロックと参照ブロックとの境界領域の画素値列について、このブロック境界の不連続性が低くなるように(連続性が高くなるように)、対象ブロックの境界領域の変換係数が繰り返し補正され、符号化側における量子化前の変換係数に近い値が求められる。したがって、ブロックの境界領域で発生するブロック歪み等による局所的な画像の劣化を改善することができる。つまり、圧縮符号化された画像の復号処理において、高精度かつ低演算コストに逆量子化処理を行うことが可能となり、画質の劣化を改善することができる。
既存の画像符号化方式(例えばJPEG)及び既存の映像符号化方式(MPEG−2、MPEG−4、MPEG−4 AVC、MPEG−H HEVC等)を用いる符号化器及び復号器における逆量子化処理及び逆直交変換処理に代えて、図4及び図6に示した逆量子化処理及び逆直交変換処理を実装することにより、ブロック歪みの少ない高画質な画像符号化及び映像符号化を実現することができる。
〔画像復号装置/他の実施形態〕
次に、本発明の他の実施形態による画像復号装置について説明する。図7は、本発明の他の実施形態による画像復号装置の構成の一例を示すブロック図である。この画像復号装置2は、エントロピー復号部21、逆変換部22、メモリ部23及びフレーム内/フレーム間予測部24を備えている。画像復号装置2は、残差画像の画素値に対して、逆量子化処理及び逆直交変換処理を行う。
エントロピー復号部21は、符号化側から、残差画像のブロックの画素値列が符号化されたストリーム(符号化ストリーム)を入力し、符号化ストリームにエントリピー復号を施し、ブロックの量子化インデックス列を生成する。そして、エントロピー復号部21は、ブロックの量子化インデックス列を逆変換部22に出力する。
逆変換部22は、エントロピー復号部21からブロックの量子化インデックス列を入力し、量子化インデックス列に逆量子化を施し、ブロックの変換係数列を生成し、ブロックの変換係数列に逆変換を施し、ブロックの残差画像の画素値列を生成する。そして、逆変換部22は、ブロックの残差画像の画素値列に、後述するフレーム内/フレーム間予測部24により生成された予測画像の画素値列を入力して加算し、ブロックの画素値列を求める。逆変換部22は、当該ブロックを対象ブロックとし、メモリ部23から、対象ブロックに隣接する参照ブロックの画素値列のうち、対象ブロックとの間の境界領域における画素値列を読み出す。
逆変換部22は、対象ブロックの境界領域(参照ブロックとの間の境界領域)における画素値列と、参照ブロックの境界領域(対象ブロックとの間の境界領域)における画素値列との間の差分を算出し、当該差分に基づいて、境界領域の不連続性を表す評価値Eを算出する。そして、逆変換部22は、評価値Eが減少するように(境界領域の不連続性が減少するように(境界領域が連続するように))、変換係数列の一部または全部を補正し、補正後の変換係数列に逆直交変換を施し、対象ブロックの残差画像の画素値列を生成する。逆変換部22は、対象ブロックの残差画像の画素値列に予測画像の画素値列を加算し、対象ブロックの画素値列をメモリ部23に格納する。逆変換部22の詳細については後述する。
メモリ部23には、逆変換部22により逆量子化処理及び逆変換処理が行われた対象ブロックの画素値列が、対応するブロックの位置に順次格納される。これにより、メモリ部23には、復号画像が順次形成される。
画像復号装置2は、メモリ部23内に復号画像が完全に形成された後、メモリ部23から復号画像を読み出し、復号画像を外部へ出力する。
フレーム内/フレーム間予測部24は、メモリ部23から、これまでに形成された復号画像(これまでに復号された他の時刻のフレームであってもよい)の画素値列を読み出し、フレーム内またはフレーム間におけるこれから処理すべき対象ブロック内の画素値列を予測的に合成し、予測画像の画素値列を生成する。フレーム内/フレーム間予測部24は、予測画像の画素値列を逆変換部22に出力する。
フレーム内/フレーム間予測部24は、例えば、動きベクトル情報を利用する場合、動きベクトル情報に基づいて、他の時刻の復号画像の画素値列を空間的に移動させる(動き補償する)ことで、予測画像の画素値列を生成する。この場合、動き探索は行わない。
〔逆変換部22〕
次に、図7に示した逆変換部22について詳細に説明する。図8は、逆変換部22の構成の一例を示すブロック図である。この逆変換部22は、逆量子化初期化手段121、変換係数記憶手段122、逆直交変換手段221、加算手段222、ブロック境界評価手段124及び変換係数補正手段125を備えている。
逆変換部22は、図4に示した逆変換部12と基本的には同じ処理を行う。しかし、逆変換部22は、残差画像に対応する量子化インデックス列を入力し、残差画像の画素値列を生成して予測画像の画素値列を加算することで復号画像の画素値列を生成する。これに対し、図4に示した逆変換部12は、復号画像に対応する量子化インデックス列を入力し、復号画像の画素値列を生成する。
図4に示した逆変換部12とこの逆変換部22とを比較すると、両逆変換部12,22は、逆量子化初期化手段121、変換係数記憶手段122、ブロック境界評価手段124及び変換係数補正手段125を備えている点で同一である。一方、逆変換部22は、図4の逆直交変換手段123とは異なる逆直交変換手段221を備え、さらに加算手段222を備えている点で、逆変換部12と相違する。
逆量子化初期化手段121、変換係数記憶手段122、ブロック境界評価手段124及び変換係数補正手段125は、図4に示した構成部と同じであるから、ここでは説明を省略する。尚、変換係数補正手段125は、補正完了を加算手段222に出力する。
逆直交変換手段221は、図4に示した逆直交変換手段123と同じ処理を行い、残差画像の画素値列を生成し、残差画像の画素値列を加算手段222に出力する。
加算手段222は、逆直交変換手段221から残差画像の画素値列を入力すると共に、フレーム内/フレーム間予測部24から予測画像の画素値列を入力する。そして、加算手段222は、対象ブロックの位置について、残差画像の画素値列に予測画像の画素値列を加算し、加算結果である対象ブロックの復号画像の画素値列を求める。
加算手段222は、対象ブロックの復号画像の画素値列のうち、参照ブロックとの間の境界領域における画素値列(対象ブロックの境界領域の画素値列)をブロック境界評価手段124に出力する。この場合、加算手段222は、変換係数補正手段125により補正が繰り返されることに伴い、加算処理を繰り返して行う。逆直交変換手段221についても同様である。
また、加算手段222は、変換係数補正手段125から補正完了を入力した場合、変換係数の補正が完了したものと判断し、加算済みの画素値列を確定し、対象ブロックの復号画像の画素値列をメモリ部23に格納する。
つまり、対象ブロックについて、変換係数記憶手段122に格納された逆量子化後の変換係数が繰り返し補正され、ブロック境界の不連続性が所定の条件において最も低くなる最終的な変換係数列が導出される。そして、ブロック境界の不連続性が所定の条件において最も低くなる最終的な変換係数列に対応した残差画像の画素値列に対し、予測画像の画素値列が加算され、加算結果の画素値列がメモリ部23に格納される。
以上のように、本発明の他の実施形態の画像復号装置2によれば、画像復号装置1と同様の効果を奏し、圧縮符号化された画像の復号処理において、高精度かつ低演算コストに逆量子化処理を行うことが可能となり、画質の劣化を改善することができる。
以上、実施形態を挙げて本発明を説明したが、本発明は前記実施形態に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。例えば、前記実施形態では、符号化対象を画像として説明したが、この画像は、静止画に加え、動画像である映像を含む概念である。
また、図7に示した本発明の他の実施形態の画像復号装置2は、さらに、逆変換部22とメモリ部23との間に、ループフィルタを備えるようにしてもよい。ループフィルタは、逆変換部22から対象ブロックの画素値列を入力し、隣接するブロックの境界における歪みを低減するために、当該画素値列に対してフィルタ処理を施し、フィルタ処理後における対象ブロックの画素値列をメモリ部23に格納する。ループフィルタには、例えばデブロッキングフィルタ、SAO(Sample Adaptive Offset)、ALF(Adaptive Loop Filter)等が用いられる。
(評価値)
また、前記実施形態では、画像復号装置1,2における逆変換部12,22のブロック境界評価手段124は、対象ブロック及び参照ブロックにおけるブロック境界の不連続性を示す評価値Eを算出し、変換係数補正手段125は、ブロック境界の不連続性を示す評価値Eが小さくなるように、変換係数列を繰り返し補正するようにした。
例えば、ブロック境界評価手段124は、対象ブロックと参照ブロックとの間の境界領域における対象ブロックの画素値列と、当該境界領域における参照ブロックの画素値列とを用いて、当該境界領域における画素対の画素値間のノルム(例えば、絶対値のノルム、二乗値のノルム、全変分値)により定義される数量の総和を評価値として用いるようにしてもよい。また、ブロック境界評価手段124は、ブロック境界の連続性を示す評価値E’を算出し、変換係数補正手段125は、ブロック境界の連続性を示す評価値E’が大きくなるように、変換係数列を繰り返し補正するようにしてもよい。
(従来の処理と本発明の実施形態における処理との切り替え)
また、図3に示した本発明の実施形態による画像復号装置1において、対象ブロックの画像特徴量等に応じて、従来の逆量子化処理及び逆直交変換処理を、本発明の実施形態における逆変換部12による逆量子化処理及び逆直交変換処理に切り替えるようにしてもよい。
例えば、このような切り替えを行う画像復号装置1は、さらに、従来の逆量子化処理及び逆直交変換処理を行う従来の逆変換部、画像特徴量算出部及び切替部を備えている。画像特徴量算出部は、従来の逆変換部により生成された対象ブロックの画素値列、当該対象ブロックの周辺におけるブロックの画素値列、または、当該対象ブロックの画素値列及び当該対象ブロックの周辺におけるブロック(参照ブロック)の画素値列に基づいて、対象ブロックの境界付近の画像特徴量(例えば、アクティビティ(画像の変化度))を算出する。
切替部は、画像特徴量算出部により算出された画像特徴量と所定の閾値とを比較し、画像特徴量が所定の閾値以下の場合に(例えば画像の変化度がさほど大きくない場合に)、従来の逆変換部により生成された対象ブロックの画素値列を確定し、対象ブロックの画素値列をメモリ部13に格納する。一方、切替部は、画像特徴量が所定の閾値よりも大きい場合に(例えば画像の変化度が大きい場合に)、逆変換部12に、本発明の実施形態における逆量子化処理及び逆直交変換処理を行わせる。
尚、従来の逆変換部は、逆変換部12に備えた逆量子化初期化手段121及び逆直交変換手段123(並びに変換係数記憶手段122)を用いるようにしてもよい。また、切替部は、画像特徴量算出部により算出された画像特徴量の代わりに、逆変換部12に備えたブロック境界評価手段124により算出された評価値E(最初に算出された評価値E)を用いるようにしてもよい。この場合、切替部は、評価値Eが所定の閾値以下の場合に、既に生成済みの対象ブロックの画素値列を確定し、対象ブロックの画素値列をメモリ部13に格納する。一方、切替部は、評価値Eが所定の閾値よりも大きい場合に、逆変換部12に、本発明の実施形態における逆量子化処理及び逆直交変換処理を行わせる。
図7に示した画像復号装置2についても同様である。この場合、切替部は、画像特徴量または評価値Eが所定の閾値以下の場合に、既に生成済みの対象ブロックの画素値列を確定し、対象ブロックの画素値列をメモリ部23に格納する。
これにより、画像特徴量が所定の閾値以下の場合(例えば画像の変化度がさほど大きくない場合)、処理負荷の低い従来の逆量子化処理及び逆直交変換処理を行わせることができ、全体として処理負荷を低減することができる。
尚、前記画像復号装置1,2によるハードウェア構成としては、通常のコンピュータを使用することができる。画像復号装置1,2は、CPU、RAM等の揮発性の記憶媒体、ROM等の不揮発性の記憶媒体、及びインターフェース等を備えたコンピュータによって構成される。画像復号装置1に備えたエントロピー復号部11、逆変換部12及びメモリ部13の各機能は、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。また、画像復号装置2に備えたエントロピー復号部21、逆変換部22、メモリ部23及びフレーム内/フレーム間予測部24の各機能も、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。
これらのプログラムは、前記記憶媒体に格納されており、CPUに読み出されて実行される。また、これらのプログラムは、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の記憶媒体に格納して頒布することもでき、ネットワークを介して送受信することもできる。
また、図3に示した画像復号装置1のエントロピー復号部11からメモリ部13までの各構成部の処理は、画像復号装置1に搭載される集積回路であるLSIのチップにより実現されるようにしてもよい。これらは、個別に1チップ化されていてもよいし、これらの一部または全部が1チップ化されていてもよい。
また、LSIの代わりに、集積度の異なるVLSI、ULSI等のチップにより実現されるようにしてもよい。さらに、LSI等のチップに限るものではなく、専用回路または汎用プロセッサを用いるようにしてもよいし、FPGA(Field Programmable Gate Array)を用いるようにしてもよい。図7に示した画像復号装置2のエントロピー復号部21からメモリ部23及びフレーム内/フレーム間予測部24までの各構成部の処理についても同様である。
1,2 画像復号装置
11,21 エントロピー復号部
12,22 逆変換部
13,23 メモリ部
24 フレーム内/フレーム間予測部
121 逆量子化初期化手段
122 変換係数記憶手段
123,221 逆直交変換手段
124 ブロック境界評価手段
125 変換係数補正手段
222 加算手段

Claims (6)

  1. 符号化されたストリームを入力し、前記ストリームをエントロピー復号して量子化インデックス列を生成し、前記量子化インデックス列を逆量子化及び逆直交変換してブロックの画素値列を生成し、前記ブロックの画素値列をメモリに格納し、前記メモリから前記画素値列を読み出し復号画像として出力する画像復号装置において、
    前記量子化インデックス列を逆量子化し、前記ブロックの変換係数列を生成し、前記変換係数列を逆直交変換し、前記ブロックの画素値列を生成し、前記変換係数列の補正及び前記補正した後の変換係数列の逆直交変換を繰り返し、前記ブロックの画素値列を前記メモリに格納する逆変換部を備え、
    前記逆変換部は、
    前記逆量子化及び前記逆直交変換を行うブロックを対象ブロックとし、当該対象ブロックに隣接するブロックを参照ブロックとして、前記メモリから、前記対象ブロックと前記参照ブロックとの間の所定の境界領域における前記参照ブロックの画素値列を読み出し、前記所定の境界領域における前記対象ブロックの画素値列と、前記所定の境界領域における前記参照ブロックの画素値列との差分を定量化した評価値を算出し、前記評価値を小さくするように、前記変換係数列を補正し
    前記逆変換部は、逆量子化初期化手段、変換係数記憶手段、逆直交変換手段、ブロック境界評価手段及び変換係数補正手段を備え、
    前記逆量子化初期化手段は、
    前記量子化インデックス列に逆量子化を施し、初期の変換係数列を生成し、前記初期の変換係数列を前記変換係数記憶手段に格納し、
    前記変換係数記憶手段は、
    前記初期の変換係数列を記憶すると共に、前記補正した後の変換係数列を記憶し、
    前記逆直交変換手段は、
    前記変換係数記憶手段から前記変換係数列を読み出し、前記変換係数列に逆直交変換を施し、前記対象ブロックの画素値列を生成し、前記変換係数補正手段から補正完了を入力した場合、前記対象ブロックの画素値列を前記メモリに格納し、
    前記ブロック境界評価手段は、
    前記メモリから、前記対象ブロックと前記参照ブロックとの境界領域における前記参照ブロックの画素値列を読み出し、前記境界領域における前記対象ブロックの画素値列と、前記境界領域における前記参照ブロックの画素値列との差分を定量化した評価値を算出し、
    前記変換係数補正手段は、
    前記ブロック境界評価手段により算出された前記評価値を小さくするように、前記変換係数記憶手段に格納された前記変換係数列のうち直流成分に近い所定数の前記変換係数を繰り返し補正し、前記補正の回数が所定回数と等しくなった場合、または、前記評価値の減少量が所定の閾値以下となった場合、前記補正完了を前記逆直交変換手段に出力する、ことを特徴とする画像復号装置。
  2. 請求項1に記載の画像復号装置において、
    前記評価値を、前記対象ブロックと前記参照ブロックとの間の境界領域における前記対象ブロックの画素値列と、前記境界領域における前記参照ブロックの画素値列とを用いて、前記境界領域における画素対の画素値間のノルムにより定義される数量の総和とする、ことを特徴とする画像復号装置。
  3. 請求項1または2に記載の画像復号装置において、
    前記逆変換部を第1の逆変換部とし、さらに、第2の逆変換部、画像特徴量算出部及び切替部を備え、
    前記第2の逆変換部は、
    前記量子化インデックス列を逆量子化し、前記ブロックの変換係数列を生成し、前記変換係数列を逆直交変換し、対象ブロックの画素値列を生成し、
    前記画像特徴量算出部は、
    前記第2の逆変換部により生成された前記対象ブロックの画素値列、当該対象ブロックの周辺の画素値列、または、前記対象ブロックの画素値列及び当該対象ブロックの周辺の画素値列に基づいて、画像特徴量を算出し、
    前記切替部は、
    前記画像特徴量算出部により算出された画像特徴量に基づいて、前記第2の逆変換部により生成された前記対象ブロックの画素値列を確定して前記メモリに格納するか、または、前記第1の逆変換部に、前記逆量子化及び前記逆直交変換にて前記対象ブロックの画素値列を生成させ、前記対象ブロックの画素値列を確定して前記メモリに格納する、ことを特徴とする画像復号装置。
  4. 請求項1からまでのいずれか一項に記載の画像復号装置において、
    さらに、予測部を備え、
    前記逆変換部は、前記変換係数列を逆直交変換することで、前記ブロックの残差画像の画素値列を生成し、前記ブロックの残差画像の画素値列に、前記予測部により生成された予測画像の画素値列を加算することで、前記ブロックの画素値列を生成し、
    前記予測部は、前記メモリに格納された画素値列を読み出し、前記対象ブロックの画素値列を予測し、前記予測画像の画素値列を生成する、ことを特徴とする画像復号装置。
  5. コンピュータを、請求項1からまでのいずれか一項に記載の画像復号装置として機能させるための画像復号プログラム。
  6. 符号化されたストリームを入力し、前記ストリームをエントロピー復号して量子化インデックス列を生成し、前記量子化インデックス列を逆量子化及び逆直交変換してブロックの画素値列を生成し、前記ブロックの画素値列をメモリに格納し、前記メモリから前記画素値列を読み出し復号画像として出力する画像復号装置に搭載されるチップにおいて、
    前記量子化インデックス列を逆量子化し、前記ブロックの変換係数列を生成し、前記変換係数列を逆直交変換し、前記ブロックの画素値列を生成し、前記変換係数列の補正及び前記補正した後の変換係数列の逆直交変換を繰り返し、前記ブロックの画素値列を前記メモリに格納する逆変換部を備え、
    前記逆変換部は、
    前記逆量子化及び前記逆直交変換を行うブロックを対象ブロックとし、当該対象ブロックに隣接するブロックを参照ブロックとして、前記メモリから、前記対象ブロックと前記参照ブロックとの境界領域における前記参照ブロックの画素値列を読み出し、前記境界領域における前記対象ブロックの画素値列と、前記境界領域における前記参照ブロックの画素値列との差分を定量化した評価値を算出し、前記評価値を小さくするように、前記変換係数列を補正し、
    前記逆変換部は、逆量子化初期化手段、変換係数記憶手段、逆直交変換手段、ブロック境界評価手段及び変換係数補正手段を備え、
    前記逆量子化初期化手段は、
    前記量子化インデックス列に逆量子化を施し、初期の変換係数列を生成し、前記初期の変換係数列を前記変換係数記憶手段に格納し、
    前記変換係数記憶手段は、
    前記初期の変換係数列を記憶すると共に、前記補正した後の変換係数列を記憶し、
    前記逆直交変換手段は、
    前記変換係数記憶手段から前記変換係数列を読み出し、前記変換係数列に逆直交変換を施し、前記対象ブロックの画素値列を生成し、前記変換係数補正手段から補正完了を入力した場合、前記対象ブロックの画素値列を前記メモリに格納し、
    前記ブロック境界評価手段は、
    前記メモリから、前記対象ブロックと前記参照ブロックとの境界領域における前記参照ブロックの画素値列を読み出し、前記境界領域における前記対象ブロックの画素値列と、前記境界領域における前記参照ブロックの画素値列との差分を定量化した評価値を算出し、
    前記変換係数補正手段は、
    前記ブロック境界評価手段により算出された前記評価値を小さくするように、前記変換係数記憶手段に格納された前記変換係数列のうち直流成分に近い所定数の前記変換係数を繰り返し補正し、前記補正の回数が所定回数と等しくなった場合、または、前記評価値の減少量が所定の閾値以下となった場合、前記補正完了を前記逆直交変換手段に出力する、ことを特徴とするチップ。
JP2016050634A 2016-03-15 2016-03-15 画像復号装置、画像復号プログラム及びチップ Expired - Fee Related JP6700877B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016050634A JP6700877B2 (ja) 2016-03-15 2016-03-15 画像復号装置、画像復号プログラム及びチップ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016050634A JP6700877B2 (ja) 2016-03-15 2016-03-15 画像復号装置、画像復号プログラム及びチップ

Publications (2)

Publication Number Publication Date
JP2017168955A JP2017168955A (ja) 2017-09-21
JP6700877B2 true JP6700877B2 (ja) 2020-05-27

Family

ID=59914135

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016050634A Expired - Fee Related JP6700877B2 (ja) 2016-03-15 2016-03-15 画像復号装置、画像復号プログラム及びチップ

Country Status (1)

Country Link
JP (1) JP6700877B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05207298A (ja) * 1992-01-27 1993-08-13 Olympus Optical Co Ltd 画像復号化装置
KR0165497B1 (ko) * 1995-01-20 1999-03-20 김광호 블럭화현상 제거를 위한 후처리장치 및 그 방법
JP4788465B2 (ja) * 2006-04-28 2011-10-05 富士ゼロックス株式会社 復号化装置、復号化方法及びプログラム

Also Published As

Publication number Publication date
JP2017168955A (ja) 2017-09-21

Similar Documents

Publication Publication Date Title
US8059721B2 (en) Estimating sample-domain distortion in the transform domain with rounding compensation
JP5873536B2 (ja) 動き予測検索範囲及び拡張動きベクトルの範囲の動的選択
US8867626B2 (en) Image encoding apparatus, image encoding method, image decoding apparatus, and image decoding method
JP2006140758A (ja) 動画像符号化方法、動画像符号化装置および動画像符号化プログラム
US20210092390A1 (en) Methods and apparatuses for prediction refinement with optical flow in reference picture resampling
US20230247220A1 (en) Image encoding device, image decoding device and program
US10171809B2 (en) Video encoding apparatus and video encoding method
US10349071B2 (en) Motion vector searching apparatus, motion vector searching method, and storage medium storing motion vector searching program
CN115567722A (zh) 应用加速
US20210176486A1 (en) Methods and apparatuses for motion compensation
JP2018164299A (ja) 動画像復号化方法
JP7059410B2 (ja) 画像符号化装置、画像復号装置、及びプログラム
JP6564315B2 (ja) 符号化装置、復号装置、及びプログラム
JP6700877B2 (ja) 画像復号装置、画像復号プログラム及びチップ
JP2017073602A (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
KR100790757B1 (ko) H.264 동영상 부호화기의 적응적 고속 움직임 추정 방법
US11711528B2 (en) Systems and methods for liner model derivation
US20230199196A1 (en) Methods and Apparatuses of Frequency Domain Mode Decision in Video Encoding Systems
JP5276957B2 (ja) 動画像符号化方法及び装置
JP2011166357A (ja) 画像符号化装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200122

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200501

R150 Certificate of patent or registration of utility model

Ref document number: 6700877

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees