図面 (/)

技術 動画像符号化装置、動画像符号化方法、動画像符号化プログラム

出願人 富士通株式会社
発明者 島田智史数井君彦小山純平中川章
出願日 2015年11月9日 (6年3ヶ月経過) 出願番号 2015-219838
公開日 2016年4月14日 (5年10ヶ月経過) 公開番号 2016-054513
状態 特許登録済
技術分野 TV信号の圧縮,符号化方式
主要キーワード モノクロ動画 水平位 左ブロック 出力係数 偶数ブロック 奇数ブロック ラスタ順序 処理済みブロック
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2016年4月14日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (20)

課題

QP予測値算出処理並列化することを可能とし、ブロックライン並列処理の効率を向上させる。

解決手段

2以上の値を示すN個のブロックラインずつ並列処理する場合、K−1番目のブロックラインの処理ブロック水平位置を、K番目のブロックラインの処理ブロックの水平位置よりも少なくとも1ブロック以上先に処理し、処理ブロックがブロックラインの先頭である場合には、並列処理で処理が完了しているブロックに含まれる量子化パラメータ又は、処理ブロックが属するスライスを単位にして定まる量子化パラメータで処理ブロックの直前に処理されたブロックの量子化パラメータを初期化し、初期化した量子化パラメータに基づいて処理ブロックの量子化パラメータの予測値を算出し、処理ブロックがブロックラインの先頭以外の場合には、ブロックライン内のブロックの量子化パラメータに基づいて処理ブロックの量子化パラメータの予測値を算出する。

概要

背景

近年の動画像符号化では、画像をブロックに分割し、ブロックに含まれる画素予測して予測差分を符号化することで高い圧縮率を達成している。符号化対象ピクチャ内の画素から予測画素を構成する予測モードイントラ予測といい、動き補償と呼ばれる過去に符号化した参照画像から予測画素を構成する予測モードをインター予測という。

動画像符号化装置において、インター予測では、予測画素として参照する領域を動きベクトルという水平成分・垂直成分の2次元座標データ表現し、動きベクトルと画素の予測差分データを符号化する。動きベクトルは、その符号量を抑えるため、符号化対象ブロックに隣接するブロックの動きベクトルから予測ベクトルを生成し、動きベクトルと予測ベクトルとの差分ベクトルを符号化する。

MPEG(Moving Picture Experts Group)−4 AVC/H.264(以下、H.264ともいう)、規格化作業中のHEVC(High Efficiency Video Coding)に代表される動画像標準規格では、各ブロックはラスタ順序アドレスづけされて、処理順序はそのアドレスの順序で規定される。

動画像符号化・復号処理では、1秒あたりの処理画素数が膨大で、特に動き補償や直交変換などに、高い演算性能が必要となるため、並列化処理が重要である。動画像符号化においては、上記した予測ベクトルのように処理済みの周辺ブロックから各種予測値を算出するために、ブロック間に依存関係が存在する。よって、ブロックごとに並列処理を行うことは難しい。

標準規格上の処理順序やブロックの依存関係に影響を与えずに、ブロックごとの並列処理を達成する手法として、処理ブロック水平位置をずらしながらブロックラインごとに並列処理する方法が挙げられる。

以下では、このような並列化処理をブロックライン並列処理と呼ぶこととする。次に、2ブロックラインのブロックライン並列処理を行う場合に関して簡単に説明する。

動画像処理装置は、ブロックラインを並列処理するため、ブロックライン単位に処理する処理ユニットを持ち、ユニット1とユニット2とする。例えばユニット1は、奇数ブロックライン、ユニット2は、偶数ブロックラインを処理する。

図1は、ブロックライン並列処理を説明するための図である。図1に示すように、ユニット1が処理する1番目のブロックライン(1ブロックライン目)のブロックの水平アドレスと、ユニット2が処理する2番目のブロックライン(2ブロックライン目)のブロックの水平アドレスとを2ブロック以上ずらす。

これにより、ユニット2の処理ブロックXに注目すると、その処理ブロックXの左ブロックAとともに、ユニット1が処理する左上ブロックBと上ブロックCと右上ブロックDは処理済みである。ブロックXでは、これらの処理済みブロック符号化結果を利用することができる。

例えば、奇数ブロックラインの終了を待たずに、偶数ブロックラインの処理を開始できるため、動き予測や直交変換などの処理に関して並列化を達成することができる。以上では、2ブロックライン並列処理の場合を説明したが、Nブロックライン並列処理にした場合も、動画像処理装置に対し、Nブロックライン単位にN個のユニットを割り当てればよい。

なお、プログラムとしてブロックライン並列処理を実行する場合、処理ユニットは、スレッドとしてもよいし、CPU(Central Processing Unit)としてもよい。

H.264では、エントロピー符号化に関しては、出力ビット系列の順序を、標準規格上の処理ブロックの順序で処理する。そのため、動画像処理装置は、上記のブロックライン並列処理を行った結果を一旦保存し、標準規格上の処理ブロックの順序でエントロピー符号化処理する。

これに対し、HEVCにおいては、出力ビット系列の順序をブロックラインごとにインターリーブする技術が開示されている。図2は、HEVCにおけるエントロピー処理部のブロックライン並列処理を説明するための図である。図2に示すように、エントロピー符号化・復号処理に関しても、ブロックラインごとに並列化処理を行うことができる。

概要

QP予測値の算出処理を並列化することを可能とし、ブロックライン並列処理の効率を向上させる。2以上の値を示すN個のブロックラインずつ並列処理する場合、K−1番目のブロックラインの処理ブロックの水平位置を、K番目のブロックラインの処理ブロックの水平位置よりも少なくとも1ブロック以上先に処理し、処理ブロックがブロックラインの先頭である場合には、並列処理で処理が完了しているブロックに含まれる量子化パラメータ又は、処理ブロックが属するスライスを単位にして定まる量子化パラメータで処理ブロックの直前に処理されたブロックの量子化パラメータを初期化し、初期化した量子化パラメータに基づいて処理ブロックの量子化パラメータの予測値を算出し、処理ブロックがブロックラインの先頭以外の場合には、ブロックライン内のブロックの量子化パラメータに基づいて処理ブロックの量子化パラメータの予測値を算出する。

目的

そこで、開示の技術は、QP予測値の算出処理を並列化することを可能とし、ブロックライン並列処理の効率を向上させることを目的とする

効果

実績

技術文献被引用数
0件
牽制数
1件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

画像を複数のブロックに分割し、該ブロック毎に動画像符号化処理を行う動画像符号化装置であって、前記ブロックの列を示すブロックラインに含まれるブロックに対し、量子化された直交変換係数を含む符号化データを、ブロックライン毎に並列に生成する並列符号化処理部と、前記ブロックラインに含まれる各ブロックの量子化パラメータ予測値を、ブロックライン毎に並列に算出する並列QP予測部と、前記ブロックラインに含まれる各ブロックに対し、前記符号化データと前記予測値とを用いてエントロピー符号化を、ブロックライン毎に並列に行う並列エントロピー符号化部と、を備え、前記並列QP予測部は、2以上の値を示すN個のブロックラインずつ並列処理する場合、K−1番目のブロックラインの処理ブロック水平位置を、K番目のブロックラインの処理ブロックの水平位置よりも少なくとも1ブロック以上先に処理し、処理ブロックがブロックラインの先頭である場合においては、前記並列処理で処理が完了しているブロックに含まれる量子化パラメータ又は、処理ブロックが属するスライスを単位にして定まる量子化パラメータで処理ブロックの直前に処理されたブロックの量子化パラメータを初期化し、初期化した量子化パラメータに基づいて処理ブロックの前記量子化パラメータの予測値を算出し、処理ブロックがブロックラインの先頭以外の場合においては、ブロックライン内のブロックの量子化パラメータに基づいて処理ブロックの前記量子化パラメータの予測値を算出する動画像符号化装置。

請求項2

