JP2014207536A - 画像処理装置および方法 - Google Patents

画像処理装置および方法 Download PDF

Info

Publication number
JP2014207536A
JP2014207536A JP2013083453A JP2013083453A JP2014207536A JP 2014207536 A JP2014207536 A JP 2014207536A JP 2013083453 A JP2013083453 A JP 2013083453A JP 2013083453 A JP2013083453 A JP 2013083453A JP 2014207536 A JP2014207536 A JP 2014207536A
Authority
JP
Japan
Prior art keywords
block
image
unit
memory
deblocking filter
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
JP2013083453A
Other languages
English (en)
Inventor
信介 菱沼
Shinsuke Hishinuma
信介 菱沼
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2013083453A priority Critical patent/JP2014207536A/ja
Priority to US14/197,869 priority patent/US9924163B2/en
Priority to CN201410136035.8A priority patent/CN104104967B/zh
Publication of JP2014207536A publication Critical patent/JP2014207536A/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
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/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

【課題】符号化または復号処理に必要な外部メモリへのアクセス数を削減することができるようにする。
【解決手段】VEデブロッキングフィルタ処理部は、カレント垂直境界において対応するブロックが入力されていないブロックを垂直ラインメモリに一旦書き込み、対応するブロックが入力された段階で、垂直ラインメモリに書き込まれたブロックを読み出して、そのカレント垂直境界に対してフィルタ処理を行い、垂直・水平中間メモリに書き込む。HEデブロッキングフィルタ処理部は、カレント水平境界において対応するブロックが入力されていないブロックを水平ラインメモリに一旦書き込み、対応するブロックが入力された段階で、水平ラインメモリに書き込まれたブロックを読み出して、そのカレント水平境界に対してフィルタ処理を行い、SAO処理部に出力する。本開示は、例えば、画像処理装置に適用することができる。
【選択図】図7

Description

