JPWO2006013854A1 - 画像復号化装置および画像符号化装置 - Google Patents

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

Info

Publication number
JPWO2006013854A1
JPWO2006013854A1 JP2006531488A JP2006531488A JPWO2006013854A1 JP WO2006013854 A1 JPWO2006013854 A1 JP WO2006013854A1 JP 2006531488 A JP2006531488 A JP 2006531488A JP 2006531488 A JP2006531488 A JP 2006531488A JP WO2006013854 A1 JPWO2006013854 A1 JP WO2006013854A1
Authority
JP
Japan
Prior art keywords
decoding
image
decoded
block
unit
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
JP2006531488A
Other languages
English (en)
Inventor
慎太郎 工藤
慎太郎 工藤
西 孝啓
孝啓 西
雅保 井口
雅保 井口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Publication of JPWO2006013854A1 publication Critical patent/JPWO2006013854A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

各ブロックの復号化の順序を変更する場合であってもブロック歪みを除去することができるとともに処理速度の低下を抑えた画像復号化装置を提供する。 このような画像復号化装置(100)は、各ブロックを順次復号化する可変長復号化部(111)等と、フレームメモリ(102)と、復号化された各ブロックに対してフィルタ処理を施すデブロッキングフィルタ処理部(119)と、ブロックが復号化されるごとにそのブロックをフレームメモリ(102)に記憶させるとともに、そこに記憶されているブロックに対してフィルタ処理を実行させる第1実行状態のスイッチ(103,104)と、ブロックが復号化されるごとにそのブロックに対してフィルタ処理を実行させる第2実行状態のスイッチ(103,104)と、スイッチ(103,104)の第1実行状態と第2実行状態とを切り換える制御部101とを備える。

Description