画像を複数のブロックに分割し、該ブロック毎に動画像符号化処理を行う動画像符号化装置が実行する動画像符号化方法であって、前記ブロックの列を示すブロックラインに含まれるブロックに対し、量子化された直交変換係数を含む符号化データを、ブロックライン毎に並列に生成し、前記ブロックラインに含まれる各ブロックの量子化パラメータの予測値を、ブロックライン毎に並列に算出し、前記ブロックラインに含まれる各ブロックに対し、前記符号化データと前記予測値とを用いてエントロピー符号化を、ブロックライン毎に並列に行う処理を有し、前記予測値を算出する処理は、2以上の値を示すN個のブロックラインずつ並列処理する場合、K−1番目のブロックラインの処理ブロックの水平位置を、K番目のブロックラインの処理ブロックの水平位置よりも少なくとも1ブロック以上先に処理し、処理ブロックがブロックラインの先頭である場合においては、前記並列処理で処理が完了しているブロックに含まれる量子化パラメータ又は、処理ブロックが属するスライスを単位にして定まる量子化パラメータで処理ブロックの直前に処理されたブロックの量子化パラメータを初期化し、初期化した量子化パラメータに基づいて処理ブロックの前記量子化パラメータの予測値を算出し、処理ブロックがブロックラインの先頭以外の場合においては、ブロックライン内のブロックの量子化パラメータに基づいて処理ブロックの前記量子化パラメータの予測値を算出する動画像符号化方法。

請求項3

画像を複数のブロックに分割し、該ブロック毎に動画像符号化処理を行う動画像符号化装置に実行させるための動画像符号化プログラムであって、前記ブロックの列を示すブロックラインに含まれるブロックに対し、量子化された直交変換係数を含む符号化データを、ブロックライン毎に並列に生成し、前記ブロックラインに含まれる各ブロックの量子化パラメータの予測値を、ブロックライン毎に並列に算出し、前記ブロックラインに含まれる各ブロックに対し、前記符号化データと前記予測値とを用いてエントロピー符号化を、ブロックライン毎に並列に行う処理を有し、前記予測値を算出する処理は、2以上の値を示すN個のブロックラインずつ並列処理する場合、K−1番目のブロックラインの処理ブロックの水平位置を、K番目のブロックラインの処理ブロックの水平位置よりも少なくとも1ブロック以上先に処理し、処理ブロックがブロックラインの先頭である場合においては、前記並列処理で処理が完了しているブロックに含まれる量子化パラメータ又は、処理ブロックが属するスライスを単位にして定まる量子化パラメータで処理ブロックの直前に処理されたブロックの量子化パラメータを初期化し、初期化した量子化パラメータに基づいて処理ブロックの前記量子化パラメータの予測値を算出し、処理ブロックがブロックラインの先頭以外の場合においては、ブロックライン内のブロックの量子化パラメータに基づいて処理ブロックの前記量子化パラメータの予測値を算出する動画像符号化プログラム。

技術分野

0001

本発明は、各ピクチャを複数のブロックに分割してブロックごとに処理する動画像符号化装置動画像符号化方法動画像符号化プログラムに関する。

背景技術

0002

近年の動画像符号化では、画像をブロックに分割し、ブロックに含まれる画素予測して予測差分を符号化することで高い圧縮率を達成している。符号化対象ピクチャ内の画素から予測画素を構成する予測モードイントラ予測といい、動き補償と呼ばれる過去に符号化した参照画像から予測画素を構成する予測モードをインター予測という。

0003

動画像符号化装置において、インター予測では、予測画素として参照する領域を動きベクトルという水平成分・垂直成分の2次元座標データ表現し、動きベクトルと画素の予測差分データを符号化する。動きベクトルは、その符号量を抑えるため、符号化対象ブロックに隣接するブロックの動きベクトルから予測ベクトルを生成し、動きベクトルと予測ベクトルとの差分ベクトルを符号化する。

0004

MPEG(Moving Picture Experts Group)−4 AVC/H.264(以下、H.264ともいう)、規格化作業中のHEVC(High Efficiency Video Coding)に代表される動画像標準規格では、各ブロックはラスタ順序アドレスづけされて、処理順序はそのアドレスの順序で規定される。

0005

動画像符号化・復号処理では、1秒あたりの処理画素数が膨大で、特に動き補償や直交変換などに、高い演算性能が必要となるため、並列化処理が重要である。動画像符号化においては、上記した予測ベクトルのように処理済みの周辺ブロックから各種予測値を算出するために、ブロック間に依存関係が存在する。よって、ブロックごとに並列処理を行うことは難しい。

0006

標準規格上の処理順序やブロックの依存関係に影響を与えずに、ブロックごとの並列処理を達成する手法として、処理ブロック水平位置をずらしながらブロックラインごとに並列処理する方法が挙げられる。

0007

以下では、このような並列化処理をブロックライン並列処理と呼ぶこととする。次に、2ブロックラインのブロックライン並列処理を行う場合に関して簡単に説明する。

0008

動画像処理装置は、ブロックラインを並列処理するため、ブロックライン単位に処理する処理ユニットを持ち、ユニット1とユニット2とする。例えばユニット1は、奇数ブロックライン、ユニット2は、偶数ブロックラインを処理する。

0009

図1は、ブロックライン並列処理を説明するための図である。図1に示すように、ユニット1が処理する1番目のブロックライン(1ブロックライン目)のブロックの水平アドレスと、ユニット2が処理する2番目のブロックライン(2ブロックライン目)のブロックの水平アドレスとを2ブロック以上ずらす。

0010

これにより、ユニット2の処理ブロックXに注目すると、その処理ブロックXの左ブロックAとともに、ユニット1が処理する左上ブロックBと上ブロックCと右上ブロックDは処理済みである。ブロックXでは、これらの処理済みブロック符号化結果を利用することができる。

0011

例えば、奇数ブロックラインの終了を待たずに、偶数ブロックラインの処理を開始できるため、動き予測や直交変換などの処理に関して並列化を達成することができる。以上では、2ブロックライン並列処理の場合を説明したが、Nブロックライン並列処理にした場合も、動画像処理装置に対し、Nブロックライン単位にN個のユニットを割り当てればよい。

0012

なお、プログラムとしてブロックライン並列処理を実行する場合、処理ユニットは、スレッドとしてもよいし、CPU(Central Processing Unit)としてもよい。

0013

H.264では、エントロピー符号化に関しては、出力ビット系列の順序を、標準規格上の処理ブロックの順序で処理する。そのため、動画像処理装置は、上記のブロックライン並列処理を行った結果を一旦保存し、標準規格上の処理ブロックの順序でエントロピー符号化処理する。

0014

これに対し、HEVCにおいては、出力ビット系列の順序をブロックラインごとにインターリーブする技術が開示されている。図2は、HEVCにおけるエントロピー処理部のブロックライン並列処理を説明するための図である。図2に示すように、エントロピー符号化・復号処理に関しても、ブロックラインごとに並列化処理を行うことができる。

先行技術

0015

ISO/IEC14496-10 (MPEG-4 Part 10) /ITU-T Rec.H.264
Thomas Wiegand、Woo-Jin Han、Benjamin Bross、Jens-Rainer Ohm、Gary J. Sullivan、"Working Draft 5 of High-Efficiency Video Coding" JCTVC-G1103, JCT-VC 7th Meeting, 2011年12月
HEVC参照ソフトウェアHM5.0 "https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/tags/HM-5.0/"
MPEG-2, Test Model 5 (TM5), Doc. ISO/IEC JTC1/SC29/WG11/N0400, Test Model Editing Committee, April 1993.

発明が解決しようとする課題

0016

H.264やHEVCに代表される動き補償と直交変換処理(例えばDCT(Discrete Cosine Transform))とを組み合わせたハイブリッド符号化方式では、画像をブロックに分割し、各ブロックの予測画素を生成し、原画素と予測画素の差分画素に対して、DCTなどの直交変換を行い、直交変換の出力係数量子化することで、圧縮を実現する。

0017

情報量を制御するために、量子化の精度を調整する量子化パラメータ(QP(Quantization Parameter)とも呼ぶ)を用意し、ブロックごとにQP値を符号化する。

0018

ただし、変換係数が全て0のブロックの場合、逆量子化した結果も全て0となり、復号処理においてQPを必要としないため、このような場合には、このQPは無効となり、QP値は符号化されない。

0019

