JP2008048181A - デブロッキングフィルタ、画像符号化装置および画像復号化装置 - Google Patents

デブロッキングフィルタ、画像符号化装置および画像復号化装置 Download PDF

Info

Publication number
JP2008048181A
JP2008048181A JP2006222173A JP2006222173A JP2008048181A JP 2008048181 A JP2008048181 A JP 2008048181A JP 2006222173 A JP2006222173 A JP 2006222173A JP 2006222173 A JP2006222173 A JP 2006222173A JP 2008048181 A JP2008048181 A JP 2008048181A
Authority
JP
Japan
Prior art keywords
pixel group
pixel
processing
filter
edge
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006222173A
Other languages
English (en)
Other versions
JP4712642B2 (ja
Inventor
Takeyoshi Kawa
武慶 川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006222173A priority Critical patent/JP4712642B2/ja
Priority to US11/826,399 priority patent/US8416860B2/en
Priority to CN2007101401288A priority patent/CN101127906B/zh
Publication of JP2008048181A publication Critical patent/JP2008048181A/ja
Application granted granted Critical
Publication of JP4712642B2 publication Critical patent/JP4712642B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/527Global motion vector 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/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/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)

Abstract

【課題】処理時間を短縮することができる。
【解決手段】デブロッキングフィルタ1は、複数のブロックに区分された動画像データのブロックのエッジを挟んで、エッジと交差する方向に並んだ所定個数の画素群について、ブロック歪みを低減させるエッジフィルタ処理を行う。デブロッキングフィルタ1は、処理部2と並び替え部3とを有する。処理部2は、処理対象のマクロブロック4の列方向のエッジを挟んで行方向に並ぶ画素群を複数列同時に処理する列方向エッジフィルタ処理を行う。並び替え部3は、処理部2によって処理した画素群のうち処理対象のマクロブロック4の画素群を列方向毎に並び替える。
【選択図】図1

Description