本発明は、符号化されたピクチャをブロック単位で復号化する画像復号化装置に関し、特に、復号化されたブロックに対してフィルタ処理を行う画像復号化装置に関する。
動画像の圧縮技術において、標準規格としては、ITU(国際電気通信連合 電気通信標準化部門)のH.261、H.263、H.264、ISO(国際標準化機構)のMPEG(Moving Picture Experts Group)−1、MPEG−2、MPEG−4などがある。
これらの動画像圧縮方式では、ピクチャをブロックに分割し、ブロック毎に符号化を行う。ブロック毎に符号化を行うことによって圧縮効率を高めているが、復号化されたピクチャはブロック歪を生じ易くなる。H.264ではブロックに関連するノイズを除去するために、復号化や画面間予測で用いられる参照ピクチャにおいて、ブロック単位でノイズを除去するデブロッキングフィルタ処理が採用されている。
図1は、デブロッキングフィルタ処理が施される部位を説明するための説明図である。
H.264のデブロックフィルタ処理は、16×16画素からなるマクロブロックにおいて、図1に示すように、4×4画素からなるブロックのエッジに対して施される。図1の(a)の太実線に示すように、輝度における垂直方向の各エッジ(垂直エッジ)に対してデブロッキングフィルタ処理が施されるとともに、図1の(a)の太点線に示すように、色差における一部の垂直エッジに対してデブロッキングフィルタが施される。さらに、図1の(b)の太実線に示すように、輝度における水平方向の各エッジ(水平エッジ)に対してデブロッキングフィルタ処理が施されるとともに、図1の(b)の太点線に示すように、色差における一部の水平エッジに対してデブロッキングフィルタが施される。
また、このデブロッキングフィルタ処理では、そのエッジを挟んだ8画素が用いられる。さらに、デブロッキングフィルタ処理を施すかどうかは、フィルタコード(disable_deblocking_filter_idc)の値によって決まる。フィルタコードが0の場合は、マクロブロックの上記各エッジに対してデブロッキングフィルタ処理を施す。一方、フィルタコードが1の場合は、マクロブロックの何れのエッジに対してもデブロッキングフィルタ処理を施さない。また、フィルタコードが2の場合は、スライス境界にないマクロブロックの上記各エッジに対してデブロッキングフィルタ処理を施す。
デブロッキングフィルタ処理は、それぞれのエッジにおけるフィルタ強度の算出と、フィルタ処理の有無の判定に用いられる閾値α、βの算出と、フィルタ処理とに分けられる。
図2は、フィルタ強度の算出、閾値の算出、およびフィルタ処理を説明するための説明図である。
それぞれのエッジにおけるフィルタ強度は、例えば図2に示すように、画素p0を含むブロックの情報と、画素q0を含むブロックの情報とを用いて算出される。また、それぞれのエッジにおいてフィルタ処理の有無の判定に用いられる閾値α、βは、画素p0を含むブロックの量子化係数と、画素q0を含むブロックの量子化係数とを用いて算出される。フィルタ処理は、4×4画素からなるブロックのエッジに対して、そのエッジを挟んだ8画素を用いて施される。このようなフィルタ処理は、図1に示すように、マクロブロック単位に垂直エッジ、水平エッジの順で施される。このとき、マクロブロックのエッジのフィルタ処理では、処理対象のマクロブロックの左および上にあるマクロブロックであって、既にデブロッキングフィルタ処理が施されたマクロブロックの画素が用いられる。そのため、H.264ではデブロッキングフィルタ処理は、アドレスの小さいマクロブロックから順に施される。ここで、アドレスとは、ピクチャの左上端から水平走査順に各マクロブロックに割り当てられた番号である。
ところで、上記H.264では、スライスグループが規定されており、このスライスグループは、ピクチャをいくつかの領域に分けてその中でスライスを割り当てることにより構成される。スライスとは、スライスグループ内でオーバラップせずに、アドレスの小さい順に割り当てられた、長さ1個以上のマクロブロックのグループである。
図3A、図3Bおよび図3Cは、スライスグループの説明図である。
図中、ブロックはマクロブロックを表し、その中の番号はそのマクロブロックが属するスライスグループのIDである。例えば、マクロブロックMBの中に示す数字「1」は、そのマクロブロックMBが属するスライスグループのIDを示している。スライスグループのタイプは7通り規定されており、slice_group_map_typeでスライスグループのタイプが示される。図3A、図3Bおよび図3Cはその中の3つのタイプを示す。
図3Aは、slice_group_map_typeが0のスライスグループを示し、水平走査順に連続するマクロブロックがスライスグループとして構成されている。図3Bは、slice_group_map_typeが1のスライスグループを示し、このスライスグループは、同一スライスグループに属するマクロブロックが隣り合わないように構成されている。図3Cは、slice_group_map_typeが2のスライスグループを示し、このスライスグループは、各スライスグループを矩形領域に区切り、それらのスライスグループを上から貼り付けたように構成されている。
スライスグループのタイプは、スライスグループの分け方を規定していて、エンコーダはその規定に基づいてスライスグループを割り当てる。またスライスグループの数は、プロファイルごとに規定されていて、ベースラインプロファイルでは1〜7個、メインプロファイルでは1個、イクステンディッドプロファイルでは1〜7個となっている(例えば、非特許文献1参照。)。
上述のようなスライスグループは、マクロブロックを含んで構成されるスライスに分割される。
図3Dは、スライスグループに含まれるスライスを示す図である。
例えば図3Dに示すように、スライスグループSGは、スライスS1、スライスS2およびスライスS3を含んで構成されている。スライスS1はアドレス0〜19の各マクロブロックから構成され、スライスS2はアドレス20〜44の各マクロブロックから構成され、スライスS3は、アドレス45〜64の各マクロブロックから構成されている。
従来の画像復号化装置では、スライスの先頭マクロブロックのアドレスの小さい順に、各スライスを復号化する。例えば、画像復号化装置は、図3Dに示すように、まず、アドレス0の先頭マクロブロックを有するスライスS1を復号化し、次にアドレス20の先頭マクロブロックを有するスライスS2を復号化し、その次にアドレス45の先頭マクロブロックを有するスライスS3を復号化する。また、画像復号化装置は、1つのスライスを復号化するときには、スライスの先頭マクロブロック(図3D中の斜線で示すマクロブロック)からアドレスの小さい順に各マクロブロックに対して復号化を行う。なお、スライスの先頭マクロブロックのアドレスの小さい順に各スライスを復号化するような復号化の順序、つまり復号化対象のマクロブロックを復号化するときにはその復号化対象マクロブロックの左および上にあるマクロブロック(復号化対象マクロブロックよりも小さいアドレスを有するマクロブロック)が既に復号化されているような復号化の順序を、以下、アドレス処理順という。
そして、画像復号化装置は、復号化されたマクロブロックに対してデブロッキングフィルタ処理を施す。ここで、各スライスおよびマクロブロックの復号化の順序は上述のアドレス処理順になっているため、画像復号化装置は、マクロブロックの復号化処理とデブロッキングフィルタ処理とをパイライン処理により行う。
図4は、パイプライン処理を説明するための説明図である。
一般的に、特定の処理に特化した専用ハードウェアでは、処理内容を分担してパイプラインを構成して、並列処理を行うことが多い。パイプライン処理とは、別々の作業を順次同時に行い、処理を行うユニットを無駄に待たせることなく、次々と実行することで高速化を図る手法である。
パイプライン処理は、図4に示すように、前処理と後処理とから構成される。例えば、データ1、データ2、データ3の順で各データが処理される。まず、データ1に対して前処理を施し、次に、データ1に対する後処理と、データ2に対する前処理とを同時に施す。次に、データ2に対する後処理と、データ3に対する前処理とを同時に施す。このような構成にすることによって、データ1、データ2およびデータ3に対して前処理を行った後に、それらのデータに対して後処理を行う場合と比べて処理時間を短くすることができ、高速化を図ることができる。なお、データ1の後処理において、データ2の前処理の結果を用いる場合、データ1の後処理とデータ2の前処理を並列に処理できなく、パイプラインにならないのは言うまでもない。
ここで、上記従来の画像復号化装置は、上述の前処理をマクロブロックに対する復号化処理として行い、上述の後処理をマクロブロックに対するデブロッキングフィルタ処理として行う。
このように従来の画像復号化装置では、各スライスおよびマクロブロックの復号化の順序を常にアドレス処理順にしているため、マクロブロックの復号化処理とデブロッキングフィルタ処理とをパイライン処理により行い、処理速度の高速化を図っている。
H.264|MPEG−4AVC規格書
ところが、各スライスの復号化の順序をアドレス処理順にしない場合がある。
上記H.264では、スライスの復号順序がアドレス復号順になるとは限らないことを示すarbitrary slice orderが規定されている。このarbitrary slice orderの使用は、メインプロファイルでは禁止され、ベースラインプロファイルとイクステンディッドプロファイルでは許可されている。arbitrary slice orderが許可されている場合、スライスの先頭マクロブロックのアドレスの小さい順に各スライスを復号化するとは限らず、マクロブロックの先頭アドレスが他のスライスより大きいスライスからデコードする可能性がある。
このような場合には、スライス境界にあるマクロブロックに対してデブロッキングフィルタ処理を施そうとしても、その処理対象のマクロブロックの左および上にあるマクロブロックに対して未だ復号化処理およびデブロッキングフィルタ処理が施されていないことがある。
したがって、arbitrary slice orderが許可されることを想定すると、画像復号化装置は、ピクチャに含まれる全てのスライスをマクロブロックごとに復号化し、復号化された1枚のピクチャが構成された後に、各マクロブロックに対してデブロッキングフィルタ処理を施す必要がある。つまり、arbitrary slice orderが許可されるときには、画像復号化装置は、復号化処理とデブロッキングフィルタ処理とをパイプライン処理により行うことができない。
図5は、上記H.264のarbitrary slice orderに対応した画像復号化装置の構成を示すブロック図である。
この画像復号化装置800は、符号化信号を復号化するものであって、可変長復号化部801と、逆量子化部802と、逆直交変換部803と、メモリ804と、面内予測部805と、加算部806と、スイッチ807と、フレームメモリ808と、デブロッキングフィルタ処理部809と、フレームメモリ810と、動き補償部811とを備えている。
このように構成された画像復号化装置800においては、Iピクチャの符号化信号を復号化するイントラモード時には、符号化信号は可変長復号化部801によって量子化値に復号化され、逆量子化部802によって周波数成分に復号化され、逆直交変換部803によって予測誤差に復号化される。また、メモリ804に記憶されている左マクロブロック、上マクロブロック、左上マクロブロック、および右上マクロブロックの画素を用いて、面内予測部805で予測画像が生成され、加算部806によって予測誤差と予測画像が加算される。その結果、復号化されたマクロブロックである再構成画像が生成される。ここで、イントラモード時には、スイッチ807は面内予測部805と加算部806をつないでいる。再構成画像は、メモリ804に格納されると共にフレームメモリ808に格納される。そして、ピクチャに含まれる全てのマクロブロックの再構成画像がフレームメモリ808に格納された後に、デブロッキングフィルタ処理部809は、ピクチャの左上端マクロブロックの再構成画像からアドレス順に、各再構成画像に対してブロック歪を除去するデブロッキングフィルタ処理を施して、処理済みの再構成画像をフレームメモリ810に格納する。フレームメモリ810に格納されたデブロッキングフィルタ処理を施されたピクチャは、復号画像信号としてモニタ等に出力される。
またPピクチャ及びBピクチャの符号化信号を復号化するインターモード時には、符号化信号は可変長復号化部801によって量子化値に復号化され、逆量子化部802によって周波数成分に復号化され、逆直交変換部803によって動き補償誤差に復号化される。一方、動き補償部811によって動き補償画像が生成され、加算部806によって動き補償誤差と動き補償画像が加算される。その結果、復号化されたマクロブロックである再構成画像が生成される。ここで、インターモード時には、スイッチ807は、動き補償部811と加算部806をつないでいる。再構成画像は、メモリ804に格納されると共にフレームメモリ808に格納される。そして、ピクチャに含まれる全てのマクロブロックの再構成画像がフレームメモリ808に格納された後に、デブロッキングフィルタ処理部809は、ピクチャの左上端マクロブロックの再構成画像からアドレス順に、各再構成画像に対してブロック歪を除去するデブロッキングフィルタ処理を施して、処理済の再構成画像をフレームメモリ810に格納する。フレームメモリ810に格納されたデブロッキングフィルタ処理を施されたピクチャは、復号画像信号としてモニタ等に出力される。
ここで、デブロッキングフィルタ処理部809は、フィルタコードが1の場合には、再構成画像に対して何も処理をせずに、その再構成画像をフレームメモリ810に格納する。
図6は、画像復号化装置800の処理の流れを示すフローチャートである。
まず、画像復号化装置800は、符号化信号の示すピクチャの符号化された全てのマクロブロックに対して復号化処理を行うことにより、符号化された全てのマクロブロックをそれぞれ再構成画像に復号化する(ループ1のステップS822)。そして、全てのマクロブロックが再構成画像に復号化されたら、画像復号化装置800は、ループ1で復号化された全ての再構成画像に対してデブロッキングフィルタ処理を施す(ループ2のステップS824)。即ち、画像復号化装置800は、ピクチャに対してマクロブロック単位でデブロッキングフィルタ処理を施す。
図7は、H.264のarbitrary slice orderに対応した画像符号化装置の構成を示すブロック図である。
この画像符号化装置900は、入力画像信号を符号化するものであって、メモリ901と、面内予測部902と、減算部903と、スイッチ904と、直交変換部905と、量子化部906と、可変長符号化部907と、逆量子化部908と、逆直交変換部909と、加算部910と、フレームメモリ911と、デブロッキングフィルタ処理部912と、フレームメモリ913と、動き検出部914と、動き補償部915とを備えている。
このように構成された画像符号化装置900は、入力画像信号の示すピクチャをマクロブロックごとに処理する。入力画像信号の示すピクチャをIピクチャとして符号化するイントラモード(面内予測)の時には、メモリ901に記憶されている左マクロブロック、上マクロブロック、左上マクロブロック、および右上マクロブロックの再構成画像を用いて、面内予測部902で予測画像が生成され、減算部903によって入力画像信号のマクロブロックの画像と予測画像の差分である予測誤差が出力される。ここで、スイッチ904はイントラモード時には面内予測部902と減算部903をつないでいる。直交変換部905によって予測誤差が周波数成分に変換され、量子化部906による量子化によって量子化値に圧縮符号化される。その量子化値に対して可変長符号化部907によって符号化が施され、符号化された結果が出力となる。また、量子化部906による量子化値は、逆量子化部908で周波数成分に復号化され、逆直交変換部909によって予測誤差に復号化される。予測誤差は加算部910によって予測画像と加算される。その結果、復号化されたマクロブロックである再構成画像が生成されてメモリ901に格納される。また再構成画像はフレームメモリ911にも格納される。そして、ピクチャに含まれる全てのマクロブロックの再構成画像がフレームメモリ911に格納された後に、デブロッキングフィルタ処理部912は、ピクチャの左上端マクロブロックの再構成画像から順に、各再構成画像に対してブロック歪を除去するデブロッキングフィルタ処理を施して、処理済の再構成画像をフレームメモリ913に格納する。
また、入力画像信号の示すピクチャをPピクチャまたはBピクチャとして符号化するインターモード(面間予測)の時には、動き検出部914によって動きベクトルが生成され、動き補償部915によって予測画像が生成され、減算部903によって入力画像信号の示すマクロブロックの画像と予測画像の差分である動き補償誤差が算出される。ここで、インターモード時にはスイッチ904は、動き補償部915と減算部903をつないでいる。なお、動き検出部914は、フレームメモリ913に記憶されている復号画像から、符号化対象マクロブロックの画像と比較して最も差分が小さい画像領域をサーチする。即ち、動き検出部914は、Pピクチャの場合は、前方の参照ピクチャから上記画像領域をサーチし、Bピクチャの場合は、前方および後方の双方向の参照ピクチャから上記画像領域をサーチする。そして、動き検出部914は、サーチした画像領域と、入力画像信号の符号化対象マクロブロックとの間の動き量を動きベクトルとして算出して、その動きベクトルを出力する。さらに、動き検出部914は、参照されるピクチャが符号化対象ピクチャの前方にあること、後方にあること、または双方向にあることを示すマクロブロックの予測タイプを出力する。動き補償部915は、動き検出部914から出力された動きベクトルと予測タイプから予測画像を演算して出力する。
減算部903から出力された動き補償誤差は直交変換部905によって周波数成分に変換され、量子化部906による量子化によって量子化値に圧縮符号化される。その量子化値に対して可変長符号化部907によって符号化が施され、その符号化された結果が出力となる。また、量子化部906による量子化値は、逆量子化部908で周波数成分に復号化され、逆直交変換部909によって動き補償誤差に復号化され、加算部910によって予測画像と加算される。その結果、復号化されたマクロブロックである再構成画像が生成されてメモリ901に格納される。また再構成画像はフレームメモリ911にも格納される。そして、ピクチャに含まれる全てのマクロブロックの再構成画像がフレームメモリ911に格納された後に、デブロッキングフィルタ処理部912は、ピクチャの左上端マクロブロックの再構成画像から順に、各再構成画像に対してブロック歪を除去するデブロッキングフィルタ処理が施して、処理済の再構成画像をフレームメモリ913に格納する。
ここで、デブロッキングフィルタ処理部912は、フィルタコードが1の場合には、再構成画像に対して何も処理をせずに、その再構成画像をフレームメモリ913に格納する。
このように、図5に示す画像復号化装置800および図7に示す画像符号化装置900は、復号化の順序がアドレス処理順でないときにも、デブロッキングフィルタ処理を行うことができる。
しかしながら、図5に示す画像復号化装置800および図7に示す画像符号化装置900では、復号化の順序がアドレス処理順であるときにも、デブロッキングフィルタ処理を行う前に、ピクチャに含まれる全てのマクロブロックに対して復号化処理を施して、復号化されたマクロブロック(再構成画像)を全てメモリに蓄積するため、処理速度が遅くなるという問題がある。
例えば、再構成画像を格納するメモリが外部メモリであって、その外部メモリが画像復号化処理以外の他の処理にも使用される場合、上述のように全ての再構成画像を外部メモリに格納すると、その外部メモリに格納されるデータ量が多いため、復号化処理全体におけるデータ転送の割合が高くなってしまい、他の処理に割り当てられる時間が少なくなる。そのため、画像復号化装置と外部メモリとを接続するバスのバス幅が小さい場合、あるいは画像復号化装置の処理能力が低い場合では、全ての復号化処理が所定の時間(1フレームを処理するために使用可能な時間)を超える事態が発生し、円滑な画像復号化を行うことができない。
また、デブロッキングフィルタ処理を施す前に全ての再構成画像をメモリに格納するため、マクロブロック単位で、復号化処理(画像を再構成するまでの処理)とデブロッキングフィルタ処理とをパイプライン処理(並列処理)によって行うことができない。また、デブロッキングフィルタ処理されたピクチャを用いて、次のピクチャを符号化または復号化するため、ピクチャ単位においても、復号化処理(画像を再構成するまでの処理)と、デブロッキングフィルタ処理とをパイプライン処理(並列処理)によって行うことができない。
そこで、本発明は、かかる問題を解決するためになされたものであって、各ブロックの復号化の順序を変更する場合であってもブロック歪みを除去することができるとともに処理速度の低下を抑えた画像復号化装置および画像符号化装置を提供することを目的とする。
上記目的を達成するために、本発明に係る画像復号化装置は、符号化されたピクチャをブロック単位で復号化する画像復号化装置であって、符号化されたピクチャを構成する各ブロックを順次復号化する復号化手段と、前記復号化手段により復号化された各ブロックを記憶するための記憶手段と、前記復号化手段により復号化された各ブロックに対してフィルタ処理を施すフィルタ手段と、前記復号化手段でブロックが復号化されるごとに復号化された前記ブロックを前記記憶手段に記憶させるとともに、前記記憶手段に記憶されているブロックに対して前記フィルタ手段にフィルタ処理を実行させる第1の実行手段と、前記復号化手段でブロックが復号化されるごとに復号化された前記ブロックに対して前記フィルタ手段にフィルタ処理を実行させる第2の実行手段と、前記第1の実行手段による動作と前記第2の実行手段による動作とを切り換える切換制御手段とを備えることを特徴とする。具体的に、前記切換制御手段は、前記復号化手段により順次復号化される各ブロックの順序に応じて前記第1の実行手段による動作と前記第2の実行手段による動作とを切り換える。例えば、前記切換制御手段は、前記復号化手段により順次復号化される各ブロックの順序が、前記ピクチャの端にあるブロックから連続的に復号化されるような規定順序であるときには、前記第1の実行手段による動作を禁止させて前記第2の実行手段による動作を実行させ、前記復号化手段より順次復号化される各ブロックの順序が、前記規定順序でないときには、前記第2の実行手段による動作を禁止させて前記第1の実行手段による動作を実行させる。
これにより、復号化手段により順次復号化される各ブロックの順序が、ピクチャの端にあるブロックから連続的に復号化されるような規定順序、つまりアドレス復号順であるときには、例えばスイッチにより構成される第2の実行手段は、復号化手段によりブロックが復号化されるごとにそのブロックに対してフィルタ手段にフィルタ処理を実行させる。その結果、復号化処理とフィルタ処理とをパイプライン処理によって行うことができ、復号化された各ブロックを記憶手段に記憶させた後に、そのブロックに対してフィルタ処理を施す場合と比べて、処理速度を速くすることができる。また、この場合には、記憶手段にブロックを記憶させる必要がないので、記憶手段に対するデータ転送量を抑えて全体的な処理を円滑に行うことができる。また、復号化手段により順次復号化される各ブロックの順序が規定順序でない、つまりアドレス復号順でないときには、例えばスイッチにより構成される第1の実行手段は、復号化手段でブロックが復号化されるごとにそのブロックを記憶手段に記憶させるとともに、記憶手段に記憶されているブロックに対してフィルタ手段にフィルタ処理を実行させる。その結果、順次復号化される各ブロックの順序がアドレス復号順でないときにも、フィルタ手段はブロックに対してフィルタ処理を施すことができる。このように、本発明では、各ブロックの復号化の順序を変更する場合であってもブロック歪みを除去することができるとともに処理速度の低下を抑えることができる。
また、前記切換制御手段は、前記復号化手段によって単位時間内に復号化されるべきブロックの数に応じて前記第1の実行手段による動作と前記第2の実行手段による動作とを切り換えることを特徴としてもよい。例えば、前記切換制御手段は、前記復号化手段によって単位時間内に復号化されるべきブロックの数が所定値よりも多いときには、前記第1の実行手段による動作を禁止させて前記第2の実行手段による動作を実行させ、前記ブロックの数が前記所定値以下のときには、前記第2の実行手段による動作を禁止させて前記第1の実行手段による動作を実行させる。
メインプロファイルやベースラインプロファイルなどのプロファイルによって、単位時間内に復号化されるべきブロックの数が異なり、その数によって、復号化手段により順次復号化される各ブロックの順序が規定順序であるのか、その順序が規定順序でない可能性があるのかを判別することができる。そこで、本発明のように、そのブロックの数に応じて第1の実行手段による動作と前記第2の実行手段による動作とを切り換えることによっても、上述と同様の効果を得ることができる。つまり、各ブロックの復号化の順序を変更する場合であってもブロック歪みを除去することができるとともに処理速度の低下を抑えることができる。
また、前記切換制御手段は、前記復号化手段により順次復号化される各ブロックの順序が、前記ピクチャの端にあるブロックから連続的に復号化されるような規定順序でないときには、前記フィルタ処理の対象となる前記各ブロックの部位を示すフィルタ情報に基づいて、前記第1の実行手段による動作と前記第2の実行手段による動作とを切り換えることを特徴としてもよい。
これにより、例えば、順次復号化される各ブロックの順序が規定順序でなくても、フィルタ情報たるdisable_deblocking_filter_idcの値が2であるときには、つまり、フィルタ処理の対象からスライス境界が外されているときには、ピクチャに含まれる複数のスライスがどのような順序で復号化されても、切換制御手段が第2の実行手段による動作を実行させれば、復号化処理とフィルタ処理とをパイプライン処理によって行うことができ、処理速度を速くすることができる。
また、前記切換制御手段は、前記符号化されたピクチャを複数含んで構成される符号化信号の種別に応じて前記第1の実行手段による動作と前記第2の実行手段による動作とを切り換えることを特徴としてもよい。例えば、前記切換制御手段は、前記符号化信号の種別に基づいて、前記ピクチャの端にあるブロックから各ブロックが連続的に復号化されるべきであると判断したときには、前記第1の実行手段による動作を禁止させて前記第2の実行手段による動作を実行させ、前記判断が不可能なときには、前記第2の実行手段による動作を禁止させて前記第1の実行手段による動作を実行させる。
符号化信号の示すメインプロファイルやベースラインプロファイルなどのプロファイルによって、ピクチャの端にあるブロックから各ブロックが連続的に復号化されるべきであると判断できる場合がある。そこで、本発明のように、符号化信号の種別、つまりプロファイルに応じて、第1の実行手段による動作と第2の実行手段による動作とを切り換えることによっても、上述と同様の効果を得ることができる。つまり、各ブロックの復号化の順序を変更する場合であってもブロック歪みを除去することができるとともに処理速度の低下を抑えることができる。
また、前記切換制御手段は、前記ピクチャの端にあるブロックから各ブロックが連続的に復号化されるべきであるか否かを示す外部信号を取得し、前記外部信号が連続的に復号化されるべきであることを示すときには、前記第1の実行手段による動作を禁止させて前記第2の実行手段による動作を実行させ、前記外部信号が連続的に復号化されるべきでないことを示すときには、前記第2の実行手段による動作を禁止させて前記第1の実行手段による動作を実行させることを特徴としてもよい。
arbitrary slice orderが許可されているときには、ピクチャの端にあるスライスから各スライスが連続的に復号化されるとは限らない。そこで、本発明のように、arbitrary slice orderが許可されているか否かを示す外部信号に応じて第1の実行手段による動作と前記第2の実行手段による動作とを切り換えることによっても、上述と同様の効果を得ることができる。つまり、各ブロックの復号化の順序を変更する場合であってもブロック歪みを除去することができるとともに処理速度の低下を抑えることができる。
なお、本発明は、このような画像復号化装置として実現することができるだけでなく、その画像復号化装置と同様の構成を含む画像符号化装置や、それらによる処理方法、プログラム、そのプログラムを格納する記憶媒体、集積回路としても実現することができる。
本発明の画像復号化装置は、各ブロックの復号化の順序を変更する場合であってもブロック歪みを除去することができるとともに処理速度の低下を抑えることができるという作用効果を奏する。
図1は、デブロッキングフィルタ処理が施される部位を説明するための説明図である。 図2は、フィルタ強度の算出、閾値の算出、およびフィルタ処理を説明するための説明図である。 図3Aは、スライスグループの説明図である。 図3Bは、他のスライスグループの説明図である。 図3Cは、さらに他のスライスグループの説明図である。 図3Dは、スライスグループに含まれるスライスを示す図である。 図4は、パイプライン処理を説明するための説明図である。 図5は、H.264のarbitrary slice orderに対応した画像復号化装置の構成を示すブロック図である。 図6は、同上の画像復号化装置の処理の流れを示すフローチャートである。 図7は、H.264のarbitrary slice orderに対応した画像符号化装置の構成を示すブロック図である。 図8は、本発明の実施の形態1における画像復号化装置の構成を示すブロック図である。 図9は、同上の画像復号化装置の処理の流れを示すフローチャートである。 図10は、同上の変形例に係る画像復号化装置の処理の流れを示すフローチャートである。 図11は、ピクチャごとにフィルタコードの値を判別する画像復号化装置の処理の流れを示すフローチャートである。 図12は、本発明の実施の形態2における画像符号化装置の構成を示すブロック図である。 図13は、同上の画像符号化装置の処理の流れを示すフローチャートである。 図14は、同上の変形例1に係る画像符号化装置の処理の流れを示すフローチャートである。 図15は、ピクチャごとにフィルタコードの値を判別する画像符号化装置の処理の流れを示すフローチャートである。 図16は、本発明の実施の形態2の変形例2に係る画像符号化装置の処理の流れを示すフローチャートである。 図17Aは、本発明の画像復号化装置および画像符号化装置をコンピュータシステムにより実現するためのプログラムを格納するための記録媒体についての説明図である。(実施の形態3) 図17Bは、本発明の画像符号化方法および画像復号化方法をコンピュータシステムにより実現するためのプログラムを格納するための記録媒体についての他の説明図である。(実施の形態3) 図17Cは、本発明の画像符号化方法および画像復号化方法をコンピュータシステムにより実現するためのプログラムを格納するための記録媒体についてのさらに他の説明図である。(実施の形態3) 図18は、本発明の実施の形態4におけるコンテンツ配信サービスを実現するコンテンツ供給システムの全体構成を示すブロック図である。 図19は、同上の画像符号化装置と画像復号化装置を用いた携帯電話を示す図である。 図20は、同上の携帯電話のブロック図である。 図21は、同上のディジタル放送用システムの例を示す図である。
符号の説明
100 画像復号化装置
101 制御部
102,120 フレームメモリ
103,104,117 スイッチ
111 可変長復号化部
112 逆量子化部
113 逆直交変換部
114 メモリ
115 面内予測部
116 加算部
119 デブロッキングフィルタ処理部
120 フレームメモリ
121 動き補償部
200 画像符号化装置
201 制御部
202,223 フレームメモリ
203,204,214 スイッチ
205 設定部
211 メモリ
212 面内予測部
213 減算部
215 直交変換部
216 量子化部
217 可変長符号化部
218 逆量子化部
219 逆直交変換部
220 加算部
222 デブロッキングフィルタ処理部
224 動き検出部
225 動き補償部
以下本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
図8は、本発明の実施の形態1における画像復号化装置100の構成を示すブロック図である。
画像復号化装置100は、ブロック単位で行われる復号化の順序を変更する場合であってもブロック歪みを除去することができるとともに、処理速度の低下を抑えた画像復号化装置であって、可変長復号化部111と、逆量子化部112と、逆直交変換部113と、メモリ114と、面内予測部115と、加算部116と、スイッチ117と、デブロッキングフィルタ処理部119と、フレームメモリ120と、動き補償部121と、制御部101と、フレームメモリ102、スイッチ103と、スイッチ104とを備えている。
可変長復号化部111は、符号化信号の示す符号化されたピクチャのマクロブロックごとに、そのマクロブロックに対して可変長復号化処理を施し、その処理結果である量子化値を逆量子化部112に出力する。
ここで、可変長復号化部111は、スライスやマクロブロックの復号化の順序を示す順序通知情報を取得して、その順序通知情報の示す順序に基づいて各マクロブロックに対する可変長復号化処理を行う。順序通知情報は、復号化の順序がアドレス処理順であること、または復号化の順序が任意であることを示す。以下、任意の復号化の順序を不定順という。
したがって、可変長復号化部111は、順序通知情報がアドレス処理順を示すときには、符号化信号の示す符号化されたピクチャの各スライスに対して、スライスの先頭マクロブロックのアドレスの小さい順に可変長復号化処理を行う。そして、可変長復号化部111は、各スライス内では、スライスの先頭マクロブロックからアドレスの小さい順に、各マクロブロックに対する可変長復号化処理を行う。一方、順序通知情報が不定順を示すときには、可変長復号化部111は、所定の規定に従って、上述のアドレス処理順と同様の順序や、アドレス処理順と異なる順序で、各マクロブロックに対して可変長復号化処理を行う。
逆量子化部112は、可変長復号化部111から出力された量子化値に対して逆量子化を行ってその量子化値を周波数成分に変換する。
逆直交変換部113は、符号化対象ピクチャがIピクチャであるイントラモードでは、逆量子化部112から出力される周数成分を画像データである予測誤差に変換し、符号化対象ピクチャがPピクチャまたはBピクチャであるインターモードでは、その周波数成分を画像データである動き補償誤差に変換する。
スイッチ117は、イントラモードでは画内予測部115を加算部116に接続し、インターモードでは動き補償部121を加算部116に接続する。
加算部116は、イントラモードでは、画内予測部115から出力される予測画像と予測誤差とを加算することにより、符号化信号の示す符号化されたマクロブロックを再構成画像に復号化する。また、加算部116は、インターモードでは、動き補償部121から出力される動き補償画像と動き補償誤差とを加算することにより、符号化信号の示す符号化されたマクロブロックを再構成画像に復号化する。
メモリ114は、加算部116から出力される再構成画像を蓄積する。
面内予測部115は、メモリ114に記憶されている複数の再構成画像から、復号化対象マクロブロックに対して左にあるマクロブロック、上にあるマクロブロック、左上にあるマクロブロック、および右上にあるマクロブロックのそれぞれの再構成画像を取り出す。そして、面内予測部115は、それらの再構成画像を用いて復号化対象マクロブロックの予測画像を生成する。
制御部101は、上述の順序通知情報を取得して、その順序通知情報に基づいてスイッチ103およびスイッチ104を制御する。
即ち、制御部101は、順序通知情報がアドレス処理順を示す場合には、スイッチ103およびスイッチ104を制御して、加算部116とデブロッキングフィルタ処理部119とを直接接続させる。一方、順序通知情報が不定順を示す場合には、制御部101は、まず、スイッチ103を制御して、フレームメモリ102を加算部116に接続させる。加算部116に接続されたフレームメモリ102は、加算部116から出力される再構成画像を逐次蓄積する。そして、制御部101は、フレームメモリ102に1ピクチャ分の全ての再構成画像が蓄積されると、スイッチ104を制御して、フレームメモリ102をデブロッキングフィルタ処理部119に接続させる。
デブロッキングフィルタ処理部119は、スイッチ103およびスイッチ104によって加算部116に接続されると、加算部116が再構成画像を出力するごとに、その再構成画像に対してデブロッキングフィルタ処理を施す。また、デブロッキングフィルタ処理部119は、スイッチ104によってフレームメモリ102に接続されると、フレームメモリ102に蓄積された1ピクチャ分の全ての再構成画像に対して、ピクチャの左上端のマクロブロックからアドレスの小さい順にデブロッキングフィルタ処理を施す。
そして、デブロッキングフィルタ処理部119は、デブロッキングフィルタ処理された再構成画像をフレームメモリ120に順次格納する。これにより、フレームメモリ120には、1ピクチャ分の再構成画像が復号画像として格納される。また、このような復号画像は復号画像信号としてモニタなどに出力される。
なお、デブロッキングフィルタ処理部119は、処理対象の再構成画像(マクロブロック)に対してデブロッキングフィルタ処理を施すときには、その再構成画像の左および上にある既にデブロッキングフィルタ処理された再構成画像を、フレームメモリ120から取得してその取得した再構成画像を用いる。
動き補償部121は、フレームメモリ120に格納された復号画像を参照ピクチャとして取得するとともに、動きベクトルを取得する。そして、動き補償部121は、参照ピクチャのうち動きベクトルにより示される画像領域を、復号化対象マクロブロックの動き補償画像として生成し、その動き補償画像を出力する。
このように本実施の形態における画像復号化装置100は、順序通知情報がアドレス処理順を示すときには、マクロブロックごとに、復号化処理(再構成画像を生成するまでの処理)と、デブロッキングフィルタ処理とをパイプライン処理により行う。そして、順序通知情報が不定順を示すときには、画像復号化装置100は、各マクロブロックに対して復号化処理を行い、1ピクチャ分の再構成画像がフレームメモリ102に蓄積された後に、デブロッキングフィルタ処理を行う。
ここで、上述の順序通知情報としては、例えばH.264におけるプロファイル情報が用いられる。
即ち、符号化信号に含まれるプロファイル情報がベースラインプロファイルまたはイクステンディッドプロファイルを示す場合は、そのプロファイル情報は、逐次復号化されるマクロブロックの順序が不定順であることを示している。また、プロファイル情報がメインプロファイを示す場合は、そのプロファイル情報は、逐次復号化されるマクロブロック順序がアドレス処理順であることを示している。
ベースラインプロファイルとイクステンディッドプロファイルにおいて、逐次復号化されるマクロブロックの順序が不定順となる理由には、arbitrary slice orderが許可されているからという理由だけでなく、スライスグループの数を1〜7個の範囲で設定できるからという理由もある。つまり、スライスグループの数が複数の場合には、例えば図3Bに示すように、復号化対象マクロブロックに対して左隣と上隣のマクロブロックが、それぞれ復号化対象マクロブロックのスライスグループと異なるスライスグループに属していることがある。このような場合には、復号化対象マクロブロックの復号化時に、その左隣や上隣にあるマクロブロックが未だ復号化されていない可能性があるため、逐次復号化されるマクロブロックの順序が不定順になる。
図9は、本実施の形態における画像復号化装置100の処理の流れを示すフローチャートである。
画像復号化装置100は、まず、復号化対象ピクチャに対して、順序通知情報がアドレス処理順を示しているか否かを判別する(ステップS100)。アドレス処理順を示していると判別したときには(ステップS100のY)、画像復号化装置100は、復号化対象の各マクロブロックに対してアドレス処理順に復号化処理を行い(ステップS102)、復号化されたマクロブロック(再構成画像)に対してデブロッキングフィルタ処理を行う(ステップS104)。つまり、画像復号化装置100は、ステップS102の復号化処理とステップS104のデブロッキングフィルタ処理とをパイプライン処理により行い、これらの処理を復号化対象ピクチャの全てのマクロブロックに対して繰り返し行う(ループ2)。
一方、順序通知情報がアドレス処理順を示していない、つまり不定順を示していると判別したときには(ステップS100のN)、画像復号化装置100は、所定の順序で復号化対象の各マクロブロックに対して復号化処理を行い(ステップS106)、復号化されたマクロブロック(再構成画像)をフレームメモリ102に逐次格納する(ステップS108)。このように、画像復号化装置100は、ステップS106の復号化処理とステップS108の格納処理とを復号化対象ピクチャの全てのマクロブロックに対して繰り返し行う(ループ3)。そして、画像復号化装置100は、フレームメモリ102に蓄積された1ピクチャ分の各再構成画像に対して、ピクチャの左上端の再構成画像からアドレスの小さい順に、デブロッキングフィルタ処理を行う(ステップS110)。
画像復号化装置100は、このようなステップS100〜S110までの処理を、符号化信号の示す全ての符号化されたピクチャに対して行う(ループ1)。
以上のように本実施の形態によれば、複数のスライスグループとarbitrary slice orderが禁止されているメインプロファイルでは、逐次復号化されるマクロブロックの順序がアドレスの小さい順(アドレス復号順)であるということが保証されているため、全マクロブロックが再構成画像として復号化されなくても、逐次再構成画像に復号化されたフィルタ処理前のマクロブロックに対して、デブロッキングフィルタ処理を施すことができる。したがって、復号処理全体におけるデータ転送の割合を低くできる。また逐次復号化された再構成画像に施すデブロッキングフィルタ処理は、再構成画像を生成するまでの処理(復号化処理)と並列に処理することが可能になる。これにより、処理速度を速くすることができる。
また、複数のスライスグループとarbitrary slice orderが許可されているベースラインプロファイルでは、逐次復号化されるマクロブロックの順序がアドレス復号順であることが保証されていない。本実施の形態では、このようなベースラインプロファイルでも、フレームメモリ102に再構成画像を逐次格納することにより、各再構成画像に対してデブロッキングフィルタ処理を施すことができる。
(変形例)
ここで、上記実施の形態1における変形例を説明する。
上記実施の形態の画像復号化装置100は、順序通知情報のみに基づいて、復号化処理とデブロッキングフィルタ処理とをパイプライン処理により行うか否かを判別したが、本変形例の画像復号化装置は順序通知情報とフィルタコード(disable_deblocking_filter_idc)とに基づいて判別する。
本変形例に係る画像復号化装置は、順序通知情報がアドレス処理順を示している場合には、上記実施の形態と同様の処理を行うが、順序通知情報が不定順を示している場合には、フィルタコードの値に応じた処理を行う。
具体的に、本変形例に係る画像復号化装置は、フィルタコードが0の場合には、上記実施の形態において順序通知情報が不定順を示している場合と同様の処理を行う。つまり、画像復号化装置の制御部は、スイッチ103を制御することによりフレームメモリ102を加算部116に接続させて、1ピクチャ分の再構成画像をフレームメモリ102に蓄積させる。そして制御部は、スイッチ104を制御することによりフレームメモリ102をデブロッキングフィルタ処理部119に接続させる。その結果、デブロッキングフィルタ処理部119はフレームメモリ102に蓄積された再構成画像に対してデブロッキングフィルタ処理を行う。これにより、フィルタコードが0の場合には、全てのマクロブロック(再構成画像)のエッジに対してデブロッキングフィルタ処理が施される。
フィルタコードが1の場合には、本変形例に係る画像復号化装置の制御部は、スイッチ103とスイッチ104とを制御することにより、加算部116とデブロッキングフィルタ処理部119とを直接接続させる。そして、制御部は、デブロッキングフィルタ処理部119に対してデブロッキングフィルタ処理を禁止させる。その結果、加算部116から出力された再構成画像は、スイッチ103およびスイッチ104を介してデブロッキングフィルタ処理部119を通過し、フレームメモリ120に格納される。これにより、フィルタコードが1の場合には、全てのマクロブロック(再構成画像)のエッジに対してデブロッキングフィルタ処理が施されないこととなる。
フィルタコードが2の場合には、本変形例に係る画像復号化装置の制御部は、上述と同様、スイッチ103とスイッチ104とを制御することにより、加算部116とデブロッキングフィルタ処理部119とを直接接続させる。そして、制御部は、スライス境界に対するデブロッキングフィルタ処理を、デブロッキングフィルタ処理部119に禁止させる。その結果、デブロッキングフィルタ処理部119は、加算部116から出力されたスライス境界にある再構成画像(マクロブロック)のうち、そのスライス境界を除くエッジ(例えば、再構成画像の内部にある、4×4画素からなるブロックのエッジ)にデブロッキングフィルタ処理を施す。また、デブロッキングフィルタ処理部119は、加算部116から出力されたスライス境界にない再構成画像の全てのエッジ、つまり図1に示す各垂直エッジおよび水平エッジに対してデブロッキングフィルタ処理を施す。
これにより、フィルタコードが2の場合には、各マクロブロック(再構成画像)に対して、復号化処理とデブロッキングフィルタ処理とがパイプライン処理により施される。
図10は、本変形例に係る画像復号化装置の処理の流れを示すフローチャートである。
本変形例に係る画像復号化装置は、まず、復号化対象ピクチャに対して、順序通知情報がアドレス処理順を示しているか否かを判別する(ステップS200)。アドレス処理順を示していると判別したときには(ステップS200のY)、画像復号化装置は、復号化対象の各マクロブロックに対してアドレス処理順に復号化処理を行い(ステップS202)、復号化されたマクロブロック(再構成画像)に対してデブロッキングフィルタ処理を行う(ステップS204)。つまり、画像復号化装置は、ステップS202の復号化処理とステップS204のデブロッキングフィルタ処理とをパイプライン処理により行い、これらの処理を復号化対象ピクチャの全てのマクロブロックに対して繰り返し行う(ループ2)。
一方、順序通知情報がアドレス処理順を示していない、つまり不定順を示していると判別したときには(ステップS200のN)、画像復号化装置は、さらに、スライスごとにフィルタコードの値が0であるか、1であるか、2であるかを判別する(ステップ3206)。ここで、フィルタコードの値が0であると判別したときには、画像復号化装置は、所定の順序で復号化対象の各マクロブロックに対して復号化処理を行い(ステップS208)、復号化されたマクロブロック(再構成画像)をフレームメモリ102に逐次格納する(ステップS210)。このように、画像復号化装置は、ステップS208の復号化処理とステップS210の格納処理とをスライス内の全てのマクロブロックに対して繰り返し行う(ループ4)。
また、ステップS206でフィルタコードの値が1であると判別したときには、画像復号化装置は、所定の順序で復号化対象の各マクロブロックに対して復号化処理を行う(ステップS214)。このように、画像復号化装置は、ステップS214の復号化処理をスライス内の全てのマクロブロックに対して繰り返し行う(ループ5)。
また、ステップS206でフィルタコードの値が2であると判別したときには、画像復号化装置は、復号化対象のマクロブロックに対して復号化処理を行い(ステップS216)、そのマクロブロックがスライス境界にあるブロックか否かを判別する(ステップS218)。そして、画像復号化装置は、スライス境界にあるブロックであると判別したときには(ステップS218のY)、復号化されたマクロブロック(再構成画像)のスライス境界を除くエッジに対してデブロッキングフィルタ処理を施し(ステップS219)、スライス境界にあるブロックでないと判別したときには(ステップS218のN)、復号化されたマクロブロック(再構成画像)の全てのエッジに対してデブロッキングフィルタ処理を施す(ステップS220)。つまり、画像復号化装置は、ステップS216の復号化処理とステップS219,S220のデブロッキングフィルタ処理とをパイプライン処理により行う。このように、画像復号化装置は、ステップS216〜S220の処理を、スライス内の全てのマクロブロックに対して繰り返し行う(ループ6)。
画像復号化装置は、このようなステップS206〜S220までの処理を、復号化対象ピクチャに含まれる全てのスライスに対して行い(ループ3)、ステップS210でフレームメモリ102に格納された各再構成画像に対してアドレスの小さい順にデブロッキングフィルタ処理を行なう(ステップS222)。そして、画像復号化装置は、このようなステップS200〜S222までの処理を、符号化信号の示す全ての符号化されたピクチャに対して行う(ループ1)。
なお、上述では画像復号化装置は、スライスごとにフィルタコードの値を判別したが、ピクチャごとにフィルタコードの値を判別してもよい。
図11は、ピクチャごとにフィルタコードの値を判別する画像復号化装置の処理の流れを示すフローチャートである。
画像復号化装置は、まず、復号化対象ピクチャに対して、順序通知情報がアドレス処理順を示しているか否かを判別する(ステップS250)。アドレス処理順を示していると判別したときには(ステップS250のY)、画像復号化装置は、復号化対象の各マクロブロックに対してアドレス処理順に復号化処理を行い(ステップS252)、復号化されたマクロブロック(再構成画像)に対してデブロッキングフィルタ処理を行う(ステップS254)。つまり、画像復号化装置は、ステップS252の復号化処理とステップS254のデブロッキングフィルタ処理とをパイプライン処理により行い、これらの処理を復号化対象ピクチャの全てのマクロブロックに対して繰り返し行う(ループ2)。
一方、順序通知情報がアドレス処理順を示していない、つまり不定順を示していると判別したときには(ステップS250のN)、画像復号化装置は、さらに、フィルタコードの値が0であるか、1であるか、2であるかを判別する(ステップS256)。ここで、フィルタコードの値が0であると判別したときには、画像復号化装置は、所定の順序で復号化対象の各マクロブロックに対して復号化処理を行い(ステップS258)、復号化されたマクロブロック(再構成画像)をフレームメモリ102に逐次格納する(ステップS260)。このように、画像復号化装置は、ステップS258の復号化処理とステップS260の格納処理とを復号化対象ピクチャの全てのマクロブロックに対して繰り返し行う(ループ3)。そして、画像復号化装置は、フレームメモリ102に蓄積された1ピクチャ分の各再構成画像に対して、ピクチャの左上端の再構成画像からアドレスの小さい順に、デブロッキングフィルタ処理を行う(ステップS262)。
また、ステップS256でフィルタコードの値が1であると判別したときには、画像復号化装置は、所定の順序で復号化対象の各マクロブロックに対して復号化処理を行う(ステップS264)。このように、画像復号化装置は、ステップS264の復号化処理を復号化対象ピクチャの全てのマクロブロックに対して繰り返し行う(ループ4)。
また、ステップS256でフィルタコードの値が2であると判別したときには、画像復号化装置は、復号化対象のマクロブロックに対して復号化処理を行い(ステップS266)、そのマクロブロックがスライス境界にあるブロックか否かを判別する(ステップS268)。そして、画像復号化装置は、スライス境界にあるブロックであると判別したときには(ステップS268のY)、復号化されたマクロブロック(再構成画像)のスライス境界を除くエッジに対してデブロッキングフィルタ処理を施し(ステップS269)、スライス境界にあるブロックでないと判別したときには(ステップS268のN)、復号化されたマクロブロック(再構成画像)の全てのエッジに対してデブロッキングフィルタ処理を施す(ステップS270)。つまり、画像復号化装置は、ステップS266の復号化処理とステップS269,S270のデブロッキングフィルタ処理とをパイプライン処理により行う。このように、画像復号化装置は、ステップS266〜S270の処理を、復号化対象ピクチャの全てのマクロブロックに対して繰り返し行う(ループ5)。
画像復号化装置は、このようなステップS250〜S270までの処理を、符号化信号の示す全ての符号化されたピクチャに対して行う(ループ1)。
このように、画像復号化装置は、フィルタコードがピクチャ単位で固定され、スライス単位で変更されないことが明らかな場合には、スライスごとにフィルタコードの値を判別せずに処理を行なう。
なお、実施の形態1およびその変形例では、制御部101は1ピクチャ分の全ての再構成画像がフレームメモリ102に格納された後にスイッチ104を制御して、フレームメモリ102をデブロッキングフィルタ処理部119に接続させたが、1ピクチャ分の全ての再構成画像が格納される前にスイッチ104を制御してもよい。
即ち、制御部101は、フレームメモリ102に格納されている再構成画像(フィルタ対象マクロブロック)に対してデブロッキングフィルタ処理に必要な、デブロッキングフィルタ処理済のマクロブロック(フィルタ処理済マクロブロック)がフレームメモリ120に格納されていれば、スイッチ104を制御する。これにより、制御部101は、フィルタ対象マクロブロックに対してデブロッキングフィルタ処理部119にデブロッキングフィルタ処理を実行させる。
また、制御部101は、フィルタ対象マクロブックに対してフィルタ処理済マクロブロックを必要としないときにも、スイッチ104を制御して、フィルタ対象マクロブロックに対してデブロッキングフィルタ処理部119にデブロッキングフィルタ処理を実行させる。
具体的に、フィルタ対象マクロブロックに対して必要なフィルタ処理済マクロブロックとは、(1)ピクチャ上端のフィルタ対象マクロブロックに対して左隣にあるマクロブロック、(2)ピクチャ左端のフィルタ対象マクロブロックに対して上隣および右上にあるマクロブロック、または(3)フィルタ対象マクロブロックに対して左隣、上隣、および右上にあるマクロブロックである。また、フィルタ処理済マクロブロックを必要としないフィルタ対象マクロブロックとは、ピクチャの左上端にあるマクロブロックである。
このような場合にも、逐次デブロッキングフィルタ処理を施すことができ、再構成画像を生成するまでの処理(復号化処理)と並列に行えるデブロッキングフィルタ処理を増やすことができる。
なお、H.264の復号化においてマクロブロックアダプティブフレーム・フィールドデコーディングが用いられている場合は、フィルタ対象マクロブロックに対して、上隣のマクロブロックと、右上のマクロブロックと、左隣のマクロブロックとを、それぞれ、上隣マクロブロックペアと、右上マクロブロックペアと、左隣マクロブロックペアとすればよい。これにより、上述と同様の効果を得ることができる。
なお、実施の形態1およびその変形例では、逐次復号化されるマクロブロックの順序がアドレス復号順かどうかの情報(順序通知情報)として、ストリーム(符号化信号)に含まれるプロファイルの情報を用いたが、逐次復号化されるマクロブロックの順序がアドレス復号順かどうかを示す情報を外部から取得してもよい。
例えば、ベースラインプロファイルの場合、逐次復号化されるマクロブロックの順序は一般に不定順であるが、ベースラインプロファイルであっても所謂1セグメント放送の場合には、複数のスライスとarbitrary slice orderとが許可されず、逐次復号化されるマクロブロックの順序はアドレス復号順となる。
即ち、プロファイル情報だけでは、逐次復号化されるマクロブロックの順序がアドレス復号順であるのか不定順であるのかを正確に判別することができない。また、arbitrary slice orderを使用するかどうかの情報はストリーム内には存在しないため、逐次復号化されるマクロブロックの順序がアドレス復号順かどうかはストリーム内の情報だけでは判断できない。
そこで、逐次復号化されるマクロブロックの順序がアドレス復号順であるか否かを示す情報、つまりarbitrary slice orderが許可されているか否かを示す情報を外部から取得する。これにより、画像復号化装置は、逐次復号化されるマクロブロックの順序がアドレス復号順か否かを正確に判断することができる。つまり、プロファイル情報だけでアドレス復号順か否かを判断する場合と比べて、アドレス復号順であると判断される場合が多くなる。その結果、アドレス復号順であると判断したときには、逐次復号化されたフィルタ処理前のマクロブロックに対して、デブロッキングフィルタ処理を施すことができ、復号処理全体におけるデータ転送の割合を低くできる。また、デブロッキングフィルタ処理は、再構成画像を生成するまでの処理(復号化処理)と並列に行うことが可能になる。これによって処理がより高速化され、低消費電力化を図ることができ、長時間の復号化が可能となる。これはデジタル放送など長時間使用する場合に適している。
なお、実施の形態1およびその変形例では、デブロッキングフィルタ処理前の再構成画像を格納するフレームメモリ102と、デブロッキングフィルタ処理後の再構成画像を格納するフレームメモリ913とを設けたが、この2つのメモリを1つのフレームメモリで構成してもよい。
また、実施の形態1およびその変形例では、プロファイル情報を順序通知情報とし、そのプロファイル情報に応じてスイッチ103およびスイッチ104を制御したが、単位時間内に復号化されるべきマクロブロックの数に応じてスイッチ103およびスイッチ104を制御してもよい。
例えば、ベースラインプロファイルの場合には、メインプロファイルの場合と比べて、単位時間内に復号化されるべきマクロブロックの数が少ない。そこで、そのマクロブロックの数が所定値以下であれば、符号化信号の示すプロファイルはベースラインプロファイルであり、そのマクロブロックの数が所定値よりも多ければ、符号化信号の示すプロファイルはメインプロファイルであると判断することができる。
そこで、このように単位時間内に復号化されるべきマクロブロックの数に応じてスイッチ103およびスイッチ104を制御しても、上述と同様の効果を得ることができる。
また、実施の形態1およびその変形例では、図9および図10に示すように、ピクチャごとにアドレス処理順か否かを判別したが、スライスやシーケンスごとに判別してもよく、符号化信号に対する処理を開始するときに1度だけ判別してもよい。
(実施の形態2)
図12は、本発明の実施の形態2における画像符号化装置200の構成を示すブロック図である。
画像符号化装置200は、ブロック単位で行われる符号化および復号化の順序を変更する場合であってもブロック歪みを除去することができるとともに、処理速度の低下を抑えた画像符号化装置であって、メモリ211と、面内予測部212と、減算部213と、スイッチ214と、直交変換部215と、量子化部216と、可変長符号化部217と、逆量子化部218と、逆直交変換部219と、加算部220と、デブロッキングフィルタ処理部222と、フレームメモリ223と、動き検出部224と、動き補償部225と、制御部201と、フレームメモリ202、スイッチ203と、スイッチ204と、設定部205とを備えている。
減算部213は、入力画像信号の示すマクロブロックの画像と、スイッチ214を介して取得される予測画像との差分を算出して、その算出結果である予測誤差を出力する。
直交変換部215は、減算部213によって算出された予測誤差を周波数成分に変換する。
量子化部216は、直交変換部215から出力される周波数成分に対して量子化を行い、その周波数成分を量子化値に圧縮符号化する。
可変長符号化部217は、量子化部216から出力される量子化値に対して可変長符号化を行い、その符号化された結果を符号化信号として出力する。
逆量子化部218は、量子化部216から出力される量子化値に対して逆量子化を行ってその量子化値を周波数成分に変換する。
逆直交変換部219は、逆量子化部218から出力される周数成分を画像データである予測誤差に変換する。
加算部220は、逆直交変換部219から出力される予測誤差と、スイッチ214を介して取得される予測画像とを加算することにより、復号化されたマクロブロックである再構成画像を出力する。
メモリ211は、加算部220から出力される再構成画像を蓄積する。
スイッチ214は、イントラモードでは面内予測部212を減算部213に接続し、インターモードでは動き補償部225を減算部213に接続する。
面内予測部212は、メモリ211に記憶されている再構成画像から、符号化対象マクロブロックに対して左にあるマクロブロック、上にあるマクロブロック、左上にあるマクロブロック、および右上にあるマクロブロックのそれぞれの再構成画像を取り出す。そして、面内予測部212は、それらの再構成画像を用いて符号化対象マクロブロックの予測画像を生成する。
設定部205は、例えばユーザによる操作や、予め規定された処理方法などに基づいて符号化条件を設定し、その符号化条件を制御部201に通知する。
ここで、上述の符号化条件は、例えばH.264におけるプロファイルを示す。
即ち、符号化条件がベースラインプロファイルまたはイクステンディッドプロファイルを示す場合は、その符号化条件は、逐次符号化および復号化されるマクロブロックの順序が不定順であることを示している。また、符号化条件がメインプロファイを示す場合は、その符号化条件は、逐次符号化および復号化されるマクロブロック順序がアドレス処理順であることを示している。
制御部201は、設定部205で設定された符号化条件に基づいてスイッチ203およびスイッチ204を制御する。
制御部201は、符号化条件がアドレス処理順を示す場合には、スイッチ203およびスイッチ204を制御して、加算部220とデブロッキングフィルタ処理部222とを直接接続させる。一方、符号化条件が不定順を示す場合には、制御部201は、まず、スイッチ203を制御して、フレームメモリ202を加算部220に接続させる。加算部220に接続されたフレームメモリ202は、加算部220から出力される再構成画像を逐次蓄積する。そして、制御部201は、フレームメモリ202に1ピクチャ分の全ての再構成画像が蓄積されると、スイッチ204を制御して、フレームメモリ202をデブロッキングフィルタ処理部222に接続させる。
デブロッキングフィルタ処理部222は、スイッチ203およびスイッチ204によって加算部220に接続されると、加算部220が再構成画像を出力するごとに、その再構成画像に対してデブロッキングフィルタ処理を施す。また、デブロッキングフィルタ処理部222は、スイッチ204によってフレームメモリ202に接続されると、フレームメモリ202に蓄積された1ピクチャ分の全ての再構成画像に対して、ピクチャの左上端のマクロブロックからアドレスの小さい順にデブロッキングフィルタ処理を施す。
そして、デブロッキングフィルタ処理部222は、デブロッキングフィルタ処理された再構成画像をフレームメモリ223に格納する。これにより、フレームメモリ223には、1ピクチャ分の再構成画像が復号画像として格納される。
なお、デブロッキングフィルタ処理部222は、処理対象の再構成画像(マクロブロック)に対してデブロッキングフィルタ処理を施すときには、その再構成画像の左および上にある既にデブロッキングフィルタ処理された再構成画像を、フレームメモリ223から取得してその取得した再構成画像を用いる。
動き検出部224は、インターモードのときに、フレームメモリ223に格納された復号画像を参照ピクチャとして参照することにより、入力画像信号の示す符号化対象マクロブロックの画像の動きを検出し、その検出結果である動きベクトルを動き補償部225およびフレームメモリ223に出力する。さらに、動き検出部914は、参照ピクチャが符号化対象ピクチャの前方にあること、後方にあること、または双方向にあることを示すマクロブロックの予測タイプを動きベクトルとともに出力する。
動き補償部225は、フレームメモリ223に格納された復号画像を参照ピクチャとして取得するとともに、動き検出部224から出力される動きベクトルを取得する。そして、動き補償部121は、参照ピクチャのうち動きベクトルにより示される画像領域を、符号化対象マクロブロックの予測画像として生成し、その予測画像を出力する。
このように本実施の形態における画像符号化装置200は、符号化条件がアドレス処理順を示すときには、マクロブロックごとに、符号化処理と、復号化処理と、デブロッキングフィルタ処理とをパイプライン処理により行う。そして、符号化条件が不定順を示すときには、画像復号化装置200は、符号化された各マクロブロックに対して復号化処理を行い、1ピクチャ分の再構成画像がフレームメモリ202に蓄積された後に、デブロッキングフィルタ処理を行う。
図13は、本実施の形態における画像符号化装置200の処理の流れを示すフローチャートである。
画像符号化装置200は、まず、符号化条件を設定する(ステップS300)。そして、画像符号化装置200は、符号化対象ピクチャに対して、符号化条件がアドレス処理順を示しているか否かを判別する(ステップS302)。アドレス処理順を示していると判別したときには(ステップS302のY)、画像符号化装置200は、符号化対象の各マクロブロックに対してアドレス処理順に符号化処理および復号化処理を行い(ステップS304)、復号化されたマクロブロック(再構成画像)に対してデブロッキングフィルタ処理を行う(ステップS306)。つまり、画像符号化装置200は、ステップS304の符号化処理および復号化処理とステップS306のデブロッキングフィルタ処理とをパイプライン処理により行い、これらの処理を符号化対象ピクチャの全てのマクロブロックに対して繰り返し行う(ループ2)。
一方、符号化条件がアドレス処理順を示していない、つまり不定順を示していると判別したときには(ステップS302のN)、画像符号化装置200は、所定の順序で符号化対象の各マクロブロックに対して符号化処理および復号化処理を行い(ステップS308)、復号化されたマクロブロック(再構成画像)をフレームメモリ202に逐次格納する(ステップ3310)。このように、画像符号化装置200は、ステップS308の符号化処理および復号化処理とステップS310の格納処理とを符号化対象ピクチャの全てのマクロブロックに対して繰り返し行う(ループ3)。そして、画像符号化装置200は、フレームメモリ202に蓄積された1ピクチャ分の各再構成画像に対して、ピクチャの左上端の再構成画像からアドレスの小さい順に、デブロッキングフィルタ処理を行う(ステップS312)。
画像符号化装置200は、このようなステップS300〜S312までの処理を、符号化信号の示す全てのピクチャに対して行う(ループ1)。
(変形例1)
ここで、上記実施の形態2における第1の変形例を説明する。
上記実施の形態の画像符号化装置200は、符号化条件のみに基づいて、符号化処理と復号化処理とデブロッキングフィルタ処理とをパイプライン処理により行うか否かを判別したが、本変形例の画像符号化装置は符号化条件とフィルタコード(disable_deblocking_filter_idc)とに基づいて判別する。
本変形例に係る画像符号化装置は、符号化条件がアドレス処理順を示してる場合には、上記実施の形態と同様の処理を行うが、符号化条件が不定順を示している場合には、フィルタコードの値に応じた処理を行う。
具体的に、本変形例に係る画像符号化装置は、フィルタコードが0の場合には、上記実施の形態において符号化条件が不定順を示している場合と同様の処理を行う。つまり、画像符号化装置の制御部は、スイッチ203を制御することによりフレームメモリ202を加算部220に接続させて、1ピクチャ分の再構成画像をフレームメモリ202に蓄積させる。そして制御部は、スイッチ204を制御することによりフレームメモリ202をデブロッキングフィルタ処理部222に接続させる。その結果、デブロッキングフィルタ処理部222はフレームメモリ202に蓄積された再構成画像に対してデブロッキングフィルタ処理を行う。これにより、フィルタコードが0の場合には、全てのマクロブロック(再構成画像)のエッジに対してデブロッキングフィルタ処理が施される。
フィルタコードが1の場合には、本変形例に係る画像符号化装置の制御部は、スイッチ203とスイッチ204とを制御することにより、加算部220とデブロッキングフィルタ処理部222とを直接接続させる。そして、制御部は、デブロッキングフィルタ処理部222に対してデブロッキングフィルタ処理を禁止させる。その結果、加算部220から出力された再構成画像は、スイッチ203およびスイッチ204を介してデブロッキングフィルタ処理部222を通過し、フレームメモリ223に格納される。これにより、フィルタコードが1の場合には、全てのマクロブロック(再構成画像)のエンジに対してデブロッキングフィルタ処理が施されないこととなる。
フィルタコードが2の場合には、本変形例に係る画像符号化装置の制御部は、上述と同様、スイッチ203とスイッチ204とを制御することにより、加算部220とデブロッキングフィルタ処理部222とを直接接続させる。そして、制御部は、スライス境界に対するデブロッキングフィルタ処理を、デブロッキングフィルタ処理部222に禁止させる。その結果、デブロッキングフィルタ処理部222は、加算部220から出力されたスライス境界にある再構成画像(マクロブロック)のうち、スライス境界を除くエッジ(例えば、再構成画像の内部にある、4×4画素からなるブロックのエッジ)にデブロッキングフィルタ処理を施す。また、デブロッキングフィルタ処理部222は、加算部220から出力されたスライス境界にない再構成画像の全てのエッジ、つまり図1に示す各垂直エッジおよび水平エッジに対してデブロッキングフィルタ処理を施す。
これにより、フィルタコードが2の場合には、各マクロブロック(再構成画像)に対して、符号化処理と復号化処理とデブロッキングフィルタ処理とがパイプライン処理により施される。
図14は、本変形例に係る画像符号化装置の処理の流れを示すフローチャートである。
本変形例に係る画像符号化装置は、まず、符号化条件を設定する(ステップS400)。そして、画像符号化装置は、符号化対象ピクチャに対して、符号化条件がアドレス処理順を示しているか否かを判別する(ステップS402)。アドレス処理順を示していると判別したときには(ステップS402のY)、画像符号化装置は、符号化対象の各マクロブロックに対してアドレス処理順に符号化処理および復号化処理を行い(ステップS404)、復号化されたマクロブロック(再構成画像)に対してデブロッキングフィルタ処理を行う(ステップS406)。つまり、画像符号化装置は、ステップS404の符号化処理および復号化処理とステップS406のデブロッキングフィルタ処理とをパイプライン処理により行い、これらの処理を符号化対象ピクチャの全てのマクロブロックに対して繰り返し行う(ループ2)。
一方、符号化条件がアドレス処理順を示していない、つまり不定順を示していると判別したときには(ステップS402のN)、画像符号化装置は、さらに、スライスごとにフィルタコードの値が0であるか、1であるか、2であるかを判別する(ステップS408)。ここで、フィルタコードの値が0であると判別したときには、画像符号化装置は、所定の順序で符号化対象の各マクロブロックに対して符号化処理および復号化処理を行い(ステップS410)、復号化されたマクロブロック(再構成画像)をフレームメモリ202に逐次格納する(ステップS412)。このように、画像符号化装置は、ステップS410の符号化処理および復号化処理とステップS412の格納処理とをスライス内の全てのマクロブロックに対して繰り返し行う(ループ4)。
また、ステップS408でフィルタコードの値が1であると判別したときには、画像符号化装置は、所定の順序で符号化対象の各マクロブロックに対して符号化処理および復号化処理を行う(ステップS416)。このように、画像符号化装置は、ステップS416の符号化処理および復号化処理をスライス内の全てのマクロブロックに対して繰り返し行う(ループ5)。
また、ステップS408でフィルタコードの値が2であると判別したときには、画像符号化装置は、符号化対象のマクロブロックに対して符号化処理および復号化処理を行い(ステップS418)、そのマクロブロックがスライス境界にあるブロックか否かを判別する(ステップS420)。そして、画像符号化装置は、スライス境界にあるブロックであると判別したときには(ステップS420のY)、復号化されたマクロブロック(再構成画像)のスライス境界を除くエッジに対してデブロッキングフィルタ処理を施し(ステップS421)、スライス境界にあるブロックでないと判別したときには(ステップS420のN)、復号化されたマクロブロック(再構成画像)の全てのエッジに対してデブロッキングフィルタ処理を施す(ステップS422)。つまり、画像符号化装置は、ステップS418の符号化処理および復号化処理とステップS421,S422のデブロッキングフィルタ処理とをパイプライン処理により行う。このように、画像符号化装置は、ステップS418〜S422の処理を、スライス内の全てのマクロブロックに対して繰り返し行う(ループ6)。
画像符号化装置は、このようなステップS408〜S422までの処理を、符号化対象ピクチャに含まれる全てのスライスに対して行い(ループ3)、ステップS412でフレームメモリ202に格納された各再構成画像に対してアドレスの小さい順にデブロッキングフィルタ処理を行なう(ステップS424)。そして、画像符号化装置は、このようなステップS400〜S424までの処理を、入力画像信号の示す全てのピクチャに対して行う(ループ1)。
なお、上述では画像復号化装置は、スライスごとにフィルタコードの値を判別したが、ピクチャごとにフィルタコードの値を判別してもよい。
図15は、ピクチャごとにフィルタコードの値を判別する画像符号化装置の処理の流れを示すフローチャートである。
画像符号化装置は、まず、符号化条件を設定する(ステップS450)。そして、画像符号化装置は、符号化対象ピクチャに対して、符号化条件がアドレス処理順を示しているか否かを判別する(ステップS452)。アドレス処理順を示していると判別したときには(ステップS452のY)、画像符号化装置は、符号化対象の各マクロブロックに対してアドレス処理順に符号化処理および復号化処理を行い(ステップS454)、復号化されたマクロブロック(再構成画像)に対してデブロッキングフィルタ処理を行う(ステップS456)。つまり、画像符号化装置は、ステップS454の符号化処理および復号化処理とステップS456のデブロッキングフィルタ処理とをパイプライン処理により行い、これらの処理を符号化対象ピクチャの全てのマクロブロックに対して繰り返し行う(ループ2)。
一方、符号化条件がアドレス処理順を示していない、つまり不定順を示していると判別したときには(ステップS452のN)、画像符号化装置は、さらに、フィルタコードの値が0であるか、1であるか、2であるかを判別する(ステップS458)。ここで、フィルタコードの値が0であると判別したときには、画像符号化装置は、所定の順序で符号化対象の各マクロブロックに対して符号化処理および復号化処理を行い(ステップS460)、復号化されたマクロブロック(再構成画像)をフレームメモリ202に逐次格納する(ステップS462)。このように、画像符号化装置は、ステップS460の符号化処理および復号化処理とステップS462の格納処理とを符号化対象ピクチャの全てのマクロブロックに対して繰り返し行う(ループ3)。そして、画像符号化装置は、フレームメモリ202に蓄積された1ピクチャ分の各再構成画像に対して、ピクチャの左上端の再構成画像からアドレスの小さい順に、デブロッキングフィルタ処理を行う(ステップS464)。
また、ステップS458でフィルタコードの値が1であると判別したときには、画像符号化装置は、所定の順序で符号化対象の各マクロブロックに対して符号化処理および復号化処理を行う(ステップS466)。このように、画像符号化装置は、ステップS466の符号化処理および復号化処理を符号化対象ピクチャの全てのマクロブロックに対して繰り返し行う(ループ4)。
また、ステップS458でフィルタコードの値が2であると判別したときには、画像符号化装置は、符号化対象のマクロブロックに対して符号化処理および復号化処理を行い(ステップS418)、そのマクロブロックがスライス境界にあるブロックか否かを判別する(ステップS470)。そして、画像符号化装置は、スライス境界にあるブロックであると判別したときには(ステップS470のY)、復号化されたマクロブロック(再構成画像)のスライス境界を除くエッジに対してデブロッキングフィルタ処理を施し(ステップS471)、スライス境界にあるブロックでないと判別したときには(ステップS470のN)、復号化されたマクロブロック(再構成画像)の全てのエッジに対してデブロッキングフィルタ処理を施す(ステップS472)。つまり、画像符号化装置は、ステップS468の符号化処理および復号化処理とステップS471,S472のデブロッキングフィルタ処理とをパイプライン処理により行う。このように、画像符号化装置は、ステップS468〜S472の処理を、符号化対象ピクチャの全てのマクロブロックに対して繰り返し行う(ループ5)。
画像符号化装置は、このようなステップS450〜S472までの処理を、入力画像信号の示す全てのピクチャに対して行う(ループ1)。
このように、画像符号化装置は、フィルタコードがピクチャ単位で固定され、スライス単位で変更されないことが明らかな場合には、スライスごとにフィルタコードの値を判別せずに処理を行なう。
(変形例2)
ここで、上記実施の形態2における第2の変形例を説明する。
上記実施の形態の画像符号化装置200は、図12のステップS302に示すように、符号化対象ピクチャごとにアドレス処理順であるか否かを判別したが、本変形例の画像符号化装置は符号化対象ピクチャごとに判別せずに、全ての符号化対象ピクチャに対して1度だけアドレス処理順であるか否かを判別する。
図16は、本変形例に係る画像符号化装置の処理の流れを示すフローチャートである。
画像符号化装置は、まず、符号化条件を設定する(ステップS500)。そして、画像符号化装置は、符号化条件がアドレス処理順を示しているか否かを判別する(ステップS502)。アドレス処理順を示していると判別したときには(ステップS502のY)、画像符号化装置は、符号化対象ピクチャに含まれる各マクロブロックに対してアドレス処理順に符号化処理および復号化処理を行い(ステップS504)、復号化されたマクロブロック(再構成画像)に対してデブロッキングフィルタ処理を行う(ステップS506)。画像符号化装置は、このようなステップS504の処理とステップS506の処理とを符号化対象ピクチャの全てのマクロブロックに対して繰り返し行う(ループ2)。さらに、画像符号化装置は、これらの処理を入力画像信号の示す全てのピクチャに対して繰り返し行う(ループ1)。
一方、符号化条件がアドレス処理順を示していない、つまり不定順を示していると判別したときには(ステップS502のN)、画像符号化装置は、所定の順序で符号化対象の各マクロブロックに対して符号化処理および復号化処理を行い(ステップS508)、復号化されたマクロブロック(再構成画像)をフレームメモリ202に逐次格納する(ステップS510)。このように、画像符号化装置は、ステップS508の処理とステップS510の処理とを符号化対象ピクチャの全てのマクロブロックに対して繰り返し行う(ループ4)。そして、画像符号化装置は、フレームメモリ202に蓄積された1ピクチャ分の各再構成画像に対して、ピクチャの左上端の再構成画像からアドレスの小さい順に、デブロッキングフィルタ処理を行う(ステップS512)。画像符号化装置は、このようなステップS508〜S512までの処理を、入力画像信号の示す全てのピクチャに対して繰り返し行う(ループ3)。
なお、実施の形態2およびその変形例の画像符号化装置は、実施の形態1およびその変形例の画像復号化装置の機能を含むものであるから、実施の形態1およびその変形例において説明した各事項は、全て実施の形態2およびその変形例にも適合する。
例えば、実施の形態2およびその変形例では、デブロッキングフィルタ処理前の再構成画像を格納するフレームメモリ202と、デブロッキングフィルタ処理後の再構成画像を格納するフレームメモリ223とを設けたが、この2つのメモリを1つのフレームメモリで構成してもよい。
(実施の形態3)
さらに、上記実施の形態1および実施の形態2で示した画像復号化装置または画像符号化装置を実現するためのプログラムを、フレキシブルディスク等の記憶媒体に記録するようにすることにより、上記実施の形態1および実施の形態2で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
図17A〜図17Cは、上記実施の形態1および実施の形態2の画像復号化装置または画像符号化装置を実現するためのプログラムを格納したフレキシブルディスクを用いて、コンピュータシステムにより実施する場合の説明図である。
図17Bは、フレキシブルディスクのケース正面からみた外観、断面構造、及びフレキシブルディスクを示し、図17Aは、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスクFDはケースF内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックTrが形成され、各トラックは角度方向に16のセクタSeに分割されている。従って、上記プログラムを格納したフレキシブルディスクでは、上記フレキシブルディスクFD上に割り当てられた領域に、上記プログラムとしての画像復号化方法や画像符号化方法が記録されている。
また、図17Cは、フレキシブルディスクFDに上記プログラムの記録再生を行うための構成を示す。上記プログラムをフレキシブルディスクFDに記録する場合は、コンピュータシステムCsから上記プログラムとしての画像復号化方法または画像符号化方法をフレキシブルディスクドライブを介して書き込む。また、フレキシブルディスク内のプログラムにより上記画像復号化方法をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブによりプログラムをフレキシブルディスクから読み出し、コンピュータシステムに転送する。
なお、上記説明では、記録媒体としてフレキシブルディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ICカード、ROMカセット等、プログラムを記録できるものであれば同様に実施することができる。
(実施の形態4)
さらにここで、上記実施の形態で示した画像復号化装置や画像符号化装置の応用例とそれを用いたシステムを説明する。
図18は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示すブロック図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex107〜ex110が設置されている。
このコンテンツ供給システムex100は、例えば、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex107〜ex110を介して、コンピュータex111、PDA(personal digital assistant)ex112、カメラex113、携帯電話ex114、カメラ付きの携帯電話ex115などの各機器が接続される。
しかし、コンテンツ供給システムex100は図18のような組合せに限定されず、いずれかを組み合わせて接続するようにしてもよい。また、固定無線局である基地局ex107〜ex110を介さずに、各機器が電話網ex104に直接接続されてもよい。
カメラex113はデジタルビデオカメラ等の動画撮影が可能な機器である。また、携帯電話は、PDC(Personal Digital Communications)方式、CDMA(Code Division Multiple Access)方式、W−CDMA(Wideband−Code Division Multiple Access)方式、若しくはGSM(Global System for Mobile Communications)方式の携帯電話機、またはPHS(Personal Handyphone System)等であり、いずれでも構わない。
また、ストリーミングサーバex103は、カメラex113から基地局ex109、電話網ex104を通じて接続されており、カメラex113を用いてユーザが送信する符号化処理されたデータに基づいたライブ配信等が可能になる。撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするサーバ等で行ってもよい。また、カメラex116で撮影した動画データはコンピュータex111を介してストリーミングサーバex103に送信されてもよい。カメラex116はデジタルカメラ等の静止画、動画が撮影可能な機器である。この場合、動画データの符号化はカメラex116で行ってもコンピュータex111で行ってもどちらでもよい。また、符号化処理はコンピュータex111やカメラex116が有するLSIex117において処理することになる。なお、画像符号化・復号化用のソフトウェアをコンピュータex111等で読み取り可能な記録媒体である何らかの蓄積メディア(CD−ROM、フレキシブルディスク、ハードディスクなど)に組み込んでもよい。さらに、カメラ付きの携帯電話ex115で動画データを送信してもよい。このときの動画データは携帯電話ex115が有するLSIで符号化処理されたデータである。
このコンテンツ供給システムex100では、ユーザがカメラex113、カメラex116等で撮影しているコンテンツ(例えば、音楽ライブを撮影した映像等)を上記実施の形態同様に符号化処理してストリーミングサーバex103に送信する一方で、ストリーミングサーバex103は要求のあったクライアントに対して上記コンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114等がある。このようにすることでコンテンツ供給システムex100は、符号化されたデータをクライアントにおいて受信して再生することができ、さらにクライアントにおいてリアルタイムで受信して復号化し、再生することにより、個人放送をも実現可能になるシステムである。
このシステムを構成する各機器の符号化、復号化には上記各実施の形態で示した画像符号化装置あるいは画像復号化装置を用いるようにすればよい。
その一例として携帯電話について説明する。
図19は、上記実施の形態で説明した画像符号化装置と画像復号化装置を用いた携帯電話ex115を示す図である。携帯電話ex115は、基地局ex110との間で電波を送受信するためのアンテナex201、CCDカメラ等の映像、静止画を撮ることが可能なカメラ部ex203、カメラ部ex203で撮影した映像、アンテナex201で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex202、操作キーex204群から構成される本体部、音声出力をするためのスピーカ等の音声出力部ex208、音声入力をするためのマイク等の音声入力部ex205、撮影した動画もしくは静止画のデータ、受信したメールのデータ、動画のデータもしくは静止画のデータ等、符号化されたデータまたは復号化されたデータを保存するための記録メディアex207、携帯電話ex115に記録メディアex207を装着可能とするためのスロット部ex206を有している。記録メディアex207はSDカード等のプラスチックケース内に電気的に書換えや消去が可能な不揮発性メモリであるEEPROM(Electrically Erasable and Programmable Read Only Memory)の一種であるフラッシュメモリ素子を格納したものである。
さらに、携帯電話ex115について図20を用いて説明する。携帯電話ex115は表示部ex202及び操作キーex204を備えた本体部の各部を統括的に制御するようになされた主制御部ex311に対して、電源回路部ex310、操作入力制御部ex304、画像符号化部ex312、カメラインターフェース部ex303、LCD(Liquid Crystal Display)の制御部ex302、画像復号化部ex309、多重分離部ex308、記録再生部ex307、変復調回路部ex306及び音声処理部ex305が同期バスex313を介して互いに接続されている。
電源回路部ex310は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりカメラ付ディジタル携帯電話ex115を動作可能な状態に起動する。
携帯電話ex115は、CPU、ROM及びRAM等でなる主制御部ex311の制御に基づいて、音声通話モード時に音声入力部ex205で集音した音声信号を音声処理部ex305によってディジタル音声データに変換し、これを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して送信する。また携帯電話機ex115は、音声通話モード時にアンテナex201で受信した受信データを増幅して周波数変換処理及びアナログディジタル変換処理を施し、変復調回路部ex306でスペクトラム逆拡散処理し、音声処理部ex305によってアナログ音声データに変換した後、これを音声出力部ex208を介して出力する。
さらに、データ通信モード時に電子メールを送信する場合、本体部の操作キーex204の操作によって入力された電子メールのテキストデータは操作入力制御部ex304を介して主制御部ex311に送出される。主制御部ex311は、テキストデータを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して基地局ex110へ送信する。
データ通信モード時に画像データを送信する場合、カメラ部ex203で撮像された画像データをカメラインターフェース部ex303を介して画像符号化部ex312に供給する。また、画像データを送信しない場合には、カメラ部ex203で撮像した画像データをカメラインターフェース部ex303及びLCD制御部ex302を介して表示部ex202に直接表示することも可能である。
画像符号化部ex312は、本願発明で説明した画像符号化装置を備えた構成であり、カメラ部ex203から供給された画像データを上記実施の形態で示した画像符号化装置に用いた符号化方法によって圧縮符号化することにより符号化画像データに変換し、これを多重分離部ex308に送出する。また、このとき同時に携帯電話機ex115は、カメラ部ex203で撮像中に音声入力部ex205で集音した音声を音声処理部ex305を介してディジタルの音声データとして多重分離部ex308に送出する。
多重分離部ex308は、画像符号化部ex312から供給された符号化画像データと音声処理部ex305から供給された音声データとを所定の方式で多重化し、その結果得られる多重化データを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して送信する。
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、アンテナex201を介して基地局ex110から受信した受信データを変復調回路部ex306でスペクトラム逆拡散処理し、その結果得られる多重化データを多重分離部ex308に送出する。
また、アンテナex201を介して受信された多重化データを復号化するには、多重分離部ex308は、多重化データを分離することにより画像データのビットストリームと音声データのビットストリームとに分け、同期バスex313を介して当該符号化画像データを画像復号化部ex309に供給すると共に当該音声データを音声処理部ex305に供給する。
次に、画像復号化部ex309は、本願発明で説明した画像復号化装置を備えた構成であり、画像データのビットストリームを上記実施の形態で示した符号化方法に対応した復号化方法で復号化することにより再生動画像データを生成し、これをLCD制御部ex302を介して表示部ex202に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる動画データが表示される。このとき同時に音声処理部ex305は、音声データをアナログ音声データに変換した後、これを音声出力部ex208に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まる音声データが再生される。
なお、上記システムの例に限られず、最近は衛星、地上波によるディジタル放送が話題となっており、図21に示すようにディジタル放送用システムにも上記実施の形態の少なくとも画像符号化装置または画像復号化装置のいずれかを組み込むことができる。具体的には、放送局ex409では映像情報のビットストリームが電波を介して通信または放送衛星ex410に伝送される。これを受けた放送衛星ex410は、放送用の電波を発信し、この電波を衛星放送受信設備をもつ家庭のアンテナex406で受信し、テレビ(受信機)ex401またはセットトップボックス(STB)ex407などの装置によりビットストリームを復号化してこれを再生する。また、記録媒体であるCDやDVD等の蓄積メディアex402に記録したビットストリームを読み取り、復号化する再生装置ex403にも上記実施の形態で示した画像復号化装置を実装することが可能である。この場合、再生された映像信号はモニタex404に表示される。また、ケーブルテレビ用のケーブルex405または衛星/地上波放送のアンテナex406に接続されたセットトップボックスex407内に画像復号化装置を実装し、これをテレビのモニタex408で再生する構成も考えられる。このときセットトップボックスではなく、テレビ内に画像復号化装置を組み込んでも良い。また、アンテナex411を有する車ex412で衛星ex410からまたは基地局ex107等から信号を受信し、車ex412が有するカーナビゲーションex413等の表示装置に動画を再生することも可能である。
更に、画像信号を上記実施の形態で示した画像符号化装置で符号化し、記録媒体に記録することもできる。具体例としては、DVDディスクex421に画像信号を記録するDVDレコーダや、ハードディスクに記録するディスクレコーダなどのレコーダex420がある。更にSDカードex422に記録することもできる。レコーダex420が上記実施の形態で示した画像復号化装置を備えていれば、DVDディスクex421やSDカードex422に記録した画像信号を再生し、モニタex408で表示することができる。
なお、カーナビゲーションex413の構成は例えば図20に示す構成のうち、カメラ部ex203とカメラインターフェース部ex303、画像符号化部ex312を除いた構成が考えられ、同様なことがコンピュータex111やテレビ(受信機)ex401等でも考えられる。
また、上記携帯電話ex114等の端末は、符号化器・復号化器を両方持つ送受信型の端末の他に、符号化器のみの送信端末、復号化器のみの受信端末の3通りの実装形式が考えられる。
このように、上記実施の形態で示した画像符号化装置あるいは画像復号化装置を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記実施の形態で説明した効果を得ることができる。
また、本発明はかかる上記実施形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
なお、ブロック図(図8および図12)の各機能ブロックは典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されても良いし、一部又は全てを含むように1チップ化されても良い。(例えばメモリ以外の機能ブロックが1チップ化されていても良い。)
ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
また、各機能ブロックのうち、符号化または復号化の対象となるデータを格納する手段だけ1チップ化せずに別構成としても良い。
本発明の画像復号化装置および画像符号化装置は、各ブロックの復号化の順序を変更する場合であってもブロック歪みを除去することができるとともに処理速度の低下を抑えることができるという効果を奏し、例えば携帯電話、DVD(Digital Versatile Disk)装置、およびパーソナルコンピュータ等に適用することができる。
本発明は、符号化されたピクチャをブロック単位で復号化する画像復号化装置に関し、特に、復号化されたブロックに対してフィルタ処理を行う画像復号化装置に関する。
動画像の圧縮技術において、標準規格としては、ITU(国際電気通信連合 電気通信標準化部門)のH.261、H.263、H.264、ISO(国際標準化機構)のMPEG(Moving Picture Experts Group)−1、MPEG−2、MPEG−4などがある。
これらの動画像圧縮方式では、ピクチャをブロックに分割し、ブロック毎に符号化を行う。ブロック毎に符号化を行うことによって圧縮効率を高めているが、復号化されたピクチャはブロック歪を生じ易くなる。H.264ではブロックに関連するノイズを除去するために、復号化や画面間予測で用いられる参照ピクチャにおいて、ブロック単位でノイズを除去するデブロッキングフィルタ処理が採用されている。
図1は、デブロッキングフィルタ処理が施される部位を説明するための説明図である。
H.264のデブロックフィルタ処理は、16×16画素からなるマクロブロックにおいて、図1に示すように、4×4画素からなるブロックのエッジに対して施される。図1の(a)の太実線に示すように、輝度における垂直方向の各エッジ(垂直エッジ)に対してデブロッキングフィルタ処理が施されるとともに、図1の(a)の太点線に示すように、色差における一部の垂直エッジに対してデブロッキングフィルタが施される。さらに、図1の(b)の太実線に示すように、輝度における水平方向の各エッジ(水平エッジ)に対してデブロッキングフィルタ処理が施されるとともに、図1の(b)の太点線に示すように、色差における一部の水平エッジに対してデブロッキングフィルタが施される。
また、このデブロッキングフィルタ処理では、そのエッジを挟んだ8画素が用いられる。さらに、デブロッキングフィルタ処理を施すかどうかは、フィルタコード(disable_deblocking_filter_idc)の値によって決まる。フィルタコードが0の場合は、マクロブロックの上記各エッジに対してデブロッキングフィルタ処理を施す。一方、フィルタコードが1の場合は、マクロブロックの何れのエッジに対してもデブロッキングフィルタ処理を施さない。また、フィルタコードが2の場合は、スライス境界にないマクロブロックの上記各エッジに対してデブロッキングフィルタ処理を施す。
デブロッキングフィルタ処理は、それぞれのエッジにおけるフィルタ強度の算出と、フィルタ処理の有無の判定に用いられる閾値α、βの算出と、フィルタ処理とに分けられる。
図2は、フィルタ強度の算出、閾値の算出、およびフィルタ処理を説明するための説明図である。
それぞれのエッジにおけるフィルタ強度は、例えば図2に示すように、画素p0を含むブロックの情報と、画素q0を含むブロックの情報とを用いて算出される。また、それぞれのエッジにおいてフィルタ処理の有無の判定に用いられる閾値α、βは、画素p0を含むブロックの量子化係数と、画素q0を含むブロックの量子化係数とを用いて算出される。フィルタ処理は、4×4画素からなるブロックのエッジに対して、そのエッジを挟んだ8画素を用いて施される。このようなフィルタ処理は、図1に示すように、マクロブロック単位に垂直エッジ、水平エッジの順で施される。このとき、マクロブロックのエッジのフィルタ処理では、処理対象のマクロブロックの左および上にあるマクロブロックであって、既にデブロッキングフィルタ処理が施されたマクロブロックの画素が用いられる。そのため、H.264ではデブロッキングフィルタ処理は、アドレスの小さいマクロブロックから順に施される。ここで、アドレスとは、ピクチャの左上端から水平走査順に各マクロブロックに割り当てられた番号である。
ところで、上記H.264では、スライスグループが規定されており、このスライスグループは、ピクチャをいくつかの領域に分けてその中でスライスを割り当てることにより構成される。スライスとは、スライスグループ内でオーバラップせずに、アドレスの小さい順に割り当てられた、長さ1個以上のマクロブロックのグループである。
図3A、図3Bおよび図3Cは、スライスグループの説明図である。
図中、ブロックはマクロブロックを表し、その中の番号はそのマクロブロックが属するスライスグループのIDである。例えば、マクロブロックMBの中に示す数字「1」は、そのマクロブロックMBが属するスライスグループのIDを示している。スライスグループのタイプは7通り規定されており、slice_group_map_typeでスライスグループのタイプが示される。図3A、図3Bおよび図3Cはその中の3つのタイプを示す。
図3Aは、slice_group_map_typeが0のスライスグループを示し、水平走査順に連続するマクロブロックがスライスグループとして構成されている。図3Bは、slice_group_map_typeが1のスライスグループを示し、このスライスグループは、同一スライスグループに属するマクロブロックが隣り合わないように構成されている。図3Cは、slice_group_map_typeが2のスライスグループを示し、このスライスグループは、各スライスグループを矩形領域に区切り、それらのスライスグループを上から貼り付けたように構成されている。
スライスグループのタイプは、スライスグループの分け方を規定していて、エンコーダはその規定に基づいてスライスグループを割り当てる。またスライスグループの数は、プロファイルごとに規定されていて、ベースラインプロファイルでは1〜7個、メインプロファイルでは1個、イクステンディッドプロファイルでは1〜7個となっている(例えば、非特許文献1参照。)。
上述のようなスライスグループは、マクロブロックを含んで構成されるスライスに分割される。
図3Dは、スライスグループに含まれるスライスを示す図である。
例えば図3Dに示すように、スライスグループSGは、スライスS1、スライスS2およびスライスS3を含んで構成されている。スライスS1はアドレス0〜19の各マクロブロックから構成され、スライスS2はアドレス20〜44の各マクロブロックから構成され、スライスS3は、アドレス45〜64の各マクロブロックから構成されている。
従来の画像復号化装置では、スライスの先頭マクロブロックのアドレスの小さい順に、各スライスを復号化する。例えば、画像復号化装置は、図3Dに示すように、まず、アドレス0の先頭マクロブロックを有するスライスS1を復号化し、次にアドレス20の先頭マクロブロックを有するスライスS2を復号化し、その次にアドレス45の先頭マクロブロックを有するスライスS3を復号化する。また、画像復号化装置は、1つのスライスを復号化するときには、スライスの先頭マクロブロック(図3D中の斜線で示すマクロブロック)からアドレスの小さい順に各マクロブロックに対して復号化を行う。なお、スライスの先頭マクロブロックのアドレスの小さい順に各スライスを復号化するような復号化の順序、つまり復号化対象のマクロブロックを復号化するときにはその復号化対象マクロブロックの左および上にあるマクロブロック(復号化対象マクロブロックよりも小さいアドレスを有するマクロブロック)が既に復号化されているような復号化の順序を、以下、アドレス処理順という。
そして、画像復号化装置は、復号化されたマクロブロックに対してデブロッキングフィルタ処理を施す。ここで、各スライスおよびマクロブロックの復号化の順序は上述のアドレス処理順になっているため、画像復号化装置は、マクロブロックの復号化処理とデブロッキングフィルタ処理とをパイライン処理により行う。
図4は、パイプライン処理を説明するための説明図である。
一般的に、特定の処理に特化した専用ハードウェアでは、処理内容を分担してパイプラインを構成して、並列処理を行うことが多い。パイプライン処理とは、別々の作業を順次同時に行い、処理を行うユニットを無駄に待たせることなく、次々と実行することで高速化を図る手法である。
パイプライン処理は、図4に示すように、前処理と後処理とから構成される。例えば、データ1、データ2、データ3の順で各データが処理される。まず、データ1に対して前処理を施し、次に、データ1に対する後処理と、データ2に対する前処理とを同時に施す。次に、データ2に対する後処理と、データ3に対する前処理とを同時に施す。このような構成にすることによって、データ1、データ2およびデータ3に対して前処理を行った後に、それらのデータに対して後処理を行う場合と比べて処理時間を短くすることができ、高速化を図ることができる。なお、データ1の後処理において、データ2の前処理の結果を用いる場合、データ1の後処理とデータ2の前処理を並列に処理できなく、パイプラインにならないのは言うまでもない。
ここで、上記従来の画像復号化装置は、上述の前処理をマクロブロックに対する復号化処理として行い、上述の後処理をマクロブロックに対するデブロッキングフィルタ処理として行う。
このように従来の画像復号化装置では、各スライスおよびマクロブロックの復号化の順序を常にアドレス処理順にしているため、マクロブロックの復号化処理とデブロッキングフィルタ処理とをパイライン処理により行い、処理速度の高速化を図っている。
H.264|MPEG-4AVC規格書
ところが、各スライスの復号化の順序をアドレス処理順にしない場合がある。
上記H.264では、スライスの復号順序がアドレス復号順になるとは限らないことを示すarbitrary slice orderが規定されている。このarbitrary slice orderの使用は、メインプロファイルでは禁止され、ベースラインプロファイルとイクステンディッドプロファイルでは許可されている。arbitrary slice orderが許可されている場合、スライスの先頭マクロブロックのアドレスの小さい順に各スライスを復号化するとは限らず、マクロブロックの先頭アドレスが他のスライスより大きいスライスからデコードする可能性がある。
このような場合には、スライス境界にあるマクロブロックに対してデブロッキングフィルタ処理を施そうとしても、その処理対象のマクロブロックの左および上にあるマクロブロックに対して未だ復号化処理およびデブロッキングフィルタ処理が施されていないことがある。
したがって、arbitrary slice orderが許可されることを想定すると、画像復号化装置は、ピクチャに含まれる全てのスライスをマクロブロックごとに復号化し、復号化された1枚のピクチャが構成された後に、各マクロブロックに対してデブロッキングフィルタ処理を施す必要がある。つまり、arbitrary slice orderが許可されるときには、画像復号化装置は、復号化処理とデブロッキングフィルタ処理とをパイプライン処理により行うことができない。
図5は、上記H.264のarbitrary slice orderに対応した画像復号化装置の構成を示すブロック図である。
この画像復号化装置800は、符号化信号を復号化するものであって、可変長復号化部801と、逆量子化部802と、逆直交変換部803と、メモリ804と、面内予測部805と、加算部806と、スイッチ807と、フレームメモリ808と、デブロッキングフィルタ処理部809と、フレームメモリ810と、動き補償部811とを備えている。
このように構成された画像復号化装置800においては、Iピクチャの符号化信号を復号化するイントラモード時には、符号化信号は可変長復号化部801によって量子化値に復号化され、逆量子化部802によって周波数成分に復号化され、逆直交変換部803によって予測誤差に復号化される。また、メモリ804に記憶されている左マクロブロック、上マクロブロック、左上マクロブロック、および右上マクロブロックの画素を用いて、面内予測部805で予測画像が生成され、加算部806によって予測誤差と予測画像が加算される。その結果、復号化されたマクロブロックである再構成画像が生成される。ここで、イントラモード時には、スイッチ807は面内予測部805と加算部806をつないでいる。再構成画像は、メモリ804に格納されると共にフレームメモリ808に格納される。そして、ピクチャに含まれる全てのマクロブロックの再構成画像がフレームメモリ808に格納された後に、デブロッキングフィルタ処理部809は、ピクチャの左上端マクロブロックの再構成画像からアドレス順に、各再構成画像に対してブロック歪を除去するデブロッキングフィルタ処理を施して、処理済みの再構成画像をフレームメモリ810に格納する。フレームメモリ810に格納されたデブロッキングフィルタ処理を施されたピクチャは、復号画像信号としてモニタ等に出力される。
またPピクチャ及びBピクチャの符号化信号を復号化するインターモード時には、符号化信号は可変長復号化部801によって量子化値に復号化され、逆量子化部802によって周波数成分に復号化され、逆直交変換部803によって動き補償誤差に復号化される。一方、動き補償部811によって動き補償画像が生成され、加算部806によって動き補償誤差と動き補償画像が加算される。その結果、復号化されたマクロブロックである再構成画像が生成される。ここで、インターモード時には、スイッチ807は、動き補償部811と加算部806をつないでいる。再構成画像は、メモリ804に格納されると共にフレームメモリ808に格納される。そして、ピクチャに含まれる全てのマクロブロックの再構成画像がフレームメモリ808に格納された後に、デブロッキングフィルタ処理部809は、ピクチャの左上端マクロブロックの再構成画像からアドレス順に、各再構成画像に対してブロック歪を除去するデブロッキングフィルタ処理を施して、処理済の再構成画像をフレームメモリ810に格納する。フレームメモリ810に格納されたデブロッキングフィルタ処理を施されたピクチャは、復号画像信号としてモニタ等に出力される。
ここで、デブロッキングフィルタ処理部809は、フィルタコードが1の場合には、再構成画像に対して何も処理をせずに、その再構成画像をフレームメモリ810に格納する。
図6は、画像復号化装置800の処理の流れを示すフローチャートである。
まず、画像復号化装置800は、符号化信号の示すピクチャの符号化された全てのマクロブロックに対して復号化処理を行うことにより、符号化された全てのマクロブロックをそれぞれ再構成画像に復号化する(ループ1のステップS822)。そして、全てのマクロブロックが再構成画像に復号化されたら、画像復号化装置800は、ループ1で復号化された全ての再構成画像に対してデブロッキングフィルタ処理を施す(ループ2のステップS824)。即ち、画像復号化装置800は、ピクチャに対してマクロブロック単位でデブロッキングフィルタ処理を施す。
図7は、H.264のarbitrary slice orderに対応した画像符号化装置の構成を示すブロック図である。
この画像符号化装置900は、入力画像信号を符号化するものであって、メモリ901と、面内予測部902と、減算部903と、スイッチ904と、直交変換部905と、量子化部906と、可変長符号化部907と、逆量子化部908と、逆直交変換部909と、加算部910と、フレームメモリ911と、デブロッキングフィルタ処理部912と、フレームメモリ913と、動き検出部914と、動き補償部915とを備えている。
このように構成された画像符号化装置900は、入力画像信号の示すピクチャをマクロブロックごとに処理する。入力画像信号の示すピクチャをIピクチャとして符号化するイントラモード(面内予測)の時には、メモリ901に記憶されている左マクロブロック、上マクロブロック、左上マクロブロック、および右上マクロブロックの再構成画像を用いて、面内予測部902で予測画像が生成され、減算部903によって入力画像信号のマクロブロックの画像と予測画像の差分である予測誤差が出力される。ここで、スイッチ904はイントラモード時には面内予測部902と減算部903をつないでいる。直交変換部905によって予測誤差が周波数成分に変換され、量子化部906による量子化によって量子化値に圧縮符号化される。その量子化値に対して可変長符号化部907によって符号化が施され、符号化された結果が出力となる。また、量子化部906による量子化値は、逆量子化部908で周波数成分に復号化され、逆直交変換部909によって予測誤差に復号化される。予測誤差は加算部910によって予測画像と加算される。その結果、復号化されたマクロブロックである再構成画像が生成されてメモリ901に格納される。また再構成画像はフレームメモリ911にも格納される。そして、ピクチャに含まれる全てのマクロブロックの再構成画像がフレームメモリ911に格納された後に、デブロッキングフィルタ処理部912は、ピクチャの左上端マクロブロックの再構成画像から順に、各再構成画像に対してブロック歪を除去するデブロッキングフィルタ処理を施して、処理済の再構成画像をフレームメモリ913に格納する。
また、入力画像信号の示すピクチャをPピクチャまたはBピクチャとして符号化するインターモード(面間予測)の時には、動き検出部914によって動きベクトルが生成され、動き補償部915によって予測画像が生成され、減算部903によって入力画像信号の示すマクロブロックの画像と予測画像の差分である動き補償誤差が算出される。ここで、インターモード時にはスイッチ904は、動き補償部915と減算部903をつないでいる。なお、動き検出部914は、フレームメモリ913に記憶されている復号画像から、符号化対象マクロブロックの画像と比較して最も差分が小さい画像領域をサーチする。即ち、動き検出部914は、Pピクチャの場合は、前方の参照ピクチャから上記画像領域をサーチし、Bピクチャの場合は、前方および後方の双方向の参照ピクチャから上記画像領域をサーチする。そして、動き検出部914は、サーチした画像領域と、入力画像信号の符号化対象マクロブロックとの間の動き量を動きベクトルとして算出して、その動きベクトルを出力する。さらに、動き検出部914は、参照されるピクチャが符号化対象ピクチャの前方にあること、後方にあること、または双方向にあることを示すマクロブロックの予測タイプを出力する。動き補償部915は、動き検出部914から出力された動きベクトルと予測タイプから予測画像を演算して出力する。
減算部903から出力された動き補償誤差は直交変換部905によって周波数成分に変換され、量子化部906による量子化によって量子化値に圧縮符号化される。その量子化値に対して可変長符号化部907によって符号化が施され、その符号化された結果が出力となる。また、量子化部906による量子化値は、逆量子化部908で周波数成分に復号化され、逆直交変換部909によって動き補償誤差に復号化され、加算部910によって予測画像と加算される。その結果、復号化されたマクロブロックである再構成画像が生成されてメモリ901に格納される。また再構成画像はフレームメモリ911にも格納される。そして、ピクチャに含まれる全てのマクロブロックの再構成画像がフレームメモリ911に格納された後に、デブロッキングフィルタ処理部912は、ピクチャの左上端マクロブロックの再構成画像から順に、各再構成画像に対してブロック歪を除去するデブロッキングフィルタ処理が施して、処理済の再構成画像をフレームメモリ913に格納する。
ここで、デブロッキングフィルタ処理部912は、フィルタコードが1の場合には、再構成画像に対して何も処理をせずに、その再構成画像をフレームメモリ913に格納する。
このように、図5に示す画像復号化装置800および図7に示す画像符号化装置900は、復号化の順序がアドレス処理順でないときにも、デブロッキングフィルタ処理を行うことができる。
しかしながら、図5に示す画像復号化装置800および図7に示す画像符号化装置900では、復号化の順序がアドレス処理順であるときにも、デブロッキングフィルタ処理を行う前に、ピクチャに含まれる全てのマクロブロックに対して復号化処理を施して、復号化されたマクロブロック(再構成画像)を全てメモリに蓄積するため、処理速度が遅くなるという問題がある。
例えば、再構成画像を格納するメモリが外部メモリであって、その外部メモリが画像復号化処理以外の他の処理にも使用される場合、上述のように全ての再構成画像を外部メモリに格納すると、その外部メモリに格納されるデータ量が多いため、復号化処理全体におけるデータ転送の割合が高くなってしまい、他の処理に割り当てられる時間が少なくなる。そのため、画像復号化装置と外部メモリとを接続するバスのバス幅が小さい場合、あるいは画像復号化装置の処理能力が低い場合では、全ての復号化処理が所定の時間(1フレームを処理するために使用可能な時間)を超える事態が発生し、円滑な画像復号化を行うことができない。
また、デブロッキングフィルタ処理を施す前に全ての再構成画像をメモリに格納するため、マクロブロック単位で、復号化処理(画像を再構成するまでの処理)とデブロッキングフィルタ処理とをパイプライン処理(並列処理)によって行うことができない。また、デブロッキングフィルタ処理されたピクチャを用いて、次のピクチャを符号化または復号化するため、ピクチャ単位においても、復号化処理(画像を再構成するまでの処理)と、デブロッキングフィルタ処理とをパイプライン処理(並列処理)によって行うことができない。
そこで、本発明は、かかる問題を解決するためになされたものであって、各ブロックの復号化の順序を変更する場合であってもブロック歪みを除去することができるとともに処理速度の低下を抑えた画像復号化装置および画像符号化装置を提供することを目的とする。
上記目的を達成するために、本発明に係る画像復号化装置は、符号化されたピクチャをブロック単位で復号化する画像復号化装置であって、符号化されたピクチャを構成する各ブロックを順次復号化する復号化手段と、前記復号化手段により復号化された各ブロックを記憶するための記憶手段と、前記復号化手段により復号化された各ブロックに対してフィルタ処理を施すフィルタ手段と、前記復号化手段でブロックが復号化されるごとに復号化された前記ブロックを前記記憶手段に記憶させるとともに、前記記憶手段に記憶されているブロックに対して前記フィルタ手段にフィルタ処理を実行させる第1の実行手段と、前記復号化手段でブロックが復号化されるごとに復号化された前記ブロックに対して前記フィルタ手段にフィルタ処理を実行させる第2の実行手段と、前記第1の実行手段による動作と前記第2の実行手段による動作とを切り換える切換制御手段とを備えることを特徴とする。具体的に、前記切換制御手段は、前記復号化手段により順次復号化される各ブロックの順序に応じて前記第1の実行手段による動作と前記第2の実行手段による動作とを切り換える。例えば、前記切換制御手段は、前記復号化手段により順次復号化される各ブロックの順序が、前記ピクチャの端にあるブロックから連続的に復号化されるような規定順序であるときには、前記第1の実行手段による動作を禁止させて前記第2の実行手段による動作を実行させ、前記復号化手段より順次復号化される各ブロックの順序が、前記規定順序でないときには、前記第2の実行手段による動作を禁止させて前記第1の実行手段による動作を実行させる。
これにより、復号化手段により順次復号化される各ブロックの順序が、ピクチャの端にあるブロックから連続的に復号化されるような規定順序、つまりアドレス復号順であるときには、例えばスイッチにより構成される第2の実行手段は、復号化手段によりブロックが復号化されるごとにそのブロックに対してフィルタ手段にフィルタ処理を実行させる。その結果、復号化処理とフィルタ処理とをパイプライン処理によって行うことができ、復号化された各ブロックを記憶手段に記憶させた後に、そのブロックに対してフィルタ処理を施す場合と比べて、処理速度を速くすることができる。また、この場合には、記憶手段にブロックを記憶させる必要がないので、記憶手段に対するデータ転送量を抑えて全体的な処理を円滑に行うことができる。また、復号化手段により順次復号化される各ブロックの順序が規定順序でない、つまりアドレス復号順でないときには、例えばスイッチにより構成される第1の実行手段は、復号化手段でブロックが復号化されるごとにそのブロックを記憶手段に記憶させるとともに、記憶手段に記憶されているブロックに対してフィルタ手段にフィルタ処理を実行させる。その結果、順次復号化される各ブロックの順序がアドレス復号順でないときにも、フィルタ手段はブロックに対してフィルタ処理を施すことができる。このように、本発明では、各ブロックの復号化の順序を変更する場合であってもブロック歪みを除去することができるとともに処理速度の低下を抑えることができる。
また、前記切換制御手段は、前記復号化手段によって単位時間内に復号化されるべきブロックの数に応じて前記第1の実行手段による動作と前記第2の実行手段による動作とを切り換えることを特徴としてもよい。例えば、前記切換制御手段は、前記復号化手段によって単位時間内に復号化されるべきブロックの数が所定値よりも多いときには、前記第1の実行手段による動作を禁止させて前記第2の実行手段による動作を実行させ、前記ブロックの数が前記所定値以下のときには、前記第2の実行手段による動作を禁止させて前記第1の実行手段による動作を実行させる。
メインプロファイルやベースラインプロファイルなどのプロファイルによって、単位時間内に復号化されるべきブロックの数が異なり、その数によって、復号化手段により順次復号化される各ブロックの順序が規定順序であるのか、その順序が規定順序でない可能性があるのかを判別することができる。そこで、本発明のように、そのブロックの数に応じて第1の実行手段による動作と前記第2の実行手段による動作とを切り換えることによっても、上述と同様の効果を得ることができる。つまり、各ブロックの復号化の順序を変更する場合であってもブロック歪みを除去することができるとともに処理速度の低下を抑えることができる。
また、前記切換制御手段は、前記復号化手段により順次復号化される各ブロックの順序が、前記ピクチャの端にあるブロックから連続的に復号化されるような規定順序でないときには、前記フィルタ処理の対象となる前記各ブロックの部位を示すフィルタ情報に基づいて、前記第1の実行手段による動作と前記第2の実行手段による動作とを切り換えることを特徴としてもよい。
これにより、例えば、順次復号化される各ブロックの順序が規定順序でなくても、フィルタ情報たるdisable_deblocking_filter_idcの値が2であるときには、つまり、フィルタ処理の対象からスライス境界が外されているときには、ピクチャに含まれる複数のスライスがどのような順序で復号化されても、切換制御手段が第2の実行手段による動作を実行させれば、復号化処理とフィルタ処理とをパイプライン処理によって行うことができ、処理速度を速くすることができる。
また、前記切換制御手段は、前記符号化されたピクチャを複数含んで構成される符号化信号の種別に応じて前記第1の実行手段による動作と前記第2の実行手段による動作とを切り換えることを特徴としてもよい。例えば、前記切換制御手段は、前記符号化信号の種別に基づいて、前記ピクチャの端にあるブロックから各ブロックが連続的に復号化されるべきであると判断したときには、前記第1の実行手段による動作を禁止させて前記第2の実行手段による動作を実行させ、前記判断が不可能なときには、前記第2の実行手段による動作を禁止させて前記第1の実行手段による動作を実行させる。
符号化信号の示すメインプロファイルやベースラインプロファイルなどのプロファイルによって、ピクチャの端にあるブロックから各ブロックが連続的に復号化されるべきであると判断できる場合がある。そこで、本発明のように、符号化信号の種別、つまりプロファイルに応じて、第1の実行手段による動作と第2の実行手段による動作とを切り換えることによっても、上述と同様の効果を得ることができる。つまり、各ブロックの復号化の順序を変更する場合であってもブロック歪みを除去することができるとともに処理速度の低下を抑えることができる。
また、前記切換制御手段は、前記ピクチャの端にあるブロックから各ブロックが連続的に復号化されるべきであるか否かを示す外部信号を取得し、前記外部信号が連続的に復号化されるべきであることを示すときには、前記第1の実行手段による動作を禁止させて前記第2の実行手段による動作を実行させ、前記外部信号が連続的に復号化されるべきでないことを示すときには、前記第2の実行手段による動作を禁止させて前記第1の実行手段による動作を実行させることを特徴としてもよい。
arbitrary slice orderが許可されているときには、ピクチャの端にあるスライスから各スライスが連続的に復号化されるとは限らない。そこで、本発明のように、arbitrary slice orderが許可されているか否かを示す外部信号に応じて第1の実行手段による動作と前記第2の実行手段による動作とを切り換えることによっても、上述と同様の効果を得ることができる。つまり、各ブロックの復号化の順序を変更する場合であってもブロック歪みを除去することができるとともに処理速度の低下を抑えることができる。
なお、本発明は、このような画像復号化装置として実現することができるだけでなく、その画像復号化装置と同様の構成を含む画像符号化装置や、それらによる処理方法、プログラム、そのプログラムを格納する記憶媒体、集積回路としても実現することができる。
本発明の画像復号化装置は、各ブロックの復号化の順序を変更する場合であってもブロック歪みを除去することができるとともに処理速度の低下を抑えることができるという作用効果を奏する。
以下本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
図8は、本発明の実施の形態1における画像復号化装置100の構成を示すブロック図である。
画像復号化装置100は、ブロック単位で行われる復号化の順序を変更する場合であってもブロック歪みを除去することができるとともに、処理速度の低下を抑えた画像復号化装置であって、可変長復号化部111と、逆量子化部112と、逆直交変換部113と、メモリ114と、面内予測部115と、加算部116と、スイッチ117と、デブロッキングフィルタ処理部119と、フレームメモリ120と、動き補償部121と、制御部101と、フレームメモリ102、スイッチ103と、スイッチ104とを備えている。
可変長復号化部111は、符号化信号の示す符号化されたピクチャのマクロブロックごとに、そのマクロブロックに対して可変長復号化処理を施し、その処理結果である量子化値を逆量子化部112に出力する。
ここで、可変長復号化部111は、スライスやマクロブロックの復号化の順序を示す順序通知情報を取得して、その順序通知情報の示す順序に基づいて各マクロブロックに対する可変長復号化処理を行う。順序通知情報は、復号化の順序がアドレス処理順であること、または復号化の順序が任意であることを示す。以下、任意の復号化の順序を不定順という。
したがって、可変長復号化部111は、順序通知情報がアドレス処理順を示すときには、符号化信号の示す符号化されたピクチャの各スライスに対して、スライスの先頭マクロブロックのアドレスの小さい順に可変長復号化処理を行う。そして、可変長復号化部111は、各スライス内では、スライスの先頭マクロブロックからアドレスの小さい順に、各マクロブロックに対する可変長復号化処理を行う。一方、順序通知情報が不定順を示すときには、可変長復号化部111は、所定の規定に従って、上述のアドレス処理順と同様の順序や、アドレス処理順と異なる順序で、各マクロブロックに対して可変長復号化処理を行う。
逆量子化部112は、可変長復号化部111から出力された量子化値に対して逆量子化を行ってその量子化値を周波数成分に変換する。
逆直交変換部113は、符号化対象ピクチャがIピクチャであるイントラモードでは、逆量子化部112から出力される周数成分を画像データである予測誤差に変換し、符号化対象ピクチャがPピクチャまたはBピクチャであるインターモードでは、その周波数成分を画像データである動き補償誤差に変換する。
スイッチ117は、イントラモードでは画内予測部115を加算部116に接続し、インターモードでは動き補償部121を加算部116に接続する。
加算部116は、イントラモードでは、画内予測部115から出力される予測画像と予測誤差とを加算することにより、符号化信号の示す符号化されたマクロブロックを再構成画像に復号化する。また、加算部116は、インターモードでは、動き補償部121から出力される動き補償画像と動き補償誤差とを加算することにより、符号化信号の示す符号化されたマクロブロックを再構成画像に復号化する。
メモリ114は、加算部116から出力される再構成画像を蓄積する。
面内予測部115は、メモリ114に記憶されている複数の再構成画像から、復号化対象マクロブロックに対して左にあるマクロブロック、上にあるマクロブロック、左上にあるマクロブロック、および右上にあるマクロブロックのそれぞれの再構成画像を取り出す。そして、面内予測部115は、それらの再構成画像を用いて復号化対象マクロブロックの予測画像を生成する。
制御部101は、上述の順序通知情報を取得して、その順序通知情報に基づいてスイッチ103およびスイッチ104を制御する。
即ち、制御部101は、順序通知情報がアドレス処理順を示す場合には、スイッチ103およびスイッチ104を制御して、加算部116とデブロッキングフィルタ処理部119とを直接接続させる。一方、順序通知情報が不定順を示す場合には、制御部101は、まず、スイッチ103を制御して、フレームメモリ102を加算部116に接続させる。加算部116に接続されたフレームメモリ102は、加算部116から出力される再構成画像を逐次蓄積する。そして、制御部101は、フレームメモリ102に1ピクチャ分の全ての再構成画像が蓄積されると、スイッチ104を制御して、フレームメモリ102をデブロッキングフィルタ処理部119に接続させる。
デブロッキングフィルタ処理部119は、スイッチ103およびスイッチ104によって加算部116に接続されると、加算部116が再構成画像を出力するごとに、その再構成画像に対してデブロッキングフィルタ処理を施す。また、デブロッキングフィルタ処理部119は、スイッチ104によってフレームメモリ102に接続されると、フレームメモリ102に蓄積された1ピクチャ分の全ての再構成画像に対して、ピクチャの左上端のマクロブロックからアドレスの小さい順にデブロッキングフィルタ処理を施す。
そして、デブロッキングフィルタ処理部119は、デブロッキングフィルタ処理された再構成画像をフレームメモリ120に順次格納する。これにより、フレームメモリ120には、1ピクチャ分の再構成画像が復号画像として格納される。また、このような復号画像は復号画像信号としてモニタなどに出力される。
なお、デブロッキングフィルタ処理部119は、処理対象の再構成画像(マクロブロック)に対してデブロッキングフィルタ処理を施すときには、その再構成画像の左および上にある既にデブロッキングフィルタ処理された再構成画像を、フレームメモリ120から取得してその取得した再構成画像を用いる。
動き補償部121は、フレームメモリ120に格納された復号画像を参照ピクチャとして取得するとともに、動きベクトルを取得する。そして、動き補償部121は、参照ピクチャのうち動きベクトルにより示される画像領域を、復号化対象マクロブロックの動き補償画像として生成し、その動き補償画像を出力する。
このように本実施の形態における画像復号化装置100は、順序通知情報がアドレス処理順を示すときには、マクロブロックごとに、復号化処理(再構成画像を生成するまでの処理)と、デブロッキングフィルタ処理とをパイプライン処理により行う。そして、順序通知情報が不定順を示すときには、画像復号化装置100は、各マクロブロックに対して復号化処理を行い、1ピクチャ分の再構成画像がフレームメモリ102に蓄積された後に、デブロッキングフィルタ処理を行う。
ここで、上述の順序通知情報としては、例えばH.264におけるプロファイル情報が用いられる。
即ち、符号化信号に含まれるプロファイル情報がベースラインプロファイルまたはイクステンディッドプロファイルを示す場合は、そのプロファイル情報は、逐次復号化されるマクロブロックの順序が不定順であることを示している。また、プロファイル情報がメインプロファイを示す場合は、そのプロファイル情報は、逐次復号化されるマクロブロック順序がアドレス処理順であることを示している。
ベースラインプロファイルとイクステンディッドプロファイルにおいて、逐次復号化されるマクロブロックの順序が不定順となる理由には、arbitrary slice orderが許可されているからという理由だけでなく、スライスグループの数を1〜7個の範囲で設定できるからという理由もある。つまり、スライスグループの数が複数の場合には、例えば図3Bに示すように、復号化対象マクロブロックに対して左隣と上隣のマクロブロックが、それぞれ復号化対象マクロブロックのスライスグループと異なるスライスグループに属していることがある。このような場合には、復号化対象マクロブロックの復号化時に、その左隣や上隣にあるマクロブロックが未だ復号化されていない可能性があるため、逐次復号化されるマクロブロックの順序が不定順になる。
図9は、本実施の形態における画像復号化装置100の処理の流れを示すフローチャートである。
画像復号化装置100は、まず、復号化対象ピクチャに対して、順序通知情報がアドレス処理順を示しているか否かを判別する(ステップS100)。アドレス処理順を示していると判別したときには(ステップS100のY)、画像復号化装置100は、復号化対象の各マクロブロックに対してアドレス処理順に復号化処理を行い(ステップS102)、復号化されたマクロブロック(再構成画像)に対してデブロッキングフィルタ処理を行う(ステップS104)。つまり、画像復号化装置100は、ステップS102の復号化処理とステップS104のデブロッキングフィルタ処理とをパイプライン処理により行い、これらの処理を復号化対象ピクチャの全てのマクロブロックに対して繰り返し行う(ループ2)。
一方、順序通知情報がアドレス処理順を示していない、つまり不定順を示していると判別したときには(ステップS100のN)、画像復号化装置100は、所定の順序で復号化対象の各マクロブロックに対して復号化処理を行い(ステップS106)、復号化されたマクロブロック(再構成画像)をフレームメモリ102に逐次格納する(ステップS108)。このように、画像復号化装置100は、ステップS106の復号化処理とステップS108の格納処理とを復号化対象ピクチャの全てのマクロブロックに対して繰り返し行う(ループ3)。そして、画像復号化装置100は、フレームメモリ102に蓄積された1ピクチャ分の各再構成画像に対して、ピクチャの左上端の再構成画像からアドレスの小さい順に、デブロッキングフィルタ処理を行う(ステップS110)。
画像復号化装置100は、このようなステップS100〜S110までの処理を、符号化信号の示す全ての符号化されたピクチャに対して行う(ループ1)。
以上のように本実施の形態によれば、複数のスライスグループとarbitrary slice orderが禁止されているメインプロファイルでは、逐次復号化されるマクロブロックの順序がアドレスの小さい順(アドレス復号順)であるということが保証されているため、全マクロブロックが再構成画像として復号化されなくても、逐次再構成画像に復号化されたフィルタ処理前のマクロブロックに対して、デブロッキングフィルタ処理を施すことができる。したがって、復号処理全体におけるデータ転送の割合を低くできる。また逐次復号化された再構成画像に施すデブロッキングフィルタ処理は、再構成画像を生成するまでの処理(復号化処理)と並列に処理することが可能になる。これにより、処理速度を速くすることができる。
また、複数のスライスグループとarbitrary slice orderが許可されているベースラインプロファイルでは、逐次復号化されるマクロブロックの順序がアドレス復号順であることが保証されていない。本実施の形態では、このようなベースラインプロファイルでも、フレームメモリ102に再構成画像を逐次格納することにより、各再構成画像に対してデブロッキングフィルタ処理を施すことができる。
(変形例)
ここで、上記実施の形態1における変形例を説明する。
上記実施の形態の画像復号化装置100は、順序通知情報のみに基づいて、復号化処理とデブロッキングフィルタ処理とをパイプライン処理により行うか否かを判別したが、本変形例の画像復号化装置は順序通知情報とフィルタコード(disable_deblocking_filter_idc)とに基づいて判別する。
本変形例に係る画像復号化装置は、順序通知情報がアドレス処理順を示している場合には、上記実施の形態と同様の処理を行うが、順序通知情報が不定順を示している場合には、フィルタコードの値に応じた処理を行う。
具体的に、本変形例に係る画像復号化装置は、フィルタコードが0の場合には、上記実施の形態において順序通知情報が不定順を示している場合と同様の処理を行う。つまり、画像復号化装置の制御部は、スイッチ103を制御することによりフレームメモリ102を加算部116に接続させて、1ピクチャ分の再構成画像をフレームメモリ102に蓄積させる。そして制御部は、スイッチ104を制御することによりフレームメモリ102をデブロッキングフィルタ処理部119に接続させる。その結果、デブロッキングフィルタ処理部119はフレームメモリ102に蓄積された再構成画像に対してデブロッキングフィルタ処理を行う。これにより、フィルタコードが0の場合には、全てのマクロブロック(再構成画像)のエッジに対してデブロッキングフィルタ処理が施される。
フィルタコードが1の場合には、本変形例に係る画像復号化装置の制御部は、スイッチ103とスイッチ104とを制御することにより、加算部116とデブロッキングフィルタ処理部119とを直接接続させる。そして、制御部は、デブロッキングフィルタ処理部119に対してデブロッキングフィルタ処理を禁止させる。その結果、加算部116から出力された再構成画像は、スイッチ103およびスイッチ104を介してデブロッキングフィルタ処理部119を通過し、フレームメモリ120に格納される。これにより、フィルタコードが1の場合には、全てのマクロブロック(再構成画像)のエッジに対してデブロッキングフィルタ処理が施されないこととなる。
フィルタコードが2の場合には、本変形例に係る画像復号化装置の制御部は、上述と同様、スイッチ103とスイッチ104とを制御することにより、加算部116とデブロッキングフィルタ処理部119とを直接接続させる。そして、制御部は、スライス境界に対するデブロッキングフィルタ処理を、デブロッキングフィルタ処理部119に禁止させる。その結果、デブロッキングフィルタ処理部119は、加算部116から出力されたスライス境界にある再構成画像(マクロブロック)のうち、そのスライス境界を除くエッジ(例えば、再構成画像の内部にある、4×4画素からなるブロックのエッジ)にデブロッキングフィルタ処理を施す。また、デブロッキングフィルタ処理部119は、加算部116から出力されたスライス境界にない再構成画像の全てのエッジ、つまり図1に示す各垂直エッジおよび水平エッジに対してデブロッキングフィルタ処理を施す。
これにより、フィルタコードが2の場合には、各マクロブロック(再構成画像)に対して、復号化処理とデブロッキングフィルタ処理とがパイプライン処理により施される。
図10は、本変形例に係る画像復号化装置の処理の流れを示すフローチャートである。
本変形例に係る画像復号化装置は、まず、復号化対象ピクチャに対して、順序通知情報がアドレス処理順を示しているか否かを判別する(ステップS200)。アドレス処理順を示していると判別したときには(ステップS200のY)、画像復号化装置は、復号化対象の各マクロブロックに対してアドレス処理順に復号化処理を行い(ステップS202)、復号化されたマクロブロック(再構成画像)に対してデブロッキングフィルタ処理を行う(ステップS204)。つまり、画像復号化装置は、ステップS202の復号化処理とステップS204のデブロッキングフィルタ処理とをパイプライン処理により行い、これらの処理を復号化対象ピクチャの全てのマクロブロックに対して繰り返し行う(ループ2)。
一方、順序通知情報がアドレス処理順を示していない、つまり不定順を示していると判別したときには(ステップS200のN)、画像復号化装置は、さらに、スライスごとにフィルタコードの値が0であるか、1であるか、2であるかを判別する(ステップS206)。ここで、フィルタコードの値が0であると判別したときには、画像復号化装置は、所定の順序で復号化対象の各マクロブロックに対して復号化処理を行い(ステップS208)、復号化されたマクロブロック(再構成画像)をフレームメモリ102に逐次格納する(ステップS210)。このように、画像復号化装置は、ステップS208の復号化処理とステップS210の格納処理とをスライス内の全てのマクロブロックに対して繰り返し行う(ループ4)。
また、ステップS206でフィルタコードの値が1であると判別したときには、画像復号化装置は、所定の順序で復号化対象の各マクロブロックに対して復号化処理を行う(ステップS214)。このように、画像復号化装置は、ステップS214の復号化処理をスライス内の全てのマクロブロックに対して繰り返し行う(ループ5)。
また、ステップS206でフィルタコードの値が2であると判別したときには、画像復号化装置は、復号化対象のマクロブロックに対して復号化処理を行い(ステップS216)、そのマクロブロックがスライス境界にあるブロックか否かを判別する(ステップS218)。そして、画像復号化装置は、スライス境界にあるブロックであると判別したときには(ステップS218のY)、復号化されたマクロブロック(再構成画像)のスライス境界を除くエッジに対してデブロッキングフィルタ処理を施し(ステップS219)、スライス境界にあるブロックでないと判別したときには(ステップS218のN)、復号化されたマクロブロック(再構成画像)の全てのエッジに対してデブロッキングフィルタ処理を施す(ステップS220)。つまり、画像復号化装置は、ステップS216の復号化処理とステップS219,S220のデブロッキングフィルタ処理とをパイプライン処理により行う。このように、画像復号化装置は、ステップS216〜S220の処理を、スライス内の全てのマクロブロックに対して繰り返し行う(ループ6)。
画像復号化装置は、このようなステップS206〜S220までの処理を、復号化対象ピクチャに含まれる全てのスライスに対して行い(ループ3)、ステップS210でフレームメモリ102に格納された各再構成画像に対してアドレスの小さい順にデブロッキングフィルタ処理を行なう(ステップS222)。そして、画像復号化装置は、このようなステップS200〜S222までの処理を、符号化信号の示す全ての符号化されたピクチャに対して行う(ループ1)。
なお、上述では画像復号化装置は、スライスごとにフィルタコードの値を判別したが、ピクチャごとにフィルタコードの値を判別してもよい。
図11は、ピクチャごとにフィルタコードの値を判別する画像復号化装置の処理の流れを示すフローチャートである。
画像復号化装置は、まず、復号化対象ピクチャに対して、順序通知情報がアドレス処理順を示しているか否かを判別する(ステップS250)。アドレス処理順を示していると判別したときには(ステップS250のY)、画像復号化装置は、復号化対象の各マクロブロックに対してアドレス処理順に復号化処理を行い(ステップS252)、復号化されたマクロブロック(再構成画像)に対してデブロッキングフィルタ処理を行う(ステップS254)。つまり、画像復号化装置は、ステップS252の復号化処理とステップS254のデブロッキングフィルタ処理とをパイプライン処理により行い、これらの処理を復号化対象ピクチャの全てのマクロブロックに対して繰り返し行う(ループ2)。
一方、順序通知情報がアドレス処理順を示していない、つまり不定順を示していると判別したときには(ステップS250のN)、画像復号化装置は、さらに、フィルタコードの値が0であるか、1であるか、2であるかを判別する(ステップS256)。ここで、フィルタコードの値が0であると判別したときには、画像復号化装置は、所定の順序で復号化対象の各マクロブロックに対して復号化処理を行い(ステップS258)、復号化されたマクロブロック(再構成画像)をフレームメモリ102に逐次格納する(ステップS260)。このように、画像復号化装置は、ステップS258の復号化処理とステップS260の格納処理とを復号化対象ピクチャの全てのマクロブロックに対して繰り返し行う(ループ3)。そして、画像復号化装置は、フレームメモリ102に蓄積された1ピクチャ分の各再構成画像に対して、ピクチャの左上端の再構成画像からアドレスの小さい順に、デブロッキングフィルタ処理を行う(ステップS262)。
また、ステップS256でフィルタコードの値が1であると判別したときには、画像復号化装置は、所定の順序で復号化対象の各マクロブロックに対して復号化処理を行う(ステップS264)。このように、画像復号化装置は、ステップS264の復号化処理を復号化対象ピクチャの全てのマクロブロックに対して繰り返し行う(ループ4)。
また、ステップS256でフィルタコードの値が2であると判別したときには、画像復号化装置は、復号化対象のマクロブロックに対して復号化処理を行い(ステップS266)、そのマクロブロックがスライス境界にあるブロックか否かを判別する(ステップS268)。そして、画像復号化装置は、スライス境界にあるブロックであると判別したときには(ステップS268のY)、復号化されたマクロブロック(再構成画像)のスライス境界を除くエッジに対してデブロッキングフィルタ処理を施し(ステップS269)、スライス境界にあるブロックでないと判別したときには(ステップS268のN)、復号化されたマクロブロック(再構成画像)の全てのエッジに対してデブロッキングフィルタ処理を施す(ステップS270)。つまり、画像復号化装置は、ステップS266の復号化処理とステップS269,S270のデブロッキングフィルタ処理とをパイプライン処理により行う。このように、画像復号化装置は、ステップS266〜S270の処理を、復号化対象ピクチャの全てのマクロブロックに対して繰り返し行う(ループ5)。
画像復号化装置は、このようなステップS250〜S270までの処理を、符号化信号の示す全ての符号化されたピクチャに対して行う(ループ1)。
このように、画像復号化装置は、フィルタコードがピクチャ単位で固定され、スライス単位で変更されないことが明らかな場合には、スライスごとにフィルタコードの値を判別せずに処理を行なう。
なお、実施の形態1およびその変形例では、制御部101は1ピクチャ分の全ての再構成画像がフレームメモリ102に格納された後にスイッチ104を制御して、フレームメモリ102をデブロッキングフィルタ処理部119に接続させたが、1ピクチャ分の全ての再構成画像が格納される前にスイッチ104を制御してもよい。
即ち、制御部101は、フレームメモリ102に格納されている再構成画像(フィルタ対象マクロブロック)に対してデブロッキングフィルタ処理に必要な、デブロッキングフィルタ処理済のマクロブロック(フィルタ処理済マクロブロック)がフレームメモリ120に格納されていれば、スイッチ104を制御する。これにより、制御部101は、フィルタ対象マクロブロックに対してデブロッキングフィルタ処理部119にデブロッキングフィルタ処理を実行させる。
また、制御部101は、フィルタ対象マクロブックに対してフィルタ処理済マクロブロックを必要としないときにも、スイッチ104を制御して、フィルタ対象マクロブロックに対してデブロッキングフィルタ処理部119にデブロッキングフィルタ処理を実行させる。
具体的に、フィルタ対象マクロブロックに対して必要なフィルタ処理済マクロブロックとは、(1)ピクチャ上端のフィルタ対象マクロブロックに対して左隣にあるマクロブロック、(2)ピクチャ左端のフィルタ対象マクロブロックに対して上隣および右上にあるマクロブロック、または(3)フィルタ対象マクロブロックに対して左隣、上隣、および右上にあるマクロブロックである。また、フィルタ処理済マクロブロックを必要としないフィルタ対象マクロブロックとは、ピクチャの左上端にあるマクロブロックである。
このような場合にも、逐次デブロッキングフィルタ処理を施すことができ、再構成画像を生成するまでの処理(復号化処理)と並列に行えるデブロッキングフィルタ処理を増やすことができる。
なお、H.264の復号化においてマクロブロックアダプティブフレーム・フィールドデコーディングが用いられている場合は、フィルタ対象マクロブロックに対して、上隣のマクロブロックと、右上のマクロブロックと、左隣のマクロブロックとを、それぞれ、上隣マクロブロックペアと、右上マクロブロックペアと、左隣マクロブロックペアとすればよい。これにより、上述と同様の効果を得ることができる。
なお、実施の形態1およびその変形例では、逐次復号化されるマクロブロックの順序がアドレス復号順かどうかの情報(順序通知情報)として、ストリーム(符号化信号)に含まれるプロファイルの情報を用いたが、逐次復号化されるマクロブロックの順序がアドレス復号順かどうかを示す情報を外部から取得してもよい。
例えば、ベースラインプロファイルの場合、逐次復号化されるマクロブロックの順序は一般に不定順であるが、ベースラインプロファイルであっても所謂1セグメント放送の場合には、複数のスライスとarbitrary slice orderとが許可されず、逐次復号化されるマクロブロックの順序はアドレス復号順となる。
即ち、プロファイル情報だけでは、逐次復号化されるマクロブロックの順序がアドレス復号順であるのか不定順であるのかを正確に判別することができない。また、arbitrary slice orderを使用するかどうかの情報はストリーム内には存在しないため、逐次復号化されるマクロブロックの順序がアドレス復号順かどうかはストリーム内の情報だけでは判断できない。
そこで、逐次復号化されるマクロブロックの順序がアドレス復号順であるか否かを示す情報、つまりarbitrary slice orderが許可されているか否かを示す情報を外部から取得する。これにより、画像復号化装置は、逐次復号化されるマクロブロックの順序がアドレス復号順か否かを正確に判断することができる。つまり、プロファイル情報だけでアドレス復号順か否かを判断する場合と比べて、アドレス復号順であると判断される場合が多くなる。その結果、アドレス復号順であると判断したときには、逐次復号化されたフィルタ処理前のマクロブロックに対して、デブロッキングフィルタ処理を施すことができ、復号処理全体におけるデータ転送の割合を低くできる。また、デブロッキングフィルタ処理は、再構成画像を生成するまでの処理(復号化処理)と並列に行うことが可能になる。これによって処理がより高速化され、低消費電力化を図ることができ、長時間の復号化が可能となる。これはデジタル放送など長時間使用する場合に適している。
なお、実施の形態1およびその変形例では、デブロッキングフィルタ処理前の再構成画像を格納するフレームメモリ102と、デブロッキングフィルタ処理後の再構成画像を格納するフレームメモリ913とを設けたが、この2つのメモリを1つのフレームメモリで構成してもよい。
また、実施の形態1およびその変形例では、プロファイル情報を順序通知情報とし、そのプロファイル情報に応じてスイッチ103およびスイッチ104を制御したが、単位時間内に復号化されるべきマクロブロックの数に応じてスイッチ103およびスイッチ104を制御してもよい。
例えば、ベースラインプロファイルの場合には、メインプロファイルの場合と比べて、単位時間内に復号化されるべきマクロブロックの数が少ない。そこで、そのマクロブロックの数が所定値以下であれば、符号化信号の示すプロファイルはベースラインプロファイルであり、そのマクロブロックの数が所定値よりも多ければ、符号化信号の示すプロファイルはメインプロファイルであると判断することができる。
そこで、このように単位時間内に復号化されるべきマクロブロックの数に応じてスイッチ103およびスイッチ104を制御しても、上述と同様の効果を得ることができる。
また、実施の形態1およびその変形例では、図9および図10に示すように、ピクチャごとにアドレス処理順か否かを判別したが、スライスやシーケンスごとに判別してもよく、符号化信号に対する処理を開始するときに1度だけ判別してもよい。
(実施の形態2)
図12は、本発明の実施の形態2における画像符号化装置200の構成を示すブロック図である。
画像符号化装置200は、ブロック単位で行われる符号化および復号化の順序を変更する場合であってもブロック歪みを除去することができるとともに、処理速度の低下を抑えた画像符号化装置であって、メモリ211と、面内予測部212と、減算部213と、スイッチ214と、直交変換部215と、量子化部216と、可変長符号化部217と、逆量子化部218と、逆直交変換部219と、加算部220と、デブロッキングフィルタ処理部222と、フレームメモリ223と、動き検出部224と、動き補償部225と、制御部201と、フレームメモリ202、スイッチ203と、スイッチ204と、設定部205とを備えている。
減算部213は、入力画像信号の示すマクロブロックの画像と、スイッチ214を介して取得される予測画像との差分を算出して、その算出結果である予測誤差を出力する。
直交変換部215は、減算部213によって算出された予測誤差を周波数成分に変換する。
量子化部216は、直交変換部215から出力される周波数成分に対して量子化を行い、その周波数成分を量子化値に圧縮符号化する。
可変長符号化部217は、量子化部216から出力される量子化値に対して可変長符号化を行い、その符号化された結果を符号化信号として出力する。
逆量子化部218は、量子化部216から出力される量子化値に対して逆量子化を行ってその量子化値を周波数成分に変換する。
逆直交変換部219は、逆量子化部218から出力される周数成分を画像データである予測誤差に変換する。
加算部220は、逆直交変換部219から出力される予測誤差と、スイッチ214を介して取得される予測画像とを加算することにより、復号化されたマクロブロックである再構成画像を出力する。
メモリ211は、加算部220から出力される再構成画像を蓄積する。
スイッチ214は、イントラモードでは面内予測部212を減算部213に接続し、インターモードでは動き補償部225を減算部213に接続する。
面内予測部212は、メモリ211に記憶されている再構成画像から、符号化対象マクロブロックに対して左にあるマクロブロック、上にあるマクロブロック、左上にあるマクロブロック、および右上にあるマクロブロックのそれぞれの再構成画像を取り出す。そして、面内予測部212は、それらの再構成画像を用いて符号化対象マクロブロックの予測画像を生成する。
設定部205は、例えばユーザによる操作や、予め規定された処理方法などに基づいて符号化条件を設定し、その符号化条件を制御部201に通知する。
ここで、上述の符号化条件は、例えばH.264におけるプロファイルを示す。
即ち、符号化条件がベースラインプロファイルまたはイクステンディッドプロファイルを示す場合は、その符号化条件は、逐次符号化および復号化されるマクロブロックの順序が不定順であることを示している。また、符号化条件がメインプロファイを示す場合は、その符号化条件は、逐次符号化および復号化されるマクロブロック順序がアドレス処理順であることを示している。
制御部201は、設定部205で設定された符号化条件に基づいてスイッチ203およびスイッチ204を制御する。
制御部201は、符号化条件がアドレス処理順を示す場合には、スイッチ203およびスイッチ204を制御して、加算部220とデブロッキングフィルタ処理部222とを直接接続させる。一方、符号化条件が不定順を示す場合には、制御部201は、まず、スイッチ203を制御して、フレームメモリ202を加算部220に接続させる。加算部220に接続されたフレームメモリ202は、加算部220から出力される再構成画像を逐次蓄積する。そして、制御部201は、フレームメモリ202に1ピクチャ分の全ての再構成画像が蓄積されると、スイッチ204を制御して、フレームメモリ202をデブロッキングフィルタ処理部222に接続させる。
デブロッキングフィルタ処理部222は、スイッチ203およびスイッチ204によって加算部220に接続されると、加算部220が再構成画像を出力するごとに、その再構成画像に対してデブロッキングフィルタ処理を施す。また、デブロッキングフィルタ処理部222は、スイッチ204によってフレームメモリ202に接続されると、フレームメモリ202に蓄積された1ピクチャ分の全ての再構成画像に対して、ピクチャの左上端のマクロブロックからアドレスの小さい順にデブロッキングフィルタ処理を施す。
そして、デブロッキングフィルタ処理部222は、デブロッキングフィルタ処理された再構成画像をフレームメモリ223に格納する。これにより、フレームメモリ223には、1ピクチャ分の再構成画像が復号画像として格納される。
なお、デブロッキングフィルタ処理部222は、処理対象の再構成画像(マクロブロック)に対してデブロッキングフィルタ処理を施すときには、その再構成画像の左および上にある既にデブロッキングフィルタ処理された再構成画像を、フレームメモリ223から取得してその取得した再構成画像を用いる。
動き検出部224は、インターモードのときに、フレームメモリ223に格納された復号画像を参照ピクチャとして参照することにより、入力画像信号の示す符号化対象マクロブロックの画像の動きを検出し、その検出結果である動きベクトルを動き補償部225およびフレームメモリ223に出力する。さらに、動き検出部914は、参照ピクチャが符号化対象ピクチャの前方にあること、後方にあること、または双方向にあることを示すマクロブロックの予測タイプを動きベクトルとともに出力する。
動き補償部225は、フレームメモリ223に格納された復号画像を参照ピクチャとして取得するとともに、動き検出部224から出力される動きベクトルを取得する。そして、動き補償部121は、参照ピクチャのうち動きベクトルにより示される画像領域を、符号化対象マクロブロックの予測画像として生成し、その予測画像を出力する。
このように本実施の形態における画像符号化装置200は、符号化条件がアドレス処理順を示すときには、マクロブロックごとに、符号化処理と、復号化処理と、デブロッキングフィルタ処理とをパイプライン処理により行う。そして、符号化条件が不定順を示すときには、画像復号化装置200は、符号化された各マクロブロックに対して復号化処理を行い、1ピクチャ分の再構成画像がフレームメモリ202に蓄積された後に、デブロッキングフィルタ処理を行う。
図13は、本実施の形態における画像符号化装置200の処理の流れを示すフローチャートである。
画像符号化装置200は、まず、符号化条件を設定する(ステップS300)。そして、画像符号化装置200は、符号化対象ピクチャに対して、符号化条件がアドレス処理順を示しているか否かを判別する(ステップS302)。アドレス処理順を示していると判別したときには(ステップS302のY)、画像符号化装置200は、符号化対象の各マクロブロックに対してアドレス処理順に符号化処理および復号化処理を行い(ステップS304)、復号化されたマクロブロック(再構成画像)に対してデブロッキングフィルタ処理を行う(ステップS306)。つまり、画像符号化装置200は、ステップS304の符号化処理および復号化処理とステップS306のデブロッキングフィルタ処理とをパイプライン処理により行い、これらの処理を符号化対象ピクチャの全てのマクロブロックに対して繰り返し行う(ループ2)。
一方、符号化条件がアドレス処理順を示していない、つまり不定順を示していると判別したときには(ステップS302のN)、画像符号化装置200は、所定の順序で符号化対象の各マクロブロックに対して符号化処理および復号化処理を行い(ステップS308)、復号化されたマクロブロック(再構成画像)をフレームメモリ202に逐次格納する(ステップS310)。このように、画像符号化装置200は、ステップS308の符号化処理および復号化処理とステップS310の格納処理とを符号化対象ピクチャの全てのマクロブロックに対して繰り返し行う(ループ3)。そして、画像符号化装置200は、フレームメモリ202に蓄積された1ピクチャ分の各再構成画像に対して、ピクチャの左上端の再構成画像からアドレスの小さい順に、デブロッキングフィルタ処理を行う(ステップS312)。
画像符号化装置200は、このようなステップS300〜S312までの処理を、符号化信号の示す全てのピクチャに対して行う(ループ1)。
(変形例1)
ここで、上記実施の形態2における第1の変形例を説明する。
上記実施の形態の画像符号化装置200は、符号化条件のみに基づいて、符号化処理と復号化処理とデブロッキングフィルタ処理とをパイプライン処理により行うか否かを判別したが、本変形例の画像符号化装置は符号化条件とフィルタコード(disable_deblocking_filter_idc)とに基づいて判別する。
本変形例に係る画像符号化装置は、符号化条件がアドレス処理順を示してる場合には、上記実施の形態と同様の処理を行うが、符号化条件が不定順を示している場合には、フィルタコードの値に応じた処理を行う。
具体的に、本変形例に係る画像符号化装置は、フィルタコードが0の場合には、上記実施の形態において符号化条件が不定順を示している場合と同様の処理を行う。つまり、画像符号化装置の制御部は、スイッチ203を制御することによりフレームメモリ202を加算部220に接続させて、1ピクチャ分の再構成画像をフレームメモリ202に蓄積させる。そして制御部は、スイッチ204を制御することによりフレームメモリ202をデブロッキングフィルタ処理部222に接続させる。その結果、デブロッキングフィルタ処理部222はフレームメモリ202に蓄積された再構成画像に対してデブロッキングフィルタ処理を行う。これにより、フィルタコードが0の場合には、全てのマクロブロック(再構成画像)のエッジに対してデブロッキングフィルタ処理が施される。
フィルタコードが1の場合には、本変形例に係る画像符号化装置の制御部は、スイッチ203とスイッチ204とを制御することにより、加算部220とデブロッキングフィルタ処理部222とを直接接続させる。そして、制御部は、デブロッキングフィルタ処理部222に対してデブロッキングフィルタ処理を禁止させる。その結果、加算部220から出力された再構成画像は、スイッチ203およびスイッチ204を介してデブロッキングフィルタ処理部222を通過し、フレームメモリ223に格納される。これにより、フィルタコードが1の場合には、全てのマクロブロック(再構成画像)のエッジに対してデブロッキングフィルタ処理が施されないこととなる。
フィルタコードが2の場合には、本変形例に係る画像符号化装置の制御部は、上述と同様、スイッチ203とスイッチ204とを制御することにより、加算部220とデブロッキングフィルタ処理部222とを直接接続させる。そして、制御部は、スライス境界に対するデブロッキングフィルタ処理を、デブロッキングフィルタ処理部222に禁止させる。その結果、デブロッキングフィルタ処理部222は、加算部220から出力されたスライス境界にある再構成画像(マクロブロック)のうち、スライス境界を除くエッジ(例えば、再構成画像の内部にある、4×4画素からなるブロックのエッジ)にデブロッキングフィルタ処理を施す。また、デブロッキングフィルタ処理部222は、加算部220から出力されたスライス境界にない再構成画像の全てのエッジ、つまり図1に示す各垂直エッジおよび水平エッジに対してデブロッキングフィルタ処理を施す。
これにより、フィルタコードが2の場合には、各マクロブロック(再構成画像)に対して、符号化処理と復号化処理とデブロッキングフィルタ処理とがパイプライン処理により施される。
図14は、本変形例に係る画像符号化装置の処理の流れを示すフローチャートである。
本変形例に係る画像符号化装置は、まず、符号化条件を設定する(ステップS400)。そして、画像符号化装置は、符号化対象ピクチャに対して、符号化条件がアドレス処理順を示しているか否かを判別する(ステップS402)。アドレス処理順を示していると判別したときには(ステップS402のY)、画像符号化装置は、符号化対象の各マクロブロックに対してアドレス処理順に符号化処理および復号化処理を行い(ステップS404)、復号化されたマクロブロック(再構成画像)に対してデブロッキングフィルタ処理を行う(ステップS406)。つまり、画像符号化装置は、ステップS404の符号化処理および復号化処理とステップS406のデブロッキングフィルタ処理とをパイプライン処理により行い、これらの処理を符号化対象ピクチャの全てのマクロブロックに対して繰り返し行う(ループ2)。
一方、符号化条件がアドレス処理順を示していない、つまり不定順を示していると判別したときには(ステップS402のN)、画像符号化装置は、さらに、スライスごとにフィルタコードの値が0であるか、1であるか、2であるかを判別する(ステップS408)。ここで、フィルタコードの値が0であると判別したときには、画像符号化装置は、所定の順序で符号化対象の各マクロブロックに対して符号化処理および復号化処理を行い(ステップS410)、復号化されたマクロブロック(再構成画像)をフレームメモリ202に逐次格納する(ステップS412)。このように、画像符号化装置は、ステップS410の符号化処理および復号化処理とステップS412の格納処理とをスライス内の全てのマクロブロックに対して繰り返し行う(ループ4)。
また、ステップS408でフィルタコードの値が1であると判別したときには、画像符号化装置は、所定の順序で符号化対象の各マクロブロックに対して符号化処理および復号化処理を行う(ステップS416)。このように、画像符号化装置は、ステップS416の符号化処理および復号化処理をスライス内の全てのマクロブロックに対して繰り返し行う(ループ5)。
また、ステップS408でフィルタコードの値が2であると判別したときには、画像符号化装置は、符号化対象のマクロブロックに対して符号化処理および復号化処理を行い(ステップS418)、そのマクロブロックがスライス境界にあるブロックか否かを判別する(ステップS420)。そして、画像符号化装置は、スライス境界にあるブロックであると判別したときには(ステップS420のY)、復号化されたマクロブロック(再構成画像)のスライス境界を除くエッジに対してデブロッキングフィルタ処理を施し(ステップS421)、スライス境界にあるブロックでないと判別したときには(ステップS420のN)、復号化されたマクロブロック(再構成画像)の全てのエッジに対してデブロッキングフィルタ処理を施す(ステップS422)。つまり、画像符号化装置は、ステップS418の符号化処理および復号化処理とステップS421,S422のデブロッキングフィルタ処理とをパイプライン処理により行う。このように、画像符号化装置は、ステップS418〜S422の処理を、スライス内の全てのマクロブロックに対して繰り返し行う(ループ6)。
画像符号化装置は、このようなステップS408〜S422までの処理を、符号化対象ピクチャに含まれる全てのスライスに対して行い(ループ3)、ステップS412でフレームメモリ202に格納された各再構成画像に対してアドレスの小さい順にデブロッキングフィルタ処理を行なう(ステップS424)。そして、画像符号化装置は、このようなステップS400〜S424までの処理を、入力画像信号の示す全てのピクチャに対して行う(ループ1)。
なお、上述では画像復号化装置は、スライスごとにフィルタコードの値を判別したが、ピクチャごとにフィルタコードの値を判別してもよい。
図15は、ピクチャごとにフィルタコードの値を判別する画像符号化装置の処理の流れを示すフローチャートである。
画像符号化装置は、まず、符号化条件を設定する(ステップS450)。そして、画像符号化装置は、符号化対象ピクチャに対して、符号化条件がアドレス処理順を示しているか否かを判別する(ステップS452)。アドレス処理順を示していると判別したときには(ステップS452のY)、画像符号化装置は、符号化対象の各マクロブロックに対してアドレス処理順に符号化処理および復号化処理を行い(ステップS454)、復号化されたマクロブロック(再構成画像)に対してデブロッキングフィルタ処理を行う(ステップS456)。つまり、画像符号化装置は、ステップS454の符号化処理および復号化処理とステップS456のデブロッキングフィルタ処理とをパイプライン処理により行い、これらの処理を符号化対象ピクチャの全てのマクロブロックに対して繰り返し行う(ループ2)。
一方、符号化条件がアドレス処理順を示していない、つまり不定順を示していると判別したときには(ステップS452のN)、画像符号化装置は、さらに、フィルタコードの値が0であるか、1であるか、2であるかを判別する(ステップS458)。ここで、フィルタコードの値が0であると判別したときには、画像符号化装置は、所定の順序で符号化対象の各マクロブロックに対して符号化処理および復号化処理を行い(ステップS460)、復号化されたマクロブロック(再構成画像)をフレームメモリ202に逐次格納する(ステップS462)。このように、画像符号化装置は、ステップS460の符号化処理および復号化処理とステップS462の格納処理とを符号化対象ピクチャの全てのマクロブロックに対して繰り返し行う(ループ3)。そして、画像符号化装置は、フレームメモリ202に蓄積された1ピクチャ分の各再構成画像に対して、ピクチャの左上端の再構成画像からアドレスの小さい順に、デブロッキングフィルタ処理を行う(ステップS464)。
また、ステップS458でフィルタコードの値が1であると判別したときには、画像符号化装置は、所定の順序で符号化対象の各マクロブロックに対して符号化処理および復号化処理を行う(ステップS466)。このように、画像符号化装置は、ステップS466の符号化処理および復号化処理を符号化対象ピクチャの全てのマクロブロックに対して繰り返し行う(ループ4)。
また、ステップS458でフィルタコードの値が2であると判別したときには、画像符号化装置は、符号化対象のマクロブロックに対して符号化処理および復号化処理を行い(ステップS418)、そのマクロブロックがスライス境界にあるブロックか否かを判別する(ステップS470)。そして、画像符号化装置は、スライス境界にあるブロックであると判別したときには(ステップS470のY)、復号化されたマクロブロック(再構成画像)のスライス境界を除くエッジに対してデブロッキングフィルタ処理を施し(ステップS471)、スライス境界にあるブロックでないと判別したときには(ステップS470のN)、復号化されたマクロブロック(再構成画像)の全てのエッジに対してデブロッキングフィルタ処理を施す(ステップS472)。つまり、画像符号化装置は、ステップS468の符号化処理および復号化処理とステップS471,S472のデブロッキングフィルタ処理とをパイプライン処理により行う。このように、画像符号化装置は、ステップS468〜S472の処理を、符号化対象ピクチャの全てのマクロブロックに対して繰り返し行う(ループ5)。
画像符号化装置は、このようなステップS450〜S472までの処理を、入力画像信号の示す全てのピクチャに対して行う(ループ1)。
このように、画像符号化装置は、フィルタコードがピクチャ単位で固定され、スライス単位で変更されないことが明らかな場合には、スライスごとにフィルタコードの値を判別せずに処理を行なう。
(変形例2)
ここで、上記実施の形態2における第2の変形例を説明する。
上記実施の形態の画像符号化装置200は、図12のステップS302に示すように、符号化対象ピクチャごとにアドレス処理順であるか否かを判別したが、本変形例の画像符号化装置は符号化対象ピクチャごとに判別せずに、全ての符号化対象ピクチャに対して1度だけアドレス処理順であるか否かを判別する。
図16は、本変形例に係る画像符号化装置の処理の流れを示すフローチャートである。
画像符号化装置は、まず、符号化条件を設定する(ステップS500)。そして、画像符号化装置は、符号化条件がアドレス処理順を示しているか否かを判別する(ステップS502)。アドレス処理順を示していると判別したときには(ステップS502のY)、画像符号化装置は、符号化対象ピクチャに含まれる各マクロブロックに対してアドレス処理順に符号化処理および復号化処理を行い(ステップS504)、復号化されたマクロブロック(再構成画像)に対してデブロッキングフィルタ処理を行う(ステップS506)。画像符号化装置は、このようなステップS504の処理とステップS506の処理とを符号化対象ピクチャの全てのマクロブロックに対して繰り返し行う(ループ2)。さらに、画像符号化装置は、これらの処理を入力画像信号の示す全てのピクチャに対して繰り返し行う(ループ1)。
一方、符号化条件がアドレス処理順を示していない、つまり不定順を示していると判別したときには(ステップS502のN)、画像符号化装置は、所定の順序で符号化対象の各マクロブロックに対して符号化処理および復号化処理を行い(ステップS508)、復号化されたマクロブロック(再構成画像)をフレームメモリ202に逐次格納する(ステップS510)。このように、画像符号化装置は、ステップS508の処理とステップS510の処理とを符号化対象ピクチャの全てのマクロブロックに対して繰り返し行う(ループ4)。そして、画像符号化装置は、フレームメモリ202に蓄積された1ピクチャ分の各再構成画像に対して、ピクチャの左上端の再構成画像からアドレスの小さい順に、デブロッキングフィルタ処理を行う(ステップS512)。画像符号化装置は、このようなステップS508〜S512までの処理を、入力画像信号の示す全てのピクチャに対して繰り返し行う(ループ3)。
なお、実施の形態2およびその変形例の画像符号化装置は、実施の形態1およびその変形例の画像復号化装置の機能を含むものであるから、実施の形態1およびその変形例において説明した各事項は、全て実施の形態2およびその変形例にも適合する。
例えば、実施の形態2およびその変形例では、デブロッキングフィルタ処理前の再構成画像を格納するフレームメモリ202と、デブロッキングフィルタ処理後の再構成画像を格納するフレームメモリ223とを設けたが、この2つのメモリを1つのフレームメモリで構成してもよい。
(実施の形態3)
さらに、上記実施の形態1および実施の形態2で示した画像復号化装置または画像符号化装置を実現するためのプログラムを、フレキシブルディスク等の記憶媒体に記録するようにすることにより、上記実施の形態1および実施の形態2で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
図17A〜図17Cは、上記実施の形態1および実施の形態2の画像復号化装置または画像符号化装置を実現するためのプログラムを格納したフレキシブルディスクを用いて、コンピュータシステムにより実施する場合の説明図である。
図17Bは、フレキシブルディスクのケース正面からみた外観、断面構造、及びフレキシブルディスクを示し、図17Aは、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスクFDはケースF内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックTrが形成され、各トラックは角度方向に16のセクタSeに分割されている。従って、上記プログラムを格納したフレキシブルディスクでは、上記フレキシブルディスクFD上に割り当てられた領域に、上記プログラムとしての画像復号化方法や画像符号化方法が記録されている。
また、図17Cは、フレキシブルディスクFDに上記プログラムの記録再生を行うための構成を示す。上記プログラムをフレキシブルディスクFDに記録する場合は、コンピュータシステムCsから上記プログラムとしての画像復号化方法または画像符号化方法をフレキシブルディスクドライブを介して書き込む。また、フレキシブルディスク内のプログラムにより上記画像復号化方法をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブによりプログラムをフレキシブルディスクから読み出し、コンピュータシステムに転送する。
なお、上記説明では、記録媒体としてフレキシブルディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ICカード、ROMカセット等、プログラムを記録できるものであれば同様に実施することができる。
(実施の形態4)
さらにここで、上記実施の形態で示した画像復号化装置や画像符号化装置の応用例とそれを用いたシステムを説明する。
図18は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示すブロック図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex107〜ex110が設置されている。
このコンテンツ供給システムex100は、例えば、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex107〜ex110を介して、コンピュータex111、PDA(personal digital assistant)ex112、カメラex113、携帯電話ex114、カメラ付きの携帯電話ex115などの各機器が接続される。
しかし、コンテンツ供給システムex100は図18のような組合せに限定されず、いずれかを組み合わせて接続するようにしてもよい。また、固定無線局である基地局ex107〜ex110を介さずに、各機器が電話網ex104に直接接続されてもよい。
カメラex113はデジタルビデオカメラ等の動画撮影が可能な機器である。また、携帯電話は、PDC(Personal Digital Communications)方式、CDMA(Code Division Multiple Access)方式、W−CDMA(Wideband-Code Division Multiple Access)方式、若しくはGSM(Global System for Mobile Communications)方式の携帯電話機、またはPHS(Personal Handyphone System)等であり、いずれでも構わない。
また、ストリーミングサーバex103は、カメラex113から基地局ex109、電話網ex104を通じて接続されており、カメラex113を用いてユーザが送信する符号化処理されたデータに基づいたライブ配信等が可能になる。撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするサーバ等で行ってもよい。また、カメラex116で撮影した動画データはコンピュータex111を介してストリーミングサーバex103に送信されてもよい。カメラex116はデジタルカメラ等の静止画、動画が撮影可能な機器である。この場合、動画データの符号化はカメラex116で行ってもコンピュータex111で行ってもどちらでもよい。また、符号化処理はコンピュータex111やカメラex116が有するLSIex117において処理することになる。なお、画像符号化・復号化用のソフトウェアをコンピュータex111等で読み取り可能な記録媒体である何らかの蓄積メディア(CD−ROM、フレキシブルディスク、ハードディスクなど)に組み込んでもよい。さらに、カメラ付きの携帯電話ex115で動画データを送信してもよい。このときの動画データは携帯電話ex115が有するLSIで符号化処理されたデータである。
このコンテンツ供給システムex100では、ユーザがカメラex113、カメラex116等で撮影しているコンテンツ(例えば、音楽ライブを撮影した映像等)を上記実施の形態同様に符号化処理してストリーミングサーバex103に送信する一方で、ストリーミングサーバex103は要求のあったクライアントに対して上記コンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114等がある。このようにすることでコンテンツ供給システムex100は、符号化されたデータをクライアントにおいて受信して再生することができ、さらにクライアントにおいてリアルタイムで受信して復号化し、再生することにより、個人放送をも実現可能になるシステムである。
このシステムを構成する各機器の符号化、復号化には上記各実施の形態で示した画像符号化装置あるいは画像復号化装置を用いるようにすればよい。
その一例として携帯電話について説明する。
図19は、上記実施の形態で説明した画像符号化装置と画像復号化装置を用いた携帯電話ex115を示す図である。携帯電話ex115は、基地局ex110との間で電波を送受信するためのアンテナex201、CCDカメラ等の映像、静止画を撮ることが可能なカメラ部ex203、カメラ部ex203で撮影した映像、アンテナex201で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex202、操作キーex204群から構成される本体部、音声出力をするためのスピーカ等の音声出力部ex208、音声入力をするためのマイク等の音声入力部ex205、撮影した動画もしくは静止画のデータ、受信したメールのデータ、動画のデータもしくは静止画のデータ等、符号化されたデータまたは復号化されたデータを保存するための記録メディアex207、携帯電話ex115に記録メディアex207を装着可能とするためのスロット部ex206を有している。記録メディアex207はSDカード等のプラスチックケース内に電気的に書換えや消去が可能な不揮発性メモリであるEEPROM(Electrically Erasable and Programmable Read Only Memory)の一種であるフラッシュメモリ素子を格納したものである。
さらに、携帯電話ex115について図20を用いて説明する。携帯電話ex115は表示部ex202及び操作キーex204を備えた本体部の各部を統括的に制御するようになされた主制御部ex311に対して、電源回路部ex310、操作入力制御部ex304、画像符号化部ex312、カメラインターフェース部ex303、LCD(Liquid Crystal Display)制御部ex302、画像復号化部ex309、多重分離部ex308、記録再生部ex307、変復調回路部ex306及び音声処理部ex305が同期バスex313を介して互いに接続されている。
電源回路部ex310は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりカメラ付ディジタル携帯電話ex115を動作可能な状態に起動する。
携帯電話ex115は、CPU、ROM及びRAM等でなる主制御部ex311の制御に基づいて、音声通話モード時に音声入力部ex205で集音した音声信号を音声処理部ex305によってディジタル音声データに変換し、これを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して送信する。また携帯電話機ex115は、音声通話モード時にアンテナex201で受信した受信データを増幅して周波数変換処理及びアナログディジタル変換処理を施し、変復調回路部ex306でスペクトラム逆拡散処理し、音声処理部ex305によってアナログ音声データに変換した後、これを音声出力部ex208を介して出力する。
さらに、データ通信モード時に電子メールを送信する場合、本体部の操作キーex204の操作によって入力された電子メールのテキストデータは操作入力制御部ex304を介して主制御部ex311に送出される。主制御部ex311は、テキストデータを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して基地局ex110へ送信する。
データ通信モード時に画像データを送信する場合、カメラ部ex203で撮像された画像データをカメラインターフェース部ex303を介して画像符号化部ex312に供給する。また、画像データを送信しない場合には、カメラ部ex203で撮像した画像データをカメラインターフェース部ex303及びLCD制御部ex302を介して表示部ex202に直接表示することも可能である。
画像符号化部ex312は、本願発明で説明した画像符号化装置を備えた構成であり、カメラ部ex203から供給された画像データを上記実施の形態で示した画像符号化装置に用いた符号化方法によって圧縮符号化することにより符号化画像データに変換し、これを多重分離部ex308に送出する。また、このとき同時に携帯電話機ex115は、カメラ部ex203で撮像中に音声入力部ex205で集音した音声を音声処理部ex305を介してディジタルの音声データとして多重分離部ex308に送出する。
多重分離部ex308は、画像符号化部ex312から供給された符号化画像データと音声処理部ex305から供給された音声データとを所定の方式で多重化し、その結果得られる多重化データを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して送信する。
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、アンテナex201を介して基地局ex110から受信した受信データを変復調回路部ex306でスペクトラム逆拡散処理し、その結果得られる多重化データを多重分離部ex308に送出する。
また、アンテナex201を介して受信された多重化データを復号化するには、多重分離部ex308は、多重化データを分離することにより画像データのビットストリームと音声データのビットストリームとに分け、同期バスex313を介して当該符号化画像データを画像復号化部ex309に供給すると共に当該音声データを音声処理部ex305に供給する。
次に、画像復号化部ex309は、本願発明で説明した画像復号化装置を備えた構成であり、画像データのビットストリームを上記実施の形態で示した符号化方法に対応した復号化方法で復号化することにより再生動画像データを生成し、これをLCD制御部ex302を介して表示部ex202に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる動画データが表示される。このとき同時に音声処理部ex305は、音声データをアナログ音声データに変換した後、これを音声出力部ex208に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まる音声データが再生される。
なお、上記システムの例に限られず、最近は衛星、地上波によるディジタル放送が話題となっており、図21に示すようにディジタル放送用システムにも上記実施の形態の少なくとも画像符号化装置または画像復号化装置のいずれかを組み込むことができる。具体的には、放送局ex409では映像情報のビットストリームが電波を介して通信または放送衛星ex410に伝送される。これを受けた放送衛星ex410は、放送用の電波を発信し、この電波を衛星放送受信設備をもつ家庭のアンテナex406で受信し、テレビ(受信機)ex401またはセットトップボックス(STB)ex407などの装置によりビットストリームを復号化してこれを再生する。また、記録媒体であるCDやDVD等の蓄積メディアex402に記録したビットストリームを読み取り、復号化する再生装置ex403にも上記実施の形態で示した画像復号化装置を実装することが可能である。この場合、再生された映像信号はモニタex404に表示される。また、ケーブルテレビ用のケーブルex405または衛星/地上波放送のアンテナex406に接続されたセットトップボックスex407内に画像復号化装置を実装し、これをテレビのモニタex408で再生する構成も考えられる。このときセットトップボックスではなく、テレビ内に画像復号化装置を組み込んでも良い。また、アンテナex411を有する車ex412で衛星ex410からまたは基地局ex107等から信号を受信し、車ex412が有するカーナビゲーションex413等の表示装置に動画を再生することも可能である。
更に、画像信号を上記実施の形態で示した画像符号化装置で符号化し、記録媒体に記録することもできる。具体例としては、DVDディスクex421に画像信号を記録するDVDレコーダや、ハードディスクに記録するディスクレコーダなどのレコーダex420がある。更にSDカードex422に記録することもできる。レコーダex420が上記実施の形態で示した画像復号化装置を備えていれば、DVDディスクex421やSDカードex422に記録した画像信号を再生し、モニタex408で表示することができる。
なお、カーナビゲーションex413の構成は例えば図20に示す構成のうち、カメラ部ex203とカメラインターフェース部ex303、画像符号化部ex312を除いた構成が考えられ、同様なことがコンピュータex111やテレビ(受信機)ex401等でも考えられる。
また、上記携帯電話ex114等の端末は、符号化器・復号化器を両方持つ送受信型の端末の他に、符号化器のみの送信端末、復号化器のみの受信端末の3通りの実装形式が考えられる。
このように、上記実施の形態で示した画像符号化装置あるいは画像復号化装置を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記実施の形態で説明した効果を得ることができる。
また、本発明はかかる上記実施形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
なお、ブロック図(図8および図12)の各機能ブロックは典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されても良いし、一部又は全てを含むように1チップ化されても良い。(例えばメモリ以外の機能ブロックが1チップ化されていても良い。)
ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
また、各機能ブロックのうち、符号化または復号化の対象となるデータを格納する手段だけ1チップ化せずに別構成としても良い。
本発明の画像復号化装置および画像符号化装置は、各ブロックの復号化の順序を変更する場合であってもブロック歪みを除去することができるとともに処理速度の低下を抑えることができるという効果を奏し、例えば携帯電話、DVD(Digital Versatile Disk)装置、およびパーソナルコンピュータ等に適用することができる。
図1は、デブロッキングフィルタ処理が施される部位を説明するための説明図である。 図2は、フィルタ強度の算出、閾値の算出、およびフィルタ処理を説明するための説明図である。 図3Aは、スライスグループの説明図である。 図3Bは、他のスライスグループの説明図である。 図3Cは、さらに他のスライスグループの説明図である。 図3Dは、スライスグループに含まれるスライスを示す図である。 図4は、パイプライン処理を説明するための説明図である。 図5は、H.264のarbitrary slice orderに対応した画像復号化装置の構成を示すブロック図である。 図6は、同上の画像復号化装置の処理の流れを示すフローチャートである。 図7は、H.264のarbitrary slice orderに対応した画像符号化装置の構成を示すブロック図である。 図8は、本発明の実施の形態1における画像復号化装置の構成を示すブロック図である。 図9は、同上の画像復号化装置の処理の流れを示すフローチャートである。 図10は、同上の変形例に係る画像復号化装置の処理の流れを示すフローチャートである。 図11は、ピクチャごとにフィルタコードの値を判別する画像復号化装置の処理の流れを示すフローチャートである。 図12は、本発明の実施の形態2における画像符号化装置の構成を示すブロック図である。 図13は、同上の画像符号化装置の処理の流れを示すフローチャートである。 図14は、同上の変形例1に係る画像符号化装置の処理の流れを示すフローチャートである。 図15は、ピクチャごとにフィルタコードの値を判別する画像符号化装置の処理の流れを示すフローチャートである。 図16は、本発明の実施の形態2の変形例2に係る画像符号化装置の処理の流れを示すフローチャートである。 図17Aは、本発明の画像復号化装置および画像符号化装置をコンピュータシステムにより実現するためのプログラムを格納するための記録媒体についての説明図である。(実施の形態3) 図17Bは、本発明の画像符号化方法および画像復号化方法をコンピュータシステムにより実現するためのプログラムを格納するための記録媒体についての他の説明図である。(実施の形態3) 図17Cは、本発明の画像符号化方法および画像復号化方法をコンピュータシステムにより実現するためのプログラムを格納するための記録媒体についてのさらに他の説明図である。(実施の形態3) 図18は、本発明の実施の形態4におけるコンテンツ配信サービスを実現するコンテンツ供給システムの全体構成を示すブロック図である。 図19は、同上の画像符号化装置と画像復号化装置を用いた携帯電話を示す図である。 図20は、同上の携帯電話のブロック図である。 図21は、同上のディジタル放送用システムの例を示す図である。
符号の説明
100 画像復号化装置
101 制御部
102,120 フレームメモリ
103,104,117 スイッチ
111 可変長復号化部
112 逆量子化部
113 逆直交変換部
114 メモリ
115 面内予測部
116 加算部
119 デブロッキングフィルタ処理部
120 フレームメモリ
121 動き補償部
200 画像符号化装置
201 制御部
202,223 フレームメモリ
203,204,214 スイッチ
205 設定部
211 メモリ
212 面内予測部
213 減算部
215 直交変換部
216 量子化部
217 可変長符号化部
218 逆量子化部
219 逆直交変換部
220 加算部
222 デブロッキングフィルタ処理部
224 動き検出部
225 動き補償部