各ブロックで、QPの予測値(QP予測値とも呼ぶ)が生成されるため、処理ブロックのQPが無効となった場合、処理ブロックのQP値は、QPの予測値に設定される。ブロックごとのQP値の決定方法としては、非特許文献4に記載されたTM5で用いられるアルゴリズムが知られている。

0020

H.264やHEVCにおける、QP値の符号化方法は、処理ブロックのQP値とQP予測値との差分値QP_DELTAを符号化する。QP予測値は、例えば、ラスタ順序で処理ブロックの直前のQP値であるQPprevである。QP_DELTAは、次の式(1)で算出される。
QP_DELTA=QP−QPprev ・・・式(1)
動画像復号装置は、動画像符号化装置においてエントロピー符号化されたQP_DELTAを復号し、式(2)においてQP値を復元する。
QP=QP_DELTA+QPprev ・・・式(2)
処理ピクチャの最初のブロックなど直前のブロックが存在しない場合、QPprevは、最初のブロックの処理に先だって決定することができる値とすればよい。例えば、H.264においては、ピクチャ先頭ブロックのQPprevは、Sliceというヘッダ情報に記載されたSliceQP値となる。

0021

また、H.264やHEVCでは、直交変換の量子化以外にも、デブロッキングフィルタフィルタ強度決定に、各ブロックのQP値を使用する。無効になったQPは、動画像復号装置に通知されないため、QPが無効になったブロックのQP値は、QPprevとして処理される。

0022

ここで、ブロックライン並列処理の、K−1ブロックラインと、Kブロックラインに着目する。Kブロックラインの処理開始時に、Kブロックラインの先頭のXブロックを処理するとき、K−1ブロックラインの2ブロックずれた程度しか処理が完了していない。Kブロックラインの先頭ブロックのラスタ順序で前に位置するブロックは、K−1ブロックラインの最終ブロックYであるため、Yブロックの処理はまだ終わっていない。

0023

このため、Xブロックを処理するときには、QPprevが確定しないという課題がある。XブロックのQPprevが確定しないため、Xブロックの次のブロックのQPprevも確定しない。

0024

よって、QP予測値の算出は、ブロックラインごとに並列にできずに、逐次処理となってしまう。図3は、従来のブロックライン並列処理を行う動画像処理装置の概略構成を示すブロック図である。

0025

図3Aは、従来のブロックライン並列処理を行う符号化装置の概略構成を示すブロック図である。図3Bは、従来のブロックライン並列処理を行う復号装置の概略構成を示すブロック図である。

0026

図3に示すように、従来の動画像処理装置では、QP予測値を算出するQP予測部がボトルネックとなってしまう。

0027

図4Aは、QP予測処理におけるブロックライン並列処理(その1)を示す図である。図4Aに示す例では、1番目のブロックラインと2番目のブロックラインを並列処理しているとする。このとき、2番目のブロックラインの処理ブロックをXとしたときに、XのQP予測値を算出するには、ブロックYの処理完了まで待機する必要がある。2番目のブロックラインの処理は、1番目のブロックラインの処理を完了しないと開始することができない。

0028

図4Bは、QP予測処理におけるブロックライン並列処理(その2)を示す図である。図4Bに示すように、ブロックYの処理が完了すると、2番目のブロックラインの処理が開始できるようになる。

0029

図4Cは、QP予測処理におけるブロックライン並列処理(その3)を示す図である。図4Cに示す例では、1番目のブロックラインを処理していたQP予測部が、3番目のブロックラインのブロックWのQP値を算出するためには、2番目のブロックラインのブロックVの処理が完了するまで待機する。

0030

すなわち、3番目のブロックラインの処理は、2番目のブロックラインの処理が完了しないと開始することはできない。このように、K番目のブロックラインの処理を開始するにはK−1番目のブロックラインの処理が完了していることが要求されるため、従来技術では、このQP予測値を算出する処理は逐次処理となってしまう。

0031

符号化処理部を並列化し、QP予測部を逐次的に処理する場合、次のような問題が発生する。ブロックXにおけるQPprevが確定していないため、例えば、K番目のブロックラインの先頭でQP_DELTAが算出できずに、ブロックYの処理が完了するまで、ブロックXのエントロピー処理が開始できないという問題が発生する。

0032

よって、エントロピー処理の開始が遅延するため、符号化処理部の結果を保存しておくバッファが増加してしまう。同様に、デブロックキングフィルタの処理を開始することができないという問題も発生する。

0033

動画像復号装置について、同様にブロックライン並列処理を考える。HEVCにおいては、エントロピー復号処理は、ブロックラインごとに並列に処理することができる。上記と同様に、K−1番目のブロックラインとK番目のブロックラインに着目し、K番目のブロックラインの先頭ブロックXのQP復元処理を考えると、ブロックXのQP_DELTAが復号できた時点では、ブロックYのQP_DELTAは復号できていないため、YのQP値を復元することはできない。

0034

ブロックXのQP予測値であるQPprevは、ブロックYのQP値であるため、ブロックXのQP予測値の算出は行うことができず、ブロックXのQP値が復元できない。このため、動画像符号化装置と同様に各ブロックのQP予測値の算出は、逐次処理となってしまい、並列処理のボトルネックとなる。

0035

そこで、開示の技術は、QP予測値の算出処理を並列化することを可能とし、ブロックライン並列処理の効率を向上させることを目的とする。

課題を解決するための手段

0036

開示の一態様における動画像符号化装置は、画像を複数のブロックに分割し、該ブロック毎に動画像符号化処理を行う動画像符号化装置であって、前記ブロックの列を示すブロックラインに含まれるブロックに対し、量子化された直交変換係数を含む符号化データを、ブロックライン毎に並列に生成する並列符号化処理部と、前記ブロックラインに含まれる各ブロックの量子化パラメータの予測値を、ブロックライン毎に並列に算出する並列QP予測部と、前記ブロックラインに含まれる各ブロックに対し、前記符号化データと前記予測値とを用いてエントロピー符号化を、ブロックライン毎に並列に行う並列エントロピー符号化部と、を備え、前記並列QP予測部は、2以上の値を示すN個のブロックラインずつ並列処理する場合、K−1番目のブロックラインの処理ブロックの水平位置を、K番目のブロックラインの処理ブロックの水平位置よりも少なくとも1ブロック以上先に処理し、
処理ブロックがブロックラインの先頭である場合においては、前記並列処理で処理が完了しているブロックに含まれる量子化パラメータ又は、処理ブロックが属するスライスを単位にして定まる量子化パラメータで処理ブロックの直前に処理されたブロックの量子化パラメータを初期化し、初期化した量子化パラメータに基づいて処理ブロックの前記量子化パラメータの予測値を算出し、処理ブロックがブロックラインの先頭以外の場合においては、ブロックライン内のブロックの量子化パラメータに基づいて処理ブロックの前記量子化パラメータの予測値を算出する。

発明の効果

0037

開示の技術によれば、QP予測値の算出処理を並列化することを可能とし、ブロックライン並列処理の効率を向上させることができる。

図面の簡単な説明

0038

ブロックライン並列処理を説明するための図。
HEVCにおけるエントロピー処理部のブロックライン並列処理を説明するための図。
従来のブロックライン並列処理を行う符号化装置の概略構成を示すブロック図。
従来のブロックライン並列処理を行う復号装置の概略構成を示すブロック図。
QP予測処理におけるブロックライン並列処理(その1)を示す図。
QP予測処理におけるブロックライン並列処理(その2)を示す図。
QP予測処理におけるブロックライン並列処理(その3)を示す図。
実施例1における動画像復号装置の構成の一例を示すブロック図。
実施例1における並列復号部の各部の構成の一例を示すブロック図。
実施例1における復号処理部の構成の一例を示すブロック図。
N=3の場合の並列QP予測処理における利用可能ブロックの一例を示す図。
実施例1におけるQP予測部の構成の一例を示すブロック図。
実施例1におけるQP予測処理(その1)の一例を示す図。
実施例1におけるQP予測処理(その2)の一例を示す図。
実施例1におけるブロック復号処理の一例を示すフローチャート
実施例2における動画像符号化装置の構成の一例を示すブロック図。
実施例2における並列符号化部の各部の構成の一例を示すブロック図。
実施例2における符号化処理部の構成の一例を示すブロック図。
実施例2におけるQP予測部の構成の一例を示すブロック図。
実施例2におけるブロック符号化処理の一例を示すフローチャート。
実施例3における動画像処理装置の構成の一例を示すブロック図。