本発明はデブロッキングフィルタ、画像符号化装置および画像復号化装置に関し、特に、ブロック歪みを低減させるデブロッキングフィルタ、画像符号化装置および画像復号化装置に関する。
動画像信号の圧縮符号化方式として、MPEG(Moving Picture Expert Group)や、H.264等が知られている。
基本的なマクロブロックのブロックサイズは、16×16画素であるが、例えばH.264では必要に応じて4×4画素を用いることができる。
MPEG、H.264等においては、低ビットレートでの画質を改善するため、画像からブロック歪を除去するデブロッキングフィルタが用いられている。
一般的なデブロッキングフィルタは、エッジを跨いだカレント側4画素、隣接側4画素、および、フィルタ強度設定によって、カレント側4画素、隣接側4画素の画素値をそれぞれ変更するエッジフィルタ処理を行う。画素値の変更により、互いに隣接する画素において相関関係が強化され、見た目上、ブロック歪が軽減される。エッジフィルタ処理は、垂直方向(列方向)のエッジのフィルタ処理を行う垂直(列方向)エッジフィルタ処理と水平方向(行方向)のエッジのフィルタ処理を行う水平(行方向)エッジフィルタ処理とで構成される。
デブロッキングフィルタは、まず、垂直エッジフィルタ処理を行い、その後水平エッジフィルタ処理を行う。今回のエッジフィルタ処理を行う際には前回のエッジフィルタ処理を施した画素を使用する(例えば、特許文献1参照)。
図36は、従来のデブロッキングフィルタの垂直エッジフィルタを示す図である。
なお、以下では、行方向の画素の位置をA〜Tで表し、列方向の画素の位置を0〜19で表す。例えば、1行1列目の画素を「画素(A0)」、20行20列目の画素を「画素(T19)」のように表す。また、図36において「クロック」はデブロッキングフィルタ動作用のクロック、「カレント」はカレント側4画素、「隣接」は隣接側4画素、「Write」はメモリへの書き込みを行った画素を示す。
マクロブロック91は、16×16画素のマクロブロックである。
従来の垂直エッジフィルタ処理は、まず、前回以前にエッジフィルタ処理を施したマクロブロックの画素群(E0〜E3)を隣接側4画素とし、マクロブロック91の画素群(E4〜E7)をカレント側4画素として画素(E3、E4)間のエッジのフィルタ処理を行う。次のクロックで、処理した画素群(E4〜E7)を次の処理の隣接側4画素とし、画素群(E8〜E11)をカレント側4画素として画素(E7、E8)間のフィルタ処理を行う。その後も同様に処理を行う。
このように、カレント4画素を処理した後、行方向(画素並びと同方向)の隣接4画素を処理する際は、このカレント4画素が隣接4画素として認識される。したがって、フィルタ処理が終了した画素をそのままメモリに格納すると、次の画素を処理する際に再び呼び出す必要が生じるため非効率となる。従来の処理順として、この非効率を生じさせないため、1回処理された4画素は比較的読み出すことが容易なレジスタ等に1度格納した後、順方向に隣接側の処理に遷移し、画素を再利用していた。具体的には、カレント側画素群を図示しない記憶回路から読み出した後、予め準備しておいた隣接側画素群との関係およびフィルタ強度設定によりフィルタ処理が行われ、処理が終了した画素を順番に記憶回路に格納していた。格納される際のデータ並びは行方向であった。
図37は、従来のデブロッキングフィルタの水平エッジフィルタを示す図である。
従来の水平エッジフィルタ処理では、4クロック毎に水平エッジフィルタ1回分の画素群(E4〜H4)が用意され、画素群(A4〜D4)を隣接側4画素とし、マクロブロック91の画素群(E4〜H4)をカレント側4画素として画素群(D4、E4)間のエッジのフィルタ処理を行う。その後も同様に処理を行う。
特表2005−535198号公報
しかしながら、従来の水平エッジフィルタ処理では、カレント側画素群を記憶回路から読み出す際、垂直エッジフィルタ後の格納データ並びが水平方向であったため、処理に必要な画素が揃うまでエッジフィルタ処理が実行できず、処理時間が大きくなるという問題があった。このため、特に画面サイズの大きな画像処理では処理時間の不足が問題となっていた。
本発明はこのような点に鑑みてなされたものであり、処理時間を短縮することができるデブロッキングフィルタ、画像符号化装置および画像復号化装置を提供することを目的とする。
本発明では上記問題を解決するために、図1に示すようなデブロッキングフィルタが提供される。
本発明に係るデブロッキングフィルタ1は、複数のブロックに区分された動画像データのブロックのエッジを挟んで、エッジと交差する方向に並んだ所定個数の画素群について、ブロック歪みを低減させるエッジフィルタ処理を行う。
デブロッキングフィルタ1は、処理部2と並び替え部3とを有する。
処理部2は、処理対象のマクロブロック4の列方向のエッジを挟んで行方向に並ぶ画素群を複数列同時に処理する列方向エッジフィルタ処理を行う。
並び替え部3は、処理部2によって処理した画素群のうち処理対象のマクロブロック4の画素群を列方向毎に並び替える。
このようなデブロッキングフィルタ1によれば、処理部2により、マクロブロック4の列方向のエッジを挟んで行方向に並ぶ画素群が複数列同時に処理される列方向エッジフィルタ処理が行われる。また、並び替え部3により、処理部2によって処理された画素群のうち処理対象のマクロブロック4の画素群が列方向毎に並び替えられる。
また、上記課題を解決するために、複数のブロックに区分された動画像データの前記ロブロックのエッジを挟んで、前記エッジと交差する方向に並んだ所定個数の画素群について、ブロック歪みを低減させるエッジフィルタ処理を行う画像符号化装置において、処理対象のマクロブロックの列方向の前記エッジを挟んで行方向に並ぶ前記画素群を複数列同時に処理する列方向エッジフィルタ処理を行う処理部と、前記処理部によって処理した前記画素群のうち前記処理対象の前記マクロブロックの画素群を列方向毎に並び替える並び替え部と、を有することを特徴とする画像符号化装置が提供される。
このような画像符号化装置によれば、上記デブロッキングフィルタと同様の処理が実行される。
また、上記課題を解決するために、複数のブロックに区分された動画像データの前記ブロックのエッジを挟んで、前記エッジと交差する方向に並んだ所定個数の画素群について、ブロック歪みを低減させるエッジフィルタ処理を行う画像復号化装置において、処理対象のマクロブロックの列方向の前記エッジを挟んで行方向に並ぶ前記画素群を複数列同時に処理する列方向エッジフィルタ処理を行う処理部と、前記処理部によって処理した前記画素群のうち前記処理対象の前記マクロブロックの画素群を列方向毎に並び替える並び替え部と、を有することを特徴とする画像復号化装置が提供される。
このような画像復号化装置によれば、上記デブロッキングフィルタと同様の処理が実行される。
本発明では、処理部が行方向に並ぶ画素群を複数列同時に処理することにより、行方向エッジフィルタ処理に用いる画素を迅速に取得することができる。また、並び替え部が取得した画素群を列方向に並び替えることにより、列方向エッジフィルタ処理を迅速に行うことができる。
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
まず、本発明の概要について説明し、その後、実施の形態を説明する。
図1は、本発明の概要を示す図である。
なお、以下、図1の紙面上側を「上」、下側を「下」、左側を「左」、右側を「右」という。
また、図1中上から下に向かう方向を「列方向」または「垂直方向」といい、左から右に向かう方向を「行方向」または「水平方向」という。
また、図1中、斜線部分の画素は、前回のエッジフィルタ処理にて処理されたマクロブロック(以下、参照マクロブロックという)の画素を示しており、点部分の画素は、今回処理を行うマクロブロック(以下、対象マクロブロックという)の画素を示している。また、マクロブロック内の矢印は、処理の順番を示している。
図1に示すデブロッキングフィルタ1は、複数のマクロブロック及び4×4画素ブロックに区分された動画像データのブロックのエッジを挟んで、エッジと交差する方向に並んだ所定個数の画素群について、ブロック歪みを低減させるエッジフィルタ処理を行う。
デブロッキングフィルタ1は、処理部2と並び替え部3とを有する。
処理部2は、対象のマクロブロック4の列方向のエッジを挟んで行方向に並ぶ画素群(例えばE0〜E7)を複数列同時(例えばE0〜E7、G0〜G7)に処理する列方向エッジフィルタ処理を行う。
なお、図1では、1クロック目で画素群(E4〜E7、G4〜G7)の処理を行い、2クロック目で画素群(F4〜F7、H4〜H7)の処理を行っている。
並び替え部3は、処理部2によって処理した画素群(例えば画素群(E4〜E7、F4〜F7、G4〜G7、H4〜H7))のうち対象のマクロブロック4の画素群を列毎(例えば画素群(E4〜H4、E5〜H5、E6〜H6、E7〜H7))に並び替える。
このようなデブロッキングフィルタによれば、処理部2により、対象のマクロブロック4の列方向のエッジを挟んで行方向に並ぶ画素群を複数列同時に処理する列方向エッジフィルタ処理が行われる。また、並び替え部3により、処理部2によって処理された画素群のうち対象のマクロブロック4の画素群が列方向に並び替えられる。
デブロッキングフィルタ1は、行方向エッジフィルタ処理においては、マクロブロック4の行方向のエッジを挟んで列方向に並ぶ画素群を複数行同時に処理する処理を行うため、行方向エッジフィルタ処理に用いる画素群を予め列毎に並び替えておくことにより迅速に処理を行うことができる。
以下、本発明の実施の形態を説明する。なお、以下ではH.264に基づく符号化および復号処理を行う画像符号化装置と画像復号化装置に適用した場合を例に図面を参照して詳細に説明する。H.264では、16×16の基本マクロブロックに加え、16×8、8×16、及び8×8の4種類のマクロブロックが選択可能となっている。さらに、8×8サイズのマクロブロックについては、8×8、8×4、4×8、4×4の4種類のサブブロック分割を指定することもできる。基本的なアルゴリズムは、符号化処理では、フレームを基本処理単位のマクロブロックに分割し、マクロブロック毎に、フレーム内の空間的冗長性を利用したフレーム内予測と、フレーム間の時間的冗長性を利用したフレーム間予測とを適宜切り替えて、入力画像の符号化を行う。復号処理では、その逆動作が行われる。なお、H.264では、両方向の参照フレームを用いることができるが、以下では、片方向の場合で説明する。両方向の場合には、両方向のMV(Motion Vector)を格納するための領域が増えるが、処理は片方向と同様に行われる。
図2は、本発明の実施の形態の画像符号化装置の構成を示したブロック図である。
本発明の実施の形態の画像符号化装置100は、MB(マクロブロック)分割部101、動きベクトル検出部102、過去のフレームバッファ103、フレーム間予測部104、フレーム内予測部105、現フレームバッファ106、予測モード選択部107、減算器108、直交変換量子化部109、エントロピー符号化部110、逆量子化逆直交変換部111、加算器112、デブロッキングフィルタ113、及びフレームバッファ管理部114を有する。
このような画像符号化装置100では、入力画像は、MB分割部101によって所定の大きさのマクロブロックに分割される。1マクロブロックは、4つのブロックを備える輝度成分(Y成分)とそれぞれ1つのブロックを備える色差成分(Cb、Cr成分)との計6つのブロックで構成される。動きベクトル検出部102は、入力したマクロブロック単位の画像信号と、過去のフレームバッファ103に格納される参照画像とを用いて、対象マクロブロックのMVを検出する。MVは、通常、周辺領域との相関が高いので、フレーム間予測部104では、周辺領域のMVを予測値として、周辺のMVに基づいてMVP(Motion Vector Predictor)を算出し、MVとの間のMVD(予測差分値)を算出する。フレーム内予測部105は、現フレームバッファ106のフレーム内予測を行う。予測モード選択部107は、フレーム間予測部104とフレーム内予測部105の予測誤差を比較する等して、当該マクロブロックを最も効率よく符号化することができる符号化モードを選択し、符号化モード情報を生成する。この符号化モード情報も、符号化対象情報として、エントロピー符号化部110へ受け渡される。符号化モード情報には、マクロブロックを分割した分割マクロブロックのサイズと、分割マクロブロックをさらに分割したサブマクロブロックのサイズが含まれる。
予測モード選択部107としてフレーム内予測が選択される場合は、MB分割部101を経由したマクロブロックの入力画像がそのまま直交変換量子化部109へ出力され、直交変換と量子化が施される。こうして生成された直交変数係数データは、エントロピー符号化部110へ受け渡される。また、この直交変換係数データは、逆量子化逆直交変換部111によってデコードされ、現フレームバッファ106に書き込まれる。
予測モード選択部107としてフレーム間予測部104が選択される場合は、フレーム間予測部104が算出したMVDが符号化対象として選択され、エントロピー符号化部110へ受け渡される。また、予測モード選択部107経由でMVPに基づく予測画像が減算器108へ出力される。減算器108では、マクロブロック単位の入力画像と、予測画像との差分が算出され、直交変換量子化部109へ出力される。この出力は、逆量子化逆直交変換部111によってデコードされ、加算器112によって予測モード選択部107からの予測画像を加算した後、現フレームバッファ106に書き込まれる。
エントロピー符号化部110は、符号化対象データのエントロピー符号化部を行い、画像圧縮符号化信号として出力する。また、現フレームバッファ106に格納される参照画像は、デブロッキングフィルタ113によりデブロッキングフィルタ処理(以下、「エッジフィルタ処理」という)が行われてマクロブロックのエッジが平滑化され、フレームバッファ管理部114を経由して、過去のフレームバッファ103に格納される。
次に、画像復号化装置について説明する。
図3は、本発明の実施の形態の画像復号化装置の構成を示したブロック図である。
本発明の実施の形態の画像復号化装置200は、エントロピー復号化部201、逆量子化逆直交変換部202、加算器203、現フレームバッファ204、フレーム内予測部205、予測モード選択部206、デブロッキングフィルタ207、フレームバッファ管理部208、過去のフレームバッファ209、及びフレーム間予測部210、を具備し、図2に示した画像符号化装置100が生成した画像圧縮符号化信号を復号する。
画像圧縮符号化信号は、エントロピー復号化部201によってエントロピー復号が施された後、逆量子化逆直交変換部202によって逆量子化と逆直交変換が施される。フレーム間予測によって符号化されている場合は、MVDの形式で符号化されている動きベクトルデータを復号化する。予測モード選択部206は、逆量子化逆直交変換部202によって復元された符号化モード情報に基づき、フレーム内予測部205またはフレーム間予測部210を選択する。
予測モード選択部206としてフレーム内予測部205が選択される場合は、逆量子化逆直交変換部202によって復元された画像が現フレームバッファ204に書き込まれる。
予測モード選択部206としてフレーム間予測部210が選択される場合は、MVDの形式で復号された動きベクトルを、各動きベクトル適用単位領域、すなわち、分割マクロブロックの領域毎に、各動きベクトル適用単位領域で使用された動きベクトルデータ(MV)へ復号する。復号されたMVに基づいて予測画像が復元され、予測モード選択部206経由で加算器203に入力する。そして、逆量子化逆直交変換部202により復号された予測誤差と加算されることによって、画像が復号化され、現フレームバッファ204に格納される。
現フレームバッファ204に格納された画像データは、デブロッキングフィルタ207、フレームバッファ管理部208を経由して、過去のフレームバッファ209に格納される。
次に、デブロッキングフィルタ113、207の回路構成について説明する。なお、デブロッキングフィルタ113とデブロッキングフィルタ207の構成は互いに等しいため、以下、代表的にデブロッキングフィルタ113の回路構成について説明する。
図4は、本実施の形態のデブロッキングフィルタを示す回路図である。
デブロッキングフィルタ113は、画素選択回路113a、113bと、タイミングコントローラ113cと、ライトメモリコントローラ113dと、リードメモリコントローラ113eと、カレント画素格納用メモリ(以下、単に「カレントメモリ」という)113fと、隣接上画素群格納用メモリ(以下、単に「隣接上メモリ」という)113gと、隣接左画素群格納用メモリ(以下、単に「隣接左メモリ」という)113hと、カレント画素選択回路113iと、隣接画素選択回路113jと、フィルタ回路113k、113mと、フィルタリングパラメータ保持回路113nと、遅延回路113oと、外部メモリインタフェース113p、113qと、外部メモリ113rとを有している。
画素選択回路113aの入力側には遅延回路113oの出力端子と外部メモリ113rの出力端子とが接続されており、入力された画素群のうち隣接上メモリ113gに出力する画素群を選択し、出力する。
画素選択回路113bの入力側には現フレームバッファ106から1フレーム分の画素を入力する画素入力部と遅延回路113oの出力端子とが接続されており、入力された画素群のうちカレントメモリ113fに出力する画素群を選択し、出力する。画素選択回路113bは、4ビット×4ビットのレジスタを有しており、垂直エッジフィルタ処理後の画素を、水平エッジフィルタ処理の入力基準に合わせるよう、列方向毎に並び替えて(転置して)出力する。
タイミングコントローラ113cは、各部の動作用の信号の入出力(リード/ライト)のタイミングを制御するものであり、基準タイミングを受け取り、ライトメモリコントローラ113dとリードメモリコントローラ113eとフィルタリングパラメータ保持回路113nと外部メモリインタフェース113p、113qとにそれぞれメモリインタフェース開始信号を送る。
ライトメモリコントローラ113dは、メモリインタフェース開始信号により、カレントメモリ113fと隣接上メモリ113gと隣接左メモリ113hとのうちの1つまたは複数にライトアドレスとライトイネーブル信号とを出力する。
リードメモリコントローラ113eは、メモリインタフェース開始信号により、カレントメモリ113fと隣接上メモリ113gと隣接左メモリ113hとのうちの1つまたは複数にリードアドレスとインヒビット信号とを出力する。
カレントメモリ113fは、ライトメモリコントローラ113dからのライトイネーブル信号に応じて画素選択回路113bを介して現フレームバッファ106から1マクロブロック分の画素群を入力し保持する。そして、リードメモリコントローラ113eからのインヒビット信号に応じて読み出し対象となる画素群(カレント側画素群)を出力する。なお、これらの信号や画素群の入出力はFF(フリップフロップ)を介して行われる(隣接上メモリ113g、隣接左メモリ113hについても同様)。
図5は、カレントメモリのメモリ構成を示す図である。
カレントメモリ113fは、1つのアドレスに4画素×2ライン分の画素群(例えば画素群(E4〜E7)および画素群(G4〜G7))を保持することができる。そして、輝度成分の保持領域(アドレス#0〜アドレス#31)および色差成分(アドレス#32〜アドレス#47、アドレス#48〜アドレス#63)それぞれの保持領域を有している。
再び図4に戻って説明する。
隣接上メモリ113gは、ライトメモリコントローラ113dからのライトイネーブル信号に応じて画素選択回路113aが出力する画素群(隣接上画素群)を入力し保持する。そして、リードメモリコントローラ113eからのインヒビット信号に応じて隣接上画素群を出力する。
隣接左メモリ113hは、ライトメモリコントローラ113dからのライトイネーブル信号に応じて遅延回路113oが出力する画素群(隣接左画素群)を入力し保持する。そして、リードメモリコントローラ113eからのインヒビット信号に応じて隣接左画素群を出力する。
カレント画素選択回路113iの入力側にはカレントメモリ113fの出力が接続されており、入力されたカレント側画素群のうちフィルタ回路113k、113mにそれぞれ出力する画素群を選択し、出力する。
隣接画素選択回路113jの入力側には遅延回路113oの出力端子と隣接上メモリ113gの出力と隣接左メモリ113hの出力とが接続されており、入力されたデータのうちフィルタ回路113k、113mにそれぞれ出力する隣接上画素群または隣接左画素群(以下、これらを「隣接側画素群」ともいう)を選択し、出力する。
フィルタ回路113k、113mは、それぞれカレント画素選択回路113iから出力されたカレント側画素群および隣接画素選択回路113jから出力された隣接側画素群に対してエッジフィルタ処理を施す。この際、フィルタリングパラメータ保持回路113nから入力されるフィルタ強度を示すフィルタリングパラメータが適用される。このように本実施の形態のデブロッキングフィルタ113は、フィルタ回路113k、113m(2系統の処理系)を有し、2並列で同時に処理を実行する。
遅延回路113oは、フィルタ回路113k、113mからそれぞれ出力されたデータを2クロック経過後に出力する。この2クロックは、後述する1サイクルが2クロックであることに起因している。
外部メモリインタフェース113pは、タイミングコントローラ113cのタイミング信号により、外部メモリ113rにライトアクセスを出力する。
外部メモリインタフェース113qは、タイミングコントローラ113cのタイミング信号により、外部メモリ113rにリードアクセスを出力する。
外部メモリ113rは、例えばSDRAM(Synchronous Dynamic Random Access Memory)等で構成されており、ライトアクセスがあると、カレントメモリ113fから出力された画素群を読み込む。また、リードアクセスがあると、指定された画素群を画素選択回路113aに出力する。
次に、デブロッキングフィルタ113の処理について説明する。
<第1のエッジフィルタ処理>
第1のエッジフィルタ処理は、隣接側のマクロブロック、カレント側のマクロブロックがともにノンインタレースの場合の処理である。
図6および図7は、垂直エッジフィルタ処理を示す図である。
なお、図6中、図6(a)、図6(b)および図6(c)にのみエッジを図示し、それ以外は図示を省略する。
垂直エッジフィルタ処理では、垂直方向4画素水平方向8画素群(以下、(4×8)画素群という)ずつ、左上側から右下側に向かって移動しながら図6(a)〜図6(h)、図7(a)〜図7(h)の順にエッジを処理する。以下、詳しく説明する。
まず、1クロック目に画素(E3)と画素(E4)との間のエッジと、画素(G3)と画素(G4)との間のエッジとを同時に処理する。このように垂直エッジフィルタ処理では、列方向に存在するエッジを処理する。
具体的には、画素群(E0〜E7)をフィルタ回路113kにて処理し、画素群(G0〜G7)をフィルタ回路113mにて処理する(図6(a)参照)。
そして、2クロック目に画素(F3)と画素(F4)との間のエッジと、画素(H3)と画素(H4)との間のエッジとを同時に処理する。
具体的には画素群(F0〜F7)フィルタ回路113kにて処理し、画素群(H0〜H7)をフィルタ回路113mにて処理する(図6(a)参照)。このように本実施の形態の垂直エッジフィルタ処理では、水平方向(走査方向)と90度異なるエッジ間の画素群を順に処理する。
この2クロックが1サイクル(処理単位時間)を構成しており、1サイクル毎に4画素分右方向に移動して、該当するエッジに属する(4×8)画素群について同様の処理を行う(図6(b)、図6(c)参照)。
そして対象マクロブロックの右側の端部まで処理を終えると(図6(d)参照)、次に対象マクロブロック左側の端部における4画素下に存在するエッジの処理を行う(図6(e)参照)。
そして、対象マクロブロックの最下端の右側の端部まで処理を終えると処理を終了する(図7(h)参照)。
このようにして、デブロッキングフィルタ113は、対象マクロブロック中に存在する全ての画素を読み出しつつ、エッジの処理を行う。
なお、前述したように、図6および図7は、フィルタ回路113k、113mでの処理順を示す図であって、カレントメモリ113fから画素を読み出す順番を示す図ではない。
次に、エッジフィルタ処理を行う際に、カレントメモリ113fからフィルタ回路113k、113mに画素が読みされる順番について説明する。
図8および図9は、垂直エッジフィルタ時の画素読み出しを説明する図である。
垂直エッジフィルタ処理では、リードメモリコントローラ113eがカレントメモリ113fから(4×4)画素群ずつ、左上側から右下側に向かって移動しながら図8(a)〜図8(h)、図9(a)〜図9(h)の順に画素群を読み出す。
まず、リードメモリコントローラ113eは、1クロック目は水平方向に4画素2ライン分の画素群(E4〜E7、G4〜G7)を読み出す。2クロック目は1サイクル目で読み込んだ画素群に対し、垂直方向に1画素移動した位置に存在する画素群(F4〜F7、H4〜H7)を読み出す(図8(a)参照)。
2サイクル目の1クロック目で水平方向に4画素移動した位置に存在する4画素2ライン分の画素群(E8〜E11、G8〜G11)を読み出す。2クロック目は1クロック目で読み出した画素群に対し、垂直方向に1画素移動した位置に存在する画素群(F8〜F11、H8〜H11)を読み出す(図8(b)参照)。対象マクロブロックの右側の端部まで読み出すと、対象マクロブロック左側の端部における4画素ライン下に存在する4画素2ライン分の画素群を読み出す。すなわち図8(c)に示すように、1クロック目は画素群(I7〜I11、K7〜K11)を読み出す。2クロック目は1クロック目で読み出したデータに対し、垂直方向に1画素移動した位置に存在する画素群(J7〜J11、L7〜L11)を読み出す。リードメモリコントローラ113eは、この動作を同様に繰り返し、対象マクロブロック中に存在するすべての画素を読み出す。
読み出された画素群2ライン分はフィルタ回路113k、113mに対し1ラインずつ入力し、フィルタ回路113k、113mによってフィルタリングされた後、遅延回路113oにより1サイクル遅延させて、画素選択回路113aに入力する。この1サイクル遅延は、前述した処理単位時間が1サイクルであることに起因している。よって、例えば処理単位時間が2サイクルであれば、遅延回路の遅延時間も2サイクルとなる。
次に、デブロッキングフィルタ113の垂直エッジフィルタ処理時の各部の動作について説明する。
図10〜図13は、第1のエッジフィルタ処理の垂直エッジフィルタ処理時の各部の動作を示す図である。
<第1ステップ>
まず、図10に示すように、1クロック目に、カレントメモリ113fから画素群(E4〜E7、G4〜G7)がカレント画素選択回路113iに出力される。カレント画素選択回路113iは、画素群(E4〜E7)をフィルタ回路113kに出力し、画素群(G4〜G7)をフィルタ回路113mに出力する。また、隣接左メモリ113hが、前処理で予め蓄えられた画素群(E0〜E3、G0〜G3)を隣接画素選択回路113jに出力する。隣接画素選択回路113jは、画素群(E0〜E3)をフィルタ回路113kに出力し、画素群(G0〜G3)をフィルタ回路113mに出力する。
フィルタ回路113kは、前述したように、カレント画素選択回路113iによって選択されたカレントメモリ113fからの画素群(E4〜E7)と隣接画素選択回路113jによって選択された隣接左メモリ113hからの画素群(E0〜E3)とを用いて垂直エッジフィルタ処理を行い、結果を遅延回路113oに出力する。
フィルタ回路113mは、カレント画素選択回路113iによって選択されたカレントメモリ113fからの画素群(G4〜G7)と隣接画素選択回路113jによって選択された隣接左メモリ113hからの画素群(G0〜G3)とを用いて垂直エッジフィルタ処理を行い、結果を遅延回路113oに出力する。
<第2ステップ>
図11に示すように、2クロック目にカレントメモリ113fから画素群(F4〜F7、H4〜H7)がカレント画素選択回路113iに出力される。カレント画素選択回路113iは、画素群(F4〜F7)をフィルタ回路113kに出力し、画素群(H4〜H7)をフィルタ回路113mに出力する。また、隣接左メモリ113hが、前処理で予め蓄えられた画素群(F0〜F3、H0〜H3)隣接画素選択回路113jに出力する。隣接画素選択回路113jは、画素群(F0〜F3)をフィルタ回路113kに出力し、画素群(H0〜H3)をフィルタ回路113mに出力する。
フィルタ回路113kは、前述したように、カレント画素選択回路113iによって選択されたカレントメモリ出力の画素群(F4〜F7)と隣接画素選択回路113jによって選択された隣接左メモリ113hからの画素群(F0〜F3)とを用いて垂直エッジフィルタ処理を行い、結果を遅延回路113oに出力する。
フィルタ回路113mは、カレント画素選択回路113iによって選択されたカレントメモリ出力の画素群(H4〜H7)と隣接画素選択回路113jによって選択された隣接左メモリ113hからの画素群(H0〜H3)とを用いて垂直エッジフィルタ処理を行い、結果を遅延回路113oに出力する。
<第3ステップ>
1サイクル経過後、図12に示すように、遅延回路113oが画素群(E4〜E7)および画素群(G4〜G7)をそれぞれ出力する。
隣接画素選択回路113jは、遅延回路113oから出力された画素群(E4〜E7、G4〜G7)のうち、画素群(E4〜E7)をフィルタ回路113kに出力し、画素群(G4〜G7)をフィルタ回路113mに出力する。
フィルタ回路113kは、前述したように、カレント画素選択回路113iによって選択されたカレントメモリ出力の画素群(E8〜E11)と隣接画素選択回路113jによって選択された遅延回路113oからの画素群(E4〜E7)とを用いて垂直エッジフィルタ処理を行う。
また、画素選択回路113bは、遅延回路113oから出力された画素群(E4〜E7、G4〜G7)を読み込む。
<第4ステップ>
次に、図13に示すように、遅延回路113oが、画素群(F4〜F7)および画素群(H4〜H7)をそれぞれ出力する。
隣接画素選択回路113jは、遅延回路113oから出力された画素群(F4〜F7、H4〜H7)のうち、画素群(F4〜F7)をフィルタ回路113kに出力し、画素群(H4〜H7)をフィルタ回路113mに出力する。
フィルタ回路113kは、カレント画素選択回路113iによって選択されたカレントメモリ出力の画素群(F8〜F11)と隣接画素選択回路113jによって選択された遅延回路113oからの画素群(F4〜F7)とを用いて垂直エッジフィルタ処理を行う。
また、画素選択回路113bは、第3ステップにて得られた画素群(E4〜E7、G4〜G7)と本ステップにて得られた画素群(F4〜F7、H4〜H7)とを転置して画素群(E4〜H4、E5〜H5、E6〜H6、E7〜H7)をカレントメモリ113fに出力する。ライトメモリコントローラ113dは、カレントメモリ113fのアドレス#0に画素群(E4〜H4)および画素群(E6〜H6)を格納し、アドレス#1に画素群(E5〜H5)および画素群(E7〜H7)を格納する。
以降、隣接左画素群が参照マクロブロックの場合は、第1ステップおよび第2ステップを行い、隣接左画素群が対象マクロブロックの場合は、第3ステップおよび第4ステップを行う。
また、今回の垂直エッジフィルタ処理にて、図6(d)、図6(h)、図7(d)および図7(h)に示す処理を行ったときに得られる画素群(E16〜E19、F16〜F19、・・・、S16〜S19、T16〜T19)をそれぞれ次回の垂直エッジフィルタ処理に用いる隣接左画素群として隣接左メモリ113hに格納する。
図14は、垂直エッジフィルタ処理前後におけるデータの格納状態を示す図である。
図14に示すように、第3ステップの垂直エッジフィルタ処理を行う前は、遅延回路113oには画素群(E4〜E7、F4〜F7、G4〜G7、H4〜H7)が格納されている。また、アドレス#0は、第1ステップにてフィルタ回路113k、113mに読み出された画素群(E4〜E7、G4〜G7)が格納されていた部分であるため空になっている。アドレス#1も同様に第2ステップにてフィルタ回路113k、113mに読み出された画素群(F4〜F7、H4〜H7)が格納された部分であるため空になっている。
第3ステップおよび第4ステップを行った後は、遅延回路113oには画素群(E8〜E11、F8〜F11、G8〜G11、H8〜H11)が格納される。
そして、アドレス#0には今回の垂直エッジフィルタ処理により画素選択回路113bにて並び替えられた画素群(E4、F4、G4、H4)および画素群(E6、F6、G6、H6)が格納され、アドレス#1にも今回の垂直エッジフィルタ処理により画素選択回路113bにて並び替えられた画素群(E5、F5、G5、H5)および画素群(E7、F7、G7、H7)が格納される。
図15は、本実施の形態のデブロッキングフィルタの動作を示すシーケンス図である。なお、図15において、「カレント」は、カレントメモリ113fから読み出される画素群を示し、「隣接」は隣接左メモリ113hから読み出される画素群を示し、「フィルタ後データ」は、遅延回路113oから出力される画素を示し、「Write」は、画素選択回路113bからカレントメモリ113fに書き戻される画素群を示し、白抜きの矢印はエッジフィルタ処理を行う画素群の組み合わせを示している。
前述したように最初の1サイクル(2クロック)にて第1ステップおよび第2ステップが実行される。そして、次の1サイクルにて第3ステップおよび第4ステップが実行される。このようにして処理が進み、3サイクル目の1クロック目には、画素選択回路113bからマクロブロック4行目〜7行目の水平エッジフィルタ処理が可能な画素群がカレントメモリ113fに書き戻される。4サイクル目の1クロック目には、画素選択回路113bからマクロブロック8行目〜11行目の水平エッジフィルタ処理が可能な画素群が書き戻される。5サイクル目の1クロック目には、画素選択回路113bにてマクロブロック12行目〜15行目の水平エッジフィルタ処理が可能な画素群が書き戻される。
このように垂直エッジフィルタ処理が終了した時点で、水平エッジフィルタ処理を行うための画素の配列の準備が終了する。これにより、迅速に水平エッジフィルタを行うことができる。
次に、水平エッジフィルタ処理について説明する。
図16および図17は、水平エッジフィルタの処理を示す図である。
水平エッジフィルタ処理では、(8×4)画素を左上側から右下側に向かって処理部分を移動しながら図16(a)〜図16(h)、図17(a)〜図17(h)の順にエッジを処理する。以下、詳しく説明する。
まず、1サイクル目の1クロック目に画素(D4)と画素(E4)との間のエッジと、画素(D6)と画素(E6)との間のエッジとを同時に処理する。このように水平エッジフィルタ処理では、行方向に存在するエッジを処理する。
具体的には、画素群(A4〜H4)をフィルタ回路113kにて処理し、画素群(A6〜H6)をフィルタ回路113mにて処理する(図16(a)参照)。
そして、2サイクル目に画素(D5)と画素(E5)との間のエッジと、画素(D7)と画素(E7)との間のエッジとを同時に処理する。
具体的には画素群(A5〜H5)をフィルタ回路113kにて処理し、画素群(A7〜H7)をフィルタ回路113mにて処理する(図16(a)参照)。
そして、1サイクル毎に4画素分下に移動して、該当するエッジに属する(8×4)画素群について同様の処理を行う(図16(b)参照)。
そして、対象マクロブロックの下側の端部まで処理を終えると(図16(d)参照)、次に対象マクロブロック上側の端部における4画素右に存在するエッジの処理を行う(図16(e)参照)。
そして、マクロブロックの最下端の右側の端部まで処理を終えると処理を終了する(図17(h)参照)。
なお、水平エッジフィルタ処理を行うために用いる参照マクロブロックの画素群(A4〜D4、A5〜D5、・・・、A18〜D18、A19〜D19)は、それぞれ前回の水平エッジフィルタ処理にて外部メモリ113rに予め列方向に整列された状態で格納されている。そして、今回の水平エッジフィルタ処理を行うときに画素選択回路113aを介して隣接上メモリ113gに入力される。
具体的には図16(a)、図16(e)、図17(a)および図17(e)において、それぞれ外部メモリ113rから画素選択回路113aを介して隣接上メモリ113gに入力した画素が読み出される。
また、今回の水平エッジフィルタ処理にて、次回の水平エッジフィルタ処理に用いる上隣接4画素を外部メモリ113rに格納する。具体的には、図16(d)、図16(h)、図17(d)および図17(h)に示す処理を行ったときの画素群(Q4〜T4、Q5〜T5、・・・、Q18〜T18、Q19〜T19)を外部メモリ113rに格納する。
次に、水平エッジフィルタ処理時の画素読み出しについて説明する。
図18および図19は、水平エッジフィルタ処理時に読み出す画素の順番を示す図である。
水平エッジフィルタ処理では、リードメモリコントローラ113eがカレントメモリ113fから(4×4)画素群ずつ、左上側から右下側に向かって移動しながら図18(a)〜図18(h)、図19(a)〜図19(h)の順に画素群を読み出す。
まず、リードメモリコントローラ113eは、1クロック目は垂直方向に4画素2ライン分の画素群(E4〜H4、E6〜H6)を読み出す。2クロック目は1サイクル目で読み出したデータに対し、水平方向に1画素移動した位置に存在する画素群(E5〜H5、E7〜H7)を読み出す(図18(a)参照)。
2サイクル目の1クロック目で垂直方向に4画素移動した位置に存在する4画素2ライン分の画素群(I4〜L4、I6〜L6)を読み出す。2クロック目は1クロック目で読み出した画素群に対し、水平方向に1画素移動した位置に存在する画素群(I5〜L5、I7〜H7)を読み出す(図18(b)参照)。対象マクロブロックの下側の端部まで読み出すと、対象マクロブロック上側の端部における4画素右に存在する4画素2ライン分の画素群を読み出す。すなわち図18(c)に示すように、1クロック目は、画素群(E8〜H8、E10〜H10)を読み出す。2クロック目は1クロック目で読み出した画素群に対し、垂直方向に1画素移動した位置に存在する画素群(E9〜H9、E11〜H11)を読み出す。リードメモリコントローラ113eは、この動作を同様に繰り返し、対象マクロブロック中に存在するすべての画素を読み出す。
以上述べたように、本実施の形態によれば、フィルタ回路113k、113mが、垂直エッジフィルタ処理において行方向に並ぶ画素群を複数列同時に処理することにより、水平エッジフィルタ処理に用いる画素を迅速に取得することができる。そして、画素選択回路113bが垂直エッジフィルタ処理後の画素群を列方向に並び替えてカレントメモリ113fに書き戻すことにより、水平エッジフィルタ処理においてリードメモリコントローラ113eが、カレントメモリ113fからの画素群の連続読み出しを行うことができる。
また、一度に読み出す画素群を4画素2ライン分とすることで、カレントメモリ113fの1アドレス当たりの容量を8画素分とすることができるため水平エッジフィルタ処理を行うために1アドレス当たりの容量が16画素分必要であった従来に比べてメモリを効率よく使用することができる。
また、フィルタ回路113k、113mを並列化して設けたことにより、垂直エッジフィルタ処理後、水平エッジフィルタ処理に必要な画素を迅速に用意することができる。例えば、1フレームが1920×1088画素サイズである場合、従来のデブロッキングフィルタの1マクロブロック分の垂直エッジフィルタ処理に必要な時間は、以下の通りである。
輝度成分:4(クロック)×16(ライン)=64(クロック)
色差成分:2(クロック)×16(ライン)=32(クロック)
垂直エッジフィルタ処理サイクル:64+32=96(クロック)
また、1マクロブロック分の水平エッジフィルタ処理に必要な時間は、以下の通りである。
輝度成分の1画素当たり:4(クロック)×4(エッジ)+4(クロック)=20(クロック)
輝度成分全体:20(クロック)×16(ライン)=320サイクル
色差成分の1画素当たり:6(クロック(読み出し+フィルタ))+2(クロック(書込用))=8(クロック)
色差成分全体:320(クロック)+128(クロック)=448(クロック)
よってフィルタ処理に必要なサイクルは、96(クロック)+448(クロック)=544(クロック)となる。これによりデブロッキングフィルタの動作周波数が100MHzである場合、1フレーム当たりの処理時間は、以下の通りである。
処理時間:544(クロック)×120(MB行)×68(MB列)×9.2(ns)=40.839(ms)
よって、例えば1(s)で30枚のフレームを処理する場合は、40.839(ms)×30(s)=1.225(s)>1(s)となってしまう。
これに対し、本実施の形態のデブロッキングフィルタ113の1マクロブロック分の垂直エッジフィルタ処理に必要な時間は、以下の通りである。
輝度成分:2(クロック)×16(画素)=32(クロック)
各色差成分:2(クロック)×4(画素)=8(クロック)
垂直エッジフィルタ処理サイクル:32+8+8=48(クロック)
また、1マクロブロック分の水平エッジフィルタ処理に必要な時間は、以下の通りである。
輝度成分の1サブブロック:4(クロック)×16=64(クロック)
終端時のライトサイクル:4(クロック)×4=16(クロック)
バッファの遅延:25(クロック)×2=50(クロック)
輝度成分全体:64(クロック)+16(クロック)+50(クロック)=130サイクル
色差成分の1サブブロック:4(クロック)×8=32(クロック)
終端時のライトサイクル:4(クロック)×2=8(クロック)
バッファの遅延:17(クロック)×2=34(クロック)
色差成分全体:32(クロック)+8(クロック)+34(クロック)=74(クロック)
水平エッジフィルタ処理サイクル:130(クロック)+74(クロック)=204(クロック)
よってフィルタ処理に必要なサイクルは、48(クロック)+204(クロック)=252(クロック)となる。
よって、1フレーム当たりの処理時間は、以下の通りである。
252(クロック)×120(MB行)×68(MB列)×9.2(ns)=18.918(ms)
よって、例えば1(s)で30枚のフレームを処理する場合は、18.918(ms)×30(s)=0.568(s)<1(s)となる。
このように、本実施の形態のデブロッキングフィルタ113によれば、1マクロブロック分のエッジフィルタ処理に必要な時間を従来に比べ2倍以上高速化することができる。
次に、第2の実施の形態のデブロッキングフィルタについて説明する。
以下、第2の実施の形態のデブロッキングフィルタについて、前述した第1の実施の形態のデブロッキングフィルタ113との相違点を中心に説明し、同様の事項については、その説明を省略する。
図20は、第2の実施の形態のデブロッキングフィルタを示す回路図である。
第2の実施の形態のデブロッキングフィルタ113は、カレント画素選択回路113sを有している点が、第1の実施の形態のデブロッキングフィルタ113と異なっている。
カレント画素選択回路113sの入力側には遅延回路113oの出力端子とカレントメモリ113fの出力とが接続されており、入力されたデータのうちフィルタ回路113k、113mにそれぞれ出力するデータを選択し、出力する。
また、隣接画素選択回路113jおよびカレント画素選択回路113sは、それぞれ(2×2)画素群を格納することができる4つのバッファを有している。
<第2のエッジフィルタ処理>
次に、第2のエッジフィルタ処理について説明する。
以下、第2のエッジフィルタ処理について、前述したエッジフィルタ処理との相違点を中心に説明し、同様の事項については、その説明を省略する。
第2の実施の形態のデブロッキングフィルタ113の処理は、対象マクロブロックがノンインタレースであり、参照マクロブロックが、インタレースである場合、すなわちマクロブロック境界を挟み、インタレース/ノンインタレースの組み合わせが存在する場合の処理である。
図21は、第2のエッジフィルタ処理の垂直エッジフィルタ処理を示す図である。
対象マクロブロックがノンインタレースであり、参照マクロブロックがインタレースの場合、画素群(E4〜E19、F4〜F19、・・・、K4〜K19、L4〜L19)に関しては、水平エッジフィルタ処理を意識した垂直エッジフィルタ処理を行う。具体的には、まず、列方向に隣接するサブブロックの行方向に並ぶ上から(A列から)数えて奇数列の複数の画素群を同時に処理する。次に、偶数列の複数の画素群を同時に処理する。
以下、具体例を用いて説明する。
まず、1サイクル目の1クロック目に画素(E3)と画素(E4)との間のエッジと、画素(I3)と画素(I4)との間のエッジとを同時に処理する。具体的には画素群(E0〜E7)をフィルタ回路113kにて処理し、画素群(I0〜I7)をフィルタ回路113mにて処理する(図21(a)参照)。
そして、2クロック目に画素(G3)と画素(G4)との間のエッジと、画素(K3)と画素(K4)との間のエッジとを同時に処理する(図21(a)参照)。以後、1サイクル毎に4画素分右方向に移動して、該当するエッジに属する(4×8)画素群について同様の処理を行う(図21(b)、図21(c)参照)。
そして対象マクロブロックの右側の端部まで処理を終えると(図21(d)参照)、2サイクル目の1クロック目に画素(F3)と画素(F4)との間のエッジと、画素(J3)と画素(J4)との間のエッジとを同時に処理する(図21(e)参照)。
そして、2クロック目に画素(G3)と画素(G4)との間のエッジと、画素(K3)と画素(K4)との間のエッジとを同時に処理する(図21(e)参照)。
そして対象マクロブロックの右側の端部まで処理を終えると(図21(h)参照)、以降は、図7(a)〜図7(h)に示す処理と同様の処理を行う。
このようにして、デブロッキングフィルタ113は、対象マクロブロック中に存在する全ての画素を読み出しつつ、エッジの処理を行う。
図22〜図25は、第2のエッジフィルタ処理の水平エッジフィルタ処理を示す図である。
水平エッジフィルタ処理では、(8×4)画素を左上側から右下側に向かって処理部分を移動しながら図22(a)〜図22(h)、図23(a)〜図23(h)、図24(a)〜図24(h)、図25(a)〜図25(h)の順にエッジを処理する。
対象マクロブロックがノンインタレースであり、参照マクロブロックが、インタレースである場合、対象マクロブロックと参照マクロブロックの境界の部分におけるエッジの処理は、ライン毎(1つおき)に行う。すなわち、まず、4行〜7行目の画素において、1クロック目に上から(A列から)数えて奇数番目(トップフィールド)の画素群(A4、C4、E4、G4、I4、K4、M4、O4)をフィルタ回路113kにて処理し、画素群(A6、C6、E6、G6、I6、K6、M6、O6)をフィルタ回路113mにて処理する(図22(a)参照)。
そして、2クロック目に画素群(A5、C5、E5、G5、I5、K5、M5、O5)をフィルタ回路113kにて処理し、画素群(A7、C7、E7、G7、I7、K7、M7、O7)をフィルタ回路113mにて処理する(図22(a)参照)。
次に、1サイクル間をあけて3サイクル目の1クロック目に上から数えて偶数番目(ボトムフィールド)の画素群(B4、D4、F4、H4、J4、L4、N4、P4)をフィルタ回路113kにて処理し、画素群(B6、D6、F6、H6、J6、L6、N6、P6)をフィルタ回路113mにて処理する(図22(b)参照)。
そして、2クロック目に画素群(B5、D5、F5、H5、J5、L5、N5、P5)をフィルタ回路113kにて処理し、画素群(B7、D7、F7、H7、J7、L7、N7、P7)をフィルタ回路113mにて処理する(図22(b)参照)。
その後、ノンインタレース側の画素の水平エッジフィルタ処理を行うが、この処理は、第1の実施の形態の処理と同様にして行う(図22(c)〜図22(e)参照)。
そして、対象マクロブロックの下側の端部まで処理を終えると(図22(e)参照)、次に図22(a)および図22(b)に示した方法と同様の方法で対象マクロブロック上側の端部における4画素右に存在するエッジの処理を行う(図23(a)、図23(b)参照)。
そして、マクロブロックの最下端の右側の端部まで処理を終えると処理を終了する(図25(e)参照)。
図26〜図32は、第2のエッジフィルタ処理の水平エッジフィルタ処理時の各部の動作を示す図である。
<第1ステップ>
まず、画素群(A4〜A7、C4〜C7、E4〜E7、G4〜G7)と画素群(I4〜I7、K4〜K7、M4〜M7、O4〜O7)とを用いてエッジフィルタ処理を行う(図26参照)。
具体的には1サイクル目の1クロック目に隣接上メモリ113gから画素群(A4、C4、E4、G4)および画素群(A6、C6、E6、G6)を読み出し、カレントメモリ113fから画素群(I4、K4、M4、O4)および画素群(I6、K6、M6、O6)を読み出す。そしてカレント画素選択回路113sが、画素群(I4、K4、M4、O4)をフィルタ回路113kに出力し、画素群(I6、K6、M6、O6)をフィルタ回路113mに出力する。
また、隣接画素選択回路113jが、画素群(A4、C4、E4、G4)をフィルタ回路113kに出力し、画素群(A6、C6、E6、G6)をフィルタ回路113mに出力する。フィルタ回路113k、113mは、これらの画素を用いてそれぞれ水平エッジフィルタ処理を行う。
なお、第1ステップで隣接上メモリ113gから読み出した画素群は、画素選択回路113aが、前回のエッジフィルタ処理において外部メモリ113rに格納されたものを隣接上メモリ113gに格納する。
次に、1サイクル目の2クロック目に隣接上メモリ113gから画素群(A5、C5、E5、G5)および(A7、C7、E7、G7)を読み出し、カレントメモリ113fから画素群(I5、K5、M5、O5)および画素群(I7、K7、M7、O7)を読み出す。そしてカレント画素選択回路113sが、画素群(I5、K5、M5、O5)をフィルタ回路113kに出力し、画素群(I7、K7、M7、O7)をフィルタ回路113mに出力する(図27参照)。
また、隣接画素選択回路113jが、画素群(A5、C5、E5、G5)をフィルタ回路113kに出力し、画素群(A7、C7、E7、G7)をフィルタ回路113mに出力する。フィルタ回路113k、113mは、これらの画素を用いてそれぞれ水平エッジフィルタ処理を行う。
<第2ステップ>
2サイクル目の1クロック目に遅延回路113oから出力される画素群(I4、K4、M4、O4)および画素群(I6、K6、M6、O6)のうち、画素群(M4、O4、M6、O6)をカレント画素選択回路113sに格納し、画素群(I4、K4、I6、K6)を隣接画素選択回路113jに格納する(図28参照)。
次に、2サイクル目の2クロック目に遅延回路113oから出力される画素群(I5、K5、M5、O5)および画素群(I7、K7、M7、O7)のうち、画素群(M5、O5、M7、O7)をカレント画素選択回路113sに格納し、画素群(I5、K5、I7、K7)を隣接画素選択回路113jに格納する(図29参照)。
<第3ステップ>
3サイクル目の1クロック目に隣接上メモリ113gから画素群(B4、D4、F4、H4)および画素群(B6、D6、F6、H6)を読み出し、カレントメモリ113fから画素群(J4、L4、N4、P4)および画素群(J6、L6、N6、P6)を読み出し、フィルタ回路113k、113mがこれらの画素を用いて水平エッジフィルタ処理を行う(図30参照)。
3サイクル目の2クロック目に隣接上メモリ113gから画素群(B5、D5、F5、H5)および画素群(B7、D7、F7、H7)を読み出し、カレントメモリ113fから画素群(J5、L5、N5、P5)および画素群(J7、L7、N7、P7)を読み出し、フィルタ回路113k、113mがこれらの画素を用いて水平エッジフィルタ処理を行う(図31参照)。
<第4ステップ>
4サイクル目の1クロック目に遅延回路113oから出力される画素群(J4、L4、N4、P4)および画素群(J6、L6、N6、P6)のうち、画素群(J4、L4、J6、L6)を隣接画素選択回路113jに入力し、画素群(N4、P4、N6、P6)をカレント画素選択回路113sに入力する。
そして、隣接画素選択回路113jが隣接上画素群として、2サイクル目に得られた画素群(I4、K4)と、入力された画素群(J4、L4)とによって得られた画素群(I4〜L4)をフィルタ回路113kに出力する。また、2サイクル目に得られた画素群(I6、K6)と、入力された画素群(J6、L6)とによって得られた画素群(I6〜L6)をフィルタ回路113mに出力する。
また、カレント画素選択回路113sがカレント側画素群として、2サイクル目に得られた画素群(M4、O4)と、入力された画素群(N4、P4)とによって得られた画素群(M4〜P4)をフィルタ回路113kに出力する。また、2サイクル目に得られた画素群(M6、O6)と、入力された画素群(N6、O6)とによって得られた画素群(M6〜P6)をフィルタ回路113mに出力する。フィルタ回路113k、113mがこれらの画素を用いて水平エッジフィルタ処理を行う(図32参照)。
図33は、第2のエッジフィルタ処理を示すシーケンス図である。
対象マクロブロックがノンインタレースであり、参照マクロブロックがインタレースの場合、第1のエッジフィルタ処理に比べて処理パターンが増加する部分が存在する(例えば図16(a)に対し、図22(a)および図22(b))。一方、第1のフィルタ処理と共通の処理パターンも存在する(例えば図16(b)〜図16(d)に対し、図22(c)〜図22(e))。このためトータルでの処理時間が変動する。
この第2のフィルタ処理によれば、フィルタ処理とフィルタ処理との間に、敢えて遅延回路113oから出力された画素を処理するための空きサイクル(2サイクル目および4サイクル目)を挿入することにより、処理の遅延を防止することができる。これにより処理時間が固定されるため、動作が安定する。また、正確な検証時間を把握することができるため、回路検証を容易に行うことができる。
また、カレント側画素群の入力の際、フィルタ後のデータを選択できるよう、隣接画素選択回路113iを設けたので、エッジが増加する場合に対応することができる。
ところで、フィルタ回路113k、113mは、入力された各画素群(8画素)に対し全て異なる演算式を用いてエッジフィルタ処理を施している。演算に際し、共通の演算項が存在するためこの部分を共有してハードリソースの共有化を図っている。
図34は、フィルタ回路に入力された各画素と演算式との関係を示す図である。
図34中、「q」はカレント側画素を示し、「p」は隣接側画素を示す。数字の大小は、エッジからの距離を示す。すなわちp0、q0は、それぞれエッジを挟んで互いに隣接する位置の画素を示す。p1は、p0の左側に位置する画素を示す。q1は、q0の右側に位置する画素を示す。p2は、p1の左側に位置する画素を示す。q2は、q1の右側に位置する画素を示す。p3は、p1の左側に位置する画素を示す。q3は、q1の右側に位置する画素を示す。
図35は、ハードリソースの共有を示す図である。
図35中、「ap0」〜「ap2」は、それぞれp0〜p2のフィルタ処理後の画素を示す。「aq0」〜「aq2」は、それぞれq0〜q2のフィルタ処理後の画素を示す。「bs」はフィルタ強度を示す。「chromaEdgeFlag=0」は、輝度を示す。「chromaEdgeFlag=1」は、色差を示す。
また、演算項において「−tc0」、「tc0」は、フィルタ強度から求められるスレッショルドのパラメータを示す。このパラメータは、フィルタ回路113k、113mがそれぞれ有している。「Clip」は、カッコ内のカンマで区切られている3つの値のうち、左側2つがスレッショルドを示し、右側が演算式を示す。−tc0〜tc0の間で演算式を計算する。演算式の演算結果がtc0になった場合はtc0にクリップする。−tc0になった場合は−tc0にクリップする。それ以外の場合は演算結果を出力する。「>>」は1ビット左シフト(乗算)を示す。「<<」は、1ビット右シフト(除算)を示す。
例えばap1の演算を行う場合とaq1の演算を行う場合とにおいてはいずれも(p0+q0+1)>>1を演算する必要がある。よって、この演算について処理回路を単一化し、出力を分岐することで等価回路を実現する。
図35中「ADD1」〜「ADD7」と「DIV」とがハードリソース共有部(演算部)である。例えば「ADD4」は、(p0+q0)を行う。「ADD7」は、(ADD4+1)=(p0+q0+1)を行う。「DIV」は、(ADD7>>1)=((p0+q0+1)>>1)を行う。
このように、フィルタ回路113k、113mにおいて異なる画素の演算について同一演算項を同じハードリソースを用いて演算するようにしたので、回路の簡素化を図ることができる。
以上、本発明のデブロッキングフィルタ、画像符号化装置および画像復号化装置を、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。
また、本発明は、前述した各実施の形態のうちの、任意の2以上の構成(特徴)を組み合わせたものであってもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、画像符号化装置および画像復号化装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記録装置としては、例えば、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープ等が挙げられる。光ディスクとしては、例えば、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等が挙げられる。光磁気記録媒体としては、例えば、MO(Magneto-Optical disk)等が挙げられる。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
(付記1) 複数のブロックに区分された動画像データの前記ブロックのエッジを挟んで、前記エッジと交差する方向に並んだ所定個数の画素群について、ブロック歪みを低減させるエッジフィルタ処理を行うデブロッキングフィルタにおいて、
処理対象のマクロブロックの列方向の前記エッジを挟んで行方向に並ぶ前記画素群を複数列同時に処理する列方向エッジフィルタ処理を行う処理部と、
前記処理部によって処理した前記画素群のうち前記処理対象の前記マクロブロックの画素群を列方向毎に並び替える並び替え部と、
を有することを特徴とするデブロッキングフィルタ。
(付記2) 前記処理部は、行方向エッジフィルタ処理1サイクル分の行方向に並ぶ前記画素群を1サイクルで複数列同時に処理する列方向エッジフィルタ処理を行うことを特徴とする付記1記載のデブロッキングフィルタ。
(付記3) 前記処理部は、サブブロックの列方向の前記エッジを挟んで行方向に並ぶ前記画素群を1サイクルで複数列同時に処理する列方向エッジフィルタ処理を行い、処理が終了すると、行方向に隣接する前記サブブロックの列方向の前記エッジを挟んで行方向に並ぶ前記画素群を1サイクルで複数列同時に処理する列方向エッジフィルタ処理を行うことを特徴とする付記1記載のデブロッキングフィルタ。
(付記4) 行方向に並ぶ前記画素群は、今回の処理対象のカレント側画素群と前回以前に処理を行った隣接側画素群とで構成されていることを特徴とする付記1記載のデブロッキングフィルタ。
(付記5) 前記処理部は、1/2サイクル毎に1つの行方向に並ぶ前記画素群の前記エッジフィルタ処理を行うN(N≧2)個のフィルタ回路と、
前記カレント側画素群を前記各フィルタ回路に出力するカレント側画素群出力部と、
前記隣接側画素群を前記各フィルタ回路に出力する隣接側画素群出力部と、
実質的に前記エッジフィルタ処理に要する時間をN/2サイクルとするサイクル調整用回路とを有し、
前記並び替え部は、前記サイクル調整用回路から出力された行方向に並ぶ前記画素群を、列毎に並び替えて前記カレント側画素群出力部に出力することを特徴とする付記4記載のデブロッキングフィルタ。
(付記6) N=2であることを特徴とする付記5記載のデブロッキングフィルタ。
(付記7) 前記カレント側画素群出力部は、1アドレス当たりに前記フィルタ回路に一度に読み出すN個の前記カレント側画素群を格納するカレントメモリを有することを特徴とする付記5記載のデブロッキングフィルタ。
(付記8) 前記隣接側画素群出力部は、予め格納されている前記隣接側画素群を出力する隣接側メモリと、前記サイクル調整用回路からの前記画素群とを選択する選択回路とを有することを特徴とする付記5記載のデブロッキングフィルタ。
(付記9) 前記フィルタ回路は、前記画素群の各画素の演算式における共通演算項をまとめて演算する演算部を有することを特徴とする付記5記載のデブロッキングフィルタ。
(付記10) 前記隣接側画素群がインタレースであり、前記カレント側画素群がノンインタレースであるとき、前記列方向エッジフィルタ処理において列方向に隣接する各サブブロックの前記エッジを挟んで行方向に並ぶ前記画素群を同時に処理することを特徴とする付記5記載のデブロッキングフィルタ。
(付記11) 前記カレント側画素群出力部は、行方向エッジフィルタ処理において、予め格納されている列方向の前記画素群を出力するカレントメモリと、前記カレントメモリからの前記画素群と前記サイクル調整用回路から出力された前記画素群のうち前記処理対象の前記マクロブロックの画素群を列方向毎に並び替えた前記画素群とを選択して出力する選択回路とを有することを特徴とする付記10記載のデブロッキングフィルタ。
(付記12) 前記処理部は、前記行方向エッジフィルタ処理において、一定期間前記フィルタ回路に対し前記カレントメモリからの前記画素群の出力を停止する停止期間を設け、前記停止期間において前記フィルタ回路は、前記選択回路から出力された前記画素群のみを用いて前記エッジフィルタ処理を行うことを特徴とする付記11記載のデブロッキングフィルタ。
(付記13) 複数のブロックに区分された動画像データの前記ブロックのエッジを挟んで、前記エッジと交差する方向に並んだ所定個数の画素群について、ブロック歪みを低減させるエッジフィルタ処理を行う画像符号化装置において、
処理対象のマクロブロックの列方向の前記エッジを挟んで行方向に並ぶ前記画素群を複数列同時に処理する列方向エッジフィルタ処理を行う処理部と、
前記処理部によって処理した前記画素群のうち前記処理対象の前記マクロブロックの画素群を列方向毎に並び替える並び替え部と、
を有することを特徴とする画像符号化装置。
(付記14) 複数のブロックに区分された動画像データの前記ブロックのエッジを挟んで、前記エッジと交差する方向に並んだ所定個数の画素群について、ブロック歪みを低減させるエッジフィルタ処理を行う画像復号化装置において、
処理対象のマクロブロックの列方向の前記エッジを挟んで行方向に並ぶ前記画素群を複数列同時に処理する列方向エッジフィルタ処理を行う処理部と、
前記処理部によって処理した前記画素群のうち前記処理対象の前記マクロブロックの画素群を列方向毎に並び替える並び替え部と、
を有することを特徴とする画像復号化装置。
本発明の概要を示す図である。 本発明の実施の形態の画像符号化装置の構成を示したブロック図である。 本発明の実施の形態の画像復号化装置の構成を示したブロック図である。 本実施の形態のデブロッキングフィルタを示す回路図である。 カレントメモリのメモリ構成を示す図である。 垂直エッジフィルタ処理を示す図である。 垂直エッジフィルタ処理を示す図である。 垂直エッジフィルタ時の画素読み出しを説明する図である。 垂直エッジフィルタ時の画素読み出しを説明する図である。 第1のエッジフィルタ処理の垂直エッジフィルタ処理時の各部の動作を示す図である。 第1のエッジフィルタ処理の垂直エッジフィルタ処理時の各部の動作を示す図である。 第1のエッジフィルタ処理の垂直エッジフィルタ処理時の各部の動作を示す図である。 第1のエッジフィルタ処理の垂直エッジフィルタ処理時の各部の動作を示す図である。 垂直エッジフィルタ処理前後におけるデータの格納状態を示す図である。 本実施の形態のデブロッキングフィルタの動作を示すシーケンス図である。 水平エッジフィルタの処理を示す図である。 水平エッジフィルタの処理を示す図である。 水平エッジフィルタ処理時に読み出す画素の順番を示す図である。 水平エッジフィルタ処理時に読み出す画素の順番を示す図である。 第2の実施の形態のデブロッキングフィルタを示す回路図である。 第2のエッジフィルタ処理の垂直エッジフィルタ処理を示す図である。 第2のエッジフィルタ処理の水平エッジフィルタ処理を示す図である。 第2のエッジフィルタ処理の水平エッジフィルタ処理を示す図である。 第2のエッジフィルタ処理の水平エッジフィルタ処理を示す図である。 第2のエッジフィルタ処理の水平エッジフィルタ処理を示す図である。 第2のエッジフィルタ処理の水平エッジフィルタ処理時の各部の動作を示す図である。 第2のエッジフィルタ処理の水平エッジフィルタ処理時の各部の動作を示す図である。 第2のエッジフィルタ処理の水平エッジフィルタ処理時の各部の動作を示す図である。 第2のエッジフィルタ処理の水平エッジフィルタ処理時の各部の動作を示す図である。 第2のエッジフィルタ処理の水平エッジフィルタ処理時の各部の動作を示す図である。 第2のエッジフィルタ処理の水平エッジフィルタ処理時の各部の動作を示す図である。 第2のエッジフィルタ処理の水平エッジフィルタ処理時の各部の動作を示す図である。 第2のエッジフィルタ処理を示すシーケンス図である。 フィルタ回路に入力された各画素と演算式との関係を示す図である。 ハードリソースの共有を示す図である。 従来のデブロッキングフィルタの垂直エッジフィルタを示す図である。 従来のデブロッキングフィルタの水平エッジフィルタを示す図である。
符号の説明
1、113、207 デブロッキングフィルタ
2 処理部
3 並び替え部
4 マクロブロック
100 画像符号化装置
101 MB分割部
102 動きベクトル検出部
103、209 過去のフレームバッファ
104、210 フレーム間予測部
105、205 フレーム内予測部
106、204 現フレームバッファ
107、206 予測モード選択部
108 減算器
109 直交変換量子化部
110 エントロピー符号化部
111、202 逆量子化逆直交変換部
112、203 加算器
113a、113b 画素選択回路
113c タイミングコントローラ
113d ライトメモリコントローラ
113e リードメモリコントローラ
113f カレントメモリ
113g 隣接上メモリ
113h 隣接左メモリ
113i、113s カレント画素選択回路
113j 隣接画素選択回路
113k、113m フィルタ回路
113n フィルタリングパラメータ保持回路
113o 遅延回路
113p、113q 外部メモリインタフェース
113r 外部メモリ
114、208 フレームバッファ管理部
200 画像復号化装置
201 エントロピー復号化部

Claims (10)

  1. 複数のブロックに区分された動画像データの前記ブロックのエッジを挟んで、前記エッジと交差する方向に並んだ所定個数の画素群について、ブロック歪みを低減させるエッジフィルタ処理を行うデブロッキングフィルタにおいて、
    処理対象のマクロブロックの列方向の前記エッジを挟んで行方向に並ぶ前記画素群を複数列同時に処理する列方向エッジフィルタ処理を行う処理部と、
    前記処理部によって処理した前記画素群のうち前記処理対象の前記マクロブロックの画素群を列方向毎に並び替える並び替え部と、
    を有することを特徴とするデブロッキングフィルタ。
  2. 前記処理部は、行方向エッジフィルタ処理1サイクル分の行方向に並ぶ前記画素群を1サイクルで複数列同時に処理する列方向エッジフィルタ処理を行うことを特徴とする請求項1記載のデブロッキングフィルタ。
  3. 行方向に並ぶ前記画素群は、今回の処理対象のカレント側画素群と前回以前に処理を行った隣接側画素群とで構成されていることを特徴とする請求項1記載のデブロッキングフィルタ。
  4. 前記処理部は、1/2サイクル毎に1つの行方向に並ぶ前記画素群の前記エッジフィルタ処理を行うN(N≧2)個のフィルタ回路と、
    前記カレント側画素群を前記各フィルタ回路に出力するカレント側画素群出力部と、
    前記隣接側画素群を前記各フィルタ回路に出力する隣接側画素群出力部と、
    実質的に前記エッジフィルタ処理に要する時間をN/2サイクルとするサイクル調整用回路とを有し、
    前記並び替え部は、前記サイクル調整用回路から出力された行方向に並ぶ前記画素群を、列毎に並び替えて前記カレント側画素群出力部に出力することを特徴とする請求項3記載のデブロッキングフィルタ。
  5. 前記フィルタ回路は、前記画素群の各画素の演算式における共通演算項をまとめて演算する演算部を有することを特徴とする請求項4記載のデブロッキングフィルタ。
  6. 前記隣接側画素群がインタレースであり、前記カレント側画素群がノンインタレースであるとき、前記列方向エッジフィルタ処理において列方向に隣接する各サブブロックの前記エッジを挟んで行方向に並ぶ前記画素群を同時に処理することを特徴とする請求項4記載のデブロッキングフィルタ。
  7. 前記カレント側画素群出力部は、行方向エッジフィルタ処理において、予め格納されている列方向の前記画素群を出力するカレントメモリと、前記カレントメモリからの前記画素群と前記サイクル調整用回路から出力された前記画素群のうち前記処理対象の前記マクロブロックの画素群を列方向毎に並び替えた前記画素群とを選択して出力する選択回路とを有することを特徴とする請求項6記載のデブロッキングフィルタ。
  8. 前記処理部は、前記行方向エッジフィルタ処理において、一定期間前記フィルタ回路に対し前記カレントメモリからの前記画素群の出力を停止する停止期間を設け、前記停止期間において前記フィルタ回路は、前記選択回路から出力された前記画素群のみを用いて前記エッジフィルタ処理を行うことを特徴とする請求項7記載のデブロッキングフィルタ。
  9. 複数のブロックに区分された動画像データの前記ブロックのエッジを挟んで、前記エッジと交差する方向に並んだ所定個数の画素群について、ブロック歪みを低減させるエッジフィルタ処理を行う画像符号化装置において、
    処理対象のマクロブロックの列方向の前記エッジを挟んで行方向に並ぶ前記画素群を複数列同時に処理する列方向エッジフィルタ処理を行う処理部と、
    前記処理部によって処理した前記画素群のうち前記処理対象の前記マクロブロックの画素群を列方向毎に並び替える並び替え部と、
    を有することを特徴とする画像符号化装置。
  10. 複数のブロックに区分された動画像データの前記ブロックのエッジを挟んで、前記エッジと交差する方向に並んだ所定個数の画素群について、ブロック歪みを低減させるエッジフィルタ処理を行う画像復号化装置において、
    処理対象のマクロブロックの列方向の前記エッジを挟んで行方向に並ぶ前記画素群を複数列同時に処理する列方向エッジフィルタ処理を行う処理部と、
    前記処理部によって処理した前記画素群のうち前記処理対象の前記マクロブロックの画素群を列方向毎に並び替える並び替え部と、
    を有することを特徴とする画像復号化装置。
JP2006222173A 2006-08-17 2006-08-17 デブロッキングフィルタ、画像符号化装置および画像復号化装置 Active JP4712642B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006222173A JP4712642B2 (ja) 2006-08-17 2006-08-17 デブロッキングフィルタ、画像符号化装置および画像復号化装置
US11/826,399 US8416860B2 (en) 2006-08-17 2007-07-16 Deblocking filter, image encoder, and image decoder
CN2007101401288A CN101127906B (zh) 2006-08-17 2007-08-06 去块滤波器、图像编码器和图像解码器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006222173A JP4712642B2 (ja) 2006-08-17 2006-08-17 デブロッキングフィルタ、画像符号化装置および画像復号化装置

Publications (2)

Publication Number Publication Date
JP2008048181A true JP2008048181A (ja) 2008-02-28
JP4712642B2 JP4712642B2 (ja) 2011-06-29

Family

ID=39095803

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006222173A Active JP4712642B2 (ja) 2006-08-17 2006-08-17 デブロッキングフィルタ、画像符号化装置および画像復号化装置

Country Status (3)

Country Link
US (1) US8416860B2 (ja)
JP (1) JP4712642B2 (ja)
CN (1) CN101127906B (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010041743A1 (ja) * 2008-10-10 2010-04-15 日本電気株式会社 メモリ制御装置、メモリマッピング方法、及び、プログラム
WO2012077608A1 (ja) * 2010-12-07 2012-06-14 ソニー株式会社 画像処理装置及び画像処理方法
WO2012077607A1 (ja) * 2010-12-07 2012-06-14 ソニー株式会社 画像処理装置及び画像処理方法
US8326052B2 (en) 2008-05-23 2012-12-04 Canon Kabushiki Kaisha Apparatus, method, and computer-readable storage medium for decoding movie image data

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101104828B1 (ko) * 2004-12-09 2012-01-16 삼성전자주식회사 움직임 벡터 연산 장치 및 그 방법
US20080298472A1 (en) * 2007-06-04 2008-12-04 Texas Instruments Incorporated Throughput Performance When Applying Deblocking Filters On Reconstructed Image Frames
TWI335764B (en) * 2007-07-10 2011-01-01 Faraday Tech Corp In-loop deblocking filtering method and apparatus applied in video codec
WO2009050766A1 (ja) * 2007-10-18 2009-04-23 Fujitsu Limited 映像圧縮符号化・復元装置、映像圧縮符号化・復元プログラム、及び映像生成・出力装置
EP2061250B8 (en) * 2007-11-16 2012-02-29 ST-Ericsson SA Deblocking filter
TWI386068B (zh) * 2008-10-22 2013-02-11 Nippon Telegraph & Telephone 解塊處理方法、解塊處理裝置、解塊處理程式及記錄該程式之可由電腦讀取之記錄媒體
US9596485B2 (en) * 2008-10-27 2017-03-14 Sk Telecom Co., Ltd. Motion picture encoding/decoding apparatus, adaptive deblocking filtering apparatus and filtering method for same, and recording medium
KR101534050B1 (ko) * 2008-10-28 2015-07-06 에스케이 텔레콤주식회사 동영상 부호화/복호화 장치, 이를 위한 디블록킹 필터링 장치와 방법, 및 기록 매체
US8761538B2 (en) * 2008-12-10 2014-06-24 Nvidia Corporation Measurement-based and scalable deblock filtering of image data
JP5183664B2 (ja) * 2009-10-29 2013-04-17 財團法人工業技術研究院 ビデオ圧縮のためのデブロッキング装置及び方法
US20110280321A1 (en) * 2010-05-12 2011-11-17 Shu-Hsien Chou Deblocking filter and method for controlling the deblocking filter thereof
US9025675B2 (en) * 2011-06-22 2015-05-05 Texas Instruments Incorporated Systems and methods for reducing blocking artifacts
US20130027748A1 (en) * 2011-07-29 2013-01-31 Canon Kabushiki Kaisha Image processing apparatus
US9554128B2 (en) 2011-09-13 2017-01-24 Hfi Innovation Inc. Method and apparatus for reduction of deblocking filter
CN102685368B (zh) * 2011-12-12 2015-07-08 苏州科雷芯电子科技有限公司 以子列为单位的扫描方法
US9363516B2 (en) * 2012-01-19 2016-06-07 Qualcomm Incorporated Deblocking chroma data for video coding
CN104349080B (zh) * 2013-08-07 2018-12-14 联想(北京)有限公司 一种图像处理方法及电子设备
CN103702132B (zh) * 2013-12-10 2017-05-31 华为技术有限公司 滤波方法、装置及设备
US10212445B2 (en) * 2014-10-09 2019-02-19 Qualcomm Incorporated Intra block copy prediction restrictions for parallel processing
KR20180019548A (ko) * 2015-06-18 2018-02-26 엘지전자 주식회사 영상 코딩 시스템에서 영상 특성에 기반한 적응적 필터링 방법 및 장치
US20180242016A1 (en) * 2017-02-21 2018-08-23 Intel Corporation Deblock filtering for 360 video
CN107155134A (zh) * 2017-05-16 2017-09-12 深圳市乃斯网络科技有限公司 终端视频区间划分方法及***
US11153607B2 (en) * 2018-01-29 2021-10-19 Mediatek Inc. Length-adaptive deblocking filtering in video coding
KR20240074918A (ko) * 2019-01-25 2024-05-28 후아웨이 테크놀러지 컴퍼니 리미티드 인코더, 디코더 및 디블로킹 필터 적응 방법
CN112866723B (zh) * 2019-11-28 2024-04-19 瑞昱半导体股份有限公司 图像数据处理方法与***
US11882277B2 (en) * 2021-05-05 2024-01-23 Mediatek Inc. Video encoding method using multiple in-loop filters in low latency video encoding and associated video encoding apparatus

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003333597A (ja) * 2002-03-07 2003-11-21 Seiko Epson Corp 画像処理装置及び画像処理プログラム、並びに画像処理方法
JP2004180248A (ja) * 2001-11-29 2004-06-24 Matsushita Electric Ind Co Ltd 符号化歪除去方法、動画像符号化方法、動画像復号化方法、およびそれらを実現する装置、プログラム
JP2005535198A (ja) * 2002-07-29 2005-11-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビデオデータをフィルタリングするための装置及び方法。
JP2005348176A (ja) * 2004-06-03 2005-12-15 Matsushita Electric Ind Co Ltd 画像処理装置
JP2006174138A (ja) * 2004-12-16 2006-06-29 Sony Corp データ処理装置、画像処理装置、それらの方法およびプログラム
JP2006174486A (ja) * 2004-12-17 2006-06-29 Samsung Electronics Co Ltd ビデオデータの水平及び垂直フィルタリングを同時に行うデブロッキングフィルタ及び動作方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5014124A (en) * 1988-02-25 1991-05-07 Ricoh Company, Ltd. Digital image processing apparatus
US5355178A (en) * 1991-10-24 1994-10-11 Eastman Kodak Company Mechanism for improving television display of still images using image motion-dependent filter
US5598184A (en) * 1992-03-27 1997-01-28 Hewlett-Packard Company Method and apparatus for improved color recovery in a computer graphics system
KR950006769B1 (ko) * 1992-12-31 1995-06-22 현대전자산업주식회사 고선명 텔레비젼의 색차신호 동벡터 추출방법 및 움직임 보상장치
US5638128A (en) 1994-11-08 1997-06-10 General Instrument Corporation Of Delaware Pixel interpolation filters for video decompression processor
JPH09307792A (ja) * 1996-05-14 1997-11-28 Sony Corp ノイズリデューサ
US5796637A (en) * 1996-09-06 1998-08-18 Intel Corporation Apparatus and method for filtering event signals
JPH11122624A (ja) * 1997-10-16 1999-04-30 Matsushita Electric Ind Co Ltd ビデオデコーダ処理量を低減する方法および装置
US6377313B1 (en) * 1999-09-02 2002-04-23 Techwell, Inc. Sharpness enhancement circuit for video signals
JP3489735B2 (ja) 2000-08-16 2004-01-26 松下電器産業株式会社 デブロッキングフィルタ演算装置
US7221483B2 (en) * 2000-09-05 2007-05-22 Ricoh Company, Ltd. Image encoding method and apparatus, image decoding method and apparatus, image processing apparatus, image formation apparatus, and computer-executable programs
US7271840B2 (en) * 2001-10-31 2007-09-18 Intel Corporation Method for determining entropy of a pixel of a real time streaming digital video image signal, and applications thereof
US7151844B2 (en) * 2001-12-06 2006-12-19 General Motors Corporation Image sensor method and apparatus having hardware implemented edge detection processing
US7826535B2 (en) * 2002-04-11 2010-11-02 Broadcom Corporation Adaptive pixel processing
JP4014486B2 (ja) * 2002-10-25 2007-11-28 松下電器産業株式会社 画像処理方法及び画像処理装置
US6909080B2 (en) * 2002-12-17 2005-06-21 Symbol Technologies, Inc. Arrangement for and method of imaging targets at plural focal planes
JP4390189B2 (ja) * 2003-04-10 2009-12-24 大日本スクリーン製造株式会社 パターン描画装置
JP2004336451A (ja) * 2003-05-08 2004-11-25 Matsushita Electric Ind Co Ltd 画像復号ユニットとそれを用いた画像符号化装置及び符号化方法並びに画像復号装置及び復号方法
US7424501B2 (en) * 2003-06-30 2008-09-09 Intel Corporation Nonlinear filtering and deblocking applications utilizing SIMD sign and absolute value operations
US7630576B2 (en) * 2004-02-19 2009-12-08 Sony Corporation Signal processing apparatus and method, and command-sequence data structure
FI116959B (fi) * 2004-03-17 2006-04-13 Nokia Corp Elektroninen laite ja menetelmä elektronisessa laitteessa kuvadatan prosessoimiseksi
JP4230409B2 (ja) * 2004-05-10 2009-02-25 シャープ株式会社 映像信号処理回路、映像信号処理方法、映像信号処理プログラム、およびコンピュータ読み取り可能な記録媒体
KR100614647B1 (ko) * 2004-07-02 2006-08-22 삼성전자주식회사 디블록킹 필터에서의 효과적인 에지 필터링 연산을 위한레지스터 어레이 구조
CN1306826C (zh) * 2004-07-30 2007-03-21 联合信源数字音视频技术(北京)有限公司 基于多级并行流水线方式的环路滤波装置
US7970219B2 (en) * 2004-12-30 2011-06-28 Samsung Electronics Co., Ltd. Color image encoding and decoding method and apparatus using a correlation between chrominance components
KR100695141B1 (ko) * 2005-02-15 2007-03-14 삼성전자주식회사 영상처리시스템에 있어서 메모리 억세스장치 및 방법, 데이터 기록장치 및 방법과 데이터 독출장치 및 방법
KR100687845B1 (ko) * 2006-05-29 2007-03-02 엘지전자 주식회사 이미지 화소 필터링 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004180248A (ja) * 2001-11-29 2004-06-24 Matsushita Electric Ind Co Ltd 符号化歪除去方法、動画像符号化方法、動画像復号化方法、およびそれらを実現する装置、プログラム
JP2003333597A (ja) * 2002-03-07 2003-11-21 Seiko Epson Corp 画像処理装置及び画像処理プログラム、並びに画像処理方法
JP2005535198A (ja) * 2002-07-29 2005-11-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビデオデータをフィルタリングするための装置及び方法。
JP2005348176A (ja) * 2004-06-03 2005-12-15 Matsushita Electric Ind Co Ltd 画像処理装置
JP2006174138A (ja) * 2004-12-16 2006-06-29 Sony Corp データ処理装置、画像処理装置、それらの方法およびプログラム
JP2006174486A (ja) * 2004-12-17 2006-06-29 Samsung Electronics Co Ltd ビデオデータの水平及び垂直フィルタリングを同時に行うデブロッキングフィルタ及び動作方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6010051210, Heng−Yao Lin, Jwu−Jin Yang, et al., "Efficient Deblocking Architecture for H.264 Video Coders", ISCAS2006 Proceedings, 20060524, P.2617−2620, US, IEEE CAS Society *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8326052B2 (en) 2008-05-23 2012-12-04 Canon Kabushiki Kaisha Apparatus, method, and computer-readable storage medium for decoding movie image data
WO2010041743A1 (ja) * 2008-10-10 2010-04-15 日本電気株式会社 メモリ制御装置、メモリマッピング方法、及び、プログラム
JP5605225B2 (ja) * 2008-10-10 2014-10-15 日本電気株式会社 メモリ制御装置、メモリマッピング方法、及び、プログラム
JP2018014742A (ja) * 2010-12-07 2018-01-25 ソニー株式会社 画像処理装置及び画像処理方法
US9973763B2 (en) 2010-12-07 2018-05-15 Sony Corporation Image processing device and image processing method for applying filtering determination processes in parallel
JP6011341B2 (ja) * 2010-12-07 2016-10-19 ソニー株式会社 画像処理装置、画像処理方法、プログラム及び記録媒体
JP6011342B2 (ja) * 2010-12-07 2016-10-19 ソニー株式会社 画像処理装置、画像処理方法、プログラム及び記録媒体
JP2018014743A (ja) * 2010-12-07 2018-01-25 ソニー株式会社 画像処理装置及び画像処理方法
WO2012077608A1 (ja) * 2010-12-07 2012-06-14 ソニー株式会社 画像処理装置及び画像処理方法
US9912967B2 (en) 2010-12-07 2018-03-06 Sony Corporation Image processing device and image processing method
WO2012077607A1 (ja) * 2010-12-07 2012-06-14 ソニー株式会社 画像処理装置及び画像処理方法
US9998766B2 (en) 2010-12-07 2018-06-12 Sony Corporation Image processing device and image processing method
US10003827B2 (en) 2010-12-07 2018-06-19 Sony Corporation Image processing device and image processing method
US10334279B2 (en) 2010-12-07 2019-06-25 Sony Corporation Image processing device and image processing method
US10362318B2 (en) 2010-12-07 2019-07-23 Sony Corporation Image processing device and image processing method that horizontal filtering on pixel blocks
US10582202B2 (en) 2010-12-07 2020-03-03 Sony Corporation Image processing device and image processing method that horizontal filtering on pixel blocks
US10785504B2 (en) 2010-12-07 2020-09-22 Sony Corporation Image processing device and image processing method
US10931955B2 (en) 2010-12-07 2021-02-23 Sony Corporation Image processing device and image processing method that horizontal filtering on pixel blocks
US11381846B2 (en) 2010-12-07 2022-07-05 Sony Corporation Image processing device and image processing method

Also Published As

Publication number Publication date
US20080043853A1 (en) 2008-02-21
CN101127906B (zh) 2012-12-05
US8416860B2 (en) 2013-04-09
JP4712642B2 (ja) 2011-06-29
CN101127906A (zh) 2008-02-20

Similar Documents

Publication Publication Date Title
JP4712642B2 (ja) デブロッキングフィルタ、画像符号化装置および画像復号化装置
US20210235115A1 (en) Intra prediction method and apparatus using the method
JP6281851B2 (ja) 画像復号化装置、画像符号化装置、画像復号化方法、画像符号化方法、プログラムおよび集積回路
CN100490538C (zh) 在音频视频编解码器中使用的滤波方法和设备
JP4605052B2 (ja) 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、フィルタ装置及びプログラム
JP2022130647A (ja) 双方向オプティカル・フローに対するビット幅制御方法およびデバイス
EP2076046A2 (en) Configurable performance motion estimation for video encoding
JP2006173808A (ja) 面内予測装置および面内予測方法
JP2009527977A (ja) タイプが一致しない下位階層の情報を使用しインターレースビデオ信号をエンコーディング/デコーディングする方法および装置
JP2007150913A (ja) 画像符号化装置
US8711942B2 (en) Moving picture decoding device and moving picture decoding method
US8976870B1 (en) Block and mode reordering to facilitate parallel intra prediction and motion vector prediction
US20130114737A1 (en) Loop filtering managing storage of filtered and unfiltered pixels
US20140056363A1 (en) Method and system for deblock filtering coded macroblocks
Wen et al. Data parallelism exploiting for h. 264 encoder
KR100708183B1 (ko) 움직임 추정을 위한 영상 데이터 저장 장치 및 그 데이터저장 방법
JPH0870457A (ja) 並列処理による画像復号装置
JP2012151690A (ja) デブロッキングフィルタ装置、デブロッキングフィルタ処理方法、それを用いた符号化装置および復号化装置
JP4830691B2 (ja) 映像信号処理方法及び装置、並びに映像信号復号方法
KR100763914B1 (ko) 고속의 메모리 액세스를 위한 화상 데이터 저장방법 및장치
KR101742765B1 (ko) 인터폴레이터 및 인터폴레이터 픽셀 생성 방법
JP4848892B2 (ja) 映像信号処理装置及び方法、並びに映像信号復号装置
JP4380786B2 (ja) 復号化方法
JPH03209991A (ja) 映像信号の高能率符号化装置
JPH04119793A (ja) 映像信号の符号化装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080729

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090402

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100907

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101101

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110322

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110323

R150 Certificate of patent or registration of utility model

Ref document number: 4712642

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350