Claims (20)

  1. 符号化されたピクチャをブロック単位で復号化する画像復号化装置であって、
    符号化されたピクチャを構成する各ブロックを順次復号化する復号化手段と、
    前記復号化手段により復号化された各ブロックを記憶するための記憶手段と、
    前記復号化手段により復号化された各ブロックに対してフィルタ処理を施すフィルタ手段と、
    前記復号化手段でブロックが復号化されるごとに復号化された前記ブロックを前記記憶手段に記憶させるとともに、前記記憶手段に記憶されているブロックに対して前記フィルタ手段にフィルタ処理を実行させる第1の実行手段と、
    前記復号化手段でブロックが復号化されるごとに復号化された前記ブロックに対して前記フィルタ手段にフィルタ処理を実行させる第2の実行手段と、
    前記第1の実行手段による動作と前記第2の実行手段による動作とを切り換える切換制御手段と
    を備えることを特徴とする画像復号化装置。
  2. 前記切換制御手段は、
    前記復号化手段により順次復号化される各ブロックの順序に応じて前記第1の実行手段による動作と前記第2の実行手段による動作とを切り換える
    ことを特徴とする請求項1記載の画像復号化装置。
  3. 前記切換制御手段は、
    前記復号化手段により順次復号化される各ブロックの順序が、前記ピクチャの端にあるブロックから連続的に復号化されるような規定順序であるときには、前記第1の実行手段による動作を禁止させて前記第2の実行手段による動作を実行させ、
    前記復号化手段より順次復号化される各ブロックの順序が、前記規定順序でないときには、前記第2の実行手段による動作を禁止させて前記第1の実行手段による動作を実行させる
    ことを特徴とする請求項2記載の画像復号化装置。
  4. 前記切換制御手段は、
    前記復号化手段によって単位時間内に復号化されるべきブロックの数に応じて前記第1の実行手段による動作と前記第2の実行手段による動作とを切り換える
    ことを特徴とする請求項1記載の画像復号化装置。
  5. 前記切換制御手段は、
    前記復号化手段によって単位時間内に復号化されるべきブロックの数が所定値よりも多いときには、前記第1の実行手段による動作を禁止させて前記第2の実行手段による動作を実行させ、
    前記ブロックの数が前記所定値以下のときには、前記第2の実行手段による動作を禁止させて前記第1の実行手段による動作を実行させる
    ことを特徴とする請求項4記載の画像復号化装置。
  6. 前記切換制御手段は、
    前記復号化手段により順次復号化される各ブロックの順序が、前記ピクチャの端にあるブロックから連続的に復号化されるような規定順序でないときには、前記フィルタ処理の対象となる前記各ブロックの部位を示すフィルタ情報に基づいて、前記第1の実行手段による動作と前記第2の実行手段による動作とを切り換える
    ことを特徴とする請求項2記載の画像復号化装置。
  7. 前記切換制御手段は、
    前記符号化されたピクチャを複数含んで構成される符号化信号の種別に応じて前記第1の実行手段による動作と前記第2の実行手段による動作とを切り換える
    ことを特徴とする請求項1記載の画像復号化装置。
  8. 前記切換制御手段は、
    前記符号化信号の種別に基づいて、前記ピクチャの端にあるブロックから各ブロックが連続的に復号化されるべきであると判断したときには、前記第1の実行手段による動作を禁止させて前記第2の実行手段による動作を実行させ、
    前記判断が不可能なときには、前記第2の実行手段による動作を禁止させて前記第1の実行手段による動作を実行させる
    ことを特徴とする請求項7記載の画像復号化装置。
  9. 前記切換制御手段は、
    前記ピクチャの端にあるブロックから各ブロックが連続的に復号化されるべきであるか否かを示す外部信号を取得し、
    前記外部信号が連続的に復号化されるべきであることを示すときには、前記第1の実行手段による動作を禁止させて前記第2の実行手段による動作を実行させ、
    前記外部信号が連続的に復号化されるべきでないことを示すときには、前記第2の実行手段による動作を禁止させて前記第1の実行手段による動作を実行させる
    ことを特徴とする請求項1記載の画像復号化装置。
  10. ピクチャをブロック単位で符号化する画像符号化装置であって、
    ピクチャを構成する各ブロックを順次符号化する符号化手段と、
    前記符号化手段によってブロックが符号化されるごとに、符号化されたブロックを順次復号化する復号化手段と、
    前記復号化手段により復号化された各ブロックを記憶するための記憶手段と、
    前記復号化手段により復号化された各ブロックに対してフィルタ処理を施すフィルタ手段と、
    前記復号化手段でブロックが復号化されるごとに復号化された前記ブロックを前記記憶手段に記憶させるとともに、前記記憶手段に記憶されているブロックに対して前記フィルタ手段にフィルタ処理を実行させる第1の実行手段と、
    前記復号化手段でブロックが復号化されるごとに復号化された前記ブロックに対して前記フィルタ手段にフィルタ処理を実行させる第2の実行手段と、
    前記第1の実行手段による動作と前記第2の実行手段による動作とを切り換える切換制御手段と
    を備えることを特徴とする画像符号化装置。
  11. 前記切換制御手段は、
    前記復号化手段により順次復号化される各ブロックの順序に応じて前記第1の実行手段による動作と前記第2の実行手段による動作とを切り換える
    ことを特徴とする請求項10記載の画像符号化装置。
  12. 前記切換制御手段は、
    前記復号化手段により順次復号化される各ブロックの順序が、前記ピクチャの端にあるブロックから連続的に復号化されるような規定順序であるときには、前記第1の実行手段による動作を禁止させて前記第2の実行手段による動作を実行させ、
    前記復号化手段より順次復号化される各ブロックの順序が、前記規定順序でないときには、前記第2の実行手段による動作を禁止させて前記第1の実行手段による動作を実行させる
    ことを特徴とする請求項11記載の画像符号化装置。
  13. 前記切換制御手段は、
    前記符号化手段および前記復号化手段によって単位時間内に符号化および復号化されるべきブロックの数に応じて前記第1の実行手段による動作と前記第2の実行手段による動作とを切り換える
    ことを特徴とする請求項10記載の画像符号化装置。
  14. 前記切換制御手段は、
    前記復号化手段により順次復号化される各ブロックの順序が、前記ピクチャの端にあるブロックから連続的に復号化されるような規定順序でないときには、前記フィルタ処理の対象となる前記各ブロックの部位を示すフィルタ情報に基づいて、前記第1の実行手段による動作と前記第2の実行手段による動作とを切り換える
    ことを特徴とする請求項11記載の画像符号化装置。
  15. 前記切換制御手段は、
    前記符号化手段による符号化の手法に応じて前記第1の実行手段による動作と前記第2の実行手段による動作とを切り換える
    ことを特徴とする請求項10記載の画像符号化装置。
  16. 前記切換制御手段は、
    前記符号化の手法に基づいて、前記ピクチャの端にあるブロックから各ブロックが連続的に復号化されるべきであると判断したときには、前記第1の実行手段による動作を禁止させて前記第2の実行手段による動作を実行させ、
    前記判断が不可能なときには、前記第2の実行手段による動作を禁止させて前記第1の実行手段による動作を実行させる
    ことを特徴とする請求項15記載の画像符号化装置。
  17. 符号化されたピクチャをブロック単位で復号化する画像復号化方法であって、
    符号化されたピクチャを構成する各ブロックを順次復号化する復号化ステップと、
    前記復号化ステップでブロックが復号化されるごとに復号化された前記ブロックを記憶媒体に格納させるとともに、前記記憶手段に格納されているブロックに対してフィルタ処理を施す第1の処理ステップと、
    前記復号化ステップでブロックが復号化されるごとに復号化された前記ブロックに対してフィルタ処理を施す第2の処理ステップと、
    前記第1の処理ステップによる動作と前記第2の処理ステップによる動作とを切り換える切換制御ステップと
    を含むことを特徴とする画像復号化方法。
  18. ピクチャをブロック単位で符号化する画像復号化方法であって、
    ピクチャを構成する各ブロックを順次符号化する符号化ステップと、
    前記符号化ステップによってブロックが符号化されるごとに、符号化されたブロックを順次復号化する復号化ステップと、
    前記復号化ステップでブロックが復号化されるごとに復号化された前記ブロックを記憶媒体に格納させるとともに、前記記憶手段に格納されているブロックに対してフィルタ処理を施す第1の処理ステップと、
    前記復号化ステップでブロックが復号化されるごとに復号化された前記ブロックに対してフィルタ処理を施す第2の処理ステップと、
    前記第1の処理ステップによる動作と前記第2の処理ステップによる動作とを切り換える切換制御ステップと
    を含むことを特徴とする画像符号化方法。
  19. 符号化されたピクチャをブロック単位で復号化する集積回路であって、
    符号化されたピクチャを構成する各ブロックを順次復号化する復号化手段と、
    前記復号化手段により復号化された各ブロックを記憶するための記憶手段と、
    前記復号化手段により復号化された各ブロックに対してフィルタ処理を施すフィルタ手段と、
    前記復号化手段でブロックが復号化されるごとに復号化された前記ブロックを前記記憶手段に記憶させるとともに、前記記憶手段に記憶されているブロックに対して前記フィルタ手段にフィルタ処理を実行させる第1の実行手段と、
    前記復号化手段でブロックが復号化されるごとに復号化された前記ブロックに対して前記フィルタ手段にフィルタ処理を実行させる第2の実行手段と、
    前記第1の実行手段による動作と前記第2の実行手段による動作とを切り換える切換制御手段と
    を備えることを特徴とする集積回路。
  20. ピクチャをブロック単位で符号化する集積回路であって、
    ピクチャを構成する各ブロックを順次符号化する符号化手段と、
    前記符号化手段によってブロックが符号化されるごとに、符号化されたブロックを順次復号化する復号化手段と、
    前記復号化手段により復号化された各ブロックを記憶するための記憶手段と、
    前記復号化手段により復号化された各ブロックに対してフィルタ処理を施すフィルタ手段と、
    前記復号化手段でブロックが復号化されるごとに復号化された前記ブロックを前記記憶手段に記憶させるとともに、前記記憶手段に記憶されているブロックに対して前記フィルタ手段にフィルタ処理を実行させる第1の実行手段と、
    前記復号化手段でブロックが復号化されるごとに復号化された前記ブロックに対して前記フィルタ手段にフィルタ処理を実行させる第2の実行手段と、
    前記第1の実行手段による動作と前記第2の実行手段による動作とを切り換える切換制御手段と
    を備えることを特徴とする集積回路。