実施例

0039

以下、添付図面を参照しながら各実施例について詳細に説明する。なお、動画像に含まれる画像(ピクチャ)は、フレーム又はフィールドの何れであってもよい。フレームは、動画像データ中の一つの静止画像であり、一方、フィールドは、フレームから奇数行のデータあるいは偶数行のデータのみを取り出すことにより得られる静止画像である。

0040

また、処理対象の動画像は、カラー動画像であってもよく、又はモノクロ動画像であってもよい。

0041

[実施例1]
<構成>
図5は、実施例1における動画像復号装置の構成の一例を示すブロック図である。図5に示す例では、動画像復号装置10は、並列復号部101と、復号画素記憶部105とを有する。並列復号部101は、並列エントロピー復号部102と、並列QP予測部103と、並列復号処理部104とを有する。

0042

なお、動画像復号装置10は、N個のブロックラインを並列処理することとする。また、ブロックラインとは、例えば画像内における水平方向のブロック列をいう。

0043

並列復号部101の各部は、各ブロックラインにおいて処理するブロックを同一のブロックとする。また、例えば、K−1番目のブロックラインの処理ブロックの水平位置は、K番目のブロックラインの処理ブロックの水平位置よりも2ブロック以上先とする。

0044

これは、ブロックライン間で、水平位置が2ブロック以上ずれるようにすることで、各ブロックラインを並列に復号処理したとしても、処理ブロックの上と右上のブロックの復号情報が利用できるようにするためである。上ブロックのみの復号情報を利用する場合は、ブロックライン間の水平位置のずれ量は1ブロックでよい。以下では、上ブロックは、処理ブロックの1ブロック上のブロックを示し、右上ブロックは、処理ブロックの1ブロック上のブロックの右に隣接するブロックを示す。

0045

並列復号部101は、複数のブロックに分割された画像に対し、動画像符号化方式を用いて符号化されたストリームを、例えばN個のブロックラインで並列処理して復号する。ブロックラインのブロック毎に復号された画素は、復号画素記憶部105に出力される。復号された画素を復号画素という。

0046

並列エントロピー復号部102は、入力されたストリームに対し、ブロックライン毎に分割し、ブロックライン毎に、このブロックラインに含まれるブロックのストリームを並列にエントロピー復号する。並列エントロピー復号部102は、エントロピー復号されたデータを並列復号処理部104に出力する。

0047

並列QP予測部103は、ブロックラインに含まれる各ブロックの量子化パラメータ(QP)の予測値(QP予測値)を、ブロックライン毎に並列に算出する。算出されたQP予測値を並列復号処理部104に出力する。

0048

並列復号処理部104は、ブロックラインに含まれる各ブロックに対し、並列エントロピー復号部102により復号されたデータと、並列QP予測部103により算出されたQP予測値とを用いて復号処理した復号画素を、ブロックライン毎に並列に生成する。生成された復号画素は復号画素記憶部105に出力される。

0049

復号画素記憶部105は、並列復号部101から出力された各ブロックの復号画素を記憶する。復号画素は、画像単位集合すると画像(ピクチャ)となる。復号画素記憶部105は、1ピクチャ分の復号処理が完了したときに、復号された画像が出力される。

0050

《並列復号部》
次に、並列復号部101について説明する。図6は、実施例1における並列復号部101の各部の構成の一例を示すブロック図である。図6に示す例では、並列エントロピー復号部102は、第1エントロピー復号部221と、第2エントロピー復号部222と、第Nエントロピー復号部223とを有する。

0051

図6に示す例では、並列QP予測部103は、第1QP予測部231と、第2QP予測部232と、第NQP予測部233とを有する。図6に示す例では、並列復号処理部104は、第1復号処理部241と、第2復号処理部242と、第N復号処理部243と、ブロック情報保持部244とを有する。

0052

ここで、L=1〜Nに対して、第Lエントロピー復号部と、第LQP予測部と、第L復号処理部とは、1つのブロックラインをそれぞれ対応して処理する。以下では、第Lエントロピー復号部と、第LQP予測部と、第L復号処理部とを総称してブロックライン復号処理部と呼ぶ。例えば、ブロックライン復号処理部201は、第1エントロピー復号部221と、第1QP予測部231と、第1復号処理部241とを有する。

0053

ブロックライン復号処理部は、K番目のブロックラインを処理すると、次は、K+N番目のブロックラインを処理する。

0054

並列エントロピー復号部102は、入力されたストリームをブロックライン毎に分割する。各エントロピー復号部221〜223は、分割されたストリームにおけるNブロックライン単位で、各ブロックラインを並列にエントロピー復号する。各エントロピー復号部221〜223は、動画像符号化装置でのエントロピー符号化処理に対応するエントロピー復号処理を行う。

0055

各復号処理部241〜243は、ブロックライン単位で並列に復号処理を行う。図7は、実施例1における復号処理部の構成の一例を示すブロック図である。各復号処理部241〜243は、いずれも同様の処理を行うため、以下では、第1復号処理部241を用いて説明する。

0056

第1復号処理部241は、QP復元部301と、逆量子化部302と、逆直交変換部303と、動きベクトル復元部304と、予測画素生成部305と、復号画素生成部306とを有する。

0057

QP復元部301は、後述する第1QP予測部231から入力されたQP予測値と、第1エントロピー復号部221から入力されたQP差分値とを用いてQP値を復元する(例えば式(2)参照)。復元されたQP値は、逆量子化部302に出力される。

0058

逆量子化部302は、復元されたQP値と直交変換係数とを乗算することで逆量子化を行う。逆量子化された直交変換係数は、逆直交変換部303に出力される。

0059

逆直交変換部303は、逆量子化部302から入力された直交変換係数に対して、逆直交変換処理を行い、予測誤差画素を生成する。生成された予測誤差画素は、復号画素生成部306に出力される。

0060

動きベクトル復元部304は、ブロック情報記憶部244から、処理ブロックの周辺ブロックの動きベクトル情報を取得し、予測ベクトルを算出する。動きベクトル復元部304は、予測ベクトルと、第1エントロピー復号部221から入力された差分ベクトルとを加算することにより、動きベクトルが復元される。復元された動きベクトルは、予測画素生成部305に出力される。

0061

予測画素生成部305は、過去に復号したピクチャが保存されている復号画素記憶部105から動きベクトルが指す参照ピクチャの画素データを取得し、予測画素を生成する。生成された予測画素は、復号画素生成部306に出力される。

0062

復号画素生成部306は、予測画素生成部305から入力された予測画素と、逆直交変換部303から入力された予測誤差画素とを加算し、復号画素を生成する。生成された復号画素は、復号画素記憶部105に記憶される。

0063

次に、各QP予測部の処理について説明する。まず、各QP予測部による予測処理で、利用可能なブロックを説明する。図8は、N=3の場合の並列QP予測処理における利用可能ブロックの一例を示す図である。図8に示す例では、N=3であり、各ブロックラインで、2ブロックずつ遅延させて並列処理される。

0064

このとき、処理ブロックXに対し、利用可能なブロックは、図8に示す網掛けブロックである。図8に示す網掛けブロックは、処理ブロックを処理する際に、既に処理が完了しているブロック、つまり利用可能なブロックを示す。図8に示す太線枠のブロックは、処理対象のブロック(処理ブロックとも呼ぶ)を示す。各QP予測部は、処理ブロックのQP予測値を算出する際、利用可能ブロック(処理完了ブロック)を参照することでQP予測値を求める。以下では、このQP予測値の求め方について詳述する。

0065

図9は、実施例1におけるQP予測部の構成の一例を示すブロック図である。各QP予測部231〜233は、いずれも同様の処理を行うため、以下では、第1QP予測部231を用いて説明する。

0066

図9に示す第1QP予測部231は、直前QP記憶部401と、QP選択部402と、上QP取得部403とを有する。

0067

直前QP記憶部401は、現在の処理ブロックの直前に処理されたブロックのQP値をQP復元部301から受け取り、記憶している。直前QP記憶部401が記憶しているQP値は、ピクチャ処理開始時に初期化される。

0068