本開示は、画像処理装置および方法に関し、特に、符号化または復号処理に必要な外部メモリへのアクセス数を削減することができるようにした画像処理装置および方法に関する。
近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮する符号化方式を採用して画像を圧縮符号する装置が普及しつつある。この符号化方式には、例えば、MPEG(Moving Picture Experts Group)やH.264及びMPEG-4 Part10 (Advanced Video Coding、以下H.264/AVCと記す)などがある。
そして、現在、H.264/AVCより更なる符号化効率の向上を目的として、ITU-TとISO/IECとの共同の標準化団体であるJCTVC (Joint Collaboration Team - Video Coding) により、HEVC (High Efficiency Video Coding)と呼ばれる符号化方式の標準化が進められている。
現時点におけるHEVCのドラフトでは、インループフィルタとして、デブロッキングフィルタ(Deblocking Fillter)、および適応オフセットフィルタ(SAO:Sample Adaptive Offset)が採用されている。デブロッキングフィルタは、画像圧縮により発生したブロックノイズを除去するための画質改善ツールであり、HEVCだけでなく、H.264/AVCでも用いられているツールであるが、フィルタ処理の順番に違いがある。
H.264/AVCにおいては、マクロブロック単位で該当するVerticalEdge(垂直境界)、HorizontalEdge(水平境界)の順にフィルタ処理していたのに対し、HEVCにおいては、ピクチャ単位で該当する全垂直境界にフィルタを施し、その後に、該当する全水平境界にフィルタを施すように規定されている。
このため、Coding Unit(以下、CUと記す)やCoding Tree Unit(以下、CTUと記す)単位での処理との相性が悪い。
HEVCのリファレンスソフトウェアHMでも、デブロッキングフィルタ処理前の1ピクチャ分のローカルデコードが終了してから、ピクチャ全体に対して垂直境界にフィルタをかけるように関数を呼び出し、その後、ピクチャ全体の水平境界にフィルタをかけるように関数を呼び出す実装を採用している。
なお、インループフィルタにおいては、デブロッキングフィルタ、適応オフセットフィルタの順に処理が行われるが、最大の符号化単位であるLCUベースで処理を行う場合、LCUの水平境界(以下、単にLCU境界とも称する)においては、それぞれラインメモリを持つ必要があり、トータルすると、大量のラインメモリが必要になる。
そこで、この大量のラインメモリを削減するために、さまざまな提案がなされている。例えば、非特許文献1においては、デブロッキングのために保持するラインにかかる適応オフセットフィルタの処理(タップ参照画素)は、リコンストラクト画素(すなわち、デブロッキング前の画素)を利用することが提案されている。
" Line Memory Reduction for ALF Decoding", Semih Esenlik, Matthias Narroschke, Thomas Wedi, JCTVC-E225,March 2011
上述した非特許文献1において提案されている方法は、LCUベース処理に特化した処理である。
これに対して、HMの実装と同じアーキテクチャでハードウエア実装をする場合、画像処理装置は、外部メモリと、外部メモリと内部バスを接続するバス・外部コントローラと、バス・外部コントローラに接続されているデブロッキングフィルタ処理前までの画像処理パイプライン、垂直境界のデブロッキングフィルタ処理部、水平境界のデブロッキングフィルタ処理部、並びに適応オフセットフィルタ処理部で構成される。
しかしながら、このような構成では、フィルタ処理毎に外部メモリのリードアクセスとライトアクセスが頻繁に発生してしまう。
本開示は、このような状況に鑑みてなされたものであり、符号化または復号処理に必要な外部メモリへのアクセス数を削減することができるものである。
本開示の第1の側面の画像処理装置は、符号化ストリームを復号処理して画像を生成する復号部と、前記復号部により生成された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックをメモリに格納し、前記対応するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行うデブロッキングフィルタと、前記デブロッキングフィルタによりフィルタ処理が行われたブロックの画素を用いて適応オフセット処理を行う適応オフセット処理部とを備える。
前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント垂直境界において左側に位置するブロックをメモリに格納し、前記垂直境界において右側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行うことができる。
前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント水平境界において上側に位置するブロックをメモリに格納し、前記垂直境界において下側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行うことができる。
前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックを前記メモリに格納するとともに、そのブロックの少なくとも1番上ラインの画素を、前記適応オフセット処理部に出力することができる。
本開示の第1の側面の画像処理方法は、画像処理装置が、符号化ストリームを復号処理して画像を生成し、生成された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックをメモリに格納し、前記対応するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行い、フィルタ処理が行われたブロックの画素を用いて適応オフセット処理を行う。
本開示の第2の側面の画像処理装置は、画像を符号化する際にローカル復号処理された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックをメモリに格納し、前記対応するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行うデブロッキングフィルタと、前記デブロッキングフィルタによりフィルタ処理が行われたブロックの画素を用いて適応オフセット処理を行う適応オフセット処理部と、前記適応オフセット処理部により適応オフセット処理が行われた画素を用いて、前記画像を符号化する符号化部とを備える。
前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント垂直境界において左側に位置するブロックをメモリに格納し、前記垂直境界において右側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行うことができる。
前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント水平境界において上側に位置するブロックをメモリに格納し、前記垂直境界において下側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行うことができる。
前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックを前記メモリに格納するとともに、そのブロックの少なくとも1番上ラインの画素を、前記適応オフセット処理部に出力する
ことができる。
本開示の第2の側面の画像処理方法は、画像を符号化する際にローカル復号処理された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックをメモリに格納し、前記対応するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行い、フィルタ処理が行われたブロックの画素を用いて適応オフセット処理を行い、適応オフセット処理が行われた画素を用いて、前記画像を符号化する。
本開示の第1の側面においては、符号化ストリームを復号処理して画像が生成され、生成された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックがメモリに格納され、前記対応するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理が行われる。そして、フィルタ処理が行われたブロックの画素を用いて適応オフセット処理が行われる。
本開示の第2の側面においては、画像を符号化する際にローカル復号処理された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックがメモリに格納され、前記対応するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理が行われる。そして、フィルタ処理が行われたブロックの画素を用いて適応オフセット処理が行われ、適応オフセット処理が行われた画素を用いて、前記画像が符号化される。
なお、上述の画像処理装置は、独立した装置であっても良いし、1つの画像符号化装置または画像復号装置を構成している内部ブロックであってもよい。
本開示の第1の側面によれば、画像を復号することができる。特に、復号処理に必要な外部メモリへのアクセス数を削減することができる。
本開示の第2の側面によれば、画像を符号化することができる。特に、符号化処理に必要な外部メモリへのアクセス数を削減することができる。
画像符号化装置の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 画像復号装置の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 HEVCのデブロッキングフィルタを説明する図である。 HEVCの画像処理システムの構成例を示すブロック図である。 本技術を適用する画像処理システムの構成例を示すブロック図である。 VEデブロッキングフィルタ処理部へのデータの入力順番の例を示す図である。 垂直・水平中間メモリの書き込み状態を示すブロック図である。 垂直ラインメモリの書き込み状態を示すブロック図である。 ピクチャの右端MBの場合の垂直・水平中間メモリの書き込み状態を示すブロック図である。 水平・垂直中間メモリのデータの読み出し順番を示す図である。 ピクチャの右端MBの場合の水平・垂直中間メモリのデータの読み出し順番を示す図である。 HEデブロッキングフィルタ処理部の出力方法を説明する図である。 インループフィルタのパイプライン処理について説明する図である。 インループフィルタの処理について説明するフローチャートである。 垂直境界のデブロッキングフィルタ処理を説明するフローチャートである。 水平境界のインループフィルタの処理を説明するフローチャートである。 パーソナルコンピュータの主な構成例を示すブロック図である。 テレビジョン装置の概略的な構成の一例を示すブロック図である。 携帯電話機の概略的な構成の一例を示すブロック図である。 記録再生装置の概略的な構成の一例を示すブロック図である。 撮像装置の概略的な構成の一例を示すブロック図である。
以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.装置および動作の概要
2.従来の手法の説明
3.第1の実施の形態
4.第2の実施の形態
5.応用例
<1.装置および動作の概要>
[画像符号化装置の構成例]
図1は、本開示を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
図1に示される画像符号化装置11aは、予測処理を用いて画像データを符号化する。ここで、符号化方式としては、例えば、HEVC(High Efficiency Video Coding)方式などが用いられる。
図1の例において、画像符号化装置11aは、A/D(Analog / Digital)変換部21、画面並べ替えバッファ22、演算部23、直交変換部24、量子化部25、可逆符号化部26、および蓄積バッファ27を有する。また、画像符号化装置11aは、逆量子化部28、逆直交変換部29、演算部30、インループフィルタ31a、フレームメモリ32、選択部33、イントラ予測部34、動き予測・補償部35、予測画像選択部36、およびレート制御部37を有する。
A/D変換部21は、入力された画像データをA/D変換し、画面並べ替えバッファ22に出力し、記憶させる。
画面並べ替えバッファ22は、記憶した表示の順番のフレームの画像を、GOP(Group of Picture)構造に応じて、符号化のためのフレームの順番に並べ替える。画面並べ替えバッファ22は、フレームの順番を並び替えた画像を、演算部23に供給する。また、画面並べ替えバッファ22は、フレームの順番を並び替えた画像を、イントラ予測部34および動き予測・補償部35にも供給する。
演算部23は、画面並べ替えバッファ22から読み出された画像から、予測画像選択部36を介してイントラ予測部34若しくは動き予測・補償部35から供給される予測画像を減算し、その差分情報を直交変換部24に出力する。
例えば、イントラ符号化が行われる画像の場合、演算部23は、画面並べ替えバッファ22から読み出された画像から、イントラ予測部34から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部23は、画面並べ替えバッファ22から読み出された画像から、動き予測・補償部35から供給される予測画像を減算する。
直交変換部24は、演算部23から供給される差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を量子化部25に供給する。
量子化部25は、直交変換部24が出力する変換係数を量子化する。量子化部25は、量子化された変換係数を可逆符号化部26に供給する。
可逆符号化部26は、その量子化された変換係数に対して、可変長符号化、算術符号化等の可逆符号化を施す。
可逆符号化部26は、イントラ予測モードを示す情報などのパラメータをイントラ予測部34から取得し、インター予測モードを示す情報や動きベクトル情報などのパラメータを動き予測・補償部35から取得する。
可逆符号化部26は、量子化された変換係数を符号化するとともに、取得した各パラメータ(シンタクス要素)を符号化し、符号化データのヘッダ情報の一部とする(多重化する)。可逆符号化部26は、符号化して得られた符号化データを蓄積バッファ27に供給して蓄積させる。
例えば、可逆符号化部26においては、可変長符号化または算術符号化等の可逆符号化処理が行われる。可変長符号化としては、CAVLC(Context-Adaptive Variable Length Coding)などがあげられる。算術符号化としては、CABAC(Context-Adaptive Binary Arithmetic Coding)などがあげられる。
蓄積バッファ27は、可逆符号化部26から供給された符号化データを、一時的に保持し、所定の段階において、符号化された符号化画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。
また、量子化部25において量子化された変換係数は、逆量子化部28にも供給される。逆量子化部28は、その量子化された変換係数を、量子化部25による量子化に対応する方法で逆量子化する。逆量子化部28は、得られた変換係数を、逆直交変換部29に供給する。
逆直交変換部29は、供給された変換係数を、直交変換部24による直交変換処理に対応する方法で逆直交変換する。逆直交変換された出力(復元された差分情報)は、演算部30に供給される。
演算部30は、逆直交変換部29より供給された逆直交変換結果、すなわち、復元された差分情報に、予測画像選択部36を介してイントラ予測部34若しくは動き予測・補償部35から供給される予測画像を加算し、局部的に復号された画像(復号画像)を得る。
例えば、差分情報が、イントラ符号化が行われる画像に対応する場合、演算部30は、その差分情報にイントラ予測部34から供給される予測画像を加算する。また、例えば、差分情報が、インター符号化が行われる画像に対応する場合、演算部30は、その差分情報に動き予測・補償部35から供給される予測画像を加算する。
その加算結果である復号画像は、インループフィルタ31aおよびフレームメモリ32に供給される。
インループフィルタ31aは、デブロッキングフィルタ(Deblocking fillter)、および適応オフセットフィルタ(SAO:Sample Adaptive Offset)を含むように構成される。インループフィルタ31aは、復号画像の画素(すなわち、リコンストラクト画素)を対象として、デブロッキングフィルタ、および適応オフセットフィルタの処理を施し、フィルタ処理結果を加算した画像を、フレームメモリ32に供給する。
なお、インループフィルタ31aにおいては、デブロッキングフィルタの垂直および水平、並びに適応オフセットフィルタの処理がパイプラインで行われる。このインループフィルタ31aの構成の詳細は図7を参照して後述される。
フレームメモリ32は、所定の段階において、蓄積されている参照画像を、選択部33を介してイントラ予測部34または動き予測・補償部35に出力する。
例えば、イントラ符号化が行われる画像の場合、フレームメモリ32は、参照画像を、選択部33を介してイントラ予測部34に供給する。また、例えば、インター符号化が行われる場合、フレームメモリ32は、参照画像を、選択部33を介して動き予測・補償部35に供給する。
選択部33は、フレームメモリ32から供給される参照画像がイントラ符号化を行う画像である場合、その参照画像をイントラ予測部34に供給する。また、選択部33は、フレームメモリ32から供給される参照画像がインター符号化を行う画像である場合、その参照画像を動き予測・補償部35に供給する。
イントラ予測部34は、画面内の画素値を用いて予測画像を生成するイントラ予測(画面内予測)を行う。イントラ予測部34は、複数のモード(イントラ予測モード)によりイントラ予測を行う。
イントラ予測部34は、全てのイントラ予測モードで予測画像を生成し、各予測画像を評価し、最適なモードを選択する。イントラ予測部34は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部36を介して演算部23や演算部30に供給する。
また、上述したように、イントラ予測部34は、採用したイントラ予測モードを示すイントラ予測モード情報等のパラメータを、適宜可逆符号化部26に供給する。
動き予測・補償部35は、インター符号化が行われる画像について、画面並べ替えバッファ22から供給される入力画像と、選択部33を介してフレームメモリ32から供給される参照画像とを用いて、動き予測を行う。動き予測・補償部35は、動き予測により検出された動きベクトルに応じて動き補償処理を行い、予測画像(インター予測画像情報)を生成する。
動き予測・補償部35は、候補となる全てのインター予測モードのインター予測処理を行い、予測画像を生成する。動き予測・補償部35は、生成された予測画像を、予測画像選択部36を介して演算部23や演算部30に供給する。
また、動き予測・補償部35は、採用されたインター予測モードを示すインター予測モード情報や、算出した動きベクトルを示す動きベクトル情報などのパラメータを可逆符号化部26に供給する。
予測画像選択部36は、イントラ符号化を行う画像の場合、イントラ予測部34の出力を演算部23や演算部30に供給し、インター符号化を行う画像の場合、動き予測・補償部35の出力を演算部23や演算部30に供給する。
レート制御部37は、蓄積バッファ27に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部25の量子化動作のレートを制御する。
[画像符号化装置の動作]
図2を参照して、以上のような画像符号化装置11aにより実行される符号化処理の流れについて説明する。
ステップS11において、A/D変換部21は入力された画像をA/D変換する。ステップS12において、画面並べ替えバッファ22は、A/D変換された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
画面並べ替えバッファ22から供給される処理対象の画像がイントラ処理されるブロックの画像である場合、参照される復号済みの画像がフレームメモリ32から読み出され、選択部33を介してイントラ予測部34に供給される。
これらの画像に基づいて、ステップS13において、イントラ予測部34は処理対象のブロックの画素を、候補となる全てのイントラ予測モードでイントラ予測する。なお、参照される復号済みの画素としては、インループフィルタ31によりフィルタされていない画素が用いられる。
この処理により、候補となる全てのイントラ予測モードでイントラ予測が行われ、候補となる全てのイントラ予測モードに対してコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードが選択され、最適イントラ予測モードのイントラ予測により生成された予測画像とそのコスト関数値が予測画像選択部36に供給される。
画面並べ替えバッファ22から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ32から読み出され、選択部33を介して動き予測・補償部35に供給される。これらの画像に基づいて、ステップS14において、動き予測・補償部35は、動き予測・補償処理を行う。
この処理により、候補となる全てのインター予測モードで動き予測処理が行われ、候補となる全てのインター予測モードに対してコスト関数値が算出され、算出したコスト関数値に基づいて、最適インター予測モードが決定される。そして、最適インター予測モードにより生成された予測画像とそのコスト関数値が予測画像選択部36に供給される。
ステップS15において、予測画像選択部36は、イントラ予測部34および動き予測・補償部35より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちの一方を、最適予測モードに決定する。そして、予測画像選択部36は、決定した最適予測モードの予測画像を選択し、演算部23,30に供給する。この予測画像は、後述するステップS16,S21の演算に利用される。
なお、この予測画像の選択情報は、イントラ予測部34または動き予測・補償部35に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部34は、最適イントラ予測モードを示す情報(すなわち、イントラ予測に関するパラメータ)を、可逆符号化部26に供給する。
最適インター予測モードの予測画像が選択された場合、動き予測・補償部35は、最適インター予測モードを示す情報と、最適インター予測モードに応じた情報(すなわち、動き予測に関するパラメータ)を可逆符号化部26に出力する。最適インター予測モードに応じた情報としては、動きベクトル情報や参照フレーム情報などがあげられる。
ステップS16において、演算部23は、ステップS12で並び替えられた画像と、ステップS15で選択された予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部35から、イントラ予測する場合はイントラ予測部34から、それぞれ予測画像選択部36を介して演算部23に供給される。
差分データは元の画像データに較べてデータ量が小さくなっている。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
ステップS17において、直交変換部24は演算部23から供給された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。
ステップS18において、量子化部25は変換係数を量子化する。この量子化に際しては、後述するステップS26の処理で説明されるように、レートが制御される。
以上のようにして量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップS19において、逆量子化部28は、量子化部25により量子化された変換係数を量子化部25の特性に対応する特性で逆量子化する。ステップS20において、逆直交変換部29は、逆量子化部28により逆量子化された変換係数を直交変換部24の特性に対応する特性で逆直交変換する。
ステップS21において、演算部30は、予測画像選択部36を介して入力される予測画像を局部的に復号された差分情報に加算し、局部的に復号された(すなわち、ローカルデコードされた)画像(演算部23への入力に対応する画像)を生成する。
ステップS22においてインループフィルタ31aは、演算部30より出力された画像に対して、デブロッキングフィルタ、および適応オフセットフィルタからなるフィルタ処理を行う。このとき、デブロッキングフィルタの垂直および水平、並びに適応オフセットフィルタの処理がパイプラインで行われる。このインループフィルタ処理の詳細は、図16を参照して後述される。インループフィルタ31aからの復号画像は、フレームメモリ32に出力される。
ステップS23においてフレームメモリ32は、フィルタリングされた画像を記憶する。なお、フレームメモリ32には、インループフィルタ31aによりフィルタされていない画像も演算部30から供給され、記憶される。
一方、上述したステップS18において量子化された変換係数は、可逆符号化部26にも供給される。ステップS24において、可逆符号化部26は、量子化部25より出力された量子化された変換係数と、供給された各パラメータを符号化する。すなわち、差分画像が可変長符号化、算術符号化等の可逆符号化され、圧縮される。
ステップS25において蓄積バッファ27は、符号化された差分画像(すなわち、符号化ストリーム)を、圧縮画像として蓄積する。蓄積バッファ27に蓄積された圧縮画像が適宜読み出され、伝送路を介して復号側に伝送される。
ステップS26においてレート制御部37は、蓄積バッファ27に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部25の量子化動作のレートを制御する。
ステップS26の処理が終了すると、符号化処理が終了される。
[画像復号装置の構成例]
図3は、本開示を適用した画像処理装置としての画像復号装置の一実施の形態の構成を表している。図3に示される画像復号装置11bは、図1の画像符号化装置11aに対応する復号装置である。
画像符号化装置11aより符号化された符号化データは、所定の伝送路を介して、この画像符号化装置11aに対応する画像復号装置11bに伝送され、復号されるものとする。
図3に示されるように、画像復号装置11bは、蓄積バッファ61、可逆復号部62、逆量子化部63、逆直交変換部64、演算部65、インループフィルタ31b、画面並べ替えバッファ67、およびD/A変換部68を有する。また、画像復号装置11bは、フレームメモリ69、選択部70、イントラ予測部71、動き予測・補償部72、および選択部73を有する。
蓄積バッファ61は、伝送されてきた符号化データを蓄積する。この符号化データは、画像符号化装置11aにより符号化されたものである。可逆復号部62は、蓄積バッファ61から所定の段階で読み出された符号化データを、図1の可逆符号化部26の符号化方式に対応する方式で復号する。
可逆復号部62は、復号されたイントラ予測モードを示す情報などのパラメータをイントラ予測部71に供給し、インター予測モードを示す情報や動きベクトル情報などのパラメータを動き予測・補償部72に供給する。
逆量子化部63は、可逆復号部62により復号されて得られた係数データ(量子化係数)を、図1の量子化部25の量子化方式に対応する方式で逆量子化する。つまり、逆量子化部63は、画像符号化装置11aから供給された量子化パラメータを用いて、図1の逆量子化部28と同様の方法で量子化係数の逆量子化を行う。
逆量子化部63は、逆量子化された係数データ、つまり、直交変換係数を、逆直交変換部64に供給する。逆直交変換部64は、図1の直交変換部24の直交変換方式に対応する方式で、その直交変換係数を逆直交変換し、画像符号化装置11aにおいて直交変換される前の残差データに対応する復号残差データを得る。
逆直交変換されて得られた復号残差データは、演算部65に供給される。また、演算部65には、選択部73を介して、イントラ予測部71若しくは動き予測・補償部72から予測画像が供給される。
演算部65は、その復号残差データと予測画像とを加算し、画像符号化装置11aの演算部23により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部65は、その復号画像データをインループフィルタ31bに供給する。
インループフィルタ31bは、画像符号化装置11aのインループフィルタ31aと同様に、デブロッキングフィルタ、および適応オフセットフィルタを含むように構成される。インループフィルタ31bは、復号画像の画素(すなわち、リコンストラクト画素)を対象として、デブロッキングフィルタ、および適応オフセットフィルタの処理を施し、フィルタ処理結果を加算した画像を、画面並べ替えバッファ67に供給する。
なお、インループフィルタ31bにおいては、デブロッキングフィルタの垂直および水平、並びに適応オフセットフィルタの処理がパイプラインで行われる。このインループフィルタ31bの構成の詳細は図7を参照して後述される。
画面並べ替えバッファ67は、画像の並べ替えを行う。すなわち、図1の画面並べ替えバッファ22により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部68は、画面並べ替えバッファ67から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
インループフィルタ31bの出力は、さらに、フレームメモリ69に供給される。
フレームメモリ69、選択部70、イントラ予測部71、動き予測・補償部72、および選択部73は、画像符号化装置11aのフレームメモリ32、選択部33、イントラ予測部34、動き予測・補償部35、および予測画像選択部36にそれぞれ対応する。
選択部70は、インター処理される画像と参照される画像をフレームメモリ69から読み出し、動き予測・補償部72に供給する。また、選択部70は、イントラ予測に用いられる画像をフレームメモリ69から読み出し、イントラ予測部71に供給する。
イントラ予測部71には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報等が可逆復号部62から適宜供給される。イントラ予測部71は、この情報に基づいて、フレームメモリ69から取得した参照画像から予測画像を生成し、生成した予測画像を選択部73に供給する。
動き予測・補償部72には、ヘッダ情報を復号して得られた情報(予測モード情報、動きベクトル情報、参照フレーム情報、フラグ、および各種パラメータ等)が可逆復号部62から供給される。
動き予測・補償部72は、可逆復号部62から供給されるそれらの情報に基づいて、フレームメモリ69から取得した参照画像から予測画像を生成し、生成した予測画像を選択部73に供給する。
選択部73は、動き予測・補償部72またはイントラ予測部71により生成された予測画像を選択し、演算部65に供給する。
[画像復号装置の動作]
図4を参照して、以上のような画像復号装置11bにより実行される復号処理の流れの例を説明する。
復号処理が開始されると、ステップS51において、蓄積バッファ61は、伝送されてきた符号化データを蓄積する。ステップS52において、可逆復号部62は、蓄積バッファ61から供給される符号化データを復号する。図1の可逆符号化部26により符号化されたIピクチャ、Pピクチャ、並びにBピクチャが復号される。
ピクチャの復号に先立ち、動きベクトル情報、参照フレーム情報、予測モード情報(イントラ予測モード、またはインター予測モード)などのパラメータの情報も復号される。
予測モード情報がイントラ予測モード情報である場合、予測モード情報は、イントラ予測部71に供給される。予測モード情報がインター予測モード情報である場合、予測モード情報と対応する動きベクトル情報などは、動き予測・補償部72に供給される。
ステップS53において、イントラ予測部71または動き予測・補償部72は、可逆復号部62から供給される予測モード情報に対応して、それぞれ、予測画像生成処理を行う。
すなわち、可逆復号部62からイントラ予測モード情報が供給された場合、イントラ予測部71は、Most Probable Modeの生成を行い、並列処理により、イントラ予測モードのイントラ予測画像を生成する。可逆復号部62からインター予測モード情報が供給された場合、動き予測・補償部72は、インター予測モードの動き予測・補償処理を行い、インター予測画像を生成する。
この処理により、イントラ予測部71により生成された予測画像(イントラ予測画像)、または動き予測・補償部72により生成された予測画像(インター予測画像)が選択部73に供給される。
ステップS54において、選択部73は予測画像を選択する。すなわち、イントラ予測部71により生成された予測画像、または動き予測・補償部72により生成された予測画像が供給される。したがって、供給された予測画像が選択されて演算部65に供給され、後述するステップS57において逆直交変換部64の出力と加算される。
上述したステップS52において、可逆復号部62により復号された変換係数は、逆量子化部63にも供給される。ステップS55において、逆量子化部63は可逆復号部62により復号された変換係数を、図1の量子化部25の特性に対応する特性で逆量子化する。
ステップS56において逆直交変換部29は、逆量子化部28により逆量子化された変換係数を、図1の直交変換部24の特性に対応する特性で逆直交変換する。これにより図1の直交変換部24の入力(演算部23の出力)に対応する差分情報が復号されたことになる。
ステップS57において、演算部65は、上述したステップS54の処理で選択され、選択部73を介して入力される予測画像を差分情報と加算する。これにより元の画像が復号される。
ステップS58においてインループフィルタ31bは、演算部30より出力された画像に対して、デブロッキングフィルタ、および適応オフセットフィルタからなるフィルタ処理を行う。このとき、デブロッキングフィルタの垂直および水平、並びに適応オフセットフィルタの処理がパイプラインで行われる。このインループフィルタ処理の詳細は、図16を参照して後述される。インループフィルタ31bからの復号画像は、フレームメモリ69および画面並べ替えバッファ67に出力される。
ステップS59においてフレームメモリ69は、フィルタリングされた画像を記憶する。
ステップS60において、画面並べ替えバッファ67は、インループフィルタ31b後の画像の並べ替えを行う。すなわち画像符号化装置11aの画面並べ替えバッファ22により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
ステップS61において、D/A変換部68は、画面並べ替えバッファ67からの画像をD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
ステップS61の処理が終了すると、復号処理が終了される。
<従来の手法の説明>
HEVCにおいては、インループフィルタとして、デブロッキングフィルタ、および適応オフセットフィルタが採用されている。デブロッキングフィルタは、HEVCだけでなく、H.264及びMPEG(Moving Picture Experts Group)4 Part10(AVC(Advanced Video Coding))(以下H.264/AVCと称する)でも用いられているツールであるが、フィルタ処理の順番に違いがある。
H.264/AVCにおいては、マクロブロック単位で該当するVerticalEdge(垂直境界)、HorizontalEdge(水平境界)の順にフィルタ処理していたのに対し、HEVCにおいては、ピクチャ単位で該当する全垂直境界にフィルタを施し、その後に、該当する全水平境界にフィルタを施すように規定されている。
このため、Coding Unit(以下、CUと記す)やCoding Tree Unit(以下、CTUと記す)単位での処理との相性が悪い。
ここで、LCU(Largest Coding Unit)とCU(Coding Unit)について簡単に説明する。H.264/AVCにおいては、1つのマクロブロックを、複数の動き補償ブロックに分割し、それぞれに対して異なる動き情報を持たせることが可能であった。すなわち、H.264/AVC方式においては、マクロブロックとサブマクロブロックによる階層構造が規定されていた。これに対して、HEVC方式においては、コーディングユニット(CU)が規定されている。
CUは、H.264/AVC方式におけるマクロブロックと同様の役割を果たす、符号化(復号)の処理単位となる領域(ピクチャ単位の画像の部分領域)である。後者は、16×16画素の大きさに固定されているのに対し、前者の大きさは固定されておらず、それぞれのシーケンスにおいて、画像圧縮情報中において指定されることになる。
例えば、出力となる符号化データに含まれるシーケンスパラメータセット(SPS(Sequence Parameter Set))において、CUの最大サイズ(LCU(Largest Coding Unit))と最小サイズ((SCU(Smallest Coding Unit))が規定される。
それぞれのLCU内においては、SCUのサイズを下回らない範囲で、split-flag=1とすることにより、より小さなサイズのCUに分割することができる。
以上のHEVC方式のように、CUを定義し、そのCUを単位として各種処理を行うような符号化方式の場合、H.264/AVC方式におけるマクロブロックはLCUに相当し、ブロック(サブブロック)はCUに相当すると考えることができる。ただし、CUは、階層構造を有するので、その最上位階層のLCUのサイズは、例えば64×64画素のように、H.264/AVC方式のマクロブロックより大きく設定されることが一般的である。
よって、以下、LCUは、H.264/AVC方式におけるマクロブロックをも含むものとし、CUは、H.264/AVC方式におけるブロック(サブブロック)をも含むものとする。つまり、以下の説明に用いる「ブロック」は、ピクチャ内の任意の部分領域を示し、その大きさ、形状、および特性等は限定されない。つまり、「ブロック」には、例えば、TU、PU、SCU、CU、LCU、サブブロック、マクロブロック、またはスライス等任意の領域(処理単位)が含まれる。もちろん、これら以外の部分領域(処理単位)も含まれる。サイズや処理単位等を限定する必要がある場合は、適宜説明する。
また、本明細書において、CTU(Coding Tree Unit)は、LCU(最大数のCU)のCTB(Coding Tree Block)と、そのLCUベース(レベル)で処理するときのパラメータを含む単位であるとする。また、CTUを構成するCU(Coding Unit)は、CB(Coding Block)と、そのCUベース(レベル)で処理するときのパラメータを含む単位であるとする。
[HEVCのデブロッキングフィルタの説明]
図5を参照して、HEVC方式におけるデブロッキングフィルタについて説明する。図5の例においては、ピクチャにおけるCTU境界、CU境界、およびPU境界がそれぞれ示されている。
HEVCのデブロッキングフィルタは、ピクチャ全体で垂直境界にフィルタを施した後で、水平境界にフィルタを施す。
図5の拡大部分に示される数字は、フィルタ処理順を表している。2の処理が終わらないと3の処理ができず、左上のCTUの値が確定しない。すなわち、水平境界のフィルタは、次のCTUやCUとの垂直境界のフィルタの後でないとかけられない。換言するに、水平境界のフィルタの処理と、垂直境界のフィルタの処理との間には、フィルタ処理の依存関係が存在している。
以上のように、HEVCのデブロッキングフィルタは、CTUやCUで処理が閉じないので、CTUやCU単位で動作するデブロッキングフィルタの前段までの画像処理パイプラインと相性がよくない。
HEVCのリファレンスソフトウェアHMでも、デブロッキングフィルタ処理前の1ピクチャ分のローカルデコードが終了してから、ピクチャ全体に対して垂直境界にフィルタをかけるように関数を呼び出し、その後、ピクチャ全体の水平境界にフィルタをかけるように関数を呼び出す実装を採用している。
[HEVCの画像処理システムの構成]
図6は、HEVCの画像処理システムの構成例を示すブロック図である。図6の例においては、HM実装と同様のアーキテクチャでハードウエア実装した場合の画像処理システム101が示されている。
画像処理システム101は、画像処理装置11、およびDRAM(Dynamic Random Access Memory)などからなる外部メモリ111により構成されている。
画像処理装置11は、バス・外部メモリコントローラ121、DF(Deblocking Fillter)前処理画像処理部122、およびインループフィルタ31を含むように構成されている。
なお、図6の画像処理装置11は、図1に示した画像符号化装置11aおよび図3に示した画像復号装置11bに対応している。
バス・外部メモリコントローラ121は、内部バスと外部メモリ111とを接続する。バス・外部メモリコントローラ121には、外部メモリ111の他に、画像処理装置11の内部において、DF前処理画像処理部122、およびインループフィルタ31の各部が相互に接続されている。なお、以下、特に明記しなくても、DF前処理画像処理部122、およびインループフィルタ31の各部は、バス・外部メモリコントローラ121を介して、外部メモリ111にアクセスしている。
DF前処理画像処理部122は、CUやCTU単位に動作し、外部メモリ111からのピクチャデータを読み出して、デブロッキングフィルタ前処理までの画像処理を行い、デブロッキングフィルタ前のピクチャデータを順次外部メモリ111に書き込む。
なお、図6の画像処理装置11が、図1に示した画像符号化装置11aに対応している場合、DF前処理画像処理部122は、図1に示した画像符号化装置11aにおいて、インループフィルタ31aを除いた各部に対応し、インループフィルタ31は、インループフィルタ31aに対応する。
また、図6の画像処理装置11が、図3に示した画像復号装置11bに対応している場合、DF前処理画像処理部122は、図3に示した画像復号装置11bにおいて、インループフィルタ31bを除いた各部に対応し、インループフィルタ31は、インループフィルタ31bに対応する。
インループフィルタ31は、VE(VerticalEdge)デブロッキングフィルタ処理部131、HE(HorizontalEdge) デブロッキングフィルタ処理部132、およびSAO処理部133からなる。
VEデブロッキングフィルタ処理部131は、DF前処理画像処理部122により1ピクチャ分のデータが書き込まれたのを受けて動作を開始し、外部メモリ111のデータを読みながら、垂直境界にフィルタをかけていく。VEデブロッキングフィルタ処理部131は、フィルタ後のデータを、外部メモリ111に書き戻す。
HEデブロッキングフィルタ処理部132は、VEデブロッキングフィルタ処理部131によりフィルタが行われたデータを、外部メモリ111から読み込みながら、水平境界にフィルタをかけていく。HEデブロッキングフィルタ処理部132は、フィルタ後のデータを、外部メモリ111に書き戻す。
最後に、SAO処理部133は、HEデブロッキングフィルタ処理部132によりフィルタが行われたデータを、外部メモリ111から読み込みながら、適応オフセット処理を行う。SAO処理部133は、処理後のデータを、外部メモリ111に書き戻す。
なお、画像処理装置11が図1に示した画像符号化装置11aに対応している場合、SAO処理部133の前段には、SAOのパラメータなどを決定するフィルタ決定部などが備えられるが、本技術に直接的に関係がないので、その説明は省略される。
SAO処理部133により全てのピクセルデータが外部メモリ111に書き戻されると、ローカルデコードが完了となる。
しかしながら、このような構成においては、インループフィルタ31のフィルタ処理毎に外部メモリ111のリードアクセスとライトアクセスとが頻繁に発生する。例えば、4096×2160 4:2:0 8bit 60Pのシーケンスをリアルタイムで処理する場合、インループフィルタ31の全フィルタのDRAM帯域として、約38Gbpsが必要となる。
なお、インループフィルタ31の全フィルタのDRAM帯域とは、DF前処理画像処理部122のWrite、VEデブロッキングフィルタ処理部131乃至SAO処理部133の外部メモリ111に対する各Read,Writeを合わせた帯域である。
<3.第1の実施の形態>
[本技術の画像処理システムの構成例]
図7は、本技術を適用する画像処理システムの構成例を示すブロック図である。
図7の画像処理システム201は、図6のバス・外部メモリコントローラ121、DF前処理画像処理部122、およびインループフィルタ31を含む画像処理装置11、および外部メモリ111により構成されている。
ただし、図7の画像処理システム201は、DF前処理画像処理部122の処理後の出力先と、インループフィルタ31の構成のみが図6の画像処理システム101と異なっている。
図7のインループフィルタ31は、VEデブロッキングフィルタ処理部131、HEデブロッキングフィルタ処理部132、SAO処理部133、垂直ラインメモリ211、垂直・水平中間メモリ212、水平ラインメモリ213、およびSAOラインメモリ214を含むように構成されている。
すなわち、図7のインループフィルタ31は、VEデブロッキングフィルタ処理部131、HEデブロッキングフィルタ処理部132、およびSAO処理部133を備える点が、図6のインループフィルタ31と共通している。また、図7のインループフィルタ31は、V垂直ラインメモリ211、垂直・水平中間メモリ212、水平ラインメモリ213、およびSAOラインメモリ214が追加された点が、図6のインループフィルタ31と異なっている。
垂直ラインメモリ211、垂直・水平中間メモリ212、水平ラインメモリ213、およびSAOラインメモリ214は、例えば、SRAM(Static Random Access Memory)で構成される。
なお、垂直ラインメモリ211および垂直・水平中間メモリ212は、1つのSRAMで構成されてもよい。その際、垂直ラインメモリ211を除くことができる。点線に示されるように垂直ラインメモリ211を除く場合、垂直ラインメモリ211の代わりに、垂直・水平中間メモリ212にピクチャデータが一旦蓄積されて、点線矢印に示されるように、垂直・水平中間メモリ212のデータが読み出されて、VEデブロッキングフィルタ処理部131の処理が行われる。
図7の例において、DF前処理画像処理部122は、デブロッキングフィルタ前のピクチャデータをバス・外部メモリコントローラ121ではなく、VEデブロッキングフィルタ処理部131に直接出力する。
すなわち、DF前処理画像処理部122からのデブロッキングフィルタ前のピクチャデータは、CUまたはCTU単位毎に、順次、VEデブロッキングフィルタ処理部131に入力される。DF前処理画像処理部122の各部の並列度によって、1クロックサイクルに1画素(ピクセル)入力から、1クロックサイクルに複数画素入力まで様々な入力単位があり得るが、以下の説明においては、1クロックサイクルに4×4の16画素が同時入力される例について説明する。
また、輝度Yと色差Cb/Crの多重化方法もCUやCTUによって様々あり得るが、以下の説明においては、図8に示されるように、Yの4×4の16画素が16回入力され、次に、Cbの4×4の16画素が4回入力され、Crの4×4の16画素が4回入力されるように、DF前処理画像処理部122のパイプライン処理が構成されている場合について説明する。
なお、HEVCには、MB(マクロブロック)は存在しないが、このY,Cb,Crの多重化した単位を本明細書においてはMBと称する。そして、インループフィルタ31においては、MB毎に処理が行われる。このMBは、CTUの処理順番に応じて、VEデブロッキングフィルタ処理部131に入力される。また、4×4の16画素を、以下、ブロックとも適宜称する。
VEデブロッキングフィルタ処理部131は、入力されたブロックが、カレント(現在処理を行っている対象の)垂直境界において対応するブロックが入力されていないブロックである場合、そのブロックを垂直ラインメモリ211に一旦書き込む。VEデブロッキングフィルタ処理部131は、対応するブロックが入力された段階(すなわち、タイミング)で、垂直ラインメモリ211に書き込まれたブロックを読み出して、そのカレント垂直境界に対してフィルタ処理を行い、その結果を垂直・水平中間メモリ212に書き込む。
なお、本明細書において、カレント垂直境界(VerticalEdge)とは、カレント垂直境界に対してのデブロッキングフィルタをかける処理対象の領域であり、入力されたブロックとそのブロックに対応するブロックとが少なくとも含まれているものとする。また、カレント垂直境界において対応するブロックとは、カレント垂直境界内において、例えば、図5の1,2で示される垂直方向の実際の境界を挟んで対となる位置のブロックをいう。
HEデブロッキングフィルタ処理部132は、垂直・水平中間メモリ212に書き込まれたブロックを入力し、入力されたブロックが、カレント水平境界において対応するブロックが入力されていないブロックである場合、そのブロックを水平ラインメモリ213に一旦書き込む。HEデブロッキングフィルタ処理部132は、対応するブロックが入力された段階で、水平ラインメモリ213に書き込まれたブロックを読み出して、そのカレント水平境界に対してフィルタ処理を行い、その結果をSAO処理部133に出力する。
なお、本明細書において、カレント水平境界(HorizontalEdge)とは、カレント水平境界に対してのデブロッキングフィルタをかける処理対象の領域であり、入力されたブロックとそのブロックに対応するブロックとが少なくとも含まれているものとする。また、水平境界において対応するブロックとは、カレント水平境界内において、例えば、図5の3,4で示される水平方向の実際の境界を挟んで対となる位置のブロックをいう。
SAO処理部133は、MBのSAO処理を行うとともに、MBのブロックのうち、MBの下に隣接する下隣MBが入力されてから処理されるブロックや、下隣MBの処理に必要なブロック(画素)をSAOラインメモリ214に書き込む。SAO処理部133は、下隣MBが入力されると、SAOラインメモリ214に書き込まれたブロックを読み出し、下隣MBのSAO処理を行い、処理後の画素を、バス・外部メモリコントローラ121を介して、外部メモリ111に書き込む。
[VEデブロッキングフィルタ処理部の動作]
まず、VEデブロッキングフィルタ処理部131の動作について、図8乃至図11を参照して説明する。図8において、四角は、4×4の16画素を表しており、その四角に付されている数字は、VEデブロッキングフィルタ処理部131へのデータの入力順番を示す。図9は、垂直・水平中間メモリ212の書き込み状態の例が示されている。図10の例においては、垂直ラインメモリ211の書き込み状態の例が示されている。図11の例においては、ピクチャの右端MBの場合の垂直・水平中間メモリ212の書き込み状態の例が示されている。
VEデブロッキングフィルタ処理部131は、水平8ピクセル境界毎にフィルタ処理を行うので、当該MBにおける、図8の1,3,5,7,9,11,13,15,17,19,21,23が示されるブロックが入力された段階では、対応する(対となる位置の)ブロックがまだ入力されていない。したがって、この段階では、垂直境界のフィルタをかけることができない。
そこで、VEデブロッキングフィルタ処理部131は、これらのブロックの右隣に位置する右隣ブロックのピクセルデータが入力されるまで、これらのブロックのピクセルデータを、垂直ラインメモリ211に書き込んでおく。そして、VEデブロッキングフィルタ処理部131は、各ブロックの右隣ブロックのピクセルデータが入力される段階で、垂直ラインメモリ211に書き込んだピクセルデータを読み出す。VEデブロッキングフィルタ処理部131は、読み出されたブロックと対応するブロックからなる垂直境界に対してフィルタ処理を行う。
各ブロックの右隣ブロックとは、具体的には、図8の例の場合、1が示されるブロックについては、当該MBの4が示されるブロックであり、3が示されるブロックについては、当該MBの6が示されるブロックである。また、5が示されるブロックについては、当該MBの右隣に位置する右隣MBの0が示されるブロックであり、7が示されるブロックについては、右隣MBの2が示されるブロックである。
9が示されるブロックについては、当該MBの12が示されるブロックであり、11が示されるブロックについては、当該MBの14が示されるブロックである。また、13が示されるブロックについては、右隣MBの8が示されるブロックであり、15が示されるブロックについては、右隣MBの10が示されるブロックである。
さらに、17が示されるブロックについては、右隣MBの16が示されるブロックであり、19が示されるブロックについては、右隣MBの18が示されるブロックである。同様に、21が示されるブロックについては、右隣MBの20が示されるブロックであり、23が示されるブロックについては、右隣MBの22が示されるブロックである。
VEデブロッキングフィルタ処理部131は、フィルタ処理が行われたブロックを、順次、水平・垂直中間メモリ212に書き込む。
Yについては、水平・垂直中間メモリ212には、図9に示されるように、当該MBの左隣に位置する左隣MBの右側の4×16画素(すなわち、5,7,13,15が示される4ブロック)と、当該MBの左側12×16画素(すなわち、0,1,2,3,4,6,8,9,10,11,12,14が示される12ブロック)とを合わせた16×16画素のデータが、図8の対応する位置のブロックに示される数字の順に書き込まれる。
すなわち、図9のYの16×16画素のデータが、左隣MBの5,当該MBの0, 左隣MBの7, 当該MBの2, 当該MBの1, 当該MBの4, 当該MBの3, 当該MBの6, 左隣MBの13, 当該MBの8, 左隣MBの15, 当該MBの10, 当該MBの9, 当該MBの12, 当該MBの11, 当該MBの14が示されるブロックの順に書き込まれる。
また、Cbについては、水平・垂直中間メモリ212には、図9に示されるように、左隣MBの右側の4×8画素(すなわち、17,19が示される2ブロック)と、当該MBの左側4×8画素(すなわち、16,18が示される2ブロック)とを合わせた8×8画素のデータが、図8の対応する位置のブロックに示される数字の順に書き込まれる。
すなわち、図9のCbの8×8画素のデータが、左隣MBの17, 当該MBの16, 左隣MBの19, 当該MBの18が示されるブロックの順に書き込まれる。
同様に、Crについては、水平・垂直中間メモリ212には、図9に示されるように、左隣MBの右側の4×8画素(すなわち、21,23が示される2ブロック)と、当該MBの左側4×8画素(すなわち、20,22が示される2ブロック)とを合わせた8×8画素のデータが、図8の対応する位置のブロックに示される数字の順に書き込まれる。
すなわち、図9のCrの8×8画素のデータが、左隣MBの21, 当該MBの20, 左隣MBの23, 当該MBの22が示されるブロックの順に書き込まれる。
VEデブロッキングフィルタ処理部131に1MB分のピクセルデータの入力が完了した段階では、垂直ラインメモリ211には、図10に示されるように、Yの右側4×16画素と、CbおよびCrの右側4×8画素のデータが保存され、それらの各右隣ブロックがVEデブロッキングフィルタ処理部131に入力されるのを待っている。
なお、ピクチャの右端MBにおいては、右隣MBとのフィルタ処理がないので、垂直ラインメモリ211への書き込みは発生しない。この場合、Yについては、水平・垂直中間メモリ212には、図11に示されるように、当該MBの左隣に位置する左隣MBの右側の4×16画素(すなわち、5,7,13,15が示される4ブロック)と、当該MBの16×16画素(すなわち、0,1,2,3,4,6,8,9,10,11,12,14,5,7,13,15が示される16ブロック)とを合わせた20×16画素のデータが書き込まれる。
また、Cbについては、水平・垂直中間メモリ212には、図11に示されるように、左隣MBの右側の4×8画素(すなわち、17,19が示される2ブロック)と、当該MBの8×8画素(すなわち、16,18,17,19が示される4ブロック)とを合わせた12×8画素のデータが書き込まれる。
同様に、Crについては、水平・垂直中間メモリ212には、図11に示されるように、左隣MBの右側の4×8画素(すなわち、21,23が示される2ブロック)と、当該MBの8×8画素(すなわち、20,22,21,23が示される4ブロック)とを合わせた12×8画素のデータが書き込まれる。
以上の処理を行うために、垂直ラインメモリ211の容量は、64×64CTUを考慮して、Yの4×64画素とCb/Crの4×32画素ずつを保存しておけばよいので、512Byte(=4*64+4*32*2)ほど必要となる。水平・垂直中間メモリ212の容量は、Yの20×16画素とCb/Crの12×8画素ずつを2セットあれば滞りなく処理を続けることが可能であり、1024Byte(=(20*16+12*8*2)*2)あればよい。
[HEデブロッキングフィルタ処理部の動作]
次に、HEデブロッキングフィルタ処理部132の動作について、図12および図13を参照して説明する。図12において、四角は、4×4の16画素を表しており、その四角に付されている数字は、水平・垂直中間メモリ212のデータの読み出し順番を示している。図13において、四角は、4×4の16画素を表しており、その四角に付されている数字は、ピクチャの右端MBの場合の水平・垂直中間メモリ212のデータの読み出し順番を示している。
HEデブロッキングフィルタ処理部132は、垂直8ピクセル境界毎にフィルタ処理を行うので、水平・垂直中間メモリ212のデータを、図12または図13に示される数字の昇順、すなわち、MBの縦方向に読み出す。
HEデブロッキングフィルタ処理部132は、当該MBの上に位置する上隣MBが存在する場合、図12の0,4,8,12,16,18,20,22に示されるブロックのデータを読み出す段階に合わせて、水平ラインメモリ213から、上隣MBの下側4ラインのデータを読み出す。HEデブロッキングフィルタ処理部132は、読み出されたブロックと対応する(対となる位置の)ブロックからなる水平境界に対してフィルタ処理を行う。
図13の例においては、HEデブロッキングフィルタ処理部132は、当該MBの上に位置する上隣MBが存在する場合、0,4,8,12,16,20,22,24,26,28,30に示されるブロックのデータを読み出す段階に合わせて、水平ラインメモリ213から、上隣MBの下側4ラインのデータを読み出し、対となるブロックにおいてフィルタ処理を行う。
上隣MBが存在しない場合、HEデブロッキングフィルタ処理部132は、水平ラインメモリ213からデータを読み出さない。
当該MBがピクチャの下端MBではないとき、HEデブロッキングフィルタ処理部132は、図12の3,7,11,15,17,19,21,23に示されるブロックと、図13の3,7,11,15,19,21,23,25,27,29,31に示されるブロックについて、対応するブロックの下隣に位置する下隣MBが入力されるまでフィルタをかけることができない。
そこで、HEデブロッキングフィルタ処理部132は、これらのブロックの下隣MBのピクセルデータが入力されるまで、これらのブロックのピクセルデータを、水平ラインメモリ213に書き込んでおく。そして、HEデブロッキングフィルタ処理部132は、各ブロックの下隣ブロックのピクセルデータが入力される段階で、水平ラインメモリ213に書き込んだピクセルデータを読み出す。HEデブロッキングフィルタ処理部132は、読み出されたブロックと対応するブロックからなる水平境界に対してフィルタ処理を行う。
HEデブロッキングフィルタ処理部132は、フィルタ処理が行われたブロックのピクセルデータを、順次、SAO処理部133に出力する。
以上の処理を行うための水平ラインメモリ213の必要容量は、画像処理装置11が処理可能なピクチャの最大水平ピクセル数によって異なる。例えば、最大4096ピクセルが処理可能な場合、Yの4096×4ピクセルとCb/Crの2048×4ピクセルずつを保存するので、32kByte(=(4096*4+2048*4*2)/1024)の容量になる。
なお、上述したように、当該MBがピクチャの下端MBではないとき、図12の3,7,11,15,17,19,21,23に示されるブロックと、図13の3,7,11,15,19,21,23,25,27,29,31に示されるブロックのピクセルデータとが、水平ラインメモリ213に書き込きこまれる。これらのフィルタ処理が完了していないMBにおける下側4ラインのデータのうち、1番上の1ラインは、水平境界へのデブロッキングフィルタ処理で値が変化しないので、水平ラインメモリ213への書き込みとともに、SAO処理部133のエッジオフセット処理の比較用ピクセルデータとして、SAO処理部133に出力される。
なお、フィルタ処理により値が変わらないのは、1番上の1ラインであるが、MBにおける下側4ラインのデータを4ラインともSAO処理部133に出力されるようにしてもよい。この場合、下側4ラインのデータの3ラインは、フィルタ処理後のデータで上書きされる。
[HEデブロッキングフィルタ処理部の出力方法]
図14の例においては、処理領域がピクチャの画面端にない場合のMBにおけるブロックのHEデブロッキングフィルタ処理部132からの出力順が示されている。
まず、Yについて説明する。例えば、左上隣MBであるMBA (N-L-1)の0が示されるブロックと、上隣MBであるMBA(N-L)の5,22,27が示されるブロックが水平ラインメモリ213に書き込まれているところに、左隣MBであるMBA (N-1)の1が示されるブロックがHEデブロッキングフィルタ処理部132に入力されてくる。
HEデブロッキングフィルタ処理部132は、0が示されるブロックを水平ラインメモリ213から読み出す。そして、HEデブロッキングフィルタ処理部132は、0が示されるブロックと1が示されるブロックとに水平境界のデブロッキングフィルタ処理を行い、それらのブロックをSAO処理部133に出力する。
次に、左隣MBであるMBA (N-1)の2が示されるブロックと3が示されるブロックとがHEデブロッキングフィルタ処理部132に入力されてくる。HEデブロッキングフィルタ処理部132は、2が示されるブロックと3が示されるブロックとに水平境界のデブロッキングフィルタ処理を行い、それらのブロックをSAO処理部133に出力する。
その後、左隣MBであるMBA (N-1)の4が示されるブロックがHEデブロッキングフィルタ処理部132に入力されてくる。4が示されるブロックは、MBA (N-1)の下隣のMBにおける右上のブロックが入力されるまでフィルタ処理ができないので、水平ラインメモリ213へ書き込まれる。その際、4が示されるブロックの1番上の1ラインは、水平境界へのデブロッキングフィルタ処理で値が変化しないので、SAO処理部133のエッジオフセット処理の比較用ピクセルデータとして、SAO処理部133に出力される。
同様に、当該MBであるMBA Nの6が示されるブロックがHEデブロッキングフィルタ処理部132に入力されてくる。HEデブロッキングフィルタ処理部132は、5が示されるブロックを水平ラインメモリ213から読み出す。HEデブロッキングフィルタ処理部132は、5が示されるブロックと6が示されるブロックとに水平境界のデブロッキングフィルタ処理を行い、それらのブロックをSAO処理部133に出力する。
次に、MBA Nの7が示されるブロックと8が示されるブロックとが順にHEデブロッキングフィルタ処理部132に入力されてくる。HEデブロッキングフィルタ処理部132は、7が示されるブロックと8が示されるブロックとに水平境界のデブロッキングフィルタ処理を行い、それらのブロックをSAO処理部133に出力する。
その後、MBA Nの9が示されるブロックがHEデブロッキングフィルタ処理部132に入力されてくる。9が示されるブロックは、MBA Nの下隣のMBにおける左上のブロックが入力されるまでフィルタ処理ができないので、水平ラインメモリ213へ書き込まれる。その際、9が示されるブロックの1番上の1ラインは、水平境界へのデブロッキングフィルタ処理で値が変化しないので、SAO処理部133のエッジオフセット処理の比較用ピクセルデータとして、SAO処理部133に出力される。
Cbについて説明する。例えば、左上隣MBであるMBA (N-L-1)の10が示されるブロックと、上隣MBであるMBA(N-L)の13が示されるブロックが水平ラインメモリ213に書き込まれているところに、左隣MBであるMBA (N-1)の11が示されるブロックがHEデブロッキングフィルタ処理部132に入力されてくる。
HEデブロッキングフィルタ処理部132は、10が示されるブロックを水平ラインメモリ213から読み出す。そして、HEデブロッキングフィルタ処理部132は、10が示されるブロックと11が示されるブロックとに水平境界のデブロッキングフィルタ処理を行い、それらのブロックをSAO処理部133に出力する。
次に、左隣MBであるMBA (N-1)の12が示されるブロックが順にHEデブロッキングフィルタ処理部132に入力されてくる。12が示されるブロックは、MBA (N-1)の下隣のMBにおける右上のブロックが入力されるまでフィルタ処理ができないので、水平ラインメモリ213へ書き込まれる。その際、12が示されるブロックの1番上の1ラインは、水平境界へのデブロッキングフィルタ処理で値が変化しないので、SAO処理部133のエッジオフセット処理の比較用ピクセルデータとして、SAO処理部133に出力される。
同様に、当該MBであるMBA Nの14が示されるブロックがHEデブロッキングフィルタ処理部132に入力されてくる。HEデブロッキングフィルタ処理部132は、13が示されるブロックを水平ラインメモリ213から読み出す。HEデブロッキングフィルタ処理部132は、13が示されるブロックと14が示されるブロックとに水平境界のデブロッキングフィルタ処理を行い、それらのブロックをSAO処理部133に出力する。
次に、MBA Nの15が示されるブロックがHEデブロッキングフィルタ処理部132に入力されてくる。15が示されるブロックは、MBA Nの下隣のMBにおける左上のブロックが入力されるまでフィルタ処理ができないので、水平ラインメモリ213へ書き込まれる。その際、15が示されるブロックの1番上の1ラインは、水平境界へのデブロッキングフィルタ処理で値が変化しないので、SAO処理部133のエッジオフセット処理の比較用ピクセルデータとして、SAO処理部133に出力される。
Crについて説明する。例えば、左上隣MBであるMBA (N-L-1)の16が示されるブロックと、上隣MBであるMBA(N-L)の19が示されるブロックが水平ラインメモリ213に書き込まれているところに、左隣MBであるMBA (N-1)の17が示されるブロックがHEデブロッキングフィルタ処理部132に入力されてくる。
HEデブロッキングフィルタ処理部132は、16が示されるブロックを水平ラインメモリ213から読み出す。そして、HEデブロッキングフィルタ処理部132は、16が示されるブロックと17が示されるブロックとに水平境界のデブロッキングフィルタ処理を行い、それらのブロックをSAO処理部133に出力する。
次に、左隣MBであるMBA (N-1)の18が示されるブロックが順にHEデブロッキングフィルタ処理部132に入力されてくる。18が示されるブロックは、MBA (N-1)の下隣のMBにおける右上のブロックが入力されるまでフィルタ処理ができないので、水平ラインメモリ213へ書き込まれる。その際、18が示されるブロックの1番上の1ラインは、水平境界へのデブロッキングフィルタ処理で値が変化しないので、SAO処理部133のエッジオフセット処理の比較用ピクセルデータとして、SAO処理部133に出力される。
同様に、当該MBであるMBA Nの20が示されるブロックがHEデブロッキングフィルタ処理部132に入力されてくる。HEデブロッキングフィルタ処理部132は、19が示されるブロックを水平ラインメモリ213から読み出す。HEデブロッキングフィルタ処理部132は、19が示されるブロックと20が示されるブロックとに水平境界のデブロッキングフィルタ処理を行い、それらのブロックをSAO処理部133に出力する。
次に、MBA Nの21が示されるブロックがHEデブロッキングフィルタ処理部132に入力されてくる。21が示されるブロックは、MBA Nの下隣のMBにおける左上のブロックが入力されるまでフィルタ処理ができないので、水平ラインメモリ213へ書き込まれる。その際、21が示されるブロックの1番上の1ラインは、水平境界へのデブロッキングフィルタ処理で値が変化しないので、SAO処理部133のエッジオフセット処理の比較用ピクセルデータとして、SAO処理部133に出力される。
再度Yについて説明する。さらに、当該MBであるMBA Nの23が示されるブロックがHEデブロッキングフィルタ処理部132に入力されてくる。HEデブロッキングフィルタ処理部132は、22が示されるブロックを水平ラインメモリ213から読み出す。HEデブロッキングフィルタ処理部132は、22が示されるブロックと23が示されるブロックとに水平境界のデブロッキングフィルタ処理を行い、それらのブロックをSAO処理部133に出力する。
次に、MBA Nの24が示されるブロックと25が示されるブロックとが順にHEデブロッキングフィルタ処理部132に入力されてくる。HEデブロッキングフィルタ処理部132は、24が示されるブロックと25が示されるブロックとに水平境界のデブロッキングフィルタ処理を行い、それらのブロックをSAO処理部133に出力する。
その後、MBA Nの26が示されるブロックがHEデブロッキングフィルタ処理部132に入力されてくる。26が示されるブロックは、MBA Nの下隣のMBにおける左上のブロックの1つ右隣のブロックが入力されるまでフィルタ処理ができないので、水平ラインメモリ213へ書き込まれる。その際、26が示されるブロックの1番上の1ラインは、水平境界へのデブロッキングフィルタ処理で値が変化しないので、SAO処理部133のエッジオフセット処理の比較用ピクセルデータとして、SAO処理部133に出力される。
同様に、当該MBであるMBA Nの28が示されるブロックがHEデブロッキングフィルタ処理部132に入力されてくる。HEデブロッキングフィルタ処理部132は、27が示されるブロックを水平ラインメモリ213から読み出す。HEデブロッキングフィルタ処理部132は、27が示されるブロックと28が示されるブロックとに水平境界のデブロッキングフィルタ処理を行い、それらのブロックをSAO処理部133に出力する。
次に、MBA Nの29が示されるブロックと30が示されるブロックとが順にHEデブロッキングフィルタ処理部132に入力されてくる。HEデブロッキングフィルタ処理部132は、29が示されるブロックと30が示されるブロックとに水平境界のデブロッキングフィルタ処理を行い、それらのブロックをSAO処理部133に出力する。
その後、MBA Nの31が示されるブロックがHEデブロッキングフィルタ処理部132に入力されてくる。31が示されるブロックは、MBA Nの下隣のMBにおける右上のブロックの1つ左隣のブロックが入力されるまでフィルタ処理ができないので、水平ラインメモリ213へ書き込まれる。その際、31が示されるブロックの1番上の1ラインは、水平境界へのデブロッキングフィルタ処理で値が変化しないので、SAO処理部133のエッジオフセット処理の比較用ピクセルデータとして、SAO処理部133に出力される。
以上のように、4,9,12,15,18,21,26,31が示されるブロックを水平ラインメモリ213に書き込む際(すなわち、フィルタ処理の前)に、4,9,12,15,18,21,26,31が示されるブロックのL2に示される1番上の1ラインをSAO処理部133に出力する。これにより、SAO処理部133におけるL1に示される、3,8,11,14,17,20,25,30のエッジオフセット処理の比較処理を、下のMBのブロックの入力と処理とを待たずに行うことができる。
なお、3,8,11,14,17,20,25,30が示されるブロックのL1に示される1番下の1ラインは、SAOラインメモリ214に書き込まれ、そのラインのピクセルデータは、下隣MBの処理に移動したときにエッジオフセット処理で利用される。
また、4,9,12,15,18,21,26,31が示されるブロックのL2に示される1番上の1ラインは、下隣MBの処理に移動したときに再度HEデブロッキングフィルタ処理部132からSAO処理部133に出力される。
なお、本実施例において、垂直ラインメモリ211と垂直・水平中間メモリ212の合計サイズは1.5kByteあればよく、水平ラインメモリ213は、32kByteあればよく、SAOラインメモリ214は、8kByteあればよい。
以上のように、図7のインループフィルタの構成により、図6の構成の場合に、インループフィルタ31の全フィルタのDRAM帯域として必要となっていた約38Gbpsが、SAO処理部133のWriteの帯域である約5.9Gbpsほどに減少する。
また、上述したようにインループフィルタ31内部に各ラインメモリを設け、各ラインメモリにピクセルデータを書き込むようにしたことで、インループフィルタ31においては、次のようにパイプライン処理を行うことが可能である。
[インループフィルタのパイプライン処理]
次に、図15を参照して、インループフィルタ31のパイプライン処理について説明する。図15の例においては、YのCtbサイズが32の場合の例が示されており、例えば、Yの24が示されるブロックがVEデブロッキングフィルタ処理部131に入力されるところから説明する。
Yの24が示されるブロックがVEデブロッキングフィルタ処理部131に入力されるとき、垂直ラインメモリ211のアドレス0から5が示されるブロックが読み出される。VEデブロッキングフィルタ処理部131は、5,24が示されるブロックの垂直境界に対してフィルタ処理を行い、その結果を、垂直・水平中間メモリ212のアドレス32,36にそれぞれ書き込む。
次に、25が示されるブロックが、垂直ラインメモリ211のアドレス0に書き込まれる。また、26が示されるブロックがVEデブロッキングフィルタ処理部131に入力されるとき、垂直ラインメモリ211のアドレス1から7が示されるブロックが読み出される。VEデブロッキングフィルタ処理部131は、7,26が示されるブロックの垂直境界に対してフィルタ処理を行い、その結果を、垂直・水平中間メモリ212のアドレス33,37にそれぞれ書き込む。
さらに、27が示されるブロックが、垂直ラインメモリ211のアドレス1に書き込まれる。また、28が示されるブロックがVEデブロッキングフィルタ処理部131に入力されるとき、垂直ラインメモリ211のアドレス0から25が示されるブロックが読み出される。VEデブロッキングフィルタ処理部131は、25,28が示されるブロックの垂直境界に対してフィルタ処理を行い、その結果を、垂直・水平中間メモリ212のアドレス40,44にそれぞれ書き込む。
また、29が示されるブロックは、ピクチャの右端のため、VEデブロッキングフィルタ処理部131の処理なしに、そのまま、垂直・水平中間メモリ212のアドレス48に書き込まれる。
これらの処理がなされている間、垂直・水平中間メモリ212のアドレス4から0が示されるブロックが読み出され、HEデブロッキングフィルタ処理部132の処理なしにそのままSAO処理部133に出力される。
次に、垂直・水平中間メモリ212のアドレス5,6から2,8がそれぞれ示されるブロックが読み出され、HEデブロッキングフィルタ処理部132に入力される。HEデブロッキングフィルタ処理部132は、2,8が示されるブロックの水平境界に対してフィルタ処理を行い、その結果を、SAO処理部133に出力する。
また、垂直・水平中間メモリ212のアドレス7から10が示されるブロックが読み出され、水平ラインメモリ213に書き込まれるとともに、そのブロックの少なくとも上1ラインがそのままSAO処理部133に出力される。
同様に、垂直・水平中間メモリ212のアドレス22から16が示されるブロックが読み出され、HEデブロッキングフィルタ処理部132の処理なしにそのままSAO処理部133に出力される。また、垂直・水平中間メモリ212のアドレス23から18が示されるブロックが読み出され、水平ラインメモリ213に書き込まれるとともに、そのブロックの少なくとも上1ラインがそのままSAO処理部133に出力される。
以上のようにすることで、図7のインループフィルタ31においては、VEデブロッキングフィルタ処理部131、HEデブロッキングフィルタ処理部132、およびSAO処理部133によりパイプライン処理を行うことができる。
[インループフィルタの処理]
次に、図16のフローチャートを参照して、図7のインループフィルタ31により行われるインループフィルタ処理について説明する。この処理は、図2のステップS22または図4のステップS58におけるインループフィルタ処理である。
DF前処理画像処理部122(図1の演算部30または図3の演算部65)より、インループフィルタ31のVEデブロッキングフィルタ処理部131に復号画像データが供給される。例えば、復号画像のピクセルデータが、16×16ピクセル単位で入力される。
VEデブロッキングフィルタ処理部131は、ステップS111において垂直境界のデブロッキングフィルタ処理を行う。垂直境界のデブロッキングフィルタ処理の詳細については、図17を参照して後述される。
VEデブロッキングフィルタ処理部131は、必要に応じて、垂直ラインメモリ211にピクセルデータを書き込み、読み出しながら、垂直境界のデブロッキングフィルタ処理を行う。VEデブロッキングフィルタ処理部131により処理されたピクセルデータは、垂直・水平中間メモリ212に書き込まれる。
HEデブロッキングフィルタ処理部132は、水平・垂直中間メモリ212に、例えば、16×16ピクセル単位のピクセルデータが書き込まれると、ステップS112において水平境界のデブロッキングフィルタ処理を行う。
水平境界のデブロッキングフィルタ処理の詳細については、図18を参照して後述される。HEデブロッキングフィルタ処理部132は、必要に応じて、水平ラインメモリ213にピクセルデータを書き込み、読み出しながら、水平境界のデブロッキングフィルタ処理を行う。HEデブロッキングフィルタ処理部132により処理されたピクセルデータは、SAO処理部133に出力される。
SAO処理部133は、ステップS113において、SAO処理を行う。SAO処理部133は、必要に応じて、SAOラインメモリ214にピクセルデータを書き込み、読み出しながら、SAO処理を行う。
なお、SAO処理は、CTU単位で、オフセットの種類(エッジ/バンド)やそのパラメータが決定され、決定された種類とパラメータを用いて処理が行われる(符号化側)。また、復号側では、符号化側から送られてきた種類とパラメータが用いられて処理が行われる。
ただし、PCM(符号化なしで画像データを出力する)モードやTrans Quant(量子化しない)などのパラメータは、CTUの下のレイヤ(CUレベル)で設定され、その中に、SAOをかけないなどのフラグもある。その場合のSAO処理においては、CTUのパラメータだけでなく、CUのパラメータも参照される。
SAO処理が行われたピクセルデータは、バス・外部メモリコントローラ121を介して、外部メモリ111に書き込まれる。
なお、外部メモリ111に書き込まれたピクセルデータのうち、必要なものは、DF前処理画像処理部122(例えば、図1のフレームメモリ32または図3のフレームメモリ69)に読み出されて次の処理に用いられる。
[垂直境界のデブロッキングフィルタ処理]
次に、図17のフローチャートを参照して、図16のステップS111の垂直境界のデブロッキングフィルタ処理について説明する。なお、この処理は、16×16画素(いまMBという)単位で行われ、また、1クロックサイクルに4×4の16画素(ブロック)が同時に入力される
ステップS131において、VEデブロッキングフィルタ処理部131はMBにおける当該ブロック(4×4)がピクチャの右端であるか否かを判定する。ステップS131において、ピクチャの右端であると判定された場合、処理は、ステップS135に進む。
ステップS135において、当該ブロックは、VEデブロッキングフィルタ処理部131の処理なしに、そのまま、垂直・水平中間メモリ212に書き込まれる。
また、ステップS131において、ピクチャの右端ではないと判定された場合、処理は、ステップS132に進む。
ステップS132において、VEデブロッキングフィルタ処理部131は当該ブロックがカレント垂直境界における右側のブロックであるか否かを判定する。ステップS132において、当該ブロックがカレント垂直境界における右側のブロックであると判定された場合、処理は、ステップS133に進む。この場合、当該ブロックに対応する、カレント垂直境界における左側のブロックは、今回より前の本処理におけるステップS136により垂直ラインメモリ211に書き込まれている。
ステップS133において、VEデブロッキングフィルタ処理部131は、当該ブロックに対応する、カレント垂直境界における左側のブロックを垂直ラインメモリ211から読み出す。ステップS134において、VEデブロッキングフィルタ処理部131は、当該ブロックと、ステップS133において読み出されたブロックのカレント垂直境界に、デブロッキングフィルタ処理を行う。
ステップS135において、VEデブロッキングフィルタ処理部131は、フィルタ処理後のブロックを、垂直・水平中間メモリ212に書き込む。
一方、ステップS132において、当該ブロックがカレント垂直境界における右側のブロックではない、すなわち、左側のブロックであると判定された場合、処理は、ステップS136に進む。
ステップS136において、VEデブロッキングフィルタ処理部131は、当該ブロックを、垂直ラインメモリ211に書き込む。
ステップS137において、VEデブロッキングフィルタ処理部131は、当該ブロックがMB最後のブロックであるか否かを判定する。ステップS137において、当該ブロックがMB最後のブロックであると判定された場合、垂直境界のデブロッキングフィルタ処理は終了し、処理は、図16のステップS111に戻る。
ステップS137において、当該ブロックがMB最後のブロックではないと判定された場合、処理は、ステップS131に戻り、次のブロックに対してそれ以降の処理が繰り返される。
[水平境界のデブロッキングフィルタ処理]
次に、図18のフローチャートを参照して、図16のステップS112の水平境界のデブロッキングフィルタ処理について説明する。なお、この処理は、垂直・水平中間メモリ212に16×16画素(MB)単位が書き込まれた段階で開始される。また、1クロックサイクルに4×4の16画素(ブロック)が同時に入力される。
ステップS151において、HEデブロッキングフィルタ処理部132はMBにおける当該ブロック(4×4)がピクチャの下端であるか否かを判定する。ステップS151において、ピクチャの下端であると判定された場合、処理は、ステップS155に進む。
ステップS155において、当該ブロックは、HEデブロッキングフィルタ処理部132の処理なしに、そのまま、SAO処理部133に出力される。
また、ステップS151において、ピクチャの下端ではないと判定された場合、処理は、ステップS152に進む。
ステップS152において、HEデブロッキングフィルタ処理部132は当該ブロックがカレント水平境界における下側のブロックであるか否かを判定する。ステップS152において、当該ブロックがカレント水平境界における下側のブロックであると判定された場合、処理は、ステップS153に進む。この場合、当該ブロックに対応する、カレント水平境界における上側のブロックは、今回より前の本処理におけるステップS156により水平ラインメモリ213に書き込まれている。
ステップS153において、HEデブロッキングフィルタ処理部132は、当該ブロックに対応する、カレント水平境界における上側のブロックを水平ラインメモリ213から読み出す。ステップS154において、HEデブロッキングフィルタ処理部132は、当該ブロックと、ステップS153において読み出されたブロックのカレント水平境界に、デブロッキングフィルタ処理を行う。
ステップS155において、HEデブロッキングフィルタ処理部132は、フィルタ処理後のブロックを、SAO処理部133に出力する。
一方、ステップS152において、当該ブロックがカレント水平境界における下側のブロックではない、すなわち、上側のブロックであると判定された場合、処理は、ステップS156に進む。
ステップS156において、HEデブロッキングフィルタ処理部132は、当該ブロックを、水平ラインメモリ213に書き込む。そして、ステップS157において、HEデブロッキングフィルタ処理部132は、当該ブロックがMBの下端であるか否かを判定する。ステップS157において、MBの下端であると判定された場合、処理は、ステップS158に進む。ステップS158において、HEデブロッキングフィルタ処理部132は、当該ブロック(少なくとも上1ライン)をSAO処理部133に出力する。
また、ステップS157において、MBの下端ではないと判定された場合、ステップS158はスキップされ、処理は、ステップS159に進む。ステップS159において、HEデブロッキングフィルタ処理部132は、当該ブロックがMB最後のブロックであるか否かを判定する。ステップS159において、当該ブロックがMB最後のブロックであると判定された場合、水平境界のデブロッキングフィルタ処理は終了し、処理は、図16のステップS112に戻る。
ステップS159において、当該ブロックがMB最後のブロックではないと判定された場合、処理は、ステップS151に戻り、次のブロックに対してそれ以降の処理が繰り返される。
以上のように、本技術によれば、符号化または復号処理に必要な外部メモリ(DRAM)へのアクセス数を削減することができる。
また、本技術によれば、デブロッキングフィルタ処理やSAO処理をパイプラインで処理することができる。すなわち、デブロッキングフィルタ処理やSAO処理を前段までの画像処理パイプラインと同じLCUやCU単位で行うことができるので、前段までの画像処理パイプラインに組込むことができる。これにより、ローカルデコード完了までの遅延時間を小さくすることができる。
以上においては、符号化方式としてHEVC方式をベースに用いるようにした。ただし、本開示はこれに限らず、インループフィルタとして、デブロッキングフィルタ、および適応オフセットフィルタを含む、その他の符号化方式/復号方式を適用することができる。
なお、本開示は、例えば、HEVC方式等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本開示は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。
<4.第2の実施の形態>
[パーソナルコンピュータ]
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどが含まれる。
図19は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータのハードウエアの構成例を示すブロック図である。
パーソナルコンピュータ500において、CPU(Central Processing Unit)501,ROM(Read Only Memory)502,RAM(Random Access Memory)503は、バス504により相互に接続されている。
バス504には、さらに、入出力インタフェース510が接続されている。入出力インタフェース510には、キーボード、マウス、マイクロホンなどよりなる入力部511、ディスプレイ、スピーカなどよりなる出力部512、ハードディスクや不揮発性のメモリなどよりなる記憶部513、ネットワークインタフェースなどよりなる通信部514、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア521を駆動する及びドライブ515が接続されている。
入力部511は、キーボード、マウス、マイクロホンなどよりなる。出力部512は、ディスプレイ、スピーカなどよりなる。記憶部513は、ハードディスクや不揮発性のメモリなどよりなる。通信部514は、ネットワークインタフェースなどよりなる。ドライブ515は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア521を駆動する。
以上のように構成されるパーソナルコンピュータ500では、CPU501が、例えば、記憶部513に記憶されているプログラムを、入出力インタフェース510及びバス504を介して、RAM503にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU501)が実行するプログラムは、例えば、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等)、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディア等としてのであるリムーバブルメディア521に記録して提供することができる。また、あるいは、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができるされる。
コンピュータではそして、プログラムは、リムーバブルメディア521をドライブ515に装着することにより、入出力インタフェース510を介して、記憶部513にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部514で受信し、記憶部513にインストールすることができる。その他、プログラムは、ROM502や記憶部513に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要な段階で処理が行われるプログラムであっても良い。
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。つまり、本技術は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
上述した実施形態に係る画像符号化装置及び画像復号装置は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
<5.応用例>
[第1の応用例:テレビジョン受像機]
図20は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース909、制御部910、ユーザインタフェース911、及びバス912を備える。
チューナ902は、アンテナ901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ902は、復調により得られた符号化ビットストリームをデマルチプレクサ903へ出力する。即ち、チューナ902は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送手段としての役割を有する。
デマルチプレクサ903は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ904へ出力する。また、デマルチプレクサ903は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部910に供給する。なお、デマルチプレクサ903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
デコーダ904は、デマルチプレクサ903から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ904は、復号処理により生成される映像データを映像信号処理部905へ出力する。また、デコーダ904は、復号処理により生成される音声データを音声信号処理部907へ出力する。
映像信号処理部905は、デコーダ904から入力される映像データを再生し、表示部906に映像を表示させる。また、映像信号処理部905は、ネットワークを介して供給されるアプリケーション画面を表示部906に表示させてもよい。また、映像信号処理部905は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部905は、例えばメニュー、ボタン又はカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
表示部906は、映像信号処理部905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD(Organic ElectroLuminescence Display)(有機ELディスプレイ)など)の映像面上に映像又は画像を表示する。
音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
外部インタフェース909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号されてもよい。即ち、外部インタフェース909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送手段としての役割を有する。
制御部910は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
ユーザインタフェース911は、制御部910と接続される。ユーザインタフェース911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース909及び制御部910を相互に接続する。
このように構成されたテレビジョン装置900において、デコーダ904は、上述した実施形態に係る画像復号装置の機能を有する。それにより、テレビジョン装置900での画像の復号に際して、復号処理に必要な外部メモリへのアクセス数を削減することができる。
[第2の応用例:携帯電話機]
図21は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
アンテナ921は、通信部922に接続される。スピーカ924及びマイクロホン925は、音声コーデック923に接続される。操作部932は、制御部931に接続される。バス933は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、及び制御部931を相互に接続する。
携帯電話機920は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
音声通話モードにおいて、マイクロホン925により生成されるアナログ音声信号は、音声コーデック923に供給される。音声コーデック923は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック923は、圧縮後の音声データを通信部922へ出力する。通信部922は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック923へ出力する。音声コーデック923は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
また、データ通信モードにおいて、例えば、制御部931は、操作部932を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部931は、文字を表示部930に表示させる。また、制御部931は、操作部932を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部922へ出力する。通信部922は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部931へ出力する。制御部931は、表示部930に電子メールの内容を表示させると共に、電子メールデータを記録再生部929の記憶媒体に記憶させる。
記録再生部929は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USB(Universal Serial Bus)メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記憶再生部929の記憶媒体に記憶させる。
また、テレビ電話モードにおいて、例えば、多重分離部928は、画像処理部927により符号化された映像ストリームと、音声コーデック923から入力される音声ストリームとを多重化し、多重化したストリームを通信部922へ出力する。通信部922は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部922は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部928へ出力する。多重分離部928は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部927、音声ストリームを音声コーデック923へ出力する。画像処理部927は、映像ストリームを復号し、映像データを生成する。映像データは、表示部930に供給され、表示部930により一連の画像が表示される。音声コーデック923は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
このように構成された携帯電話機920において、画像処理部927は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、携帯電話機920での画像の符号化及び復号に際して、符号化または復号処理に必要な外部メモリへのアクセス数を削減することができる。
[第3の応用例:記録再生装置]
図22は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データ及び映像データを復号する。
記録再生装置940は、チューナ941、外部インタフェース942、エンコーダ943、HDD(Hard Disk Drive)944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)948、制御部949、及びユーザインタフェース950を備える。
チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。即ち、チューナ941は、記録再生装置940における伝送手段としての役割を有する。
外部インタフェース942は、記録再生装置940と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース942は、例えば、IEEE1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース942を介して受信される映像データ及び音声データは、エンコーダ943へ入力される。即ち、外部インタフェース942は、記録再生装置940における伝送手段としての役割を有する。
エンコーダ943は、外部インタフェース942から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。
HDD944は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラムおよびその他のデータを内部のハードディスクに記録する。また、HDD944は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
ディスクドライブ945は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ945に装着される記録媒体は、例えばDVDディスク(DVD-Video、DVD-RAM、DVD-R、DVD-RW、DVD+R、DVD+RW等)又はBlu-ray(登録商標)ディスクなどであってよい。
セレクタ946は、映像及び音声の記録時には、チューナ941又はエンコーダ943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD944又はディスクドライブ945へ出力する。また、セレクタ946は、映像及び音声の再生時には、HDD944又はディスクドライブ945から入力される符号化ビットストリームをデコーダ947へ出力する。
デコーダ947は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ947は、生成した映像データをOSD948へ出力する。また、デコーダ904は、生成した音声データを外部のスピーカへ出力する。
OSD948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD948は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
制御部949は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース950から入力される操作信号に応じて、記録再生装置940の動作を制御する。
ユーザインタフェース950は、制御部949と接続される。ユーザインタフェース950は、例えば、ユーザが記録再生装置940を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。
このように構成された記録再生装置940において、エンコーダ943は、上述した実施形態に係る画像符号化装置の機能を有する。また、デコーダ947は、上述した実施形態に係る画像復号装置の機能を有する。それにより、記録再生装置940での画像の符号化及び復号に際して、符号化または復号処理に必要な外部メモリへのアクセス数を削減することができる。
[第4の応用例:撮像装置]
図23は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、制御部970、ユーザインタフェース971、及びバス972を備える。
光学ブロック961は、撮像部962に接続される。撮像部962は、信号処理部963に接続される。表示部965は、画像処理部964に接続される。ユーザインタフェース971は、制御部970に接続される。バス972は、画像処理部964、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、及び制御部970を相互に接続する。
光学ブロック961は、フォーカスレンズ及び絞り機構などを有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)などのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号を信号処理部963へ出力する。
信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。
画像処理部964は、信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース966又はメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース966又はメディアドライブ968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
OSD969は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
外部インタフェース966は、例えばUSB入出力端子として構成される。外部インタフェース966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース966は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース966は、撮像装置960における伝送手段としての役割を有する。
メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
制御部970は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース971から入力される操作信号に応じて、撮像装置960の動作を制御する。
ユーザインタフェース971は、制御部970と接続される。ユーザインタフェース971は、例えば、ユーザが撮像装置960を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
このように構成された撮像装置960において、画像処理部964は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、撮像装置960での画像の符号化及び復号に際して、符号化または復号処理に必要な外部メモリへのアクセス数を削減することができる。
なお、本明細書においては、主に垂直境界についてのフィルタリング処理が水平境界についてのフィルタリング処理よりも先に行われる例を説明したが、水平境界についてのフィルタリング処理が先に行われる場合にも本開示に係る技術による上述した効果は同等に享受され得る。また、デブロッキングフィルタの処理単位のサイズ又はLCUのサイズは、本明細書で説明した例に限定されず、他のサイズであってもよい。
なお、本明細書では、各パラメータ等の各種情報が、符号化ストリームに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
なお、本技術は以下のような構成も取ることができる。
(1) 符号化ストリームを復号処理して画像を生成する復号部と、
前記復号部により生成された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックをメモリに格納し、前記対応するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行うデブロッキングフィルタと、
前記デブロッキングフィルタによりフィルタ処理が行われたブロックの画素を用いて適応オフセット処理を行う適応オフセット処理部と
を備える画像処理装置。
(2) 前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント垂直境界において左側に位置するブロックをメモリに格納し、前記垂直境界において右側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行う
前記(1)に記載の画像処理装置。
(3) 前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント水平境界において上側に位置するブロックをメモリに格納し、前記垂直境界において下側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行う
前記(1)に記載の画像処理装置。
(4) 前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックを前記メモリに格納するとともに、そのブロックの少なくとも1番上ラインの画素を、前記適応オフセット処理部に出力する
前記(1)乃至(3)のいずれかに記載の画像処理装置。
(5) 画像処理装置が、
符号化ストリームを復号処理して画像を生成し、
生成された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックをメモリに格納し、前記対応するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行い、
フィルタ処理が行われたブロックの画素を用いて適応オフセット処理を行う
画像処理方法。
(6) 画像を符号化する際にローカル復号処理された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックをメモリに格納し、前記対応するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行うデブロッキングフィルタと、
前記デブロッキングフィルタによりフィルタ処理が行われたブロックの画素を用いて適応オフセット処理を行う適応オフセット処理部と、
前記適応オフセット処理部により適応オフセット処理が行われた画素を用いて、前記画像を符号化する符号化部と
を備える画像処理装置。
(7) 前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント垂直境界において左側に位置するブロックをメモリに格納し、前記垂直境界において右側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行う
前記(6)に記載の画像処理装置。
(8) 前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント水平境界において上側に位置するブロックをメモリに格納し、前記垂直境界において下側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行う
前記(6)に記載の画像処理装置。
(9) 前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックを前記メモリに格納するとともに、そのブロックの少なくとも1番上ラインの画素を、前記適応オフセット処理部に出力する
前記(6)乃至(8)のいずれかに記載の画像処理装置。
(10) 画像処理装置が、
画像を符号化する際にローカル復号処理された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックをメモリに格納し、前記対応するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行い、
フィルタ処理が行われたブロックの画素を用いて適応オフセット処理を行い、
適応オフセット処理が行われた画素を用いて、前記画像を符号化する
画像処理方法。
11 画像処理装置, 11a 画像符号化装置, 11b 画像復号装置, 26 可逆符号化部, 31,31a,31b インループフィルタ,51 画像復号装置, 62 可逆復号部, 101 画像処理システム, 111 外部メモリ, 121 バス・外部メモリコントローラ, 122 DF前処理画像処理部, 131 VEデブロッキングフィルタ処理部, 132 HEデブロッキングフィルタ処理部, 133 SAO処理部, 201 画像処理システム, 211 垂直ラインメモリ, 212 垂直・水平中間メモリ, 213 水平ラインメモリ, 214 SAOラインメモリ
前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント垂直境界において左側に位置するブロックをメモリに格納し、前記カレント垂直境界において右側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行うことができる。
前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント水平境界において上側に位置するブロックをメモリに格納し、前記カレント水平境界において下側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行うことができる。
前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント垂直境界において左側に位置するブロックをメモリに格納し、前記カレント垂直境界において右側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行うことができる。
前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント水平境界において上側に位置するブロックをメモリに格納し、前記カレント水平境界において下側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行うことができる。
なお、本技術は以下のような構成も取ることができる。
(1) 符号化ストリームを復号処理して画像を生成する復号部と、
前記復号部により生成された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックをメモリに格納し、前記対応するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行うデブロッキングフィルタと、
前記デブロッキングフィルタによりフィルタ処理が行われたブロックの画素を用いて適応オフセット処理を行う適応オフセット処理部と
を備える画像処理装置。
(2) 前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント垂直境界において左側に位置するブロックをメモリに格納し、前記カレント垂直境界において右側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行う
前記(1)に記載の画像処理装置。
(3) 前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント水平境界において上側に位置するブロックをメモリに格納し、前記カレント水平境界において下側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行う
前記(1)に記載の画像処理装置。
(4) 前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックを前記メモリに格納するとともに、そのブロックの少なくとも1番上ラインの画素を、前記適応オフセット処理部に出力する
前記(1)乃至(3)のいずれかに記載の画像処理装置。
(5) 画像処理装置が、
符号化ストリームを復号処理して画像を生成し、
生成された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックをメモリに格納し、前記対応するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行い、
フィルタ処理が行われたブロックの画素を用いて適応オフセット処理を行う
画像処理方法。
(6) 画像を符号化する際にローカル復号処理された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックをメモリに格納し、前記対応するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行うデブロッキングフィルタと、
前記デブロッキングフィルタによりフィルタ処理が行われたブロックの画素を用いて適応オフセット処理を行う適応オフセット処理部と、
前記適応オフセット処理部により適応オフセット処理が行われた画素を用いて、前記画像を符号化する符号化部と
を備える画像処理装置。
(7) 前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント垂直境界において左側に位置するブロックをメモリに格納し、前記カレント垂直境界において右側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行う
前記(6)に記載の画像処理装置。
(8) 前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント水平境界において上側に位置するブロックをメモリに格納し、前記カレント水平境界において下側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行う
前記(6)に記載の画像処理装置。
(9) 前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックを前記メモリに格納するとともに、そのブロックの少なくとも1番上ラインの画素を、前記適応オフセット処理部に出力する
前記(6)乃至(8)のいずれかに記載の画像処理装置。
(10) 画像処理装置が、
画像を符号化する際にローカル復号処理された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックをメモリに格納し、前記対応するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行い、
フィルタ処理が行われたブロックの画素を用いて適応オフセット処理を行い、
適応オフセット処理が行われた画素を用いて、前記画像を符号化する
画像処理方法。

