JP2007180862A - 画像符号化装置および画像符号化方法 - Google Patents

画像符号化装置および画像符号化方法 Download PDF

Info

Publication number
JP2007180862A
JP2007180862A JP2005376569A JP2005376569A JP2007180862A JP 2007180862 A JP2007180862 A JP 2007180862A JP 2005376569 A JP2005376569 A JP 2005376569A JP 2005376569 A JP2005376569 A JP 2005376569A JP 2007180862 A JP2007180862 A JP 2007180862A
Authority
JP
Japan
Prior art keywords
processing
pixel data
units
unit
orthogonal transform
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.)
Pending
Application number
JP2005376569A
Other languages
English (en)
Inventor
Yuji Nagaishi
裕二 永石
Tatsuro Shigesato
達郎 重里
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2005376569A priority Critical patent/JP2007180862A/ja
Publication of JP2007180862A publication Critical patent/JP2007180862A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】画質劣化を齎すことなく処理にかかるサイクル数を軽減し、高速に符号化が可能な画像符号化装置等を提供する。
【解決手段】量子化部230は、量子化パラメータに従って、各直交変換ブロック内の変換係数を量子化する。逆量子化部240は、量子化パラメータに従って量子化された直交変換係数を逆量子化することで得た変換係数から直交変換ブロックを復元する。なお、上記直交変換係数の逆量子化は、並列処理(例えば、2並列処理又は4並列処理)される。逆直交変換部250は、復元された直交変換ブロックを用いて差分マクロブロックを復元する。差分マクロブロックの復元の際、逆直交変換部250は、全体制御部260の指示により、差分マクロブロックを構成する各4×4ブロックにおいては、それぞれの右隣の4×4ブロックのイントラ予測に使用する最右端1列の画素の逆直交変換演算を優先して実行する。
【選択図】図1

Description