例えば、H.264と同様にSliceヘッダ情報に符号化されたSliceQP値で初期化する。Sliceは、1ピクチャに属するブロックをグループに分割したときの単位である。

0069

上QP取得部403は、ブロック情報記憶部244から、例えば、処理ブロックの上に位置するブロックのQP値を取得する。

0070

QP選択部402は、直前QP記憶部401か、あるいは、上QP取得部403かのいずれかの出力するQP値を選択して、QP予測値としてQP復元部301に出力する。

0071

例えば、QP選択部402は、処理ブロックがブロックライン先頭のブロックであれば、上QP取得部403から出力されたQP値を選択し、処理ブロックがブロックライン先頭以外のブロックであれば、直前QP記憶部401から出力されたQP値を選択する。QP選択部402は、選択したQP値をQP予測値として、QP復元部301に出力する。

0072

上記例の場合のQP値の予測(選択)について図を用いて説明する。図10Aは、実施例1におけるQP予測処理(その1)の一例を示す図である。図10Aに示す例では、処理ブロックXの位置を処理ブロックとしたとき、図10Aに示すように処理ブロックXが先頭ブロックであるときには、上ブロックAのQP値がQP選択部402により選択される。

0073

図10Bは、実施例1におけるQP予測処理(その2)の一例を示す図である。図10Bに示すように、処理ブロックXが、先頭ブロック以外の場合では、直前に処理したブロックBのQP値がQP選択部402により選択される。

0074

ここで、処理ブロックXに近いブロックのQP値がQP予測値として使用されるため、ラスタ順序で直前のQP値を使用した場合と比較して、QP値の予測効率はほとんど低下しない。

0075

上記例では、ブロックラインの先頭以外では直前に処理したブロックのQP値を用いてQP予測値を生成したが、処理ブロックに隣接するブロックから予測するのであれば、他の方法でQP値を生成してもよい。

0076

また、QP選択部402の処理は、次のような処理であってもよい。処理するブロックラインが2〜N番目のブロックラインのときは、直前QP記憶部401が保存しているQP値はSliceQP値であり、Slice単位に1つ定まる値である。そのため、各ブロックのQP予測値として、SliceQP値を採用するには、予測効率があまりよくないと考えられる。

0077

そこで、QP選択部402は、処理するブロックラインが2〜N番目のブロックラインの先頭ブロックが処理されるときは、上QP取得部403が取得したQP値を選択し、それ以外では、直前QP記憶部401が保持したQP値を選択してもよい。

0078

また、QP選択部402は、N+1番目以降のブロックラインの先頭ブロックを処理するときは、直前QP記憶部401が保持しているQP値を選択する。このときの直前QP記憶部401が保持しているQP値は、処理ブロックのNブロック上に位置するブロックラインの最後のブロック(最終ブロックとも呼ぶ)のQP値である。

0079

K番目のブロックラインとK+N番目のブロックラインは、同一の復号処理部とQP予測部とエントロピー復号部とで処理されるため、K番目のブロックラインの処理ブロックの直前に処理したブロックは、K−N番目のブロックラインの最後のブロックである。

0080

さらに、QP選択部402は、ブロックラインの先頭ブロックでは、常に直前QP記憶部401に記憶されるQP値を採用するようにしてもよい。また、QP選択部402は、処理するブロックラインが1〜N番目のブロックラインの先頭ブロックであるときは、QP予測値はSliceQP値としてもよい。

0081

このとき、同様にN+1番目のブロックラインの先頭ブロックのQP予測値は、Nブロック上に位置するブロックラインの最後のブロックのQP値としてもよい。

0082

以上の構成を有することで、量子化パラメータの予測値を求める処理を、ブロックライン毎に並列処理することができる。

0083

<動作>
次に、実施例1における動画像復号装置10の動作について説明する。図11は、実施例1におけるブロック復号処理の一例を示すフローチャートである。図11に示すブロック復号処理は、1ブロックの処理である。

0084

テップS101で、各エントロピー復号部は、入力されたストリームから各ブロックの差分動きベクトル、QP差分値、量子化された直交変換係数などの符号化情報をエントロピー復号する。これらのエントロピー復号された情報は、処理されたエントロピー復号部に対応する復号処理部に出力する。

0085

ステップS102で、復号処理部の動きベクトル復元部304は、ブロック情報記憶部244から周辺ブロックの動きベクトル情報を取得し、予測ベクトルを算出する。

0086

ステップS103で、動きベクトル復元部304は、差分動きベクトルと予測ベクトルとを加算することで、動きベクトルを復元する。復元された動きベクトルの情報は、ブロック情報記憶部244に記憶される。

0087

ステップS104で、予測画素生成部305は、過去に復号されたピクチャが保存されている復号画素記憶部105から動きベクトルが指す参照ピクチャの画素データを取得し、予測画素を生成する。

0088

ステップS105で、各QP予測部は、処理ブロックのQP予測値を生成し、QP復元部301に入力する。

0089

ステップS106で、QP復元部301は、入力されたQP予測値とQP差分値とからQP値を復元する。QP値は、逆量子化部302に入力されるとともにブロック情報記憶部244に保存される。QP予測値は、処理ブロックの上ブロックあるいは、ブロックライン復号処理部201が過去に処理したブロックのQP値とすることで、QP予測値の生成を待機する必要がなくなり、並列処理の効率が向上する。

0090

ステップS107で、逆量子化部302は、量子化された直交変換係数と、QP値とを乗算する。

0091

ステップS108で、逆直交変換部303は、逆量子化された直交変換係数に対し、逆直交変換処理を行い、予測誤差画素を生成する。

0092

ステップS109で、復号画素生成部306は、予測誤差画素と予測画素とを加算し、復号画素を生成する。

0093

ステップS110で、復号画素記憶部105は、復号画素を記憶する。以上の処理で、ブロックの復号処理が終了し、次のブロックの復号処理に移行する。1ピクチャに含まれるすべてのブロックの復号処理が終了したときに、復号画素記憶部105に記憶された復号画像は、例えばディスプレイなどの表示部に出力される。

0094

以上、実施例1によれば、動画像復号装置において、QP予測値の算出処理を並列化することを可能とし、ブロックライン並列処理の効率を向上させることができる。

0095

[実施例2]
次に、実施例2における動画像符号化装置について説明する。実施例2では、実施例1に対応して、ブロックライン単位でQPの予測処理を並列化する。

0096

<構成>
図12は、実施例2における動画像符号化装置50の構成の一例を示すブロック図である。図12に示す例では、動画像復号装置50は、並列符号化部501と、復号画素記憶部505とを有する。並列符号化部501は、並列符号化処理部502と、並列QP予測部503と、並列エントロピー符号化部504とを有する。なお、動画像符号化装置50は、N個のブロックラインを並列処理することとする。

0097

並列符号化部501の各部は、各ブロックラインにおいて処理するブロックを同一のブロックとする。また、例えば、K−1番目のブロックラインの処理ブロックの水平位置は、K番目のブロックラインの処理ブロックの水平位置よりも2ブロック以上先とする。

0098

これは、ブロックライン間で、水平位置が2ブロック以上ずれるようにすることで、各ブロックラインを並列に符号化処理したとしても、処理ブロックの上と右上のブロックの符号化情報が利用できるようにするためである。上ブロックのみの復号情報を利用する場合は、ブロックライン間の水平位置のずれ量は1ブロックでよい。

0099

並列符号化部501は、画像を複数のブロックに分割し、動画像符号化方式を用いて例えばN個のブロックラインで並列処理して符号化する。並列符号化部501で、局所復号された復号画素は、復号画素記憶部505に記憶される。

0100

並列符号化処理部502は、ブロックライン毎に、このブロックラインに含まれるブロックに対し、量子化された直交変換係数、差分動きベクトル情報などを並列に生成する。生成された直交変換係数や差分動きベクトル情報(符号化データとも呼ぶ)は、並列エントロピー符号化部504に出力される。量子化で用いられたQP値は、並列QP予測部503に出力される。

0101

並列QP予測部503は、ブロックラインに含まれる各ブロックの量子化パラメータ(QP)の予測値(QP予測値)を、ブロックライン毎に並列に算出する。算出されたQP予測値を並列エントロピー符号化部504に出力する。