Claims (10)

  1. 符号化ストリームを復号処理して画像を生成する復号部と、
    前記復号部により生成された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックをメモリに格納し、前記対応するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行うデブロッキングフィルタと、
    前記デブロッキングフィルタによりフィルタ処理が行われたブロックの画素を用いて適応オフセット処理を行う適応オフセット処理部と
    を備える画像処理装置。
  2. 前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント垂直境界において左側に位置するブロックをメモリに格納し、前記垂直境界において右側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行う
    請求項1に記載の画像処理装置。
  3. 前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント水平境界において上側に位置するブロックをメモリに格納し、前記垂直境界において下側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行う
    請求項1に記載の画像処理装置。
  4. 前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックを前記メモリに格納するとともに、そのブロックの少なくとも1番上ラインの画素を、前記適応オフセット処理部に出力する
    請求項1に記載の画像処理装置。
  5. 画像処理装置が、
    符号化ストリームを復号処理して画像を生成し、
    生成された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックをメモリに格納し、前記対応するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行い、
    フィルタ処理が行われたブロックの画素を用いて適応オフセット処理を行う
    画像処理方法。
  6. 画像を符号化する際にローカル復号処理された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックをメモリに格納し、前記対応するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行うデブロッキングフィルタと、
    前記デブロッキングフィルタによりフィルタ処理が行われたブロックの画素を用いて適応オフセット処理を行う適応オフセット処理部と、
    前記適応オフセット処理部により適応オフセット処理が行われた画素を用いて、前記画像を符号化する符号化部と
    を備える画像処理装置。
  7. 前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント垂直境界において左側に位置するブロックをメモリに格納し、前記垂直境界において右側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行う
    請求項6に記載の画像処理装置。
  8. 前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント水平境界において上側に位置するブロックをメモリに格納し、前記垂直境界において下側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行う
    請求項6に記載の画像処理装置。
  9. 前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックを前記メモリに格納するとともに、そのブロックの少なくとも1番上ラインの画素を、前記適応オフセット処理部に出力する
    請求項6に記載の画像処理装置。
  10. 画像処理装置が、
    画像を符号化する際にローカル復号処理された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックをメモリに格納し、前記対応するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行い、
    フィルタ処理が行われたブロックの画素を用いて適応オフセット処理を行い、
    適応オフセット処理が行われた画素を用いて、前記画像を符号化する
    画像処理方法。
