JP2017127034A - 動画像処理装置及び動画像処理方法 - Google Patents

動画像処理装置及び動画像処理方法 Download PDF

Info

Publication number
JP2017127034A
JP2017127034A JP2017082299A JP2017082299A JP2017127034A JP 2017127034 A JP2017127034 A JP 2017127034A JP 2017082299 A JP2017082299 A JP 2017082299A JP 2017082299 A JP2017082299 A JP 2017082299A JP 2017127034 A JP2017127034 A JP 2017127034A
Authority
JP
Japan
Prior art keywords
block
processing
unit
parallel
quantization parameter
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
JP2017082299A
Other languages
English (en)
Other versions
JP6311821B2 (ja
Inventor
智史 島田
Tomohito Shimada
智史 島田
数井 君彦
Kimihiko Kazui
君彦 数井
純平 小山
Junpei Koyama
純平 小山
中川 章
Akira Nakagawa
章 中川
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 JP2017082299A priority Critical patent/JP6311821B2/ja
Publication of JP2017127034A publication Critical patent/JP2017127034A/ja
Application granted granted Critical
Publication of JP6311821B2 publication Critical patent/JP6311821B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】QP予測値の算出処理を並列化することを可能とし、ブロックライン並列処理の効率を向上させる。
【解決手段】画像を複数のブロックに分割し、該ブロック毎に動画像符号化処理を行う動画像符号化部と、符号化されたストリームを復号する動画像復号部と、を有する動画像処理装置であって、前記動画像符号化部は、並列符号化処理部と、第1の並列QP予測部と、並列エントロピー符号化部と、を備え、前記動画像復号部は、並列エントロピー復号部と、第2の並列QP予測部と、並列復号処理部とを備える。
【選択図】図17

Description

本発明は、各ピクチャを複数のブロックに分割してブロックごとに処理する動画像処理装置及び動画像処理方法に関する。
近年の動画像符号化では、画像をブロックに分割し、ブロックに含まれる画素を予測して予測差分を符号化することで高い圧縮率を達成している。符号化対象のピクチャ内の画素から予測画素を構成する予測モードをイントラ予測といい、動き補償と呼ばれる過去に符号化した参照画像から予測画素を構成する予測モードをインター予測という。
動画像符号化装置において、インター予測では、予測画素として参照する領域を動きベクトルという水平成分・垂直成分の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に示すように、エントロピー符号化・復号処理に関しても、ブロックラインごとに並列化処理を行うことができる。
ISO/IEC 14496-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.
H.264やHEVCに代表される動き補償と直交変換処理(例えばDCT(Discrete Cosine Transform))とを組み合わせたハイブリッド符号化方式では、画像をブロックに分割し、各ブロックの予測画素を生成し、原画素と予測画素の差分画素に対して、DCTなどの直交変換を行い、直交変換の出力係数を量子化することで、圧縮を実現する。
情報量を制御するために、量子化の精度を調整する量子化パラメータ(QP(Quantization Parameter)とも呼ぶ)を用意し、ブロックごとにQP値を符号化する。
ただし、変換係数が全て0のブロックの場合、逆量子化した結果も全て0となり、復号処理においてQPを必要としないため、このような場合には、このQPは無効となり、QP値は符号化されない。
各ブロックで、QPの予測値(QP予測値とも呼ぶ)が生成されるため、処理ブロックのQPが無効となった場合、処理ブロックのQP値は、QPの予測値に設定される。ブロックごとのQP値の決定方法としては、非特許文献4に記載されたTM5で用いられるアルゴリズムが知られている。
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値となる。
また、H.264やHEVCでは、直交変換の量子化以外にも、デブロッキングフィルタのフィルタ強度決定に、各ブロックのQP値を使用する。無効になったQPは、動画像復号装置に通知されないため、QPが無効になったブロックのQP値は、QPprevとして処理される。
ここで、ブロックライン並列処理の、K−1ブロックラインと、Kブロックラインに着目する。Kブロックラインの処理開始時に、Kブロックラインの先頭のXブロックを処理するとき、K−1ブロックラインの2ブロックずれた程度しか処理が完了していない。Kブロックラインの先頭ブロックのラスタ順序で前に位置するブロックは、K−1ブロックラインの最終ブロックYであるため、Yブロックの処理はまだ終わっていない。
このため、Xブロックを処理するときには、QPprevが確定しないという課題がある。XブロックのQPprevが確定しないため、Xブロックの次のブロックのQPprevも確定しない。
よって、QP予測値の算出は、ブロックラインごとに並列にできずに、逐次処理となってしまう。図3は、従来のブロックライン並列処理を行う動画像処理装置の概略構成を示すブロック図である。
図3Aは、従来のブロックライン並列処理を行う符号化装置の概略構成を示すブロック図である。図3Bは、従来のブロックライン並列処理を行う復号装置の概略構成を示すブロック図である。
図3に示すように、従来の動画像処理装置では、QP予測値を算出するQP予測部がボトルネックとなってしまう。
図4Aは、QP予測処理におけるブロックライン並列処理(その1)を示す図である。図4Aに示す例では、1番目のブロックラインと2番目のブロックラインを並列処理しているとする。このとき、2番目のブロックラインの処理ブロックをXとしたときに、XのQP予測値を算出するには、ブロックYの処理完了まで待機する必要がある。2番目のブロックラインの処理は、1番目のブロックラインの処理を完了しないと開始することができない。
図4Bは、QP予測処理におけるブロックライン並列処理(その2)を示す図である。図4Bに示すように、ブロックYの処理が完了すると、2番目のブロックラインの処理が開始できるようになる。
図4Cは、QP予測処理におけるブロックライン並列処理(その3)を示す図である。図4Cに示す例では、1番目のブロックラインを処理していたQP予測部が、3番目のブロックラインのブロックWのQP値を算出するためには、2番目のブロックラインのブロックVの処理が完了するまで待機する。
すなわち、3番目のブロックラインの処理は、2番目のブロックラインの処理が完了しないと開始することはできない。このように、K番目のブロックラインの処理を開始するにはK−1番目のブロックラインの処理が完了していることが要求されるため、従来技術では、このQP予測値を算出する処理は逐次処理となってしまう。
符号化処理部を並列化し、QP予測部を逐次的に処理する場合、次のような問題が発生する。ブロックXにおけるQPprevが確定していないため、例えば、K番目のブロックラインの先頭でQP_DELTAが算出できずに、ブロックYの処理が完了するまで、ブロックXのエントロピー処理が開始できないという問題が発生する。
よって、エントロピー処理の開始が遅延するため、符号化処理部の結果を保存しておくバッファが増加してしまう。同様に、デブロックキングフィルタの処理を開始することができないという問題も発生する。
動画像復号装置について、同様にブロックライン並列処理を考える。HEVCにおいては、エントロピー復号処理は、ブロックラインごとに並列に処理することができる。上記と同様に、K−1番目のブロックラインとK番目のブロックラインに着目し、K番目のブロックラインの先頭ブロックXのQP復元処理を考えると、ブロックXのQP_DELTAが復号できた時点では、ブロックYのQP_DELTAは復号できていないため、YのQP値を復元することはできない。
ブロックXのQP予測値であるQPprevは、ブロックYのQP値であるため、ブロックXのQP予測値の算出は行うことができず、ブロックXのQP値が復元できない。このため、動画像符号化装置と同様に各ブロックのQP予測値の算出は、逐次処理となってしまい、並列処理のボトルネックとなる。
そこで、開示の技術は、QP予測値の算出処理を並列化することを可能とし、ブロックライン並列処理の効率を向上させることを目的とする。
開示の一態様における動画像処理装置は、
画像を複数のブロックに分割し、該ブロック毎に動画像符号化処理を行う動画像符号化部と、符号化されたストリームを復号する動画像復号部と、を有する動画像処理装置であって、
前記動画像符号化部は、
前記ブロックの列を示すブロックラインに含まれるブロックに対し、量子化された直交変換係数を含む符号化データを、ブロックライン毎に並列に生成する並列符号化処理部と、
前記ブロックラインに含まれる各ブロックの符号化で使用した量子化パラメータに対する量子化パラメータの予測値を、ブロックライン毎に並列に算出する第1の並列QP予測部と、
前記ブロックラインに含まれる各ブロックに対し、前記符号化データと前記量子化パラメータの予測値とを用いてエントロピー符号化を、ブロックライン毎に並列に行う並列エントロピー符号化部と、を備え、
前記第1の並列QP予測部は、
2以上の値を示すN個のブロックラインずつ並列処理する場合、K−1番目のブロックラインの処理ブロックの水平位置を、K番目のブロックラインの処理ブロックの水平位置よりも少なくとも1ブロック以上先に処理し、
処理ブロックがブロックラインの先頭である場合においては、処理ブロックが属するスライスを単位にして定まる量子化パラメータで処理ブロックの直前に処理されたブロックの量子化パラメータを初期化し、初期化した量子化パラメータに基づいて処理ブロックの前記量子化パラメータの予測値を算出し、
処理ブロックがブロックラインの先頭以外の場合においては、ブロックライン内のブロックの量子化パラメータに基づいて処理ブロックの前記量子化パラメータの予測値を算出し、
前記並列符号化処理部は、
前記第1の並列QP予測部で算出した量子化パラメータの予測値と各ブロックの処理に使用した量子化パラメータおよび符号化の結果が全て0か否かの情報に基づいて処理ブロックの量子化パラメータを決定し、
前記動画像復号部は、
前記ブロックの列を示すブロックラインに含まれるブロックのストリームを、ブロックライン毎に並列にエントロピー復号する並列エントロピー復号部と、
前記ブロックラインに含まれる各ブロックの量子化パラメータの予測値を、ブロックライン毎に並列に算出する第2の並列QP予測部と、
前記ブロックラインに含まれる各ブロックに対し、前記並列エントロピー復号部により復号されたデータと、前記第2の並列QP予測部により算出された予測値とを用いて復号処理した復号画素を、ブロックライン毎に並列に生成する並列復号処理部と、を備え、
前記第2の並列QP予測部は、
2以上の値を示すN個のブロックラインずつ並列処理する場合、K−1番目のブロックラインの処理ブロックの水平位置と、K番目のブロックラインの処理ブロックの水平位置の関係として、K−1番目のブロックラインの処理ブロックの水平位置が少なくとも1ブロック以上先行したタイミングとし、
処理ブロックがブロックラインの先頭である場合においては、処理ブロックが属するスライスを単位にして定まる量子化パラメータで処理ブロックの直前に処理されたブロックの量子化パラメータを初期化し、初期化した量子化パラメータに基づいて処理ブロックの前記量子化パラメータの予測値を算出し、
処理ブロックがブロックラインの先頭以外の場合においては、ブロックライン内の先に復号が完了しているブロックの量子化パラメータに基づいて処理ブロックの前記量子化パラメータの予測値を算出し、
前記並列復号処理部は、
前記第2の並列QP予測部で算出した量子化パラメータの予測値に基づいて処理ブロックの量子化パラメータを算出し、算出した量子化パラメータを利用して処理ブロックのデブロッキングフィルタ処理を行う。
開示の技術によれば、QP予測値の算出処理を並列化することを可能とし、ブロックライン並列処理の効率を向上させることができる。
ブロックライン並列処理を説明するための図。 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における動画像処理装置の構成の一例を示すブロック図。
以下、添付図面を参照しながら各実施例について詳細に説明する。なお、動画像に含まれる画像(ピクチャ)は、フレーム又はフィールドの何れであってもよい。フレームは、動画像データ中の一つの静止画像であり、一方、フィールドは、フレームから奇数行のデータあるいは偶数行のデータのみを取り出すことにより得られる静止画像である。
また、処理対象の動画像は、カラー動画像であってもよく、又はモノクロ動画像であってもよい。
[実施例1]
<構成>
図5は、実施例1における動画像復号装置の構成の一例を示すブロック図である。図5に示す例では、動画像復号装置10は、並列復号部101と、復号画素記憶部105とを有する。並列復号部101は、並列エントロピー復号部102と、並列QP予測部103と、並列復号処理部104とを有する。
なお、動画像復号装置10は、N個のブロックラインを並列処理することとする。また、ブロックラインとは、例えば画像内における水平方向のブロック列をいう。
並列復号部101の各部は、各ブロックラインにおいて処理するブロックを同一のブロックとする。また、例えば、K−1番目のブロックラインの処理ブロックの水平位置は、K番目のブロックラインの処理ブロックの水平位置よりも2ブロック以上先とする。
これは、ブロックライン間で、水平位置が2ブロック以上ずれるようにすることで、各ブロックラインを並列に復号処理したとしても、処理ブロックの上と右上のブロックの復号情報が利用できるようにするためである。上ブロックのみの復号情報を利用する場合は、ブロックライン間の水平位置のずれ量は1ブロックでよい。以下では、上ブロックは、処理ブロックの1ブロック上のブロックを示し、右上ブロックは、処理ブロックの1ブロック上のブロックの右に隣接するブロックを示す。
並列復号部101は、複数のブロックに分割された画像に対し、動画像符号化方式を用いて符号化されたストリームを、例えばN個のブロックラインで並列処理して復号する。ブロックラインのブロック毎に復号された画素は、復号画素記憶部105に出力される。復号された画素を復号画素という。
並列エントロピー復号部102は、入力されたストリームに対し、ブロックライン毎に分割し、ブロックライン毎に、このブロックラインに含まれるブロックのストリームを並列にエントロピー復号する。並列エントロピー復号部102は、エントロピー復号されたデータを並列復号処理部104に出力する。
並列QP予測部103は、ブロックラインに含まれる各ブロックの量子化パラメータ(QP)の予測値(QP予測値)を、ブロックライン毎に並列に算出する。算出されたQP予測値を並列復号処理部104に出力する。
並列復号処理部104は、ブロックラインに含まれる各ブロックに対し、並列エントロピー復号部102により復号されたデータと、並列QP予測部103により算出されたQP予測値とを用いて復号処理した復号画素を、ブロックライン毎に並列に生成する。生成された復号画素は復号画素記憶部105に出力される。
復号画素記憶部105は、並列復号部101から出力された各ブロックの復号画素を記憶する。復号画素は、画像単位で集合すると画像(ピクチャ)となる。復号画素記憶部105は、1ピクチャ分の復号処理が完了したときに、復号された画像が出力される。
《並列復号部》
次に、並列復号部101について説明する。図6は、実施例1における並列復号部101の各部の構成の一例を示すブロック図である。図6に示す例では、並列エントロピー復号部102は、第1エントロピー復号部221と、第2エントロピー復号部222と、第Nエントロピー復号部223とを有する。
図6に示す例では、並列QP予測部103は、第1QP予測部231と、第2QP予測部232と、第NQP予測部233とを有する。図6に示す例では、並列復号処理部104は、第1復号処理部241と、第2復号処理部242と、第N復号処理部243と、ブロック情報保持部244とを有する。
ここで、L=1〜Nに対して、第Lエントロピー復号部と、第LQP予測部と、第L復号処理部とは、1つのブロックラインをそれぞれ対応して処理する。以下では、第Lエントロピー復号部と、第LQP予測部と、第L復号処理部とを総称してブロックライン復号処理部と呼ぶ。例えば、ブロックライン復号処理部201は、第1エントロピー復号部221と、第1QP予測部231と、第1復号処理部241とを有する。
ブロックライン復号処理部は、K番目のブロックラインを処理すると、次は、K+N番目のブロックラインを処理する。
並列エントロピー復号部102は、入力されたストリームをブロックライン毎に分割する。各エントロピー復号部221〜223は、分割されたストリームにおけるNブロックライン単位で、各ブロックラインを並列にエントロピー復号する。各エントロピー復号部221〜223は、動画像符号化装置でのエントロピー符号化処理に対応するエントロピー復号処理を行う。
各復号処理部241〜243は、ブロックライン単位で並列に復号処理を行う。図7は、実施例1における復号処理部の構成の一例を示すブロック図である。各復号処理部241〜243は、いずれも同様の処理を行うため、以下では、第1復号処理部241を用いて説明する。
第1復号処理部241は、QP復元部301と、逆量子化部302と、逆直交変換部303と、動きベクトル復元部304と、予測画素生成部305と、復号画素生成部306とを有する。
QP復元部301は、後述する第1QP予測部231から入力されたQP予測値と、第1エントロピー復号部221から入力されたQP差分値とを用いてQP値を復元する(例えば式(2)参照)。復元されたQP値は、逆量子化部302に出力される。
逆量子化部302は、復元されたQP値と直交変換係数とを乗算することで逆量子化を行う。逆量子化された直交変換係数は、逆直交変換部303に出力される。
逆直交変換部303は、逆量子化部302から入力された直交変換係数に対して、逆直交変換処理を行い、予測誤差画素を生成する。生成された予測誤差画素は、復号画素生成部306に出力される。
動きベクトル復元部304は、ブロック情報記憶部244から、処理ブロックの周辺ブロックの動きベクトル情報を取得し、予測ベクトルを算出する。動きベクトル復元部304は、予測ベクトルと、第1エントロピー復号部221から入力された差分ベクトルとを加算することにより、動きベクトルが復元される。復元された動きベクトルは、予測画素生成部305に出力される。
予測画素生成部305は、過去に復号したピクチャが保存されている復号画素記憶部105から動きベクトルが指す参照ピクチャの画素データを取得し、予測画素を生成する。生成された予測画素は、復号画素生成部306に出力される。
復号画素生成部306は、予測画素生成部305から入力された予測画素と、逆直交変換部303から入力された予測誤差画素とを加算し、復号画素を生成する。生成された復号画素は、復号画素記憶部105に記憶される。
次に、各QP予測部の処理について説明する。まず、各QP予測部による予測処理で、利用可能なブロックを説明する。図8は、N=3の場合の並列QP予測処理における利用可能ブロックの一例を示す図である。図8に示す例では、N=3であり、各ブロックラインで、2ブロックずつ遅延させて並列処理される。
このとき、処理ブロックXに対し、利用可能なブロックは、図8に示す網掛けブロックである。図8に示す網掛けブロックは、処理ブロックを処理する際に、既に処理が完了しているブロック、つまり利用可能なブロックを示す。図8に示す太線枠のブロックは、処理対象のブロック(処理ブロックとも呼ぶ)を示す。各QP予測部は、処理ブロックのQP予測値を算出する際、利用可能ブロック(処理完了ブロック)を参照することでQP予測値を求める。以下では、このQP予測値の求め方について詳述する。
図9は、実施例1におけるQP予測部の構成の一例を示すブロック図である。各QP予測部231〜233は、いずれも同様の処理を行うため、以下では、第1QP予測部231を用いて説明する。
図9に示す第1QP予測部231は、直前QP記憶部401と、QP選択部402と、上QP取得部403とを有する。
直前QP記憶部401は、現在の処理ブロックの直前に処理されたブロックのQP値をQP復元部301から受け取り、記憶している。直前QP記憶部401が記憶しているQP値は、ピクチャ処理開始時に初期化される。
例えば、H.264と同様にSliceヘッダ情報に符号化されたSliceQP値で初期化する。Sliceは、1ピクチャに属するブロックをグループに分割したときの単位である。
上QP取得部403は、ブロック情報記憶部244から、例えば、処理ブロックの上に位置するブロックのQP値を取得する。
QP選択部402は、直前QP記憶部401か、あるいは、上QP取得部403かのいずれかの出力するQP値を選択して、QP予測値としてQP復元部301に出力する。
例えば、QP選択部402は、処理ブロックがブロックライン先頭のブロックであれば、上QP取得部403から出力されたQP値を選択し、処理ブロックがブロックライン先頭以外のブロックであれば、直前QP記憶部401から出力されたQP値を選択する。QP選択部402は、選択したQP値をQP予測値として、QP復元部301に出力する。
上記例の場合のQP値の予測(選択)について図を用いて説明する。図10Aは、実施例1におけるQP予測処理(その1)の一例を示す図である。図10Aに示す例では、処理ブロックXの位置を処理ブロックとしたとき、図10Aに示すように処理ブロックXが先頭ブロックであるときには、上ブロックAのQP値がQP選択部402により選択される。
図10Bは、実施例1におけるQP予測処理(その2)の一例を示す図である。図10Bに示すように、処理ブロックXが、先頭ブロック以外の場合では、直前に処理したブロックBのQP値がQP選択部402により選択される。
ここで、処理ブロックXに近いブロックのQP値がQP予測値として使用されるため、ラスタ順序で直前のQP値を使用した場合と比較して、QP値の予測効率はほとんど低下しない。
上記例では、ブロックラインの先頭以外では直前に処理したブロックのQP値を用いてQP予測値を生成したが、処理ブロックに隣接するブロックから予測するのであれば、他の方法でQP値を生成してもよい。
また、QP選択部402の処理は、次のような処理であってもよい。処理するブロックラインが2〜N番目のブロックラインのときは、直前QP記憶部401が保存しているQP値はSliceQP値であり、Slice単位に1つ定まる値である。そのため、各ブロックのQP予測値として、SliceQP値を採用するには、予測効率があまりよくないと考えられる。
そこで、QP選択部402は、処理するブロックラインが2〜N番目のブロックラインの先頭ブロックが処理されるときは、上QP取得部403が取得したQP値を選択し、それ以外では、直前QP記憶部401が保持したQP値を選択してもよい。
また、QP選択部402は、N+1番目以降のブロックラインの先頭ブロックを処理するときは、直前QP記憶部401が保持しているQP値を選択する。このときの直前QP記憶部401が保持しているQP値は、処理ブロックのNブロック上に位置するブロックラインの最後のブロック(最終ブロックとも呼ぶ)のQP値である。
K番目のブロックラインとK+N番目のブロックラインは、同一の復号処理部とQP予測部とエントロピー復号部とで処理されるため、K番目のブロックラインの処理ブロックの直前に処理したブロックは、K−N番目のブロックラインの最後のブロックである。
さらに、QP選択部402は、ブロックラインの先頭ブロックでは、常に直前QP記憶部401に記憶されるQP値を採用するようにしてもよい。また、QP選択部402は、処理するブロックラインが1〜N番目のブロックラインの先頭ブロックであるときは、QP予測値はSliceQP値としてもよい。
このとき、同様にN+1番目のブロックラインの先頭ブロックのQP予測値は、Nブロック上に位置するブロックラインの最後のブロックのQP値としてもよい。
以上の構成を有することで、量子化パラメータの予測値を求める処理を、ブロックライン毎に並列処理することができる。
<動作>
次に、実施例1における動画像復号装置10の動作について説明する。図11は、実施例1におけるブロック復号処理の一例を示すフローチャートである。図11に示すブロック復号処理は、1ブロックの処理である。
ステップS101で、各エントロピー復号部は、入力されたストリームから各ブロックの差分動きベクトル、QP差分値、量子化された直交変換係数などの符号化情報をエントロピー復号する。これらのエントロピー復号された情報は、処理されたエントロピー復号部に対応する復号処理部に出力する。
ステップS102で、復号処理部の動きベクトル復元部304は、ブロック情報記憶部244から周辺ブロックの動きベクトル情報を取得し、予測ベクトルを算出する。
ステップS103で、動きベクトル復元部304は、差分動きベクトルと予測ベクトルとを加算することで、動きベクトルを復元する。復元された動きベクトルの情報は、ブロック情報記憶部244に記憶される。
ステップS104で、予測画素生成部305は、過去に復号されたピクチャが保存されている復号画素記憶部105から動きベクトルが指す参照ピクチャの画素データを取得し、予測画素を生成する。
ステップS105で、各QP予測部は、処理ブロックのQP予測値を生成し、QP復元部301に入力する。
ステップS106で、QP復元部301は、入力されたQP予測値とQP差分値とからQP値を復元する。QP値は、逆量子化部302に入力されるとともにブロック情報記憶部244に保存される。QP予測値は、処理ブロックの上ブロックあるいは、ブロックライン復号処理部201が過去に処理したブロックのQP値とすることで、QP予測値の生成を待機する必要がなくなり、並列処理の効率が向上する。
ステップS107で、逆量子化部302は、量子化された直交変換係数と、QP値とを乗算する。
ステップS108で、逆直交変換部303は、逆量子化された直交変換係数に対し、逆直交変換処理を行い、予測誤差画素を生成する。
ステップS109で、復号画素生成部306は、予測誤差画素と予測画素とを加算し、復号画素を生成する。
ステップS110で、復号画素記憶部105は、復号画素を記憶する。以上の処理で、ブロックの復号処理が終了し、次のブロックの復号処理に移行する。1ピクチャに含まれるすべてのブロックの復号処理が終了したときに、復号画素記憶部105に記憶された復号画像は、例えばディスプレイなどの表示部に出力される。
以上、実施例1によれば、動画像復号装置において、QP予測値の算出処理を並列化することを可能とし、ブロックライン並列処理の効率を向上させることができる。
[実施例2]
次に、実施例2における動画像符号化装置について説明する。実施例2では、実施例1に対応して、ブロックライン単位でQPの予測処理を並列化する。
<構成>
図12は、実施例2における動画像符号化装置50の構成の一例を示すブロック図である。図12に示す例では、動画像復号装置50は、並列符号化部501と、復号画素記憶部505とを有する。並列符号化部501は、並列符号化処理部502と、並列QP予測部503と、並列エントロピー符号化部504とを有する。なお、動画像符号化装置50は、N個のブロックラインを並列処理することとする。
並列符号化部501の各部は、各ブロックラインにおいて処理するブロックを同一のブロックとする。また、例えば、K−1番目のブロックラインの処理ブロックの水平位置は、K番目のブロックラインの処理ブロックの水平位置よりも2ブロック以上先とする。
これは、ブロックライン間で、水平位置が2ブロック以上ずれるようにすることで、各ブロックラインを並列に符号化処理したとしても、処理ブロックの上と右上のブロックの符号化情報が利用できるようにするためである。上ブロックのみの復号情報を利用する場合は、ブロックライン間の水平位置のずれ量は1ブロックでよい。
並列符号化部501は、画像を複数のブロックに分割し、動画像符号化方式を用いて例えばN個のブロックラインで並列処理して符号化する。並列符号化部501で、局所復号された復号画素は、復号画素記憶部505に記憶される。
並列符号化処理部502は、ブロックライン毎に、このブロックラインに含まれるブロックに対し、量子化された直交変換係数、差分動きベクトル情報などを並列に生成する。生成された直交変換係数や差分動きベクトル情報(符号化データとも呼ぶ)は、並列エントロピー符号化部504に出力される。量子化で用いられたQP値は、並列QP予測部503に出力される。
並列QP予測部503は、ブロックラインに含まれる各ブロックの量子化パラメータ(QP)の予測値(QP予測値)を、ブロックライン毎に並列に算出する。算出されたQP予測値を並列エントロピー符号化部504に出力する。
並列エントロピー符号化部504は、ブロックラインに含まれる各ブロックに対し、量子化された直交変換係数、QP値とQP予測値との差分であるQP差分値、差分動きベクトル情報などを用いてエントロピー符号化を、ブロックライン単位で並列に行う。並列エントロピー符号化部504で符号化されたストリームは、動画像復号装置10などに出力される。
復号画素記憶部505は、並列符号化部501から出力された各ブロックの局所的な復号画素を記憶する。局所的な復号は、ローカルデコードなどとも呼ばれる。
《並列符号化部》
次に、並列符号化部501について説明する。図13は、実施例2における並列符号化部501の各部の構成の一例を示すブロック図である。図13に示す例では、並列符号化処理部502は、第1符号化処理部621と、第2符号化処理部622と、第N符号化処理部623と、ブロック情報記憶部624とを有する。
図13に示す例では、並列QP予測部503は、第1QP予測部631と、第2QP予測部632と、第NQP予測部633とを有する。図13に示す例では、並列エントロピー符号化部504は、第1エントロピー符号化部641と、第2エントロピー符号化部642と、第Nエントロピー符号化部643とを有する。
ここで、L=1〜Nに対して、第L符号化処理部と、第LQP予測部と、第Lエントロピー符号化部とは、1つのブロックラインをそれぞれ対応して処理する。以下では、第L符号化処理部と、第LQP予測部と、第Lエントロピー符号化部とを総称してブロックライン符号化処理部と呼ぶ。
例えば、ブロックライン符号化処理部601は、第1符号化処理部621と、第1QP予測部631と、第1エントロピー符号化部641とを有する。
ブロックライン符号化処理部は、K番目のブロックラインを符号化処理すると、次は、K+N番目のブロックラインを符号化処理する。
並列符号化処理部502は、入力された画像を複数のブロックラインに分割する。各符号化処理部621〜623は、ブロックライン単位で並列に符号化処理を行う。符号化処理は、例えばH.264やHEVCなどの符号化処理である。
図14は、実施例2における符号化処理部の構成の一例を示すブロック図である。各符号化処理部621〜623は、いずれも同様の処理を行うため、以下では、第1符号化処理部621を用いて説明する。
第1符号化処理部621は、予測差分部701と、直交変換部702と、量子化部703と、QP確定部704と、逆量子化部705と、逆直交変換部706と、復号画素生成部707と、動き検出部708と、予測信号生成部709と、差分ベクトル生成部710とを有する。
動き検出部708は、復号画素記憶部505から参照ピクチャの画素データを取得し、動きベクトルの検出を行う。検出された動きベクトルの情報は、ブロック情報記憶部624に記憶され、次のブロックの符号化に利用される。
予測信号生成部709は、入力された参照画像の領域位置情報に基づいて、復号画素記憶部505から参照画素を取得し、予測画素信号を生成する。生成された予測画素信号は、予測差分部701に出力される。
差分ベクトル生成部710は、予測ベクトルを生成する。予測ベクトルは、一例として処理ブロックの左と上と、右上に位置するブロックの動きベクトルをブロック情報記憶部624から取得し、3つの動きベクトルのうち、中間値を予測ベクトルとする。
上述したように、各ブロックラインは、例えば水平に2ブロックずつずれて処理しているため、処理ブロックの上と右上のブロックの符号化処理は完了している。そのため、差分ベクトル生成部710は、周辺ブロックの動きベクトルを取得することができる。
差分ベクトル生成部710は、動き検出部708から処理ブロックの動きベクトルを取得し、動きベクトルと予測ベクトルとの差分ベクトルを生成する。生成された差分ベクトルは、第1エントロピー符号化部641に出力される。
予測差分部701は、原画像と、予測画素信号との差分を算出することで、予測誤差信号を生成する。予測誤差信号は、直交変換部702に出力される。
直交変換部702は、予測誤差信号に対して、例えば離散コサイン変換などの直交変換処理を行う。変換された直交変換係数は、量子化部703に出力される。
量子化部703は、量子化パラメータ(QP)値に基づいて、直交変換係数を量子化する。量子化手法の一例としては、直交変換係数をQPで定まる値によって除算し、整数値に丸める方法である。量子化された直交変換係数をQP値で乗算すれば、逆量子化することができる。丸める処理によって、量子化は不可逆な変換となる。量子化された直交変換係数は、第1エントロピー符号化部641に出力される。
また、量子化部703は、量子化された直交変換係数がすべて0であった否かのフラグ情報を生成し、量子化で使用したQP値とともに、QP確定部704に出力する。QP値は、逆量子化部705、第1QP予測部631に出力される。
第1QP予測部631は、処理ブロックのQP予測値を生成する。生成されたQP予測値は、QP確定部704及び第1エントロピー符号化部641に出力される。
QP予測値は、処理ブロックの上ブロックあるいは、第1QP予測部631が所属しているブロックライン符号化処理部が過去に処理したブロックのQP値とすることで、QP予測値の生成を待機する必要がなくなり、並列処理の効率が向上する。
QP確定部704は、量子化部703から入力されたQP値とQP予測値とから、処理ブロックのQPを確定する。直交変換係数がすべて0であった場合、QP差分情報は、エントロピー符号化されないため、量子化部703で使用したQP値は、復号装置側に通知されないので無効になる。
例えば、QP確定部704は、量子化部703が生成した量子化された直交変換係数がすべて0であったか否かのフラグ情報を取得する。QP確定部704は、すべて0を示すフラグ情報を取得した場合、処理ブロックのQP値はQP予測値に設定する。QP確定部704は、すべて0ではないことを示すフラグ情報を取得した場合、処理ブロックのQP値は、量子化部703で使用されたQP値に設定する。QP確定部704が確定したQP値は、ブロック情報記憶部624に記憶される。
逆量子化部705は、量子化された直交変換係数に対し、逆量子化処理を行う。逆量子化された直交変換係数は、逆直交変換部706に出力される。
逆直交変換部706は、逆量子化された直交変換係数に対し、逆直交変換処理を行う。逆直交変換された信号を復号画素生成部707に出力する。
復号画素生成部707は、逆直交変換された信号に、予測信号生成部709から取得した予測画素信号を加算することで、局所的な復号画素を生成する。生成された復号画素は、復号画素記憶部505に記憶される。
次に、各QP予測部の処理について説明する。図15は、実施例2におけるQP予測部の構成の一例を示すブロック図である。各QP予測部631〜633は、いずれも同様の処理を行うため、以下では、第1QP予測部631を用いて説明する。
図15に示す第1QP予測部631は、直前QP記憶部801と、QP選択部802と、上QP取得部803とを有する。
直前QP記憶部801は、現在の処理ブロックの直前に処理したブロックのQP値をQP確定部704から受け取り、記憶している。直前QP記憶部801が記憶しているQP値は、ピクチャ処理開始時に初期化される。
例えば、H.264と同様にSliceヘッダ情報に符号化されたSliceQP値で初期化する。Sliceは、1ピクチャに属するブロックをグループに分割したときの単位である。
上QP取得部803は、ブロック情報記憶部624から、処理ブロックの上に位置するブロックのQP値を取得する。
QP選択部802は、直前QP記憶部801か、あるいは、上QP取得部803かのいずれかの出力するQP値を選択して、QP予測値としてQP確定部704や第1エントロピー符号化部641に出力する。
例えば、QP選択部802は、処理ブロックがブロックライン先頭のブロックであれば、上QP取得部803から出力されたQP値を選択し、処理ブロックがブロックライン先頭以外のブロックであれば、直前QP記憶部801から出力されたQP値を選択する。QP選択部802は、選択したQP値をQP予測値として、QP確定部704や第1エントロピー符号化部641に出力する。
上記例の場合のQP値の予測(選択)については、図10A及び図10Bに示す通りである。ここで、処理ブロックXに近いブロックのQP値がQP予測値として使用されるため、ラスタ順序で直前のQP値を使用した場合と比較して、QP値の予測効率はほとんど低下しない。
上記例では、ブロックラインの先頭以外では直前に処理したブロックのQP値を用いてQP予測値を生成したが、処理ブロックに隣接するブロックから予測するのであれば、他の方法でQP値を生成してもよい。
なお、動画像復号装置10の実施例1と同様に、QP選択部802の処理は次のような処理あってもよい。処理するブロックラインが2〜N番目のブロックラインのときは、直前QP記憶部801が保存しているQP値はSliceQP値であり、Slice単位に1つ定まる値である。そのため、各ブロックのQP予測値として、SliceQP値を採用するとき、予測効率はそれほどよくない場合がある。
そこで、QP選択部802は、処理するブロックラインが2〜N番目のブロックラインの先頭ブロックを処理するときは、上QP取得部803が取得したQP値を選択し、それ以外では、直前QP記憶部801が保持したQP値を選択してもよい。
また、QP選択部802は、N+1番目以降のブロックラインの先頭ブロックを処理するときは、直前QP記憶部801が保持しているQP値を選択する。このときの直前QP記憶部801が保持しているQP値は、処理ブロックのNブロック上に位置するブロックラインの最後のブロックのQP値である。
K番目のブロックラインとK+N番目のブロックラインは、同一の復号処理部とQP予測部とエントロピー復号部とで処理されるため、K番目のブロックラインの処理ブロックの直前に処理したブロックは、K−N番目のブロックラインの最後のブロックである。
さらに、QP選択部802は、ブロックラインの先頭ブロックでは、常に直前QP記憶部801に記憶されるQP値を採用するようにしてもよい。また、QP選択部802は、処理するブロックラインが1〜N番目のブロックラインの先頭ブロックであるときは、QP予測値はSliceQP値としてもよい。
このとき、同様にN+1番目のブロックラインの先頭ブロックのQP予測値は、Nブロック上に位置するブロックラインの最後のブロック(最終ブロック)のQP値としてもよい。
各エントロピー符号化部641〜643は、各ブロックの差分動きベクトル、QP差分値、量子化された直交変換係数などを、ブロックライン毎にエントロピー符号化する。
以上の構成を有することで、量子化パラメータの予測値を求める処理を、ブロックライン毎に並列処理することができる。
<動作>
次に、実施例2における動画像符号化装置50の動作について説明する。図16は、実施例2におけるブロック符号化処理の一例を示すフローチャートである。図16に示すブロック符号化処理は、1ブロックの処理である。
ステップS201で、各符号化処理部に処理対象のブロック(処理ブロック)が入力される。動き検出部708は、復号画素記憶部505から参照ピクチャの画素データを取得し、動きベクトルが検出される。
ステップS202で、差分ベクトル生成部710は、検出された動きベクトルと、生成した予測ベクトルとの差分ベクトルを生成する。
ステップS203で、動き検出部708は、検出された動きベクトルをブロック情報記憶部624に記憶する。
ステップS204で、予測信号生成部709は、動き検出部708で検出された動きベクトルが参照する参照画像の領域位置情報を取得し、予測画素信号を生成する。
ステップS205で、予測差分部701は、予測信号生成部709により生成された予測画素信号と、入力された原画像との差分をとり、予測誤差信号を生成する。
ステップS206で、直交変換部702は、予測差分部701で生成された予測誤差信号に対し、直交変換処理を行い、直交変換係数を生成する。
ステップS207で、量子化部703は、直交変換係数に対し、量子化パラメータ(QP)値に基づいて量子化する。
ステップS208で、各QP予測部は、処理ブロックのQP予測値を生成する。QP予測値は、例えば、処理ブロックの上ブロック、あるいはQP予測部が属するブロックライ
符号化部が過去に処理したブロックのQP値とする。
ステップS209で、QP確定部704は、量子化部703から取得したQP値と、QP予測部から取得したQP予測値とのいずれかに、処理ブロックのQP値を確定する。確定の仕方は上述した通りである。
ステップS210で、各エントロピー符号化部は、処理ブロックの量子化された直交変換係数、QP差分値、差分ベクトルなどをエントロピー符号化する。
ステップS211で、逆量子化部705と逆直交変換部706とは、量子化された直交変換係数に対し、逆量子化処理を行い、逆直交変換処理を行って、予測誤差信号に相当する信号を生成する。
ステップS212で、復号画素生成部707は、予測信号生成部709から取得した予測画素信号と、逆直交変換部706から取得した信号とを加算し、局所的な復号画素を生成する。
ステップS213で、復号画素記憶部505は、生成された復号画素を記憶する。以上の処理で、ブロックの符号化処理が終了し、次のブロックの符号化処理に移行する。
以上、実施例2によれば、動画像符号化装置において、QP予測値の算出処理を並列化することを可能とし、ブロックライン並列処理の効率を向上させることができる。
[実施例3]
図17は、動画像処理装置の構成の一例を示すブロック図である。動画像処理装置90は、各実施例で説明した動画像符号化装置、又は動画像復号装置の一例である。図17に示すように、動画像処理装置90は、制御部901、主記憶部902、補助記憶部903、ドライブ装置904、ネットワークI/F部906、入力部907、表示部908を含む。これら各構成は、バスを介して相互にデータ送受信可能に接続されている。
制御部901は、コンピュータの中で、各装置の制御やデータの演算、加工を行うCPUである。また、制御部901は、主記憶部902や補助記憶部903に記憶されたプログラムを実行する演算装置であり、入力部907や記憶装置からデータを受け取り、演算、加工した上で、表示部908や記憶装置などに出力する。
主記憶部902は、ROM(Read Only Memory)やRAM(Random Access Memory)などであり、制御部901が実行する基本ソフトウェアであるOSやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
補助記憶部903は、HDD(Hard Disk Drive)などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。
ドライブ装置904は、記録媒体905、例えばフレキシブルディスクからプログラムを読み出し、記憶装置にインストールする。
また、記録媒体905は、所定のプログラムを格納する。この記録媒体905に格納されたプログラムは、ドライブ装置904を介して動画像処理装置90にインストールされる。インストールされた所定のプログラムは、動画像処理装置90により実行可能となる。
ネットワークI/F部906は、有線及び/又は無線回線などのデータ伝送路により構築されたLAN(Local Area Network)、WAN(Wide Area Network)などのネットワークを介して接続された通信機能を有する周辺機器と動画像処理装置90とのインターフェースである。
入力部907は、カーソルキー、数字入力及び各種機能キー等を備えたキーボード、表示部908の表示画面上でキーの選択等を行うためのマウスやスライスパット等を有する。また、入力部907は、ユーザが制御部901に操作指示を与えたり、データを入力したりするためのユーザインターフェースである。
表示部908は、LCD(Liquid Crystal Display)等を有し、制御部901から入力される表示データに応じた表示が行われる。なお、表示部908は、外部に設けられてもよく、その場合は、動画像処理装置90は、表示制御部を有する。
このように、前述した実施例で説明した動画像符号化処理又は動画像復号処理は、コンピュータに実行させるためのプログラムとして実現されてもよい。このプログラムをサーバ等からインストールしてコンピュータに実行させることで、前述した動画像符号化処理又は動画像復号処理を実現することができる。
また、この動画像符号化プログラム又は動画像復号プログラムを記録媒体905に記録し、このプログラムが記録された記録媒体905をコンピュータや携帯端末に読み取らせて、前述した動画像符号化処理又は動画像復号処理を実現させることも可能である。
なお、記録媒体905は、CD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。なお、記録媒体805には、搬送波は含まれない。
動画像処理装置90で実行されるプログラムは、各実施例で説明した各部を含むモジュール構成となっている。実際のハードウェアとしては、制御部901が補助記憶部903からプログラムを読み出して実行することにより上記各部のうち1又は複数の各部が主記憶部902上にロードされ、1又は複数の各部が主記憶部902上に生成されるようになっている。
また、前述した各実施例で説明した動画像符号化処理又は動画像復号処理は、1つ又は複数の集積回路に実装してもよい。
以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、前述した実施例の構成要素を全部又は複数を組み合わせることも可能である。
なお、以上の実施例に関し、さらに以下の付記を開示する。
(付記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ブロック以上先に処理し、前記処理ブロックに対して、前記並列処理で処理が完了しているブロックを参照して前記予測値を算出する動画像符号化プログラム。
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 補助記憶部

Claims (2)

  1. 画像を複数のブロックに分割し、該ブロック毎に動画像符号化処理を行う動画像符号化部と、符号化されたストリームを復号する動画像復号部と、を有する動画像処理装置であって、
    前記動画像符号化部は、
    前記ブロックの列を示すブロックラインに含まれるブロックに対し、量子化された直交変換係数を含む符号化データを、ブロックライン毎に並列に生成する並列符号化処理部と、
    前記ブロックラインに含まれる各ブロックの符号化で使用した量子化パラメータに対する量子化パラメータの予測値を、ブロックライン毎に並列に算出する第1の並列QP予測部と、
    前記ブロックラインに含まれる各ブロックに対し、前記符号化データと前記量子化パラメータの予測値とを用いてエントロピー符号化を、ブロックライン毎に並列に行う並列エントロピー符号化部と、を備え、
    前記第1の並列QP予測部は、
    2以上の値を示すN個のブロックラインずつ並列処理する場合、K−1番目のブロックラインの処理ブロックの水平位置を、K番目のブロックラインの処理ブロックの水平位置よりも少なくとも1ブロック以上先に処理し、
    処理ブロックがブロックラインの先頭である場合においては、処理ブロックが属するスライスを単位にして定まる量子化パラメータで処理ブロックの直前に処理されたブロックの量子化パラメータを初期化し、初期化した量子化パラメータに基づいて処理ブロックの前記量子化パラメータの予測値を算出し、
    処理ブロックがブロックラインの先頭以外の場合においては、ブロックライン内のブロックの量子化パラメータに基づいて処理ブロックの前記量子化パラメータの予測値を算出し、
    前記並列符号化処理部は、
    前記第1の並列QP予測部で算出した量子化パラメータの予測値と各ブロックの処理に使用した量子化パラメータおよび符号化の結果が全て0か否かの情報に基づいて処理ブロックの量子化パラメータを決定し、
    前記動画像復号部は、
    前記ブロックの列を示すブロックラインに含まれるブロックのストリームを、ブロックライン毎に並列にエントロピー復号する並列エントロピー復号部と、
    前記ブロックラインに含まれる各ブロックの量子化パラメータの予測値を、ブロックライン毎に並列に算出する第2の並列QP予測部と、
    前記ブロックラインに含まれる各ブロックに対し、前記並列エントロピー復号部により復号されたデータと、前記第2の並列QP予測部により算出された予測値とを用いて復号処理した復号画素を、ブロックライン毎に並列に生成する並列復号処理部と、を備え、
    前記第2の並列QP予測部は、
    2以上の値を示すN個のブロックラインずつ並列処理する場合、K−1番目のブロックラインの処理ブロックの水平位置と、K番目のブロックラインの処理ブロックの水平位置の関係として、K−1番目のブロックラインの処理ブロックの水平位置が少なくとも1ブロック以上先行したタイミングとし、
    処理ブロックがブロックラインの先頭である場合においては、処理ブロックが属するスライスを単位にして定まる量子化パラメータで処理ブロックの直前に処理されたブロックの量子化パラメータを初期化し、初期化した量子化パラメータに基づいて処理ブロックの前記量子化パラメータの予測値を算出し、
    処理ブロックがブロックラインの先頭以外の場合においては、ブロックライン内の先に復号が完了しているブロックの量子化パラメータに基づいて処理ブロックの前記量子化パラメータの予測値を算出し、
    前記並列復号処理部は、
    前記第2の並列QP予測部で算出した量子化パラメータの予測値に基づいて処理ブロックの量子化パラメータを算出し、算出した量子化パラメータを利用して処理ブロックのデブロッキングフィルタ処理を行う動画像処理装置。
  2. 画像を複数のブロックに分割し、該ブロック毎に動画像符号化処理を行う動画像符号化部と、符号化されたストリームを復号する動画像復号部と、を有する動画像処理装置の動画像処理方法であって、
    前記動画像符号化部は、
    前記ブロックの列を示すブロックラインに含まれるブロックに対し、量子化された直交変換係数を含む符号化データを、ブロックライン毎に並列に生成し、
    前記ブロックラインに含まれる各ブロックの符号化で使用した量子化パラメータに対する量子化パラメータの予測値を、ブロックライン毎に並列に算出し、
    前記ブロックラインに含まれる各ブロックに対し、前記符号化データと前記量子化パラメータの予測値とを用いてエントロピー符号化を、ブロックライン毎に並列に行う処理を実行し、
    前記予測値を算出する処理は、
    2以上の値を示すN個のブロックラインずつ並列処理する場合、K−1番目のブロックラインの処理ブロックの水平位置を、K番目のブロックラインの処理ブロックの水平位置よりも少なくとも1ブロック以上先に処理し、
    処理ブロックがブロックラインの先頭である場合においては、処理ブロックが属するスライスを単位にして定まる量子化パラメータで処理ブロックの直前に処理されたブロックの量子化パラメータを初期化し、初期化した量子化パラメータに基づいて処理ブロックの前記量子化パラメータの予測値を算出し、
    処理ブロックがブロックラインの先頭以外の場合においては、ブロックライン内のブロックの量子化パラメータに基づいて処理ブロックの前記量子化パラメータの予測値を算出し、
    前記符号化データを生成する処理は、
    前記予測値を算出する処理で算出した量子化パラメータの予測値と各ブロックの処理に使用した量子化パラメータおよび符号化の結果が全て0か否かの情報に基づいて処理ブロックの量子化パラメータを決定し、
    前記動画像復号部は、
    前記ブロックの列を示すブロックラインに含まれるブロックのストリームを、ブロック
    ライン毎に並列にエントロピー復号し、
    前記ブロックラインに含まれる各ブロックの量子化パラメータの予測値を、ブロックラ
    イン毎に並列に算出し、
    前記ブロックラインに含まれる各ブロックに対し、前記並列にエントロピー復号された
    データと、前記予測値とを用いて復号処理した復号画素を、ブロックライン毎に並列に生
    成する処理を実行し、
    前記予測値を算出する処理は、
    2以上の値を示すN個のブロックラインずつ並列処理する場合、K−1番目のブロック
    ラインの処理ブロックの水平位置と、K番目のブロックラインの処理ブロックの水平位置
    の関係として、K−1番目のブロックラインの処理ブロックの水平位置が少なくとも1ブ
    ロック以上先行したタイミングとし、
    処理ブロックがブロックラインの先頭である場合においては、処理ブロックが属するス
    ライスを単位にして定まる量子化パラメータで処理ブロックの直前に処理されたブロック
    の量子化パラメータを初期化し、初期化した量子化パラメータに基づいて処理ブロックの
    前記量子化パラメータの予測値を算出し、
    処理ブロックがブロックラインの先頭以外の場合においては、ブロックライン内の先に
    復号が完了しているブロックの量子化パラメータに基づいて処理ブロックの前記量子化パ
    ラメータの予測値を算出し、
    前記復号画素を生成する処理は、
    前記予測値を算出する処理で算出した量子化パラメータの予測値に基づいて処理ブロッ
    クの量子化パラメータを算出し、算出した量子化パラメータを利用して処理ブロックのデ
    ブロッキングフィルタ処理を行う動画像処理方法。
JP2017082299A 2017-04-18 2017-04-18 動画像処理装置及び動画像処理方法 Active JP6311821B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017082299A JP6311821B2 (ja) 2017-04-18 2017-04-18 動画像処理装置及び動画像処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017082299A JP6311821B2 (ja) 2017-04-18 2017-04-18 動画像処理装置及び動画像処理方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2015219838A Division JP6317720B2 (ja) 2015-11-09 2015-11-09 動画像符号化装置、動画像符号化方法、動画像符号化プログラム

Publications (2)

Publication Number Publication Date
JP2017127034A true JP2017127034A (ja) 2017-07-20
JP6311821B2 JP6311821B2 (ja) 2018-04-18

Family

ID=59364612

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017082299A Active JP6311821B2 (ja) 2017-04-18 2017-04-18 動画像処理装置及び動画像処理方法

Country Status (1)

Country Link
JP (1) JP6311821B2 (ja)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006129284A (ja) * 2004-10-29 2006-05-18 Sony Corp 符号化及び復号装置並びに符号化及び復号方法
JP2007312427A (ja) * 2006-04-17 2007-11-29 Toshihiro Minami 動画像符号化装置
WO2009105732A1 (en) * 2008-02-22 2009-08-27 Qualcomm Incorporated Fast macroblock delta qp decision
JP2009239565A (ja) * 2008-03-27 2009-10-15 Renesas Technology Corp 画像符号化装置
WO2009150808A1 (ja) * 2008-06-10 2009-12-17 パナソニック株式会社 画像復号装置および画像符号化装置
WO2009157580A1 (ja) * 2008-06-27 2009-12-30 ソニー株式会社 画像処理装置及び画像処理方法
JP2010035146A (ja) * 2008-07-02 2010-02-12 Canon Inc 符号化装置および符号化方法
WO2010067505A1 (ja) * 2008-12-08 2010-06-17 パナソニック株式会社 画像復号化装置および画像復号化方法
WO2011156458A1 (en) * 2010-06-10 2011-12-15 Technicolor Usa, Inc. Methods and apparatus for determining quantization parameter predictors from a plurality of neighboring quantization parameters
JP2013123206A (ja) * 2011-11-07 2013-06-20 Canon Inc 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006129284A (ja) * 2004-10-29 2006-05-18 Sony Corp 符号化及び復号装置並びに符号化及び復号方法
JP2007312427A (ja) * 2006-04-17 2007-11-29 Toshihiro Minami 動画像符号化装置
WO2009105732A1 (en) * 2008-02-22 2009-08-27 Qualcomm Incorporated Fast macroblock delta qp decision
JP2009239565A (ja) * 2008-03-27 2009-10-15 Renesas Technology Corp 画像符号化装置
WO2009150808A1 (ja) * 2008-06-10 2009-12-17 パナソニック株式会社 画像復号装置および画像符号化装置
WO2009157580A1 (ja) * 2008-06-27 2009-12-30 ソニー株式会社 画像処理装置及び画像処理方法
JP2010035146A (ja) * 2008-07-02 2010-02-12 Canon Inc 符号化装置および符号化方法
WO2010067505A1 (ja) * 2008-12-08 2010-06-17 パナソニック株式会社 画像復号化装置および画像復号化方法
WO2011156458A1 (en) * 2010-06-10 2011-12-15 Technicolor Usa, Inc. Methods and apparatus for determining quantization parameter predictors from a plurality of neighboring quantization parameters
JP2013123206A (ja) * 2011-11-07 2013-06-20 Canon Inc 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム

Also Published As

Publication number Publication date
JP6311821B2 (ja) 2018-04-18

Similar Documents

Publication Publication Date Title
US10051273B2 (en) Video decoder and video decoding method
JP6065090B2 (ja) 動画像復号装置、動画像復号方法、動画像復号プログラム
JP6317720B2 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化プログラム
JP6311821B2 (ja) 動画像処理装置及び動画像処理方法
JP2016054514A (ja) 動画像符号化装置、動画像符号化方法、動画像符号化プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170418

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180214

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180305

R150 Certificate of patent or registration of utility model

Ref document number: 6311821

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150