0102

並列エントロピー符号化部504は、ブロックラインに含まれる各ブロックに対し、量子化された直交変換係数、QP値とQP予測値との差分であるQP差分値、差分動きベクトル情報などを用いてエントロピー符号化を、ブロックライン単位で並列に行う。並列エントロピー符号化部504で符号化されたストリームは、動画像復号装置10などに出力される。

0103

復号画素記憶部505は、並列符号化部501から出力された各ブロックの局所的な復号画素を記憶する。局所的な復号は、ローカルデコードなどとも呼ばれる。

0104

《並列符号化部》
次に、並列符号化部501について説明する。図13は、実施例2における並列符号化部501の各部の構成の一例を示すブロック図である。図13に示す例では、並列符号化処理部502は、第1符号化処理部621と、第2符号化処理部622と、第N符号化処理部623と、ブロック情報記憶部624とを有する。

0105

図13に示す例では、並列QP予測部503は、第1QP予測部631と、第2QP予測部632と、第NQP予測部633とを有する。図13に示す例では、並列エントロピー符号化部504は、第1エントロピー符号化部641と、第2エントロピー符号化部642と、第Nエントロピー符号化部643とを有する。

0106

ここで、L=1〜Nに対して、第L符号化処理部と、第LQP予測部と、第Lエントロピー符号化部とは、1つのブロックラインをそれぞれ対応して処理する。以下では、第L符号化処理部と、第LQP予測部と、第Lエントロピー符号化部とを総称してブロックライン符号化処理部と呼ぶ。

0107

例えば、ブロックライン符号化処理部601は、第1符号化処理部621と、第1QP予測部631と、第1エントロピー符号化部641とを有する。

0108

ブロックライン符号化処理部は、K番目のブロックラインを符号化処理すると、次は、K+N番目のブロックラインを符号化処理する。

0109

並列符号化処理部502は、入力された画像を複数のブロックラインに分割する。各符号化処理部621〜623は、ブロックライン単位で並列に符号化処理を行う。符号化処理は、例えばH.264やHEVCなどの符号化処理である。

0110

図14は、実施例2における符号化処理部の構成の一例を示すブロック図である。各符号化処理部621〜623は、いずれも同様の処理を行うため、以下では、第1符号化処理部621を用いて説明する。

0111

第1符号化処理部621は、予測差分部701と、直交変換部702と、量子化部703と、QP確定部704と、逆量子化部705と、逆直交変換部706と、復号画素生成部707と、動き検出部708と、予測信号生成部709と、差分ベクトル生成部710とを有する。

0112

動き検出部708は、復号画素記憶部505から参照ピクチャの画素データを取得し、動きベクトルの検出を行う。検出された動きベクトルの情報は、ブロック情報記憶部624に記憶され、次のブロックの符号化に利用される。

0113

予測信号生成部709は、入力された参照画像の領域位置情報に基づいて、復号画素記憶部505から参照画素を取得し、予測画素信号を生成する。生成された予測画素信号は、予測差分部701に出力される。

0114

差分ベクトル生成部710は、予測ベクトルを生成する。予測ベクトルは、一例として処理ブロックの左と上と、右上に位置するブロックの動きベクトルをブロック情報記憶部624から取得し、3つの動きベクトルのうち、中間値を予測ベクトルとする。

0115

上述したように、各ブロックラインは、例えば水平に2ブロックずつずれて処理しているため、処理ブロックの上と右上のブロックの符号化処理は完了している。そのため、差分ベクトル生成部710は、周辺ブロックの動きベクトルを取得することができる。

0116

差分ベクトル生成部710は、動き検出部708から処理ブロックの動きベクトルを取得し、動きベクトルと予測ベクトルとの差分ベクトルを生成する。生成された差分ベクトルは、第1エントロピー符号化部641に出力される。

0117

予測差分部701は、原画像と、予測画素信号との差分を算出することで、予測誤差信号を生成する。予測誤差信号は、直交変換部702に出力される。

0118

直交変換部702は、予測誤差信号に対して、例えば離散コサイン変換などの直交変換処理を行う。変換された直交変換係数は、量子化部703に出力される。

0119

量子化部703は、量子化パラメータ(QP)値に基づいて、直交変換係数を量子化する。量子化手法の一例としては、直交変換係数をQPで定まる値によって除算し、整数値に丸める方法である。量子化された直交変換係数をQP値で乗算すれば、逆量子化することができる。丸める処理によって、量子化は不可逆な変換となる。量子化された直交変換係数は、第1エントロピー符号化部641に出力される。

0120

また、量子化部703は、量子化された直交変換係数がすべて0であった否かのフラグ情報を生成し、量子化で使用したQP値とともに、QP確定部704に出力する。QP値は、逆量子化部705、第1QP予測部631に出力される。

0121

第1QP予測部631は、処理ブロックのQP予測値を生成する。生成されたQP予測値は、QP確定部704及び第1エントロピー符号化部641に出力される。

0122

QP予測値は、処理ブロックの上ブロックあるいは、第1QP予測部631が所属しているブロックライン符号化処理部が過去に処理したブロックのQP値とすることで、QP予測値の生成を待機する必要がなくなり、並列処理の効率が向上する。

0123

QP確定部704は、量子化部703から入力されたQP値とQP予測値とから、処理ブロックのQPを確定する。直交変換係数がすべて0であった場合、QP差分情報は、エントロピー符号化されないため、量子化部703で使用したQP値は、復号装置側に通知されないので無効になる。

0124

例えば、QP確定部704は、量子化部703が生成した量子化された直交変換係数がすべて0であったか否かのフラグ情報を取得する。QP確定部704は、すべて0を示すフラグ情報を取得した場合、処理ブロックのQP値はQP予測値に設定する。QP確定部704は、すべて0ではないことを示すフラグ情報を取得した場合、処理ブロックのQP値は、量子化部703で使用されたQP値に設定する。QP確定部704が確定したQP値は、ブロック情報記憶部624に記憶される。

0125

逆量子化部705は、量子化された直交変換係数に対し、逆量子化処理を行う。逆量子化された直交変換係数は、逆直交変換部706に出力される。

0126

逆直交変換部706は、逆量子化された直交変換係数に対し、逆直交変換処理を行う。逆直交変換された信号を復号画素生成部707に出力する。

0127

復号画素生成部707は、逆直交変換された信号に、予測信号生成部709から取得した予測画素信号を加算することで、局所的な復号画素を生成する。生成された復号画素は、復号画素記憶部505に記憶される。

0128

次に、各QP予測部の処理について説明する。図15は、実施例2におけるQP予測部の構成の一例を示すブロック図である。各QP予測部631〜633は、いずれも同様の処理を行うため、以下では、第1QP予測部631を用いて説明する。

0129

図15に示す第1QP予測部631は、直前QP記憶部801と、QP選択部802と、上QP取得部803とを有する。

0130

直前QP記憶部801は、現在の処理ブロックの直前に処理したブロックのQP値をQP確定部704から受け取り、記憶している。直前QP記憶部801が記憶しているQP値は、ピクチャ処理開始時に初期化される。

0131

例えば、H.264と同様にSliceヘッダ情報に符号化されたSliceQP値で初期化する。Sliceは、1ピクチャに属するブロックをグループに分割したときの単位である。

0132

上QP取得部803は、ブロック情報記憶部624から、処理ブロックの上に位置するブロックのQP値を取得する。

0133

QP選択部802は、直前QP記憶部801か、あるいは、上QP取得部803かのいずれかの出力するQP値を選択して、QP予測値としてQP確定部704や第1エントロピー符号化部641に出力する。

0134

例えば、QP選択部802は、処理ブロックがブロックライン先頭のブロックであれば、上QP取得部803から出力されたQP値を選択し、処理ブロックがブロックライン先頭以外のブロックであれば、直前QP記憶部801から出力されたQP値を選択する。QP選択部802は、選択したQP値をQP予測値として、QP確定部704や第1エントロピー符号化部641に出力する。

0135

上記例の場合のQP値の予測(選択)については、図10A及び図10Bに示す通りである。ここで、処理ブロックXに近いブロックのQP値がQP予測値として使用されるため、ラスタ順序で直前のQP値を使用した場合と比較して、QP値の予測効率はほとんど低下しない。