JP2013083453A 2013-04-12 2013-04-12 画像処理装置および方法 Pending JP2014207536A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013083453A JP2014207536A (ja) 2013-04-12 2013-04-12 画像処理装置および方法
US14/197,869 US9924163B2 (en) 2013-04-12 2014-03-05 Image processing apparatus and image processing method
CN201410136035.8A CN104104967B (zh) 2013-04-12 2014-04-04 图像处理设备及图像处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013083453A JP2014207536A (ja) 2013-04-12 2013-04-12 画像処理装置および方法

Publications (1)

Publication Number Publication Date
JP2014207536A true JP2014207536A (ja) 2014-10-30

Family

ID=51672721

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013083453A Pending JP2014207536A (ja) 2013-04-12 2013-04-12 画像処理装置および方法

Country Status (3)

Country Link
US (1) US9924163B2 (ja)
JP (1) JP2014207536A (ja)
CN (1) CN104104967B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104980788A (zh) * 2015-02-11 2015-10-14 腾讯科技(深圳)有限公司 视频解码方法及装置

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016123749A1 (en) * 2015-02-03 2016-08-11 Mediatek Inc. Deblocking filtering with adaptive motion vector resolution
US10277913B2 (en) * 2014-10-22 2019-04-30 Samsung Electronics Co., Ltd. Application processor for performing real time in-loop filtering, method thereof and system including the same
CN108235021B (zh) * 2018-01-10 2020-06-19 北京奇艺世纪科技有限公司 一种band模式确定方法及装置
CN112136326B (zh) 2018-05-23 2023-12-12 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法和解码方法
CN113039793A (zh) * 2018-10-01 2021-06-25 Op方案有限责任公司 指数分区的方法与系统
CN113475072B (zh) * 2019-03-04 2023-12-15 北京字节跳动网络技术有限公司 视频处理中滤波信息的信令
CN110995274B (zh) * 2019-11-18 2022-02-08 中国科学院自动化研究所 一种解压缩方法及装置
CN114501035B (zh) * 2022-01-26 2024-02-13 百果园技术(新加坡)有限公司 视频编解码滤波处理方法、系统、设备及存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5537635A (en) * 1994-04-04 1996-07-16 International Business Machines Corporation Method and system for assignment of reclaim vectors in a partitioned cache with a virtual minimum partition size
JP2007274478A (ja) 2006-03-31 2007-10-18 Toshiba Corp 画像処理装置、画像処理方法及び画像処理プログラム
CN101409833B (zh) * 2007-10-12 2012-10-03 昆山杰得微电子有限公司 去块效应滤波装置及方法
CN101883285A (zh) * 2010-07-06 2010-11-10 西安交通大学 并行流水去块效应滤波器vlsi结构设计方法
US20120230423A1 (en) * 2011-03-10 2012-09-13 Esenlik Semih Line memory reduction for video coding and decoding
US9344743B2 (en) * 2011-08-24 2016-05-17 Texas Instruments Incorporated Flexible region based sample adaptive offset (SAO) and adaptive loop filter (ALF)
US8913656B2 (en) * 2011-10-14 2014-12-16 Mediatek Inc. Method and apparatus for in-loop filtering
CN108471532B (zh) * 2011-11-25 2021-06-29 太阳专利托管公司 图像解码方法及图像解码装置
US9438911B2 (en) * 2012-08-03 2016-09-06 Mediatek Inc. Video processing system with shared/configurable in-loop filter data buffer architecture and related video processing method thereof
US9426469B2 (en) * 2012-12-17 2016-08-23 Broadcom Corporation Combination HEVC deblocker/SAO filter

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104980788A (zh) * 2015-02-11 2015-10-14 腾讯科技(深圳)有限公司 视频解码方法及装置