本発明は、MPEGシリーズおよびH.264/AVC等の規格に準拠した画像符号化技術に関し、特に、イントラ予測を用いる画像符号化処理の効率化技術に関する。
デジタル画像(デジタル動画像を含む。以下単に「画像」という。)の圧縮技術として、より符号化効率の高いH.264/AVC(ITU-T Recommendation H.264 and ISO/IEC 14496-10 Advanced Video Coding)が規格化されている。H.264/AVC(以下「H.264」と略称する。)に準拠した画像符号化方式および画像復号化方式は、従来のMPEG2(ISO/IEC 133818-2)の場合に比べ、2倍近い高符号化効率を実現するが、膨大な演算量を必要とするため、画素数の小さい画角への適用が一般的である。
図6は、H.264に準拠した従来の画像符号化装置400の機能構成を示すブロック図の一例である。図6に示すように、画像符号化装置400は、ブロック分割部10、差分処理部15 、直交変換部20、量子化部30 、符号化部130、蓄積バッファ140 、逆量子化部40 、逆直交変換部50、加算処理部55 、デブロッキングフィルタ60、フレームメモリ70および71 、動き推定部80、イントラ推定部90、モード選択部100、モードスッチ105、イントラ予測部110、動き補償部120、レート制御部150および全体制御部460を備える。
一般に、入力画像11の各ピクチャは、予め規定された数の画素から構成される単位ブロックに分割され、この単位で符号化が行われる。この単位ブロックはマクロブロックと呼ばれ、16画素×16ライン(以下「16×16画素」という。)から構成される1個の輝度信号(Y信号)ブロックと、それと空間的に対応する8画素×8ライン(以下「8×8画素」という。)の2つの色差信号(Cr信号およびCb信号)ブロックから構成されている。
ブロック分割部10は、入力画像11を受け付けると、各ピクチャをマクロブロックに分割(以下、これを「入力マクロブロック」という。)し、差分処理部15に出力する。
差分処理部15は、入力マクロブロックの各画素に対して、イントラ予測部110または動き補償部120で生成されたマクロブロック(以下、これを「予測マクロブロック」という。)の空間的に対応する各画素との間で差分処理を施し(以下、これを「差分マクロブロック」という。)、差分マクロブロックを直交変換部20に出力する。
直交変換部20は、差分処理部15から取得した差分マクロブロックに対して、直交変換ブロック単位で画素領域表現を周波数領域表現に変換する直交変換処理を行う。なお、この場合の直交変換処理は、2並列又は4並列等のパイプライン処理で行ってもよい。また、直交変換ブロックのサイズは、従来のMPEG方式では8×8画素であるが、H.264では4画素×4ライン(以下「4×4画素」という。)又は8×8画素である。
直交変換部20は、4×4画素の各直交変換ブロックの直流成分のみを集めた直交変換ブロックを信号成分毎に構成し、さらに直交変換を行う。直交変換ブロック内の各変換係数は量子化部30に出力される。
量子化部30は、レート制御部150から取得した量子化パラメータに従って、各直交変換ブロック内の変換係数を量子化して符号化部130に出力する。なお、量子化された変換係数(以下、これを「直交変換係数」という。)は、符号化部130に供給されると同時に、逆量子化部40に供給される。
符号化部130は、量子化部30から量子化された変換係数を受け取り、符号化を行う。H.264に準拠した符号化部130は、可変長符号化を用いたCAVLC(Context-based Adaptive Variable Length Coding)あるいはCABAC(Context-based Adaptive Binary Arithmetic Coding)を用いて符号化を行う。符号化された画像信号は蓄積バッファ140に蓄積される。
逆量子化部40は、レート制御部150から取得した量子化パラメータに従って量子化された直交変換係数を逆量子化することで得た変換係数から直交変換ブロックを復元する。
逆直交変換部50は、復元された直交変換ブロックを用いて差分マクロブロックを復元する。復元された差分マクロブロックは、予測マクロブロックと共に加算処理部55に入力される。
加算処理部55は、復元された差分マクロブロックと予測マクロブロックの各画素に対して加算処理を施し、再生マクロブロックを生成する。この再生マクロブロックは、デブロッキングフィルタ60に送信されると共に、さらに予測処理に用いるため、フレームメモリ70に蓄積される。
なお、デブロッキングフィルタ60は、再生マクロブロックから構成される復号画像に含まれるブロック歪の除去を行う。ブロック歪が除去された復号画像はフレームメモリ71に格納される。
次に、上記予測マクロブロックを生成するための予測方法および予測タイプについて説明する。
予測方法には、大きく分けて2種類あり、それぞれイントラ予測(「画面内予測」ともいう。) 、動き補償予測(「動き補償フレーム間予測」あるいは「インター予測」ともいう。)と呼ばれる。以下では、イントラ予測の概要について説明する。
H.264のイントラ予測は、復号画像のフレーム内の符号化済みの画素を用いて、マクロブロック内の画素を予測する方法であり、2種類の予測タイプがある。2種類の予測タイプは、イントラ予測を行う際のブロックサイズ(4×4画素又は16×16画素)によって区別されており、それぞれ、「イントラ4×4予測」、「イントラ16×16予測」と呼ばれている。
イントラ予測では、上記4×4画素や16×16画素で構成されるブロックの単位で周辺のブロックの画素を利用して予測を行っている。
図7(a)は、イントラ4×4予測によって予測される符号化対象画素(画素aから画素pの16画素)とイントラ予測に用いる符号化済みの隣接画素(AからMの13画素)の配置を示す図である。ここで、前記符号化対象画素は、ブロック分割部10から出力された符号化対象のマクロブロック内の画素である。一方、符号化済みの隣接画素は、復号化され復元されたマクロブロックあるいはブロックの画素でフレームメモリ70から読み出された画素である。
図7(b)〜(j)は、イントラ4×4予測における予測方向を示す図であり、符号化済みの隣接画素の画素値をもとに、予測方向に沿って、H.264で規定された演算式によって対象画素を算出する。ここで、このときの予測方向を予測モード番号(予測モード0から予測モード8)で示し、図7(b)における予測モード0の予測方向は垂直下方、図7(c)における予測モード1の予測方向は水平、図7(d)における予測モード2の予測はDC(平均)、図7(e)における予測モード3の予測方向は斜め左下、図7(f)における予測モード4の予測方向は斜め右下、図7(g)における予測モード5の予測方向は垂直右方、図7(h)における予測モード6の予測方向は水平下方、図7(i)における予測モード7の予測方向は垂直左方、図7(j)における予測モードの予測方向は水平上方をそれぞれ示している。
上記イントラ4×4予測は、輝度信号の予測に適用される。例えば、予測モード0の場合、予測対象画素の4×4画素ブロックの上側に隣接する復号済みの画素データを用いて垂直下方の予測を行い,予測画像を生成する。この予測モード0は,予測対象の画像領域に垂直方向エッジや境界がある場合に有効な予測モードである。モード0以外の予測モードの場合も同様にそれぞれが特定方向のエッジや境界に対して有効な予測モードとなっており、隣接ブロックの復号済みの画素を用いてイントラ予測処理の一部を行う。
このようにイントラ予測においては、周辺のブロックに対する演算結果を用いて予測処理を行うため、周辺のブロックに対する逆直交変換処理が完了していることが必要になる。仮に、周辺ブロックの逆直交変換処理が完了していない場合には、その処理の完了を待って処理することなり、処理の遅延が発生することになる。
図8は、マクロブロックを構成する直交変換ブロックにおけるイントラ予測の順序を説明するための図である。図8に示すように、4×4ブロック単位でイントラ予測を行う場合、「ブロック0」、「ブロック1」、「ブロック2」、・・・「ブロック15」という順序で処理していくことになる。ここで、ブロック1のイントラ予測を行うためには、ブロック0に対するイントラ予測処理、直交変換処理、量子化処理、逆量子化処理、逆直交変換処理を施してはじめてブロック1の処理に必要な周辺のブロック情報(この場合、ブロック1の上位の各ブロック情報は処理済とする。)が得られることになる。つまり、ブロック0について直交変換処理、量子化処理、逆量子化処理、逆直交変換処理を行っている間は、ブロック1のイントラ予測ができず、処理待ちが発生する。なお、ブロック4の場合は、イントラ予測に必要なブロック1については既に処理が完了しているため、ブロック3の処理の後続けて処理を行うことができる。
このようにイントラ予測においては、処理ブロックによって連続的に処理できる箇所とできない箇所が存在する。そのため、この順序をうまく工夫すれば連続的に処理できる箇所が増え、パイプライン処理が効率的に実行でき、処理時間を短縮することが可能となる。
特許文献1においては、このようにイントラ予測の処理順序を効率的に変えることにより、パイプライン処理の時間を短縮する提案がなされている。
特開2004−140473号公報
ここで、H.264の処理に必要な処理時間と処理量との関係について調べてみる。例えば、ハイビジョン映像(1920×1088画素)をH.264により圧縮符号化する場合には、16×16画素単位で表されるマクロブロック(以下「MB」とも記す。)あたりの処理数は、1画面あたり、
(1920×1088)÷(16×16) = 8,160MB (1)
となり、フレームレートを毎秒30フレームとすると、1秒あたり、
8,160×30fps=244,800MB/sec (2)
となる。
これは、仮にCPUの動作周波数を100MHzとした場合、1つのマクロブロックの圧縮符号化に費やすことのできるサイクル数は、
100MHz÷244,800=408サイクル (3)
となる。
ここで、4×4画素単位で直交変換処理を行う場合の処理サイクルを考えてみると、4画素同時に処理するとして単純に2次元の直交変換処理に要するサイクル数は、水平方向4行、垂直方向4列の演算を必要とし、約4+4=8サイクルが必要となる。1マクロブロックでは16回の直交変換演算を行うことになるので16×8=128サイクル、さらに逆直交変換処理も含めて考えると直交変換処理については128+128=256サイクルを消費することになる。
さらに、量子化処理や逆量子化処理まで考えると、上記の408サイクルを超えてしまうことになり、このままでは符号化処理が実現できないということになる。
このように、膨大な処理演算が必要なH.264によってハイビジョン画像のような大量データの圧縮符号化は、単純に処理するだけでは実現が困難である。そのため、演算アルゴリズムを工夫したり、演算の並列度を高くしたり、周波数を上げたりすることによって処理の効率化を図ることが必要になる。
例えば、図9に示すように、直交変換処理や逆直交変換処理は、行又は列単位(つまり、4画素単位や8画素単位など)の処理が一般的であるが、量子化処理は画素単位の処理であるため、ブロック間にはバッファを設けて処理時間の違いを吸収する必要がある。
図10(a)は、H264における直交変換演算を表す式である。また、図10(b)は、H264における逆直交変換演算を表す式である。
図11(a)は、直交変換演算における行方向および列方向の行列演算の様子を表す図であり、図12(a)が、この直交変換演算をバタフライ演算により実現する様子を示す図である。
また、図11(b)は、逆直交変換演算における行方向および列方向の行列演算の様子を表す図であり、図12(b)が、この逆直交変換演算をバタフライ演算により実現する様子を示す図である。
上記図11(a)、(b)に示されるように、従来のバタフライ演算では、行方向および列方向における計算の順序は、一律昇順(即ち、i=0..3、j=0..3)である。
上記記特許文献1の中に示されているイントラ予測は、処理の効率化を図る一手法であり、イントラ処理の順序を変えてパイプライン処理の効率化を実現するもので、単純に決められた処理順序ではなく、処理待ち時間を短くする順序でブロックを処理しようというものである。
そのため、上記の方法では、イントラ予測処理のみを最適化してパイプライン処理に要する時間を短縮しようというもので、イントラ予測処理以外の直交変換処理、量子化処理については考慮されていない。
さらに、パイプライン処理の高速化のために、参照する周辺のマクロブロックを一部別のマクロブロック情報で代用したり、参照できないものとして処理するため、画質劣化を伴うものであった。
そこで、本発明は、上記の課題に鑑みてされたものであり、H.264のような符号化方式において、画質劣化をもたらすことなく処理にかかるサイクル数を軽減し、高速に符号化が可能な画像符号化装置等を提供することを目的とする。
上記課題を解決するために、本発明に係る画像符号化装置は、行単位又は列単位の画素データに対して演算が可能な第1処理と第2処理とを含み、予め規定された数の画素から構成される単位ブロック毎に符号化対象ピクチャを符号化する画像符号化装置であって、前記第2処理において使用される行単位又は列単位の画素データに対する演算を優先して実行する第1処理手段と、前記第1処理において前記第2処理の開始に必要な行単位又は列単位の画素データに対する演算が終了次第、前記第2処理を開始する第2処理手段とを備えることを特徴とする。
これにより、H.264のような符号化方式において、画質劣化をもたらすことなく処理にかかるサイクル数を軽減し、高速に符号化が可能な画像符号化装置等を提供することができる。
また、前記第1処理手段は、イントラ予測処理で使用される第1の単位ブロックにおける右端の列単位の画素データに対する、逆直交変換処理における一部の逆直交変換演算を優先して実行し、前記第2処理手段は、前記逆直交変換演算を終えた前記第1の単位ブロックにおける右端の列単位の画素データを用いて、前記第1の単位ブロックの右隣の第2の単位ブロックの画素に対するイントラ予測処理を開始することを特徴とする。
また、前記第1処理手段は、逆直交変換処理で使用される、第1の単位ブロックにおける行単位の画素データが優先して算出されるように、前記第1の単位ブロックにおける列単位の逆量子化処理を、左右の隣り合うN個の画素単位で並列処理を表す並列度Nで実行し、前記第2処理手段は、前記第1の単位ブロックにおける逆量子化処理を終えた行単位の画素データを用いて、前記第1の単位ブロックに対する逆直交変換処理の実行を開始することを特徴とする。
また、前記第2処理手段は、さらに、イントラ予測処理で使用される、前記第1の単位ブロックにおける右端の列単位の画素データに対する前記逆直交変換処理を優先して実行してもよい。
また、前記画像符号化装置は、さらに、前記第1の単位ブロックにおける列単位の画素データに対する量子化処理を前記並列度Nで実行する第3処理手段を備えることとしてもよい。
さらに、本発明は、上記画像符号化装置における特徴的な構成手段をステップとする画像符号化方法として実現したり、それらのステップをパーソナルコンピュータ等に実行させるプログラムとして実現することもできる。そして、そのプログラムをDVD等の記録媒体やインターネット等の伝送媒体を介して広く流通させることができるのは云うまでもない。
以上のように、本発明に係る画像符号化装置は、演算順序を制御することにより、直交変換処理及び量子化処理において、後段の処理ブロック(例えば、イントラ符号化処理)の演算に必要となる最低限のデータを優先的に演算するため、並列演算の高速化が促進され、より効率的に符号化処理を行うことが可能となるという格別な効果を奏する。
以下、本発明に係る画像符号化装置の実施の形態について図面を参照しながら説明する。なお、以下の実施の形態において本発明について図面を用いて説明するが、本発明をこれらに限定することを意図するものではない。
図1は、本実施の形態に係る画像符号化装置200の機能構成を示すブロック図である。図1に示すように、画像符号化装置200は、ブロック分割部10、差分処理部15 、直交変換部20、量子化部230 、符号化部130、蓄積バッファ140 、逆量子化部240 、逆直交変換部250、加算処理部55 、デブロッキングフィルタ60、フレームメモリ70および71 、動き推定部80、イントラ推定部90、モード選択部100、モードスッチ105、イントラ予測部110、動き補償部120、レート制御部150および全体制御部260を備える。なお、上記従来技術に係る画像符号化装置400と同じ機能構成については同じ符番を付し、その説明は省略する。
量子化部230は、レート制御部150から取得した量子化パラメータに従って、各直交変換ブロック内の変換係数を量子化して符号化部130に出力する。なお、上記変換係数の量子化については、全体制御部260の指示により、左右の隣り合うN個の画素単位で並列処理(具体的には、隣り合う複数の画素単位で2並列又は4並列等のパイプライン処理)を実施する。なお、この場合のNを「並列度」という。なお、本実施の形態において、量子化処理は、本発明の第3処理の一例であり、量子化部は、本発明の第3処理手段の一例である。
逆量子化部240は、レート制御部150から取得した量子化パラメータに従って量子化された直交変換係数を逆量子化することで得られた変換係数から直交変換ブロックを復元する。なお、後述するイントラ予測処理やイントラ予測部との関係においては、本実施の形態における逆直交変換処理は本発明の第1処理の一例であり、逆直交変換部は本発明の第1処理手段の一例である。さらに、上記量子化処理や量子化部との関係においては、本実施の形態における逆量子化処理は、本発明の第1処理の一例であり、逆量子化部は、本発明の第1処理手段の一例である。
なお、詳細は後述するが、上記量子化部230および逆量子化部240では、それぞれの後段の処理内容を考慮した並列処理を実施するため、従来の単純に並列処理を行う場合に比べて処理時間(処理に要するサイクル数)を短縮させることが可能である。
逆直交変換部250は、復元された直交変換ブロックを用いて差分マクロブロックを復元する。差分マクロブロックの復元の際、逆直交変換部250は、全体制御部260の指示により、差分マクロブロックを構成する各4×4ブロックにおいては、それぞれの右隣の4×4ブロックのイントラ予測処理に使用される列単位の画素である、最右端1列の画素の逆直交変換演算を優先して最初に実行する。例えば、4×4ブロックについて列方向の逆直交変換演算を4並列8サイクルで実行する場合は、最右端1列の画素の逆直交変換演算を最初に(後述するように、列方向の逆直交変換部をj=3..0の順序で)実行することで、従来に比べ、6サイクル短縮させることが可能となる(従来は、最左端1列の画素の逆直交変換演算を最初に(即ち、j=0..3の順序で)実行していたため)。なお、イントラ予測処理やイントラ予測部との関係においては、本実施の形態における逆直交変換処理は本発明の第1処理の一例であり、逆直交変換部は本発明の第1処理手段の一例である。さらに、上記逆量子化処理や逆量子化部との関係においては、本実施の形態における逆直交変換処理は本発明の第2処理の一例であり、逆直交変換部は本発明の第2処理手段の一例である。
イントラ予測部110は、復号画像のフレーム内の符号化済みの画素を用いて、マクロブロック内の画素の予測を行う。例えば、逆直交変換処理においてイントラ予測処理の開始に必要な行単位の画素データに対する演算が終了次第、当該イントラ予測処理を開始する。なお、本実施の形態において、イントラ予測処理は、本発明の第2処理の一例であり、イントラ予測部は、本発明の第2処理手段の一例である。
全体制御部260は、例えばRAMおよび制御プログラムを格納するROMを備えるマイクロコンピュータであり、画像符号化装置200全体を制御する。特に、全体制御部260は、量子化部230および逆量子化部240における並列度、並びに逆直交変換部250における差分マクロブロックを復元する際の演算順序を決定(具体的には、列方向の演算順序をj=3..0になるように設定)する。
図2(a)〜(c)は、本実施の形態に係る量子化部230における量子化処理および逆量子化部240における逆量子化処理における、並列度による計算速度の差を説明するための図である。一般に、量子化処理および逆量子化処理は、画素単位の処理であるため、並列処理を行わない場合は1画素処理するのに1サイクル必要とする。一方、8×8画素を2並列で処理する場合は、8×8÷2=32サイクル、同様に8×8画素を4並列で処理する場合は、8×8÷4=16サイクルそれぞれ必要とする。
図2(a)は、8×8画素で構成される直交変換ブロックに対して並列度「1」(即ち、並列処理を行わない)で量子化処理又は逆量子化処理を行う例である。
この場合、量子化処理の処理順序は、画素番号で表すと「00」→「10」→・・・「70」→「01」→・・・「02」→・・・「07」→・・・「77」の順序で処理される。この後、逆量子化処理の場合も上記量子化処理と同じ順序で処理される。なお、逆量子化処理の場合は、画素番号が「07」まで終えた時点で(即ち、最上段の1行全ての画素(画素番号「00」〜「07」の8画素)について逆量子化処理が終えた時点で)、次段の処理である逆直交変換処理を開始することができる。つまり、図2(a)に示す画素番号「17」〜「77」の網掛け部分の7画素については逆量子化処理を終えていなくとも逆直交変換処理を開始することができる。
一方、図2(b)に示すように、並列度「2」(即ち、2画素ずつ並列処理を行う)で逆量子化処理を行う場合は、画素番号が「06&07」まで終えた時点で(最上段の1行全ての画素について逆量子化処理が終えた時点で)、次段の処理である逆直交変換処理を開始することができる。つまり、図2(b)に示す画素番号「16」〜「76」および「17」〜「77」の網掛け部分の14画素については逆量子化処理を終えていなくとも逆直交変換処理を開始することができる。
同様に、図2(c)に示すように、並列度「4」(即ち、4画素ずつ並列処理を行う)で逆量子化処理を行う場合は、画素番号が「04&05&06&07」まで終えた時点で、次段の処理である逆直交変換処理を開始することができる。つまり、図2(c)に示す画素番号「14」〜「74」、「15」〜「75」、「16」〜「76」および「17」〜「77」の網掛け部分の28画素については逆量子化処理を終えていなくとも逆直交変換処理を開始することができる。
なお、上記のような左右に隣り合う画素同士で並列処理を行う場合と、上下に隣り合う画素同士で並列処理を行う場合とを比較すると、「並列度2」の場合では4サイクル、「並列度4」の場合では6サイクルの差が生じる。即ち、本発明に係る左右に隣り合う画素同士で並列処理を行う場合の方が、「並列度2」の場合では4サイクル、「並列度4」の場合では6サイクル早く次段の処理である逆直交変換処理を開始することができる。
以上のように、本実施の形態における量子化処理および逆量子化処理(例えば8×8画素のブロックを対象にした場合)を、並列度2、32サイクルで実行する場合は、従来の単純に2並列で処理した場合に比べて4サイクルずつ短縮させることが可能となり、同様に、並列度4、16サイクルで実行する場合も、従来の単純に4並列で処理した場合に比べて6サイクルずつ短縮させることが可能となる。
図3(a)、(b)は、本実施の形態に係る逆直交変換部250における逆直交変換処理の様子を示す図である。図3(a)に示されるように、差分マクロブロックの復元の際、逆直交変換部250は、全体制御部260の指示により、差分マクロブロックを構成する各4×4画素の直交変換ブロックにおいては、それぞれの右隣の直交変換ブロックのイントラ予測に使用する最右端1列の画素の逆直交変換演算を最初に実行する。
図3(a)に示されるように、逆直交変換部250における逆直交変換処理における行方向の演算については、上から下(即ち、i=0..3)に列単位で演算を行っても、下から上(即ち、i=3..0)に行単位で演算を行っても計算速度上の差がない。しかし、逆直交変換処理における列方向の演算については、左から右(即ち、j=0..3)に列単位で演算を行った場合と、右から左(即ち、j=3..0)に列単位で演算を行った場合とでは、3サイクルの計算速度差が生じる。つまり、図3(a)を参照しながら説明すると、逆直交変換処理(直交変換処理も同様。)の場合は、列方向(及び行方向)の4画素分を同時に演算する際、従来は左端から演算するため4列目であるが、本発明では右端から演算するため最初の1列目として演算が終了し、(4−1)=3サイクルの処理時間の削減が可能となる。したがって、逆直交変換処理における列方向の演算については、右から左(即ち、j=3..0)に列単位で演算を行うこととする(図3(b)参照)。
図4は、本実施の形態に係る画像符号化装置200の動作の流れを示すフローチャートである。
最初に、全体制御部260は、逆直交変換部250における列方向の演算順序を降順(例えば、j=3..0)に設定する。さらに、全体制御部260は、量子化部230および逆量子化部240における並列度を特定する。なお、この並列度については、予め規定しておいてもよいし、ユーザから変更を受け付けることとしてもよい。
この後、全体制御部260は、上記の設定後、符号化対象ピクチャの各マクロブロックについて、直交変換処理および量子化処理(S103)、逆量子化処理および(S104)、並びにイントラ予測処理(S105)を実行する(S102〜S106)。なお、上記直交変換処理および量子化処理(S103)を終えたマクロブロックについては、符号化処理を行う(S107)。
図5は、本実施の形態に係る画像符号化装置200の計算サイクルの概要を示すタイムチャートである。図5には、8×8画素ブロックに対する直交変換処理、量子化処理、逆量子化処理および一部の逆直交変換処理について示している。また、図5では、直交変換処理を2つのプロセッサを用いた並列処理で行っている(TAおよびTB)。同様に、逆直交変換処理についても2つのプロセッサを用いた並列処理を行っている(ITBおよびITA)。さらに、上記直交変換処理および逆直交変換処理は、各行毎(例えば、「h0」で示される1行目は画素番号「00」〜「07」で構成)および各列毎(例えば、「v0」で示される1列目は画素番号「00」〜「70」で構成)に2サイクル(例えば、直交変換処理の「h0」については、「サイクル0」と「サイクル1」)で処理を行っている。
一方、図5における量子化処理(Q1およびQ2)並びに逆量子化処理(IQ1およびIQ2)については、それぞれ2つのプロセッサを用いて並列度2で実行している。従って、上記図5の場合は、少なくとも6つのプロセッサを用いていることとなる。
さらに、図5に示されるように、「サイクル37」の時点で一番上の1行目の逆量子化処理が完了しているため、「サイクル38」で逆直交変換処理の起動が可能であることも示されている。
以上のように、本発明に係る画像符号化装置によれば、後段の処理に影響する一部の処理を早く完了させるため、符号化処理全体としての計算速度を向上させることが可能となる。
本発明は今後デジタル放送の普及、ハイビジョンムービーの普及に伴い、圧縮方法として採用されると予想されるH.264/AVCに関して、簡単な構成で処理効率を高めることが可能となるものであり、今後ますます多くの用途で使用されることになる。
本発明に係る画像符号化装置200の機能構成を示すブロック図である。 (a)〜(c)は、本発明における量子化処理および逆量子化処理における、並列度による計算速度の差を説明するための図である。 (a)は、本発明に係る逆直交変換部における逆直交変換処理の順序を示す図である。(b)は、本発明に係る逆直交変換部における逆直交変換処理の行列演算の様子を示す図である。 本発明に係る画像符号化装置の動作の流れを示すフローチャートである。 本発明に係る画像符号化装置の計算サイクルの概要を示すタイムチャートである。 H.264に準拠した従来の画像符号化装置の機能構成を示すブロック図の一例である。 (a)は、イントラ4×4予測によって予測される符号化対象画素とイントラ予測に用いる符号化済みの隣接画素の配置を示す図である。(b)〜(j)は、イントラ4×4予測における各予測モードの予測方向を示す図である。 マクロブロックを構成する直交変換ブロックにおけるイントラ予測の順序を説明するための図である。 従来の画像符号化装置における並列処理が可能な機能構成を示すブロック図の一例である。 (a)は、H264における直交変換演算を表す式である。(b)は、H264における逆直交変換演算を表す式である。 (a)は、H264における直交変換演算の行列演算を表す式である。(b)は、H264における逆直交変換演算の行列演算を表す式である。 (a)は、直交変換演算をバタフライ演算により実現する様子を示す図である。(b)は、逆直交変換演算をバタフライ演算により実現する様子を示す図である。
符号の説明
10 ブロック分割部
11 入力画像
12 ビットストリーム
15 差分処理部
20 直交変換部
30、230 量子化部
40、240 逆量子化部
50、250 逆直交変換部
55 加算処理部
60 デブロッキングフィルタ
70、71 フレームメモリ
80 動き推定部
90 イントラ推定部
100 モード選択部
105 モードスイッチ
110 イントラ予測部
120 動き補償部
130 符号化部
140 蓄積バッファ
150 レート制御部
200、400 画像符号化装置
260、460 全体制御部