0136

上記例では、ブロックラインの先頭以外では直前に処理したブロックのQP値を用いてQP予測値を生成したが、処理ブロックに隣接するブロックから予測するのであれば、他の方法でQP値を生成してもよい。

0137

なお、動画像復号装置10の実施例1と同様に、QP選択部802の処理は次のような処理あってもよい。処理するブロックラインが2〜N番目のブロックラインのときは、直前QP記憶部801が保存しているQP値はSliceQP値であり、Slice単位に1つ定まる値である。そのため、各ブロックのQP予測値として、SliceQP値を採用するとき、予測効率はそれほどよくない場合がある。

0138

そこで、QP選択部802は、処理するブロックラインが2〜N番目のブロックラインの先頭ブロックを処理するときは、上QP取得部803が取得したQP値を選択し、それ以外では、直前QP記憶部801が保持したQP値を選択してもよい。

0139

また、QP選択部802は、N+1番目以降のブロックラインの先頭ブロックを処理するときは、直前QP記憶部801が保持しているQP値を選択する。このときの直前QP記憶部801が保持しているQP値は、処理ブロックのNブロック上に位置するブロックラインの最後のブロックのQP値である。

0140

K番目のブロックラインとK+N番目のブロックラインは、同一の復号処理部とQP予測部とエントロピー復号部とで処理されるため、K番目のブロックラインの処理ブロックの直前に処理したブロックは、K−N番目のブロックラインの最後のブロックである。

0141

さらに、QP選択部802は、ブロックラインの先頭ブロックでは、常に直前QP記憶部801に記憶されるQP値を採用するようにしてもよい。また、QP選択部802は、処理するブロックラインが1〜N番目のブロックラインの先頭ブロックであるときは、QP予測値はSliceQP値としてもよい。

0142

このとき、同様にN+1番目のブロックラインの先頭ブロックのQP予測値は、Nブロック上に位置するブロックラインの最後のブロック(最終ブロック)のQP値としてもよい。

0143

各エントロピー符号化部641〜643は、各ブロックの差分動きベクトル、QP差分値、量子化された直交変換係数などを、ブロックライン毎にエントロピー符号化する。

0144

以上の構成を有することで、量子化パラメータの予測値を求める処理を、ブロックライン毎に並列処理することができる。

0145

<動作>
次に、実施例2における動画像符号化装置50の動作について説明する。図16は、実施例2におけるブロック符号化処理の一例を示すフローチャートである。図16に示すブロック符号化処理は、1ブロックの処理である。

0146

ステップS201で、各符号化処理部に処理対象のブロック(処理ブロック)が入力される。動き検出部708は、復号画素記憶部505から参照ピクチャの画素データを取得し、動きベクトルが検出される。

0147

ステップS202で、差分ベクトル生成部710は、検出された動きベクトルと、生成した予測ベクトルとの差分ベクトルを生成する。

0148

ステップS203で、動き検出部708は、検出された動きベクトルをブロック情報記憶部624に記憶する。

0149

ステップS204で、予測信号生成部709は、動き検出部708で検出された動きベクトルが参照する参照画像の領域位置情報を取得し、予測画素信号を生成する。

0150

ステップS205で、予測差分部701は、予測信号生成部709により生成された予測画素信号と、入力された原画像との差分をとり、予測誤差信号を生成する。

0151

ステップS206で、直交変換部702は、予測差分部701で生成された予測誤差信号に対し、直交変換処理を行い、直交変換係数を生成する。

0152

ステップS207で、量子化部703は、直交変換係数に対し、量子化パラメータ(QP)値に基づいて量子化する。

0153

ステップS208で、各QP予測部は、処理ブロックのQP予測値を生成する。QP予測値は、例えば、処理ブロックの上ブロック、あるいはQP予測部が属するブロックラ
符号化部が過去に処理したブロックのQP値とする。

0154

ステップS209で、QP確定部704は、量子化部703から取得したQP値と、QP予測部から取得したQP予測値とのいずれかに、処理ブロックのQP値を確定する。確定の仕方は上述した通りである。

0155

ステップS210で、各エントロピー符号化部は、処理ブロックの量子化された直交変換係数、QP差分値、差分ベクトルなどをエントロピー符号化する。

0156

ステップS211で、逆量子化部705と逆直交変換部706とは、量子化された直交変換係数に対し、逆量子化処理を行い、逆直交変換処理を行って、予測誤差信号に相当する信号を生成する。

0157

ステップS212で、復号画素生成部707は、予測信号生成部709から取得した予測画素信号と、逆直交変換部706から取得した信号とを加算し、局所的な復号画素を生成する。

0158

ステップS213で、復号画素記憶部505は、生成された復号画素を記憶する。以上の処理で、ブロックの符号化処理が終了し、次のブロックの符号化処理に移行する。

0159

以上、実施例2によれば、動画像符号化装置において、QP予測値の算出処理を並列化することを可能とし、ブロックライン並列処理の効率を向上させることができる。

0160

[実施例3]
図17は、動画像処理装置の構成の一例を示すブロック図である。動画像処理装置90は、各実施例で説明した動画像符号化装置、又は動画像復号装置の一例である。図17に示すように、動画像処理装置90は、制御部901、主記憶部902、補助記憶部903、ドライブ装置904、ネットワークI/F部906、入力部907、表示部908を含む。これら各構成は、バスを介して相互にデータ送受信可能に接続されている。

0161

制御部901は、コンピュータの中で、各装置の制御やデータの演算、加工を行うCPUである。また、制御部901は、主記憶部902や補助記憶部903に記憶されたプログラムを実行する演算装置であり、入力部907や記憶装置からデータを受け取り、演算、加工した上で、表示部908や記憶装置などに出力する。

0162

主記憶部902は、ROM(Read Only Memory)やRAM(Random Access Memory)などであり、制御部901が実行する基本ソフトウェアであるOSやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。

0163

補助記憶部903は、HDD(Hard Disk Drive)などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。

0164

ドライブ装置904は、記録媒体905、例えばフレキシブルディスクからプログラムを読み出し、記憶装置にインストールする。

0165

また、記録媒体905は、所定のプログラムを格納する。この記録媒体905に格納されたプログラムは、ドライブ装置904を介して動画像処理装置90にインストールされる。インストールされた所定のプログラムは、動画像処理装置90により実行可能となる。

0166

ネットワークI/F部906は、有線及び/又は無線回線などのデータ伝送路により構築されたLAN(Local Area Network)、WAN(Wide Area Network)などのネットワークを介して接続された通信機能を有する周辺機器と動画像処理装置90とのインターフェースである。

0167

入力部907は、カーソルキー数字入力及び各種機能キー等を備えたキーボード、表示部908の表示画面上でキーの選択等を行うためのマウスやスライスパット等を有する。また、入力部907は、ユーザが制御部901に操作指示を与えたり、データを入力したりするためのユーザインターフェースである。

0168

表示部908は、LCD(Liquid Crystal Display)等を有し、制御部901から入力される表示データに応じた表示が行われる。なお、表示部908は、外部に設けられてもよく、その場合は、動画像処理装置90は、表示制御部を有する。

0169

このように、前述した実施例で説明した動画像符号化処理又は動画像復号処理は、コンピュータに実行させるためのプログラムとして実現されてもよい。このプログラムをサーバ等からインストールしてコンピュータに実行させることで、前述した動画像符号化処理又は動画像復号処理を実現することができる。

0170

また、この動画像符号化プログラム又は動画像復号プログラムを記録媒体905に記録し、このプログラムが記録された記録媒体905をコンピュータや携帯端末に読み取らせて、前述した動画像符号化処理又は動画像復号処理を実現させることも可能である。

0171

なお、記録媒体905は、CD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。なお、記録媒体805には、搬送波は含まれない。

0172

動画像処理装置90で実行されるプログラムは、各実施例で説明した各部を含むモジュール構成となっている。実際のハードウェアとしては、制御部901が補助記憶部903からプログラムを読み出して実行することにより上記各部のうち1又は複数の各部が主記憶部902上にロードされ、1又は複数の各部が主記憶部902上に生成されるようになっている。

0173