JP2006531488A 2004-08-05 2005-08-02 画像復号化装置および画像符号化装置 Pending JPWO2006013854A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2004229932 2004-08-05
JP2004229932 2004-08-05
PCT/JP2005/014112 WO2006013854A1 (ja) 2004-08-05 2005-08-02 画像復号化装置および画像符号化装置

Publications (1)

Publication Number Publication Date
JPWO2006013854A1 true JPWO2006013854A1 (ja) 2008-05-01

Family

ID=35787138

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006531488A Pending JPWO2006013854A1 (ja) 2004-08-05 2005-08-02 画像復号化装置および画像符号化装置

Country Status (5)

Country Link
US (1) US20070183508A1 (ja)
EP (1) EP1777965A1 (ja)
JP (1) JPWO2006013854A1 (ja)
CN (1) CN1922885A (ja)
WO (1) WO2006013854A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5266202B2 (ja) * 2006-03-28 2013-08-21 サムスン エレクトロニクス カンパニー リミテッド 画像符号化/復号化方法及び装置
JP4847222B2 (ja) * 2006-06-12 2011-12-28 日本電信電話株式会社 動画像のフィルタ処理方法,装置,フィルタ処理プログラムおよびその記録媒体
JP5232854B2 (ja) * 2007-04-26 2013-07-10 ポリコム,インク. デブロッキング・フィルタ配列
TWI330987B (en) * 2007-05-18 2010-09-21 Via Tech Inc Method and apparatus for determining whether adjacent macroblocks are located in the same slice
JP4710887B2 (ja) * 2007-08-09 2011-06-29 ソニー株式会社 画像処理装置、及び、画像処理装置の制御方法
US8542748B2 (en) 2008-03-28 2013-09-24 Sharp Laboratories Of America, Inc. Methods and systems for parallel video encoding and decoding
US8897583B2 (en) * 2008-05-23 2014-11-25 Panasonic Corporation Image decoding apparatus for decoding a target block by referencing information of an already decoded block in a neighborhood of the target block
US9042457B2 (en) * 2008-06-10 2015-05-26 Panasonic Intellectual Property Management Co., Ltd. Image decoding apparatus and image coding apparatus wth parallel decoding
US8325796B2 (en) * 2008-09-11 2012-12-04 Google Inc. System and method for video coding using adaptive segmentation
US8867605B2 (en) * 2008-10-14 2014-10-21 Nvidia Corporation Second deblocker in a decoding pipeline
US8861586B2 (en) 2008-10-14 2014-10-14 Nvidia Corporation Adaptive deblocking in a decoding pipeline
US8724694B2 (en) 2008-10-14 2014-05-13 Nvidia Corporation On-the spot deblocker in a decoding pipeline
US9179166B2 (en) 2008-12-05 2015-11-03 Nvidia Corporation Multi-protocol deblock engine core system and method
US8761538B2 (en) 2008-12-10 2014-06-24 Nvidia Corporation Measurement-based and scalable deblock filtering of image data
KR101118091B1 (ko) * 2009-06-04 2012-03-09 주식회사 코아로직 비디오 데이터 처리 장치 및 방법
JP5344238B2 (ja) * 2009-07-31 2013-11-20 ソニー株式会社 画像符号化装置および方法、記録媒体、並びにプログラム
US9241167B2 (en) * 2012-02-17 2016-01-19 Microsoft Technology Licensing, Llc Metadata assisted video decoding
CN107734344B (zh) * 2012-06-22 2021-06-29 威勒斯媒体国际有限公司 图像编码方法及图像编码设备
JP6490896B2 (ja) * 2013-12-17 2019-03-27 株式会社メガチップス 画像処理装置
JP2016126037A (ja) * 2014-12-26 2016-07-11 ソニー株式会社 信号処理装置、および信号処理方法、並びにプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0984005A (ja) * 1995-09-14 1997-03-28 Mitsubishi Electric Corp 画像伸張装置
JP2001275110A (ja) * 2000-03-24 2001-10-05 Matsushita Electric Ind Co Ltd 動的なループ及びポストフィルタリングのための方法及び装置
JP2003304538A (ja) * 2002-04-11 2003-10-24 Matsushita Electric Ind Co Ltd 画像符号化装置、画像復号化装置及びそれらの方法
KR100747958B1 (ko) * 2001-09-18 2007-08-08 마쯔시다덴기산교 가부시키가이샤 화상 부호화 방법 및 화상 복호화 방법
US7391812B2 (en) * 2002-07-14 2008-06-24 Apple Inc. Adaptively post filtering encoded video
US7738563B2 (en) * 2004-07-08 2010-06-15 Freescale Semiconductor, Inc. Method and system for performing deblocking filtering