Claims (8)

  1. 行単位又は列単位の画素データに対して演算が可能な第1処理と第2処理とを含み、予め規定された数の画素から構成される単位ブロック毎に符号化対象ピクチャを符号化する画像符号化装置であって、
    前記第2処理において使用される行単位又は列単位の画素データに対する演算を優先して実行する第1処理手段と、
    前記第1処理において前記第2処理の開始に必要な行単位又は列単位の画素データに対する演算が終了次第、前記第2処理を開始する第2処理手段と
    を備えることを特徴とする画像符号化装置。
  2. 前記第1処理手段は、イントラ予測処理で使用される第1の単位ブロックにおける右端の列単位の画素データに対する、逆直交変換処理における一部の逆直交変換演算を優先して実行し、
    前記第2処理手段は、前記逆直交変換演算を終えた前記第1の単位ブロックにおける右端の列単位の画素データを用いて、前記第1の単位ブロックの右隣の第2の単位ブロックの画素に対するイントラ予測処理を開始する
    ことを特徴とする請求項1記載の画像符号化装置。
  3. 前記第1処理手段は、逆直交変換処理で使用される、第1の単位ブロックにおける行単位の画素データが優先して算出されるように、前記第1の単位ブロックにおける列単位の逆量子化処理を、左右の隣り合うN個の画素単位で並列処理を表す並列度Nで実行し、
    前記第2処理手段は、前記第1の単位ブロックにおける逆量子化処理を終えた行単位の画素データを用いて、前記第1の単位ブロックに対する逆直交変換処理の実行を開始する
    ことを特徴とする請求項1記載の画像符号化装置。
  4. 前記第2処理手段は、さらに、
    イントラ予測処理で使用される、前記第1の単位ブロックにおける右端の列単位の画素データに対する前記逆直交変換処理を優先して実行する
    ことを特徴とする請求項3記載の画像符号化装置。
  5. 前記画像符号化装置は、さらに、
    前記第1の単位ブロックにおける列単位の画素データに対する量子化処理を前記並列度Nで実行する第3処理手段を備える
    ことを特徴とする請求項3記載の画像符号化装置。
  6. 行単位又は列単位の画素データに対して演算が可能な第1処理と第2処理とを含み、予め規定された数の画素から構成される単位ブロック毎に符号化対象ピクチャを符号化する画像符号化方法であって、
    前記第2処理において使用される行単位又は列単位の画素データに対する演算を優先して実行する第1処理ステップと、
    前記第1処理において前記第2処理の開始に必要な行単位又は列単位の画素データに対する演算が終了次第、前記第2処理を開始する第2処理ステップと
    を含むことを特徴とする画像符号化方法。
  7. 行単位又は列単位の画素データに対して演算が可能な第1処理と第2処理とを含み、予め規定された数の画素から構成される単位ブロック毎に符号化対象ピクチャを符号化する画像符号化装置に用いる、コンピュータに実行させるためのプログラムであって、
    前記プログラムは、
    前記第2処理において使用される行単位又は列単位の画素データに対する演算を優先して実行する第1処理ステップと、
    前記第1処理において前記第2処理の開始に必要な行単位又は列単位の画素データに対する演算が終了次第、前記第2処理を開始する第2処理ステップと
    を含むプログラム。
  8. 行単位又は列単位の画素データに対して演算が可能な第1処理と第2処理とを含み、予め規定された数の画素から構成される単位ブロック毎に符号化対象ピクチャを符号化する集積回路であって、
    前記第2処理において使用される行単位又は列単位の画素データに対する演算を優先して実行する第1処理手段と、
    前記第1処理において前記第2処理の開始に必要な行単位又は列単位の画素データに対する演算が終了次第、前記第2処理を開始する第2処理手段と
    を備えることを特徴とする集積回路。