また、前述した各実施例で説明した動画像符号化処理又は動画像復号処理は、1つ又は複数の集積回路実装してもよい。

0174

以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、前述した実施例の構成要素を全部又は複数を組み合わせることも可能である。

0175

なお、以上の実施例に関し、さらに以下の付記を開示する。
(付記1)
複数のブロックに分割された画像に対し、動画像符号化方式を用いて符号化されたストリームを復号する動画像復号装置であって、
前記ブロックの列を示すブロックラインに含まれるブロックのストリームを、ブロックライン毎に並列にエントロピー復号する並列エントロピー復号部と、
前記ブロックラインに含まれる各ブロックの量子化パラメータの予測値を、ブロックライン毎に並列に算出する並列QP予測部と、
前記ブロックラインに含まれる各ブロックに対し、前記並列エントロピー復号部により復号されたデータと、前記並列QP予測部により算出された予測値とを用いて復号処理した復号画素を、ブロックライン毎に並列に生成する並列復号処理部と、を備え、
前記並列QP予測部は、
2以上の値を示すN個のブロックラインずつ並列処理する場合、K−1番目のブロックラインの処理ブロックの水平位置を、K番目のブロックラインの処理ブロックの水平位置よりも少なくとも1ブロック以上先に処理し、前記処理ブロックに対して、前記並列処理で処理が完了しているブロックを参照して前記予測値を算出する動画像復号装置。
(付記2)
前記並列QP予測部は、
前記画像の上から2番目以降のブロックラインの先頭ブロックを処理する場合、前記先頭ブロックの1ブロック上のブロックを参照する付記1記載の動画像復号装置。
(付記3)
前記並列QP予測部は、
前記画像の上から2〜N番目のブロックラインの先頭ブロックを処理する場合、前記先頭ブロックの1ブロック上のブロックを参照し、N+1番目以降のブロックラインの前記先頭ブロックを処理する場合、前記先頭ブロックのNブロック上のブロックラインにおける最終ブロックを参照する付記1記載の動画像復号装置。
(付記4)
前記予測値は、
前記画像の上から1〜N番目のブロックラインの先頭ブロックを処理する場合、該画像のヘッダ情報に含まれる量子化パラメータ値とし、N+1番目以降のブロックラインの前記先頭ブロックを処理する場合、前記先頭ブロックのNブロック上のブロックラインにおける最終ブロックの量子化パラメータ値とする付記1記載の動画像復号装置。
(付記5)
画像を複数のブロックに分割し、該ブロック毎に動画像符号化処理を行う動画像符号化装置であって、
前記ブロックの列を示すブロックラインに含まれるブロックに対し、量子化された直交変換係数を含む符号化データを、ブロックライン毎に並列に生成する並列符号化処理部と、
前記ブロックラインに含まれる各ブロックの量子化パラメータの予測値を、ブロックライン毎に並列に算出する並列QP予測部と、
前記ブロックラインに含まれる各ブロックに対し、前記符号化データと前記予測値とを用いてエントロピー符号化を、ブロックライン毎に並列に行う並列エントロピー符号化部と、を備え、
前記並列QP予測部は、
2以上の値を示すN個のブロックラインずつ並列処理する場合、K−1番目のブロックラインの処理ブロックの水平位置を、K番目のブロックラインの処理ブロックの水平位置よりも少なくとも1ブロック以上先に処理し、前記処理ブロックに対して、前記並列処理で処理が完了しているブロックを参照して前記予測値を算出する動画像符号化装置。
(付記6)
複数のブロックに分割された画像に対し、動画像符号化方式を用いて符号化されたストリームを復号する動画像復号装置が実行する動画像復号方法であって、
前記ブロックの列を示すブロックラインに含まれるブロックのストリームを、ブロックライン毎に並列にエントロピー復号し、
前記ブロックラインに含まれる各ブロックの量子化パラメータの予測値を、ブロックライン毎に並列に算出し、
前記ブロックラインに含まれる各ブロックに対し、前記並列エントロピー復号処理により復号されたデータと、前記予測値とを用いて復号処理した復号画素を、ブロックライン毎に並列に生成する処理を有し、
前記予測値を算出する処理は、
2以上の値を示すN個のブロックラインずつ並列処理する場合、K−1番目のブロックラインの処理ブロックの水平位置を、K番目のブロックラインの処理ブロックの水平位置よりも少なくとも1ブロック以上先に処理し、前記処理ブロックに対して、前記並列処理で処理が完了しているブロックを参照して前記予測値を算出する動画像復号方法。
(付記7)
画像を複数のブロックに分割し、該ブロック毎に動画像符号化処理を行う動画像符号化装置が実行する動画像符号化方法であって、
前記ブロックの列を示すブロックラインに含まれるブロックに対し、量子化された直交変換係数を含む符号化データを、ブロックライン毎に並列に生成し、
前記ブロックラインに含まれる各ブロックの量子化パラメータの予測値を、ブロックライン毎に並列に算出し、
前記ブロックラインに含まれる各ブロックに対し、前記符号化データと前記予測値とを用いてエントロピー符号化を、ブロックライン毎に並列に行う処理を有し、
前記予測値を算出する処理は、
2以上の値を示すN個のブロックラインずつ並列処理する場合、K−1番目のブロックラインの処理ブロックの水平位置を、K番目のブロックラインの処理ブロックの水平位置よりも少なくとも1ブロック以上先に処理し、前記処理ブロックに対して、前記並列処理で処理が完了しているブロックを参照して前記予測値を算出する動画像符号化方法。
(付記8)
複数のブロックに分割された画像に対し、動画像符号化方式を用いて符号化されたストリームを復号する動画像復号装置に実行させるための動画像復号プログラムであって、
前記ブロックの列を示すブロックラインに含まれるブロックのストリームを、ブロックライン毎に並列にエントロピー復号し、
前記ブロックラインに含まれる各ブロックの量子化パラメータの予測値を、ブロックライン毎に並列に算出し、
前記ブロックラインに含まれる各ブロックに対し、前記並列エントロピー復号処理により復号されたデータと、前記予測値とを用いて復号処理した復号画素を、ブロックライン毎に並列に生成する処理を有し、
前記予測値を算出する処理は、
2以上の値を示すN個のブロックラインずつ並列処理する場合、K−1番目のブロックラインの処理ブロックの水平位置を、K番目のブロックラインの処理ブロックの水平位置よりも少なくとも1ブロック以上先に処理し、前記処理ブロックに対して、前記並列処理で処理が完了しているブロックを参照して前記予測値を算出する動画像復号プログラム。
(付記9)
画像を複数のブロックに分割し、該ブロック毎に動画像符号化処理を行う動画像符号化装置に実行させるための動画像符号化プログラムであって、
前記ブロックの列を示すブロックラインに含まれるブロックに対し、量子化された直交変換係数を含む符号化データを、ブロックライン毎に並列に生成し、
前記ブロックラインに含まれる各ブロックの量子化パラメータの予測値を、ブロックライン毎に並列に算出し、
前記ブロックラインに含まれる各ブロックに対し、前記符号化データと前記予測値とを用いてエントロピー符号化を、ブロックライン毎に並列に行う処理を有し、
前記予測値を算出する処理は、
2以上の値を示すN個のブロックラインずつ並列処理する場合、K−1番目のブロックラインの処理ブロックの水平位置を、K番目のブロックラインの処理ブロックの水平位置よりも少なくとも1ブロック以上先に処理し、前記処理ブロックに対して、前記並列処理で処理が完了しているブロックを参照して前記予測値を算出する動画像符号化プログラム。

0176

10動画像復号装置
50動画像符号化装置
90動画像処理装置
101並列復号部
102 並列エントロピー復号部
103 並列QP予測部
104 並列復号処理部
105復号画素記憶部
201ブロックライン復号処理部
244ブロック情報記憶部
301 QP復元部
401直前QP記憶部
402 QP選択部
403 上QP取得部
501並列符号化部
502 並列符号化処理部
503 並列QP予測部
504 並列エントロピー符号化部
505 復号画素記憶部
601 ブロックライン符号化処理部
624 ブロック情報記憶部
704 QP確定部
801 直前QP記憶部
802 QP選択部
803 上QP取得部
901 制御部
902主記憶部
903補助記憶部

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

該当するデータがありません

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