Also Published As

Publication number Publication date
US20070183508A1 (en) 2007-08-09
EP1777965A1 (en) 2007-04-25
WO2006013854A1 (ja) 2006-02-09
CN1922885A (zh) 2007-02-28

Similar Documents

Publication Publication Date Title
JPWO2006013854A1 (ja) 画像復号化装置および画像符号化装置
JP5755364B2 (ja) 画像復号化装置
JP4439890B2 (ja) 画像復号化方法、装置およびプログラム
CA2448064C (en) Filtering strength determination method, moving picture coding method and moving picture decoding method
JP4709143B2 (ja) 動き補償装置、画面間予測符号化装置、画面間予測復号化装置、動き補償方法、および集積回路
JP2006074777A (ja) 動画像符号化方法および動画像復号方法
JP4313710B2 (ja) 画像符号化方法および画像復号化方法
JP2004048711A (ja) 動画像の符号化方法および復号化方法およびデータ記録媒体
JP4641995B2 (ja) 画像符号化方法および画像符号化装置
JP4580626B2 (ja) フィルタリング強度の決定方法、動画像符号化方法、および動画像復号化方法
JP2005341545A (ja) 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、動画像符号化プログラムおよび動画像復号プログラム
JP4580903B2 (ja) フィルタリング強度の決定方法、動画像符号化方法、および動画像復号化方法
JP2006287973A (ja) フィルタリング強度の決定方法、動画像符号化方法、および動画像復号化方法