(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかし、上述したDCTやDSTの従来の技術では、直交変換ブロックのサイズを「32×32」の画素ブロックサイズよりも大きくすることが難しいという課題があった。これは、従来の技術では、より大サイズの直交変換をバタフライ演算に代表される再帰的な処理を有する高速アルゴリズムを使用して行う場合、所要メモリ量が増大するので、CPU(Central Processing Unit)内部のキャッシュメモリではメモリ量が不足し、十分な処理速度が得られなくなる可能性があるからである。
【0008】
また、DCTやDSTなどの直交変換は、三角関数であるコサイン関数及びサイン関数を変換核に使用して、時間領域の信号を周波数領域の信号に変換する処理である。この直交変換の処理では、三角関数の周期性を利用したバタフライ演算と呼ばれる高速アルゴリズムが一般に使用される。
図9には、バタフライ演算の構成例として、直交変換ブロックサイズが「8×8」である8点DCTの信号線図が示されている。
図9の8点DCTの信号線図は、MPEG−H HEVC/H.265の映像符号化方式で採用されている。
【0009】
図9に示されるように、一般的なバタフライ演算では、入力値x
n(但し、nは0から「N−1」までの整数)のうち入力値x
nと入力値x
N−1−nの加算を第1段目の演算として行う。このバタフライ演算により映像信号のN点DCTを行う場合、例えば垂直方向の映像信号の処理において、N点DCTの第1段目の加算処理を開始するためには、映像信号の水平画素数をWとすると、実際の回路構成上の工夫を凝らしても、少なくともW×N/2個の画素の映像信号を入力値として読み込む必要がある。このため、N点DCTの処理時間として、直交変換ブロックサイズのNの値に比例した遅延時間が発生する。例えば、8K映像の映像フォーマット「7680×4320/60P」に対して64点DCTを適用する場合、1ラインの走査時間が約4マイクロ秒であるので、約「4×64/2=128」マイクロ秒の遅延時間が発生することになる。同様の問題は、32点DCTや4点DCTなどの比較的小サイズのDCTでも生ずるが、より大サイズのDCTの方が遅延時間の影響は大きい。特に高解像度映像信号を符号化する際には符号化効率の観点から幅広いサイズの直交変換を適用することが好ましいが、リアルタイム処理において処理すべき単位時間当たりのデータ数がより多いにもかかわらず直交変換のサイズが大きくなると遅延時間が長くなるために、大サイズの直交変換を適用できない可能性があった。
【0010】
本発明は、このような事情を考慮してなされたものであり、映像信号等の信号の変換処理における遅延時間の短縮を図ることができる、変換処理装置、逆変換処理装置、符号化装置、復号装置、及びコンピュータプログラムを提供することを課題とする。
【課題を解決するための手段】
【0011】
(1)本発明の一態様は、変換ブロックサイズが「N×N、但し、Nは4以上の整数」であるN点の変換を行う変換処理装置において、N個の入力値において並びが連続する入力値のペア毎に、変換ブロックサイズが「2×2」である2点アダマール変換を行うN/2個の2点アダマール変換部と、前記2点アダマール変換の結果のうち2個の入力値の和に対して、直交変換ブロックサイズが「N/2×N/2」である離散コサイン変換の演算を行うN/2点DCT演算部と、前記2点アダマール変換の結果のうち2個の入力値の差に対して、直交変換ブロックサイズが「N/2×N/2」である離散サイン変換の演算を行うN/2点DST演算部と、を備える変換処理装置である。
(2)本発明の一態様は、上記(1)の変換処理装置において、複数の変換ブロックサイズ(N点)の変換を行う前記変換処理装置であり、前記複数の変換ブロックサイズ(N点)に各々対応する前記N/2点DCT演算部及び前記N/2点DST演算部を備え、前記複数の変換ブロックサイズ(N点)に各々対応する前記N/2点DCT演算部及び前記N/2点DST演算部で前記2点アダマール変換部を共用する、変換処理装置である。
【0012】
(3)本発明の一態様は、逆変換ブロックサイズが「N×N、但し、Nは4以上の整数」であるN点の逆変換を行う逆変換処理装置において、N個の入力値のうち、直交変換ブロックサイズが「N/2×N/2」である離散コサイン変換の結果であるN/2個の入力値に対して、逆変換ブロックサイズが「N/2×N/2」である逆離散コサイン変換の演算を行うN/2点IDCT演算部と、N個の入力値のうち、直交変換ブロックサイズが「N/2×N/2」である離散サイン変換の結果であるN/2個の入力値に対して、逆直交変換ブロックサイズが「N/2×N/2」である逆離散サイン変換の演算を行うN/2点IDST演算部と、前記N/2点IDCT演算部からの出力値と前記N/2点IDST演算部からの出力値を使用して、逆変換後の信号を生成する逆変換信号生成部と、を備える逆変換処理装置である。
【0013】
(4)本発明の一態様は、所定の変換方式により変換した信号から符号化信号を生成する符号化装置において、上記(1)又は(2)のいずれかの変換処理装置を備える符号化装置である。
(5)本発明の一態様は、所定の変換方式により変換された信号から生成された符号化信号を復号する復号装置において、上記(3)の逆変換処理装置を備える復号装置である。
【0014】
(6)本発明の一態様は、変換ブロックサイズが「N×N、但し、Nは4以上の整数」であるN点の変換を行うためのコンピュータプログラムであって、N個の入力値において並びが連続する入力値のペア毎に、変換ブロックサイズが「2×2」である2点アダマール変換を行うN/2個の2点アダマール変換機能と、前記2点アダマール変換の結果のうち2個の入力値の和に対して、直交変換ブロックサイズが「N/2×N/2」である離散コサイン変換の演算を行うN/2点DCT演算機能と、前記2点アダマール変換の結果のうち2個の入力値の差に対して、直交変換ブロックサイズが「N/2×N/2」である離散サイン変換の演算を行うN/2点DST演算機能と、をコンピュータに実現させるためのコンピュータプログラムである。
(7)本発明の一態様は、逆変換ブロックサイズが「N×N、但し、Nは4以上の整数」であるN点の逆変換を行うためのコンピュータプログラムであって、N個の入力値のうち、直交変換ブロックサイズが「N/2×N/2」である離散コサイン変換の結果であるN/2個の入力値に対して、逆変換ブロックサイズが「N/2×N/2」である逆離散コサイン変換の演算を行うN/2点IDCT演算機能と、N個の入力値のうち、直交変換ブロックサイズが「N/2×N/2」である離散サイン変換の結果であるN/2個の入力値に対して、逆直交変換ブロックサイズが「N/2×N/2」である逆離散サイン変換の演算を行うN/2点IDST演算機能と、前記N/2点IDCT演算機能からの出力値と前記N/2点IDST演算機能からの出力値を使用して、逆変換後の信号を生成する逆変換信号生成機能と、をコンピュータに実現させるためのコンピュータプログラムである。
【発明の効果】
【0015】
本発明によれば、映像信号等の信号の変換処理における遅延時間の短縮を図ることができる。
【発明を実施するための形態】
【0017】
以下、図面を参照し、本発明の実施形態について説明する。
【0018】
[基本原理]
まず、本実施形態に係る基本原理を説明する。本実施形態では、映像信号等の信号の変換処理に、2点ウォルシュ型のアダマール変換を利用する。2点ウォルシュ型のアダマール変換のことを2点アダマール変換と称する。2点アダマール変換は、次の式(1)に示される2行2列の変換行列Hで表される。2点アダマール変換において、変換ブロックのサイズである変換ブロックサイズは「2×2」である。なお、2点アダマール変換は2点ハール変換と一致する。
【0020】
上記の式(1)から分かるように、2点アダマール変換は、2個の入力値のペアに対して和の計算と差の計算から成る。この2点アダマール変換を映像信号等の信号の変換処理に利用する場合、入力信号に含まれる並びが連続する入力値のペアである入力値x
2nと入力値x
2n+1に対し、和の計算と差の計算を行えばよい。但し、nは0から「N−1」までの整数であり、Nは信号の変換処理の変換ブロックサイズであって偶数である。
【0021】
2点アダマール変換を映像信号の変換処理に利用する場合、映像信号の変換処理の変換ブロックサイズに関係なく、変換処理における最小の遅延時間は、映像信号の1ライン分の水平画素数であるW個の画素を読み込む時間で済む。例えば、8K映像の映像フォーマット「7680×4320/60P」の場合、該最小の遅延時間は、変換ブロックサイズに関係なく1ラインの走査時間である約4マイクロ秒となり、従来のバタフライ演算による64点DCTの遅延時間「約128マイクロ秒」に比して短縮される。このように、2点アダマール変換によれば、従来のバタフライ演算による直交変換に比して、映像信号の変換処理における遅延時間の短縮が可能である。
【0022】
2点アダマール変換を映像信号の変換処理に利用する場合、該変換処理は、入力される映像信号の隣接画素を平均化し解像度を半分にした画像である平均画像と、入力される映像信号の隣接画素同士の差分による解像度が半分の画像であるエッジ画像を生成する効果を持つ。つまり、2点アダマール変換を映像信号の水平方向及び垂直方向に適用することは、「N×N」の画素ブロックサイズの映像信号を解像度が各々「N/2×N/2」である平均画像とエッジ画像に分離することを意味する。
【0023】
このことから、本実施形態では、「N×N」の画素ブロックサイズの映像信号を2点アダマール変換した結果の信号に対する変換処理を、次に示す(1)、(2)により選択する。
【0024】
(1)平均画像に対する変換処理
平均画像は、解像度が半分になった一般的な映像と同等の信号性質を持つ。このため、平均画像に対する変換処理としてN/2点DCTを使用する。これは、一般的な映像信号のように隣接画素間相関の高い映像信号に対してDCTによる符号化効率が高いことによる。具体的には、上記の式(1)の変換行列Hと2個の入力値との行列乗算の結果のうち、2個の入力値の和が平均画像に対応する。したがって、該2個の入力値の和に対して、N/2点DCTを行う。
【0025】
(2)エッジ画像に対する変換処理
エッジ画像は、高周波成分を多く含む画像である。このため、エッジ画像に対する変換処理としてN/2点DSTを使用する。これは、隣接画素間相関の低い映像信号に対してDSTによる符号化効率が高いことによる。具体的には、上記の式(1)の変換行列Hと2個の入力値との行列乗算の結果のうち、2個の入力値の差がエッジ画像に対応する。したがって、該2個の入力値の差に対して、N/2点DSTを行う。
【0026】
[変換処理装置の実施例]
次に、本実施形態に係る変換処理装置、及び逆変換処理装置の実施例について説明する。
【0027】
図1は、本実施形態に係る変換処理装置1の実施例を示す構成図である。変換処理装置1には、N個の入力値x
0〜x
N−1が入力される。但し、Nは4以上の整数である。
図1に示す変換処理装置1は、N/2個の加算部11−0〜N/2−1と、N/2個の減算部12−0〜N/2−1と、N/2点DCT演算部13と、N/2点DST演算部14を備える。
【0028】
加算部11−0〜N/2−1は、入力値x
0〜x
N−1において並びが連続する入力値のペアである入力値x
2nと入力値x
2n+1の和を各々算出する。但し、nは0から「(N/2)−1」までの整数である。加算部11−nは、入力値x
2nと入力値x
2n+1を加算する。例えば、加算部11−0は入力値x
0と入力値x
1を加算する。加算部11−1は入力値x
2と入力値x
3を加算する。加算部11−N/2−1は入力値x
N−2と入力値x
N−1を加算する。各加算部11−0〜N/2−1の加算結果である和はN/2点DCT演算部13へ出力される。
【0029】
減算部12−0〜N/2−1は、入力値x
0〜x
N−1におい並びが連続する入力値のペアである入力値x
2nと入力値x
2n+1の差を各々算出する。但し、nは0から「(N/2)−1」までの整数である。減算部12−nは、入力値x
2nから入力値x
2n+1を減算する。例えば、減算部12−0は入力値x
0から入力値x
1を減算する。減算部12−1は入力値x
2から入力値x
3を減算する。減算部12−N/2−1は入力値x
N−2から入力値x
N−1を減算する。各減算部12−0〜N/2−1の減算結果である差はN/2点DST演算部14へ出力される。
【0030】
図1に示す加算部11−0〜N/2−1及び減算部12−0〜N/2−1は、N/2個の2点アダマール変換部に対応する。加算部11−nと減算部12−nのペアが1個の2点アダマール変換部に対応する。
【0031】
N/2点DCT演算部13は、加算部11−0〜N/2−1から出力された加算結果を入力値に使用して、N/2点DCTの演算を行う。N/2点DCT演算部13は、公知のバタフライ演算などの高速アルゴリズムを利用して構成される。N/2点DCT演算部13は、N/2点DCTの演算結果である値X
0〜X
N/2−1を出力する。
【0032】
N/2点DST演算部14は、減算部12−0〜N/2−1から出力された減算結果を入力値に使用して、N/2点DSTの演算を行う。N/2点DST演算部14は、公知のバタフライ演算などの高速アルゴリズムを利用して構成される。N/2点DST演算部14は、N/2点DSTの演算結果である値X
N/2〜X
N−1を出力する。
【0033】
図2は、本実施形態に係る逆変換処理装置2の実施例を示す構成図である。逆変換処理装置2には、N個の入力値X
0〜X
N−1が入力される。但し、Nは4以上の整数である。N個の入力値X
0〜X
N−1のうちN/2個の入力値X
0〜X
N/2−1は、上記の
図1に示す変換処理装置1のN/2点DCT演算部13の出力値に対応する。N個の入力値X
0〜X
N−1のうちN/2個の入力値X
N/2〜X
N−1は、上記の
図1に示す変換処理装置1のN/2点DST演算部14の出力値に対応する。
【0034】
図2に示す逆変換処理装置2は、上記の
図1に示す変換処理装置1の逆変換を行う。
図2に示す逆変換処理装置2は、N/2点逆離散コサイン変換(Inverse Discrete Cosine Transform:IDCT)演算部21と、N/2点逆離散サイン変換(Inverse Discrete Sine Transform:IDST)演算部22と、N/2個の加算部23−0〜N/2−1と、N/2個の減算部24−0〜N/2−1と、N個の1/2倍部27−0〜N/2−a,27−0〜N/2−bを備える。
【0035】
N/2点IDCT演算部21は、N/2個の入力値X
0〜X
N/2−1を使用して、N/2点IDCTの演算を行う。N/2点IDCT演算部21は、公知のバタフライ演算などの高速アルゴリズムを利用して構成される。N/2点IDCT演算部21は、N/2点IDCTの演算結果である値y(n)を出力する。但し、nは0から「(N/2)−1」までの整数である。
【0036】
N/2点IDST演算部22は、N/2個の入力値X
N/2〜X
N−1を使用して、N/2点IDSTの演算を行う。N/2点IDST演算部22は、公知のバタフライ演算などの高速アルゴリズムを利用して構成される。N/2点IDST演算部22は、N/2点IDSTの演算結果である値z(n)を出力する。但し、nは0から「(N/2)−1」までの整数である。各nの値y(n)と値z(n)は、各nに対応する加算部23−nと減算部24−nに入力される。
【0037】
加算部23−nは値y(n)と値z(n)を加算する。1/2倍部27−n−aは、加算部23−nの加算結果である和を1/2倍する。1/2倍部27−n−aにより1/2倍された結果の値は出力値x’(2n)として逆変換処理装置2から出力される。但し、nは0から「(N/2)−1」までの整数である。これにより、出力値x’
0,x’
2,x’
4,・・・,x’
N−2が逆変換処理装置2から出力される。
【0038】
減算部24−nは値y(n)から値z(n)を減算する。1/2倍部27−n−bは、減算部24−nの減算結果である差を1/2倍する。1/2倍部27−n−bにより1/2倍された結果の値は出力値x’(2n+1)として逆変換処理装置2から出力される。但し、nは0から「(N/2)−1」までの整数である。これにより、出力値x’
1,x’
3,x’
5,・・・,x’
N−1が逆変換処理装置2から出力される。
【0039】
なお、加算部23−0〜N/2−1と減算部24−0〜N/2−1と1/2倍部27−0〜N/2−a,27−0〜N/2−bは、逆変換信号生成部に対応する。
【0040】
なお、CPUを使用して変換処理装置1を構成する場合、N/2点DCT演算部13及びN/2点DST演算部14の所要メモリ量に足りるメモリ量のキャッシュメモリを有するCPUを使用することが好ましい。これにより、N/2点DCT演算部13及びN/2点DST演算部14の演算処理を並列で高速に実行することができる。逆変換処理装置2についても同様である。
【0041】
上述の
図1に示す変換処理装置1によれば、第1段目の演算は、2点アダマール変換の演算である入力値x
2nと入力値x
2n+1の加算及び減算である。したがって、第1段目の演算は、入力信号に含まれる並びが連続する入力値のペアである入力値x
2nと入力値x
2n+1に対し、和の計算と差の計算を行えばよい。これにより、従来のバタフライ演算による直交変換に比して、変換処理を開始するまでの遅延時間を短縮できる。また、2点アダマール変換は加算及び減算により構成されるので、その演算を非常に軽量に行うことができる。
【0042】
また、上述の
図1に示す変換処理装置1によれば、2点アダマール変換の結果の信号の特性に応じた変換処理を選択して行うことができる。具体的には、2点アダマール変換の結果のうち、2個の入力値の和に対してN/2点DCTを行い、2個の入力値の差に対してN/2点DSTを行う。これにより、「N×N」の画素ブロックサイズの映像信号を、効率よく符号化することができる。また、N/2点DCTとN/2点DSTとを並列処理することができる。これにより、N点DCT又はN点DSTによる変換処理に比して、処理の軽量化が可能となる。
【0043】
[変換処理装置の変形例]
次に、上述した本実施形態に係る変換処理装置、及び逆変換処理装置の変形例を説明する。
【0044】
図3は、本発明の一実施形態に係る変換処理装置3の構成例を示す図である。この
図3において、上記の
図1の各部に対応する部分には同一の符号を付け、その説明を省略する。
図3に示す変換処理装置3では、上記の
図1に示す変換処理装置1におけるN/2点DST演算部14を、N/2点DCT演算部32により構成している。
図3に示すN/2点DCT演算部13は、
図1に示す変換処理装置1と同じである。同様に、
図3に示す加算部11−0〜N/2−1は、上記の
図1に示す変換処理装置1と同じである。以下、
図3において、
図1の構成と異なる点を主に説明する。
【0045】
DST演算部をDCT演算部により構成する技術は、例えば特許文献1に記載されている。特許文献1に記載される技術を例えば上記の
図1に示す変換処理装置1に適用することにより、変換処理装置1におけるN/2点DST演算部14をN/2点DCT演算部32により構成することができる。
【0046】
図3に示すN/2点DCT演算部32は、上記の
図1に示す変換処理装置1におけるN/2点DST演算部14を実現するために設けられる。
図3に示す減算部12−0〜N/2−1は、上記の
図1に示す変換処理装置1と同じである。減算部12−0〜N/2−1の減算結果のうち、減算部12−2m(mは0から「(N/4)−1」までの整数)の減算結果は、そのままN/2点DCT演算部32に入力される。減算部12−0〜N/2−1の減算結果のうち、減算部12−2m+1(mは0から「(N/4)−1」までの整数)の減算結果は、符号反転部31−2m+1により符号が反転されてからN/2点DCT演算部32に入力される。符号反転部31−2m+1は入力された値の符号を反転させる。但し、mは0から「(N/4)−1」までの整数である。
【0047】
本変形例によれば、本実施形態に係る変換処理装置において、N/2点DST演算部をN/2点DCT演算部により構成することができる。これにより、変換処理装置における構成の簡略化ができ、また、演算部の利用効率を向上させることができる。
【0048】
図4は、本発明の一実施形態に係る逆変換処理装置4の構成例を示す図である。この
図4において、上記の
図2の各部に対応する部分には同一の符号を付け、その説明を省略する。
図4に示す逆変換処理装置4では、上記の
図2に示す逆変換処理装置2におけるN/2点IDST演算部22を、N/2点IDCT演算部41により構成している。
図4に示すN/2点IDCT演算部21は、
図2に示す逆変換処理装置2と同じである。以下、
図4において、
図2の構成と異なる点を主に説明する。
【0049】
IDST演算部をIDCT演算部により構成する技術は、例えば特許文献1に記載されている。特許文献1に記載される技術を例えば上記の
図2に示す逆変換処理装置2に適用することにより、逆変換処理装置2におけるN/2点IDST演算部22をN/2点IDCT演算部41により構成することができる。
【0050】
図4に示すN/2点IDCT演算部41は、上記の
図2に示す逆変換処理装置2におけるN/2点IDST演算部22を実現するために設けられる。
図4に示すN/2個の加算部23−0〜N/2−1と、N/2個の減算部24−0〜N/2−1は、上記の
図2に示す逆変換処理装置2と同じである。
【0051】
加算部23−0〜N/2−1のうち加算部23−2mは、値y(2m)と値z(2m)をそのまま加算する。一方、加算部23−0〜N/2−1のうち加算部23−2m+1は、値y(2m+1)と、値z(2m+1)が符号反転部42−2m+1により符号反転された値とを加算する。但し、mは0から「(N/4)−1」までの整数である。1/2倍部27−n−aは、加算部23−nの加算結果である和を1/2倍する。ただし、nは0から「(N/2)−1」までの整数である。これにより、出力値x’
0,x’
2,x’
4,・・・,x’
N−2が逆変換処理装置4から出力される。
【0052】
減算部24−0〜N/2−1のうち減算部24−0〜2mは、値y(2m)から値z(2m)をそのまま減算する。一方、減算部24−0〜N/2−1のうち減算部24−2m+1は、値y(2m+1)から、値z(2m+1)が符号反転部42−2m+1により符号反転された値を減算する。但し、mは0から「(N/4)−1」までの整数である。1/2倍部27−n−bは、減算部24−nの減算結果である差を1/2倍する。ただし、nは0から「(N/2)−1」までの整数である。これにより、出力値x’
1,x’
3,x’
5,・・・,x’
N−1が逆変換処理装置4から出力される。
【0053】
本変形例によれば、本実施形態に係る逆変換処理装置において、N/2点IDST演算部をN/2点IDCT演算部により構成することができる。これにより、逆変換処理装置における構成の簡略化ができ、また、演算部の利用効率を向上させることができる。
【0054】
[符号化装置、及び復号装置の実施例]
次に、本実施形態に係る符号化装置、及び復号装置の実施例について説明する。符号化装置、及び復号装置の例として、映像信号の符号化装置、及び復号装置を挙げて説明する。
【0055】
図5は、本実施形態に係る符号化装置100の実施例を示す構成図である。
図5に示す符号化装置100は、画面分割部101と、減算部102と、変換部103と、量子化部104と、エントロピー符号化部105と、逆量子化部106と、逆変換部107と、加算部108と、ループフィルタ109と、イントラ予測部110と、動き補償予測部111と、切り替え部112を備える。
【0056】
画面分割部101は、符号化対象となる映像信号を入力し、この入力信号を符号化処理の処理単位のブロックに分割する。画面分割部101は分割したブロックの信号を減算部102へ出力する。減算部102は、画面分割部101から入力された信号から、切り替え部112から入力された信号を減算する。減算部102は、減算結果の信号を変換部103へ出力する。
【0057】
変換部103は、減算部102から入力された信号に対して変換を行い、変換の結果の信号を量子化部104へ出力する。本実施形態では、変換部103を、上記の
図1に示す変換処理装置1又は
図3に示す変換処理装置3により構成する。
【0058】
量子化部104は、変換部103から入力された信号に対して量子化を行い、量子化した信号をエントロピー符号化部105及び逆量子化部106へ出力する。エントロピー符号化部105は、量子化部104から入力された信号に対してエントロピー符号化を行い、符号化信号を出力する。エントロピー符号化として、例えば、CABAC(Context-based adaptive binary arithmetic coding)、CAVLC(Context-adaptive variable-length coding)又はPIPE(Probability interval partitioning entropy)などが利用可能である。
【0059】
逆量子化部106は、量子化部104から入力された信号に対して逆量子化を行い、逆量子化した信号を逆変換部107へ出力する。逆変換部107は、逆量子化部106から入力された信号に対して逆変換を行い、逆変換の結果の信号を加算部108へ出力する。逆変換部107が行う逆変換は、変換部103が行った変換の逆変換である。本実施形態では、逆変換部107を、上記の
図2に示す逆変換処理装置2又は
図4に示す逆変換処理装置4により構成する。加算部108は、逆変換部107から入力された信号と切り替え部112から入力された信号を加算し、加算結果の信号をループフィルタ109へ出力する。
【0060】
ループフィルタ109は、加算部108から入力された信号に対して平滑化等のフィルタリングを行い、フィルタリング結果の信号をイントラ予測部110及び動き補償予測部111へ出力する。イントラ予測部110は、ループフィルタ109から入力された信号に対してイントラ予測を行い、イントラ予測結果の信号を切り替え部112へ出力する。動き補償予測部111は、ループフィルタ109から入力された信号に対して動き補償予測を行い、動き補償予測結果の信号を切り替え部112へ出力する。切り替え部112は、イントラ予測部110から入力された信号又は動き補償予測部111から入力された信号のいずれを出力するかを切り替える。切り替え部112から出力された信号は、減算部102及び加算部108へ入力される。
【0061】
図5に示す符号化装置100において、変換部103は、本実施形態の変換処理装置を備える。これにより、変換部103における遅延時間が短縮されるので、符号化処理における遅延時間も短縮することができる。このことから、映像信号に対する大サイズでの変換が適用しやすくなるという効果が得られる。これは、特に高解像度映像信号の符号化において符号化効率の観点から好ましい。
【0062】
図6は、本実施形態に係る復号装置200の実施例を示す構成図である。
図6に示す復号装置200は、上記の
図5の符号化装置100の符号化に対応する復号を行う。
図6に示す復号装置200は、エントロピー復号部201と、逆量子化部202と、逆変換部203と、加算部204と、画面結合部205と、ループフィルタ206と、イントラ予測部207と、動き予測部208と、切り替え部209を備える。
【0063】
エントロピー復号部201は、復号対象となる符号化信号を入力し、この入力した符号化信号に対してエントロピー復号を行う。エントロピー復号部201は、エントロピー復号結果の信号を逆量子化部202へ出力する。逆量子化部202は、エントロピー復号部201から入力された信号に対して逆量子化を行い、逆量子化した信号を逆変換部203へ出力する。
【0064】
逆変換部203は、逆量子化部202から入力された信号に対して逆変換を行い、逆変換の結果の信号を加算部204へ出力する。逆変換部107が行う逆変換は、上記の
図5に示す変換部103が行った変換の逆変換である。本実施形態では、逆変換部203を、上記の
図2に示す逆変換処理装置2又は
図4に示す逆変換処理装置4により構成する。
【0065】
加算部204は、逆変換部203から入力された信号と切り替え部209から入力された信号を加算し、加算結果の信号を画面結合部205及びループフィルタ206へ出力する。画面結合部205は、加算部204から入力された信号から構成される復号処理の処理単位のブロックを結合して映像信号を生成する。画面結合部205は、生成した映像信号を復号信号として出力する。
【0066】
ループフィルタ206は、加算部204から入力された信号に対して超解像処理を行い、超解像処理結果の信号をイントラ予測部207及び動き予測部208へ出力する。イントラ予測部207は、ループフィルタ206から入力された信号に対してイントラ予測を行い、イントラ予測結果の信号を切り替え部209へ出力する。動き予測部208は、ループフィルタ206から入力された信号に対して動き予測を行い、動き予測結果の信号を切り替え部209へ出力する。切り替え部209は、イントラ予測部207から入力された信号又は動き予測部208から入力された信号のいずれを出力するかを切り替える。切り替え部209の切り替え制御は、加算部204の加算結果に基づいて行われる。切り替え部209から出力された信号は、加算部204へ入力される。
【0067】
次に、本実施形態に係る符号化装置100における効果の一つを説明する。映像信号の符号化では、映像信号に適した画素ブロックサイズで変換を適用することが、よりきめ細かい符号化制御を行うことができることから好ましい。例えば、MPEG−H HEVC/H.265の映像符号化方式では、2次元の直交変換を「4×4」から「32×32」までの画素ブロックサイズで行うことができる。このことから、符号化装置100において、複数の画素ブロックサイズの変換を行うようにしてもよい。例えば、上記の
図5に示す変換部103を、複数の画素ブロックサイズの変換を行う構成にする。また、上記の
図5に示す逆変換部107及び
図6に示す逆変換部203を、複数の画素ブロックサイズの逆変換を行う構成にする。このとき、本実施形態の変換処理装置によれば、以下に示す効果が得られる。
【0068】
図7は従来の映像符号化方式における直交変換について説明するための構成図である。従来の映像符号化方式としては、例えばMPEG−H HEVC/H.265の映像符号化方式である。
図7(a)には直交変換ブロックサイズが「8×8」である8点DCTにおけるバタフライ演算の第一段目の構成が示され、
図7(b)には直交変換ブロックサイズが「4×4」である4点DCTにおけるバタフライ演算の第一段目の構成が示される。
図7(a)と
図7(b)を比較すれば明らかなように、
図7(a)に示す8点DCTにおけるバタフライ演算の第一段目の出力値と、
図7(b)に示す4点DCTの二つ分におけるバタフライ演算の第一段目の出力値とは異なる。このため、
図7(a)に示す8点DCTにおけるバタフライ演算の構成と、
図7(b)に示す4点DCTにおけるバタフライ演算の構成では、共通化できる部分がない。したがって、従来の技術では、複数の画素ブロックサイズの直交変換を行う場合に、全ての画素ブロックサイズのバタフライ演算を行う必要があった。
【0069】
図8は、本実施形態における変換について説明するための構成図である。
図8(a)には、変換ブロックサイズが「8×8」である8点変換における4個の2点アダマール変換の構成が示される。
図8(b)には、変換ブロックサイズが「4×4」である2点変換の二つ分に対して、2個の2点アダマール変換の二組の構成が示される。
図8(a)と
図8(b)を比較すれば明らかなように、
図8(a)に示す4個の2点アダマール変換の構成の出力値と、
図8(b)に示す2個の2点アダマール変換の二組の構成の出力値とは同じである。このため、
図8(a)に示す8点変換における2点アダマール変換の構成と、
図8(b)に示す4点変換における2点アダマール変換の構成を共通化することができる。
【0070】
したがって、本実施形態によれば、複数の画素ブロックサイズの変換を行う場合に、少なくとも、最大の画素ブロックサイズのN点変換におけるN/2個の2点アダマール変換の構成を備えればよい。例えば、本実施形態において、
図8に示すように「8×8」の画素ブロックサイズの8点変換と「4×4」の画素ブロックサイズの4点変換の両方を行う場合に、8点変換における4個の2点アダマール変換の構成を、4点変換における2個の2点アダマール変換と共用する。これにより、本実施形態によれば、複数の画素ブロックサイズの変換を行う場合に、全ての画素ブロックサイズについての2点アダマール変換の構成を別個に演算する必要がない。
【0071】
上記の
図7及び
図8を参照して説明したように、本実施形態によれば、符号化装置100において複数の画素ブロックサイズの変換を行う場合に、装置構成を簡略化することができるという効果が得られる。
【0072】
なお、本実施形態に係る変換処理装置は、専用のハードウェアにより実現されるものであってもよく、又は、メモリ及びCPUにより構成され、変換処理装置の機能を実現するためのコンピュータプログラムをCPUが実行することによりその機能を実現させるものであってもよい。本実施形態に係る逆変換処理装置についても同様である。
【0073】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【0074】
上述した実施形態は、画素ブロックベースの各種の映像符号化方式に適用することができる。例えば、MPEG−2、MPEG−4 AVC/H.264、MPEG−H HEVC/H.265などの映像符号化方式に適用することができる。また、予測符号化を行わない映像符号化方式にも適用可能である。
【0075】
また、上述した実施形態では、映像信号を符号化する符号化装置及び該符号化装置に対応する復号装置に適用したが、これに限定されない。上述した実施形態は、所定の変換方式により変換した信号から符号化信号を生成する符号化装置、及び、所定の変換方式により変換された信号から生成された符号化信号を復号する復号装置に適用可能である。
【0076】
また、上述した変換処理装置又は逆変換処理装置の機能を実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disk)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0077】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。