Also Published As

Publication number Publication date
CN104104967B (zh) 2018-10-26
CN104104967A (zh) 2014-10-15
US9924163B2 (en) 2018-03-20
US20140307772A1 (en) 2014-10-16

Similar Documents

Publication Publication Date Title
TWI749530B (zh) 資訊處理設備及資訊處理方法
JP5942990B2 (ja) 画像処理装置および方法
WO2014002896A1 (ja) 符号化装置および符号化方法、復号装置および復号方法
US20130343648A1 (en) Image processing device and image processing method
JP2014207536A (ja) 画像処理装置および方法
TWI684351B (zh) 解碼裝置、解碼方法、編碼裝置,以及編碼方法
JP6256340B2 (ja) 画像処理装置および方法、並びにプログラム
JPWO2011145601A1 (ja) 画像処理装置と画像処理方法
JP5884313B2 (ja) 画像処理装置、画像処理方法、プログラム及び記録媒体
JP6711353B2 (ja) 画像処理装置および画像処理方法
JP6497562B2 (ja) 画像符号化装置および方法
JP2011223337A (ja) 画像処理装置および方法
WO2016147836A1 (ja) 画像処理装置および方法
WO2013051452A1 (ja) 画像処理装置および方法
WO2013047325A1 (ja) 画像処理装置および方法
TW201330638A (zh) 影像處理裝置及方法
WO2015059973A1 (ja) 画像処理装置及び画像処理方法
JP6217826B2 (ja) 画像処理装置及び画像処理方法
WO2013047335A1 (ja) 画像処理装置および方法
WO2014002900A1 (ja) 画像処理装置および画像処理方法
JP6402802B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
JP2013150124A (ja) 画像処理装置および方法