JP2005376569A 2005-12-27 2005-12-27 画像符号化装置および画像符号化方法 Pending JP2007180862A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005376569A JP2007180862A (ja) 2005-12-27 2005-12-27 画像符号化装置および画像符号化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005376569A JP2007180862A (ja) 2005-12-27 2005-12-27 画像符号化装置および画像符号化方法

Publications (1)

Publication Number Publication Date
JP2007180862A true JP2007180862A (ja) 2007-07-12

Family

ID=38305574

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005376569A Pending JP2007180862A (ja) 2005-12-27 2005-12-27 画像符号化装置および画像符号化方法

Country Status (1)

Country Link
JP (1) JP2007180862A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009290498A (ja) * 2008-05-29 2009-12-10 Renesas Technology Corp 画像符号化装置及び画像符号化方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009290498A (ja) * 2008-05-29 2009-12-10 Renesas Technology Corp 画像符号化装置及び画像符号化方法

Similar Documents

Publication Publication Date Title
RU2733206C1 (ru) Устройство кодирования изображений, способ кодирования изображений, устройство декодирования изображений, способ декодирования изображений и носитель хранения данных
JP5756537B2 (ja) 適応型走査を用いる動画像復号化方法
KR102043579B1 (ko) 화상 코딩 장치, 화상을 코딩하는 방법, 화상 디코딩 장치, 화상을 디코딩하는 방법 및 컴퓨터 판독가능 매체
JP5246264B2 (ja) 画像符号化装置、画像復号化装置、画像符号化方法及び画像復号化方法
KR20210077799A (ko) 부호화 장치, 부호화 방법 및 프로그램
JP2006222968A (ja) 画面間又は画面内符号化モードの動画像符号化方法及び装置
JP4879269B2 (ja) 復号化方法及び装置
JP2006157925A (ja) パイプラインデブロッキングフィルタ
JP5275454B2 (ja) 画像復号装置
JP7403245B2 (ja) 画像復号装置、画像復号方法
JP2010141513A (ja) 演算装置及び動画像符号化装置
JP2007180862A (ja) 画像符号化装置および画像符号化方法
JP7403246B2 (ja) 画像復号装置、画像復号方法
JP2006166308A (ja) 復号化装置及び復号化方法
TWI834910B (zh) 影像編碼裝置、影像編碼方法及程式、影像解碼裝置、影像解碼方法及程式
JP2023139325A (ja) 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法
JP2014075708A (ja) 動画像符号化装置及び動画像符号化方法
JP2021061547A (ja) 画像符号化装置、画像符号化方法、及びプログラム
JP2011023842A (ja) 動画像符号化方法及び動画像符号化装置
JP2007295333A (ja) 画像復号処理回路及び方法及びプログラム、並びに半導体集積回路