JP5734475B2 - 変換の高速でメモリ効率の良い実施のための方法 - Google Patents

変換の高速でメモリ効率の良い実施のための方法 Download PDF

Info

Publication number
JP5734475B2
JP5734475B2 JP2014018738A JP2014018738A JP5734475B2 JP 5734475 B2 JP5734475 B2 JP 5734475B2 JP 2014018738 A JP2014018738 A JP 2014018738A JP 2014018738 A JP2014018738 A JP 2014018738A JP 5734475 B2 JP5734475 B2 JP 5734475B2
Authority
JP
Japan
Prior art keywords
buffer
data
buffers
weight
transform
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014018738A
Other languages
English (en)
Other versions
JP2014112414A (ja
Inventor
サンディープ カヌムリ,
サンディープ カヌムリ,
オヌール, ジー. グラリュズ,
オヌール, ジー. グラリュズ,
暁 藤林
暁 藤林
レハ, エム. シヴァンラー,
レハ, エム. シヴァンラー,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
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 NTT Docomo Inc filed Critical NTT Docomo Inc
Publication of JP2014112414A publication Critical patent/JP2014112414A/ja
Application granted granted Critical
Publication of JP5734475B2 publication Critical patent/JP5734475B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/145Square transforms, e.g. Hadamard, Walsh, Haar, Hough, Slant transforms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/10Image enhancement or restoration by non-spatial domain filtering
    • G06T5/75
    • 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/103Selection of coding mode or of prediction mode
    • 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/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/18Methods 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 set of transform coefficients
    • 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/182Methods 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 pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • 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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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/649Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding the transform being applied to non rectangular image segments
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20048Transform domain processing
    • G06T2207/20052Discrete cosine transform [DCT]

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)
  • Complex Calculations (AREA)
  • Picture Signal Circuits (AREA)

Description

優先権
[0001]本特許出願は、2008年2月5日に出願された「Flicker Reduction in Video Sequences Using Temporal Processing」と題する米国仮出願第61/026453号の優先権を主張し、参照することにより当該仮出願を援用するものである。
発明の分野
[0002]本発明の実施形態は、画像及びビデオの信号処理の分野に関するものであり、ピクセル領域の画像/ビデオの変換領域への変換、変換領域における処理、及び、処理された変換領域の画像/ビデオのピクセル領域への変換を伴うものである。より詳細には、本発明は、入力フレームに対して重み適応過完備順変換(forward weight−adaptive over−complete transform)を実行し、変換係数(transform coefficient)に対して信号処理を実行し、処理された変換係数に対して重み適応過完備逆変換(inverse weight−adaptive over−complete transform)を適用して、出力データ(例えば出力フレーム)を生成することに関するものである。
発明の背景

[0003]画像/ビデオ系列の超解像、品質向上、ノイズ除去、フリッカー低減、及び圧縮には、変換を利用する多くの知られた適用例が存在する。これらのプロセスの通常の実施は、コンピュータシステムにおいて計算リソース及びメモリリソースを効率的に利用しないものである。したがって、変換(例えば過完備変換)を含むこれらのプロセスを実行するためのメモリ効率及び計算効率の良い方法が必要とされている。
[0004]本発明の実施形態は、画像/ビデオフレームの重み適応過完備順変換、画像/ビデオフレームの重み適応過完備逆変換を実施するための1組のプロセス及びシステムと、重み適応過完備順変換の実行、変換領域における係数の処理、及び重み適応過完備逆変換の実行を同時に行うための高速で低メモリ消費のプロセスと、を含む。
[0005]本発明を例示によって説明するが、本発明は添付の図面の各図において限定されるものではない。図面においては、同じ参照符号は同様の要素を示している。本開示における「an(一つの)」又は「one(一つの)」実施形態に対する言及は、必ずしも同じ実施形態に対する言及である必要はなく、そのような言及は、「少なくとも1つ」を意味することに留意されたい。
重み適応過完備順変換及び逆変換を実行するためのシステムの一実施形態の図である。 重み適応過完備順変換を実行し、オプションとして信号処理を適用して、処理された変換係数を取得するためのプロセスの一実施形態のフロー図である。 入力画像/ビデオフレーム及びバッファの実施形態の図である。 図2Aのブロック220において実行されるオペレーションの一実施形態の図である。 図2Aのブロック230において実行されるオペレーションの一実施形態の図である。 重み適応過完備逆変換を実行するためのプロセスの一実施形態のフロー図である。 図3Aのブロック335において実行されるオペレーションの一実施形態の図である。 図3Aのブロック340において実行されるオペレーションの一実施形態の図である。 図3Aのブロック350において実行されるオペレーションの一実施形態の図である。 重み適応過完備順変換の実行、変換領域における処理、及び重み適応過完備逆変換の実行を同時に行うためのシステムの一実施形態の図である。 本明細書で説明するオペレーションのうちの一以上を実行する例示的なシステムの一実施形態の図である。 ノイズ除去ビデオフレームを取得するためのプロセスの一実施形態のフロー図である。 多数の変換を使用してノイズ除去ビデオフレームを取得するためのプロセスの一実施形態のブロック図である。 品質を向上し及び/又は解像度を高めるためのプロセスの一実施形態のフロー図である。 アップサンプリングプロセスの一実施形態のフロー図である。 サブフレームタイプのライブラリに対応するマスクの例を示す図である。 サブフレームタイプのライブラリに対応するマスクの例を示す図である。 サブフレームタイプのライブラリに対応するマスクの例を示す図である。 サブフレームタイプのライブラリに対応するマスクの例を示す図である。 サブフレームタイプのライブラリに対応するマスクの例を示す図である。 サブフレームタイプのライブラリに対応するマスクの例を示す図である。 サブフレームタイプのライブラリに対応するマスクの例を示す図である。 サブフレームタイプのライブラリに対応するマスクの例を示す図である。 サブフレームタイプのライブラリに対応するマスクの例を示す図である。 サブフレームタイプのライブラリに対応するマスクの例を示す図である。 サブフレームタイプのライブラリに対応するマスクの例を示す図である。 サブフレームタイプのライブラリに対応するマスクの例を示す図である。 サブフレームタイプのライブラリに対応するマスクの例を示す図である。 ピクセルをラスタスキャン順で番号付けする場合の、ピクセルiにおけるサブフレームziの一例を示す図である。 サブフレーム選択処理の一実施形態のフロー図である。 サブフレーム用の変換選択プロセスの一実施形態のフロー図である。 閾値処理変換係数のための閾値処理プロセスの一実施形態のフロー図である。 単調減少階段状関数を示す図である。 サブフレームを組み合わせてフレームを形成するためのプロセスの一実施形態のフロー図である。 データ整合性オペレーションの一実施形態のデータフロー図である。 ビデオ系列に対して画像処理を実行するためのプロセスの一実施形態のフロー図である。 サブフレームタイプ選択プロセスの一実施形態のフロー図である。 過去の出力フレームからのサブフレーム形成プロセスの一実施形態のフロー図である。 空間変換選択プロセスの一実施形態のフロー図である。 時間変換選択プロセスの一実施形態のフロー図である。 変換係数を閾値処理するための閾値処理プロセスの一実施形態のフロー図である。 サブフレームを組み合わせてフレームを生成するためのプロセスの一実施形態のフロー図である。 ビデオ系列に対して画像処理を実行するためのプロセスの別の実施形態のフロー図である。 選択されたピクセルのサブセット例を示す図である。 選択されたピクセルのサブセット例を示す図である。 選択されたピクセルのサブセット例を示す図である。 選択されたピクセルのサブセット例を示す図である。 選択されたピクセルのサブセット例を示す図である。
詳細な説明
[0038]画像処理を実行する方法及び装置について説明する。画像処理は、変換領域において実行される。一実施形態では、メモリ及び計算の点で効率的に順変換及び逆変換が実行される。
[0039]本発明の実施形態についての以下の詳細な説明では、添付の図面を参照する。図面においては、同じ参照符号は同様の要素を示しており、本発明が実施され得る特定の実施形態が例示によって示されている。これらの実施形態は、当業者が本発明を実施できるように十分詳細に説明されており、他の実施形態を、本発明の範囲から逸脱することなく利用することができること、また論理的、機械的、機能的、及び他の変更を加えることができることを理解されたい。したがって、以下の詳細な説明は、限定的な意味に理解されるべきではなく、本発明の範囲は、もっぱら添付の特許請求の範囲によって確定される。これらの特定の詳細の幾つかを伴わずとも実施形態が実施され得ることは当業者には明らかであろう。他の例では、ある構造及びデバイスは、様々な実施形態の細部を曖昧にしないように、省略又は簡略化される。本明細書で使用される「set(組)」という語は、1つの項目を含む、任意の全数の項目のことを指す。
[0040]本発明の実施形態は、米国特許出願第61/026453号、第12/140829号、及び第11/331814号において説明されているプロセスの実施に関するものである。上述のプロセスは、ピクセルを有する様々なブロックに対する2−D分離可能変換(separable transform)を処理することを含み、ブロックサイズは、変換のサイズに等しい。一実施形態では、変換において使用されるブロックは、互いにオーバラップすることができる。したがって、各ピクセルは、多数のブロックにおける変換係数で表現され得る。別の実施形態では、ブロックは、ブロック統計量に適応した重みを使用して、スケーリングすることもできる。このタイプの変換の場合、順変換は、重み適応過完備順変換と呼ばれ、逆変換は、重み適応過完備逆変換と呼ばれる。
<順変換及び逆変換>
[0041]図1は、上で説明した信号処理技法とともに重み適応過完備順変換及び逆変換を実行するためのシステム100の一実施形態を示している。図1のブロックの各々は、ハードウェア(回路、専用ロジックなど)、ソフトウェア(汎用コンピュータシステム若しくは専用装置上で実行される)、又は双方の組み合わせを含み得る。
[0042]一実施形態では、現在の入力フレーム110が、重み適応過完備順変換モジュール120への入力として受け取られる。現在の入力フレーム110は、画像データ又はビデオデータを表し得る。重み適応過完備順変換モジュール120は、入力フレームに対して重み適応過完備順変換を実行し、変換係数125を出力する。変換係数125は、次いで、信号処理モジュール130への入力として受け取られる。
[0043]信号処理モジュール130は、変換係数125に対して一以上のデータ処理オペレーションを実行する。一実施形態では、これらのオペレーションは、限定するものではないが、2008年2月5日に出願された「Flicker Reduction in
Video Sequences Using Temporal Processing」と題する米国特許出願第61/026453号、2008年6月17日に出願された「Image/Video Quality Enhancement and Super Resolution Using Sparse Transformations」と題する出願第12/140829号、及び2006年1月12日に出願された「Nonlinear,In−The−Loop,Denoising Filter For Quantization Noise Removal For Hybrid Video Compression」と題する米国出願第11/331814号において説明されているオペレーションを含む。処理された変換係数135は、次いで、信号処理モジュール130によって出力され、重み適応過完備逆変換モジュール140への入力として受け取られる。
[0044]重み適応過完備逆変換モジュール140は、処理された変換係数135に対して重み適応過完備逆変換を実行して、現在の出力フレーム150を出力として生成する。現在の出力フレーム150は、重み適応過完備順変換及び逆変換オペレーションに加えて、変換領域において信号処理を施された処理された画像/ビデオフレームを表す。
[0045]一実施形態では、現在の入力フレーム110は、重み適応過完備順変換120によって変換される前にアップサンプリングされることに留意されたい。また、一実施形態では、逆変換140の出力は、データ整合性(data consistency)オペレーションを施される。
<重み適応過完備順変換>
[0046]図2Aは、重み適応過完備順変換を実行し、信号処理を適用して、処理された変換係数を取得するためのプロセス200の一実施形態のフロー図である。プロセスは、ハードウェア(例えば、回路、専用ロジックなど)、ソフトウェア(汎用コンピュータシステム若しくは専用装置上で実行される)、又は双方の組み合わせを含む得る処理ロジックによって実行され得る。
[0047]一実施形態では、数学的表記X(i,j)は、入力画像/ビデオフレーム内の第(i,j)ピクセルを表し、Y(i,j,m,n)は、左上のピクセルが(i,j)で表されるX内のP×Pブロックの2−D変換における第(m,n)係数を表す。したがって、数学的表記Y(i,j,m,n)は、X(i,j)の重み適応過完備変換を表す。
[0048]一実施形態では、変数Pは、変換のサイズを表し、結果として、変数m、n、Pの間の数学的関係は、1≦m,n≦Pと表すことができる。そして、変数H及びWは、入力画像/ビデオフレームの高さ及び幅を表す。表記上、シンボル「:」は、変数のインデックスの範囲を示すために使用されている。一例は、X(i,j:j+P−1)であり、これは、1×Pベクトル[X(i,j) X(i,j+1) ... X(i,j+P−1)]を表す。同様に、数学的表記X(i:i+P−1,j:j+P−1)は、サイズがP×Pの行列を表す。
[0049]図2Aを参照すると、プロセス200は、1≦i≦H−P+1のiについてのループで開始する(処理ブロック210)。処理ロジックは、入力フレームの列に対して1次元(1−D)変換を実行して、列変換結果を取得する(処理ブロック220)。一実施形態では、このオペレーションは、数学的表記によって
1≦j≦Wのjについて、XC(1:P,j)=T(X(i:i+P−1,j))と表すことができる。ここで、T()は、1−D順変換オペレーションを表す。XCは、重み適応過完備順変換オペレーションにおいて内部的に使用されるサイズがP×Wのバッファである。
[0050]処理ブロック230において、処理ロジックは、列変換結果の行に対して1−D変換を実行する。一実施形態では、このオペレーションは、以下の数学的表記によって表すことができる。
1≦j≦W−P+1のj、1≦k≦Pのkについて、Y(i,j,k,1:P)=T(XC(k,j:j+P−1))
[0051]一実施形態では、1−D順変換オペレーションT()は、

と定義される。この実施形態では、HTは、変換を定義するP×P行列を表す。
[0052]処理ブロック235において、更なる反復が存在する場合には、ループの処理は、処理ブロック210に復帰し、ブロック220及び230におけるオペレーションが繰り返される。更なる反復が存在しない場合には、処理ブロック240において、処理ロジックは、変換係数を出力する。
[0053]次に、処理ロジックは、信号処理オペレーションを実行する(処理ブロック250)。これはオプションである。一実施形態では、信号処理オペレーションは、米国特許出願第61/026453号、第12/140829号、及び第11/331814号に開示されている信号処理オペレーションのうち一つであり得る。処理ブロック260においては、処理ロジックは、処理された変換係数を出力する。
[0054]図2Bは、図2Aにおいて上述した処理に含まれる入力画像/ビデオフレーム及びバッファの実施形態を示している。一実施形態では、入力フレーム270は、高さがH、幅がWの行及び列として表されるピクセルデータを含む。バッファ272は、図2Aで説明した変換オペレーションにおいて使用される高さがP、幅がWのバッファを表す。一実施形態では、変数Pは、変換のサイズに対応する。
[0055]図2Cは、図2Aの処理ブロック220に対応するオペレーションをより詳細に示している。一実施形態では、高さがH、幅がWの入力フレーム280の列に対して、1−D順変換が実行される。高さがP、幅がWのバッファ282は、各列の1−D順変換オペレーションからの変換係数を用いて更新される。バッファ282は、列変換計算の異なるステージにおける表現で示されている。
[0056]図2Dは、図2Aの処理ブロック230に対応するオペレーションをより詳細に示している。一実施形態では、バッファ290内の列変換結果の行に対して、1−D順変換が実行される。バッファ290は、バッファ282と同じである。このようにして、2−D変換係数292は、バッファ290内に保存された列変換係数に対する1−D順変換によって取得することができる。
[0057]別の実施形態では、

であり、HTは、4×4アダマール変換に対応し、その要素を集合{−1,1}からとる。この実施形態では、T()によって表されるオペレーションは、加算オペレーションを用いて計算することができる。別の実施形態では、

であり、P=3である。この実施形態では、オペレーションは、加算オペレーション及びシフトオペレーションを用いて計算することができる。
[0058]別の実施形態では、HTがアダマール変換に対応し、その要素を集合{−1,1}からとる場合に、重み適応過完備順変換を計算するための、高速アダマール2−D変換実施形態と呼ばれる、高速実施は、以下のように記述される。・ 1≦i≦H−Pのi、1≦j≦Wのjについて、A(i,j)=X(i+P,j)−X(i,j)を計算する。・ 1≦i≦H−Pのi、1≦j≦W−Pのjについて、B(i,j)=A(i,j+P)−A(i,j)を計算する。・ 1≦i≦H−Pのi、1≦n≦Pのnについて、C(i,1,n)=HT(n,1:P)*[A(i,1) A(i,2) ... A(i,P)]Tを計算する。・ 1≦i≦H−Pのi、1≦j≦W−Pのj、1≦n≦Pのnについて、C(i,j+1,n)=D0(n)×C(i,j,f(n))+D1(n)×B(i,j)を計算する。ここで、写像f():{1,2,...,P}→{1,2,...,P}、及びスカラ値D0(n)、D1(n)は、C(i,j+1,n)=HT(n,1:P)*[A(i,j+1) A(i,j+2) ... A(i,j+P)]Tとなるように決定される。・ 1≦j≦W−P+1のjについて、

を計算する。・ 1≦i≦H−Pのi、1≦j≦W−P+1のj、1≦m≦Pのm、1≦n≦Pのnについて、Y(i+1,j,m,n)=D0(m)×Y(i,j,f(m),n)+D1(m)×C(i,j,n)を計算する。ここで、写像f():{1,2,...,P}→{1,2,...,P}、及びスカラ値D0(m)、D1(m)は、

となるように決定される。一実施形態では、

である場合、

及び

である。
[0059]更に別の実施形態では、HTがアダマール変換に対応し、その要素を集合{−1,1}からとる場合に、重み適応過完備順変換を計算する高速方法は、以下のように記述される。この実施形態では、2−D重み適応過完備変換は、2つ(各次元につき1つ)の1−D重み適応過完備変換オペレーションを行うことによって計算される。1−D重み適応過完備変換オペレーションは、OT1()によって表され、オペレーションのI/O特性は、F(1:LE−P+1,1:P)=OT1(E(1:LE))によって記述される。ここで、E及びFは、入力ベクトル及び出力ベクトルを表す変数であり、LEは、ベクトルEの長さを示す整数である。HTがアダマール変換を表す場合、P=2pであり、ここで、pはゼロよりも大きな整数である。
[0060]高速アダマール1−D変換実施形態と呼ばれる一実施形態では、1−D重み適応過完備変換オペレーションOT1()の高速実施は、以下のように定義される。・ E0(i,l)=E(i)に設定する。・ 1≦j≦P−1のj、1≦i≦LE−jのi、1≦n≦2j−1のnについて、
Ej(i,2*n−1)=Ej−1(i,n)+Ej−1(i+l,n)
Ej(i,2*n)=Ej−1(i,n)−Ej−1(i+l,n)を再帰的に計算する。・ 1≦i≦LE−P+1のi、1≦m≦Pのmについて、

を計算する。ここで、写像

、及びスカラ値

は、F(i,m)=HT(m,1:P)*[E(i) E(i+1) ... E(i+P−1)]Tとなるように決定される。一実施形態では、

である場合、

及び

である。
[0061]一実施形態では、2−D重み適応過完備変換は、以下のように2つの1−D変換オペレーションを使用して計算される。(1) 1≦j≦Wのjについて、H1(1:H−P+1,j,1:P)=OT1(X(1:H,j))を計算する。(2) 1≦i≦H−P+1のi、1≦m≦Pのjについて、Y(i,l:W−P+1,m,1:P)=OT1(X1(i,1:W,m))を計算する。2つの次元が処理される順序は、一般性を失うことなく、交換することができる。すなわち、上の式は、最初に列方向において1−D変換を計算し、それに続いて行方向において1−D変換を計算するために与えられた。最初に行方向において1−D変換を計算し、それに続いて列方向において1−D変換を計算するために、類似の1組の式を書くことができる。
<重み適応過完備逆変換>
[0062]図3Aは、重み適応過完備逆変換を実行するためのプロセス300の一実施形態を示している。プロセスは、ハードウェア(例えば、回路、専用ロジックなど)、ソフトウェア(汎用コンピュータシステム若しくは専用装置上で実行される)、又は双方の組み合わせを含み得る処理ロジックによって実行される。
[0063]一実施形態では、数学的表記

は、変換係数Y(i,j,m,n)の処理結果を表し、

は、

の重み適応過完備逆変換結果を表す。数学的表記w(i,j)は、信号処理オペレーション(例えば、図1の信号処理モジュール130又は図2Aのブロック250によって実行される)によって決定される重みの行列を表し、変換係数Y(i,j,m,n)から処理された変換係数

を生成し得る。
[0064]図3Aを参照すると、プロセスは、処理ロジックが重み適応過完備逆変換のために使用されるバッファを初期化することによって開始する(処理ブロック310)。一実施形態では、このオペレーションは、1≦i≦Hのi、1≦j≦Wのjについて、

及び、N(i,j)=0と設定するという表記によって表すことができる。ここで、Nは、重み適応過完備逆変換計算において使用されるサイズH×Wのバッファを表す。
[0065]次に、処理ロジックは、1≦i≦H−P+1のiについてという表記によって表されるループの実行を開始する(処理ブロック320)。
[0066]次いで、処理ロジックは、バッファ

を初期化する(処理ブロック325)。一実施形態では、バッファ

は、重み適応過完備逆変換オペレーションのために使用されるサイズP×Wのバッファを表す。一実施形態では、バッファ

の初期化は、1≦j≦Wのjについて、

と設定するという表記によって表される。
[0067]バッファ

を初期化した後、処理ロジックは、1≦j≦W−P+1のjについてによって表される別のループに入る(処理ブロック330)。
[0068]このループにおいて、処理ロジックは、処理された変換係数の行の1−D逆変換の重み乗算を実行する(処理ブロック335)。このオペレーションは、以下のように実行される。1≦k≦Pのkについて、

ここで、

は、1−D逆変換オペレーションを表し、w(i,j)は、重みの行列を表す。そして、バッファ

は、このオペレーションの結果を用いて更新される。図3Bは、図3Aの処理ブロック335の1−D逆変換オペレーションをより詳細に示している。一実施形態では、加算器337は、

の現在の内容に、1−D逆変換オペレーションの結果を加算して、更新されたバッファ

(339)を生成する。
[0069]ブロック340において、処理ロジックは、w(i,j)を加算することによって、ブロック335のオペレーションの結果を用いて、バッファNを更新する。一実施形態では、このオペレーションは、以下のように実行される。N(i:i+P−1,j:j+P−1)=N(i:i+P−1,j:j+P−1)+w(i,j)図3Cは、図3Aの処理ブロック340において実行されるオペレーションをより詳細に示している。一実施形態では、バッファ342は、バッファNの更新されたバージョンに対応する。
[0070]図3Aを再び参照すると、処理ロジックは、更なる反復が必要かどうかをテストする(処理ブロック345)。更なる反復が必要とされる場合、プロセスは、処理ブロック330に移って、更なるオペレーションを実行する。更なる反復が必要とされない場合、プロセスは、ブロック350に移って、バッファ

の列の1−D逆変換を実行し、1−D逆変換の結果を用いて、バッファ

を更新する。一実施形態では、このオペレーションは、以下のように実行される。1≦j≦Wのjについて、

図3Dは、図3Aの処理ブロック350において実行されるオペレーションをより詳細に示している。一実施形態では、加算器352が、バッファ

の現在の内容に、1−D逆変換オペレーションの結果を加算して、更新されたバッファ

(354)を生成する。
[0071]

を更新した後、処理ロジックは、更なる反復が存在するか否かをテストする(処理ブロック355)。存在する場合、プロセスは、処理ブロック320に移る。存在しない場合、プロセスは、処理ブロック360に移る。
[0072]処理ブロック360において、処理ロジックは、除算オペレーションを実行して、処理された画像/ビデオデータを表す出力フレームを取得する。一実施形態では、この演算は、以下の表記によって表される。1≦i≦Hのi、1≦j≦Wのjについて、

ここで、hは、1−D逆変換オペレーション

の一部として以下に定義される。
[0073]一実施形態では、1−D逆変換オペレーション

は、

と定義される。
[0074]ここで、

は、

となるような、P×P行列である。ここで、hは、実数であり、Iは、サイズP×Pの単位行列である。別の実施形態では、

である場合、

である。
[0075]また別の実施形態では、

である場合、

である。
[0076]一実施形態では、重み乗算

は、逆変換オペレーション

によって、暗黙的に実行される。これを達成するため、逆変換オペレーションは、

となるように設計された

(重み適応

)を使用して行われる。一実施形態では、重みw(i,j)は、値の離散集合から選択され、離散集合内の値の各々に対応する重み適応

行列は、ルックアップテーブル内に保存することができる。
[0077]一実施形態では、除算オペレーション

は、

のように近似される。ここで、f(N(i,j))は、ルックアップテーブル内に保存された値である。Lは、0よりも大きな整数である。一実施形態では、

である。
<高速で低メモリ消費の実施のための例示的なシステム>
[0078]図4は、先述したように、2008年2月5日に出願された「Flicker Reduction in Video Sequences Using Temporal Processing」と題する米国仮出願第61/026453号、2008年6月17日に出願された「Image/Video Quality Enhancement and Super Resolution Using Sparse Transformations」と題する出願第12/140829号、及び2006年1月12日に出願された「Nonlinear,In−The−Loop,Denoising Filter For Quantization Noise Removal For Hybrid Video Compression」と題する米国出願第11/331814号において説明されているプロセスを実行するためのシステム400の一実施形態を示している。図4のブロックの各々は、ハードウェア(例えば、回路、専用ロジックなど)、ソフトウェア(汎用コンピュータシステム若しくは専用装置上で実行される)、又は双方の組み合わせを含み得る。一実施形態では、プロセスは、プロセッサ405上で実施される。一実施形態では、プロセッサ405は、単一命令複数データ(SIMD:Single Instruction, Multiple Data)プロセッサであり、同一のオペレーションを施される複数のデータユニットが一斉に処理される。SIMDプロセッサは、1以上のサブプロセッサを有し、各サブプロセッサは、同時に1以上のスレッドを実行することができる。これらのプロセスは、メモリ要件及びメモリI/O動作を最低限に抑えるように実施することができる。
[0079]一実施形態では、重み適応過完備順変換の計算、変換領域における係数の処理、及び重み適応過完備逆変換の計算は、以下の解説において説明するように、同時に行われる。一実施形態では、変数Xは、現在の入力フレーム410を表し、

及びZは、現在の出力フレーム493及び過去の出力フレーム440をそれぞれ表す。一実施形態では、システム400は、これらのプロセスを実施するために使用されるバッファを含む。これらのバッファは、図4に示すように、以下のものを含む。
Xp−Xすなわち現在の入力フレーム410のP個の行を含むサイズP×Wのバッファ420。
XC−サイズP×Wのバッファ430。
Zp−Zすなわち過去の出力フレーム440のP個の行を含むサイズP×Wのバッファ445。このバッファは、2008年6月17日に出願された「Image/Video
Quality Enhancement and Super Resolution Using Sparse Transformations」と題する米国特許出願第12/140829号、及び2006年1月12日に出願された「Nonlinear,In−The−Loop,Denoising Filter For Quantization Noise Removal For Hybrid Video Compression」と題する米国特許出願第11/331814号において説明されているプロセスには必要でない。
ZC−サイズP×Wのバッファ450。このバッファは、2008年6月17日に出願された「Image/Video Quality Enhancement and Super Resolution Using Sparse Transformations」と題する米国特許出願第12/140829号、及び2006年1月12日に出願された「Nonlinear,In−The−Loop,Denoising Filter For Quantization Noise Removal For
Hybrid Video Compression」と題する米国特許出願第11/331814号において説明されているプロセスには必要でない。

−サイズP×Wのバッファ470。



すなわち現在の出力フレーム493のP個の行を含むサイズP×Wのバッファ480。
Np−サイズP×Wのバッファ490。
XY−サイズP×Pのバッファ435。
ZY−サイズP×Pのバッファ455。このバッファは、2008年6月17日に出願された「Image/Video Quality Enhancement and Super Resolution Using Sparse Transformations」と題する米国特許出願第12/140829号、及び2006年1月12日に出願された「Nonlinear,In−The−Loop,Denoising Filter For Quantization Noise Removal For
Hybrid Video Compression」と題する米国特許出願第11/331814号において説明されているプロセスには必要でない。

−サイズP×Pのバッファ465。
[0080]一実施形態では、過去の出力フレーム440は、フレームストアバッファ438内に保存される。
[0081]一実施形態では、プロセスの高速で低メモリ消費の実施は、以下のオペレーションを含む。1.バッファ初期化
a. Xすなわち現在の入力フレーム410の最初のP個の行を、Xpすなわちバッファ420にコピーする。
b. Zすなわち過去の出力フレーム440の最初のP個の行を、Zpすなわちバッファ445にコピーする。
c. 1≦i≦Pのi、1≦j≦Wのjについて、バッファ480を

に設定し、バッファ490をNp(i,j)=0に設定する。2.メインループ。1≦i≦H−P+1のiについて、以下のオペレーションを実行する。
a. 以下の表記によって表されるように、バッファ420及び445内のデータに対して列方向に順変換を計算し、結果をバッファ430及び450内にそれぞれ保存する。
1≦j≦Wのjについて、XC(1:P,j)=T(Xp(1:P,j))、ZC(1:P,j)=T(Zp(1:P,j))
b. 1≦i≦Pのi、1≦j≦Wのjについて、バッファ470を

に設定する。
c. 1≦j≦W−P+1のjについて、以下のオペレーションを実行する。
i. 以下の表記によって表されるように、バッファ430内のデータに対して行方向に順変換を計算し、結果をバッファ435内にそれぞれ保存する。
1≦k≦Pのkについて、XY(k,1:P)=T(XC(k,j:j+P−1))
ii. 以下の表記によって表されるように、バッファ450内のデータに対して行方向に順変換を計算し、結果をバッファ455内にそれぞれ保存する。
1≦k≦Pのkについて、XZ(k,1:P)=T(ZC(k,j:j+P−1))
iii. 2008年2月5日に出願された「Flicker Reduction
in Video Sequences Using Temporal Processing」と題する米国特許出願第61/026453号、2008年6月17日に出願された「Image/Video Quality Enhancement and
Super Resolution Using Sparse Transformations」と題する米国特許出願第12/140829号、及び2006年1月12日に出願された「Nonlinear,In−The−Loop,Denoising Filter For Quantization Noise Removal For Hybrid Video Compression」と題する米国特許出願第11/331814号において説明されているプロセスの1つ(又は複数)を使用して、信号処理モジュール460において、XY(1:P,1:P)すなわちバッファ435及びZY(1:P,1:P)すなわちバッファ455から、

すなわち処理されたバッファ465及び重み行列w(i,j)を計算する。
iv. 逆変換の重み乗算に基づいてバッファ465内の係数に対して行方向に逆変換を計算し、その結果は、その後、以下の表記によって表されるように、バッファ470において更新される。
1≦k≦Pのkについて、

v. 以下の表記によって表されるように、バッファ490を更新する。
Np(1:P,j:j+P−1)=Np(1:P,j:j+P−1)+w(i,j)
d. バッファ470内のデータに対して列方向に逆変換を計算し、その後、その結果は、以下の表記によって表されるように、バッファ480において更新される。
1≦j≦Wのjについて、

e. 以下の表記によって表されるように、除算器485によって除算演算を実行する。
1≦j≦Wのjについて、

f. バッファ480の第1行

を、

すなわち現在の出力フレーム493の第i行にコピーする。
g. バッファを回転/更新する。バッファ内の同じ空間を再利用して、異なる時間のフレームに対応する異なるデータを保持するために、回転が利用される。
i. 1≦k≦P−1のkについて、以下のオペレーションを実行する。
1. 以下のようにバッファ420を回転/更新する。
Xp(k,1:W)=Xp(k+1,1:W)
2. 以下のようにバッファ445を回転/更新する。
Zp(k,1:W)=Zp(k+1,1:W)
3. 以下のようにバッファ480を回転/更新する。

4. 以下のようにバッファ490を回転/更新する。
Np(k,1:W)=Np(k+1,1:W)
ii. Xすなわち現在の入力フレーム410の第i+P行を、バッファ420の第P行Xp(P,1:W)にコピーする。
iii. Zすなわち過去の出力フレーム440の第i+P行を、バッファ445の第P行Zp(P,1:W)にコピーする。
iv. バッファ480の第P行、バッファ490の第P行をゼロに設定する。
すなわち、1≦j≦Wのjについて、

、Np(P,j)=0
オペレーション2.g.i.3及び2.g.i.4において、バッファ全体が変更されるわけではないことに留意されたい。オペレーション2.g.i.3及び2.g.i.4は、第1からP−1行までに作用し、オペレーション2.g.ivは、第P行に作用する。3. 最後のP−1個の行を出力する。1≦i≦P−1のiについて、以下のオペレーションを実行する。
a. 以下の表記によって表されるように、除算演算を実行する。
1≦j≦Wのjについて、

b. バッファ480の第i行

を、

すなわち現在の出力フレーム493の第i+H−(P−1)行にコピーする。上述したように、一実施形態では、順変換及び逆変換は、同時に適用される。上記のステップでは、順変換、変換領域処理、及び逆変換は全て、ステップ2の下のループにおいて実行される。フレーム全体に対して順変換を行い、その後、変換済の係数の組全体を処理のために渡し、その後、処理された変換済の係数の組全体に対して逆変換を行う代わりに、3つの演算(順変換、処理、逆変換)が、フレームの小さな部分に対して実行され、その場合、フレームの異なる小さな部分に対して3つのステップを繰り返すためなどに、同じメモリが使用される。このため、いかなる場合においても変換済の係数の組全体が保存されることはないので、必要とされるメモリの量が削減される。
[0082]一実施形態では、現在の出力フレーム493は、フレームストアバッファ438内に保存され得る。別の実施形態では、図4に関連して上述した順変換及び逆変換オペレーションは、それぞれ重み適応過完備順変換及び逆変換オペレーションである。
[0083]高速で低メモリ消費の実施形態である別の実施形態では、1−Dバッファを使用して、2−Dバッファが形成される。例えば、各々の長さがWのP個の1−Dバッファを使用して、P×Wの2−Dバッファが形成される。このバッファアーキテクチャを用いた場合、上述したステップ2.g(「バッファを回転/更新する」)におけるバッファの回転は、2−Dバッファの1部分から別の部分にデータをコピーすることなく、単に2−Dバッファ内における1−Dバッファの順序を再組織するだけで行うことができる。
[0084]高速で低メモリ消費の実施形態である別の実施形態では、バッファ

をゼロに初期化する上述のステップ2.bは、以下のようにステップ2.c.ivを修正することによって排除することができる。1≦k≦Pのkについて



の出力を表すものとする。(jが1に等しい)場合、

それ以外の場合、

[0085]上述した技法は、一度にP個の行を処理することを含む。しかし、一般性を失うことなく、(行と列の次元を入れ替えることによって)一度にP個の列を処理するように技法を普通に修正できることに留意されたい。
[0086]一実施形態では、米国特許出願第61/026453号、第12/140829号、及び第11/331814号において説明されているプロセスは、整数演算を使用して実施される。別の実施形態では、上述の米国特許出願において説明されているプロセスは、固定小数点数演算を使用して実施される。一実施形態では、固定小数点数演算の精度は、16ビットに等しい。整数演算及び固定小数点数演算実施の双方について、実施における中間データは、整数及び固定小数点数表現から生じるオーバフロー問題を防止するために必要である場合には、スケーリングされる。
[0087]一実施形態では、米国特許出願第61/026453号、第12/140829号、及び第11/331814号において説明されているプロセスは、高度に並列化され、任意の並列コンピューティングリソースを利用するように設計することができる。一実施形態では、プロセスは、SIMDプロセッサ上で実施され、同一のオペレーションを施される複数のデータユニットが一斉に処理される。SIMDプロセッサは、1以上のサブプロセッサを有し、各サブプロセッサは、同時に1以上のスレッドを実行することができる。例えば、一般性を失うことなく、各サブプロセッサは、iの特定の値、jの全ての値について、Y(i,j,1:P,1:P)を計算し、各サブプロセッサのタスクは、多数のスレッドに更に分割されて、各スレッドが、jの特定の値について計算を行う。別の実施形態では、プロセスは、マルチコアプロセッサ上で実施され、異なるコアは、異なるデータユニットに対して同じオペレーションを実行し、又は異なるコアは、異なるオペレーションを実行し、若しくはその双方の組み合わせを実行する。
<例示的なコンピュータシステム>
[0088]図5は、本明細書で説明するオペレーションの一つ以上を実行できる例示的なコンピュータシステムのブロック図である。コンピュータシステム500は、例示的なクライアント又はサーバコンピュータシステムを含み得る。コンピュータシステムに関して説明されるコンポーネントは、ハンドヘルド又はモバイルデバイス(例えばセル電話)の一部であってもよい。
[0089]図5を参照すると、コンピュータシステム500は、情報を伝達するための通信機構、即ちバス511と、情報を処理するためのバス511に結合されたプロセッサ512と、を含む。プロセッサ512は、例えばPentium(商標)プロセッサなどのマイクロプロセッサを含むが、マイクロプロセッサに限定されるものではない。
[0090]システム500は、情報及びプロセッサ512によって実行される命令を保存するためのバス511に結合された、(メインメモリと呼ばれる)ランダムアクセスメモリ(RAM)又は他の動的ストレージデバイス504を更に含む。メインメモリ504は、プロセッサ512による命令の実行中に、一時変数又は他の中間情報を保存するためにも使用され得る。
[0091]コンピュータシステム500は、プロセッサ512のための静的情報及び命令を保存するためのバス511に結合されたリードオンリメモリ(ROM)及び/又は他の静的ストレージデバイス506と、磁気ディスク又は光ディスク及び対応するディスクドライブなどのデータストレージデバイス507も含む。データストレージデバイス507は、情報及び命令を保存するため、バス511に結合される。
[0092]コンピュータシステム500は、コンピュータユーザに情報を表示するためのバス511に結合されたブラウン管(CRT)又は液晶ディスプレイ(LCD)などの表示デバイス521に更に結合され得る。プロセッサ512に情報及びコマンド選択を伝達するための英数字及び他のキーを含む英数字入力デバイス522も、バス511に結合され得る。更なるユーザ入力デバイスは、プロセッサ512に情報及びコマンド選択を伝達するため、並びにディスプレイ521上でのカーソルの動きを制御するためのバス511に結合されたマウス、トラックボール、トラックパッド、スタイラス、又はカーソル方向キーなどのカーソルコントロール523である。
[0093]バス511に結合され得る別のデバイスは、紙、フィルム、又は類似のタイプの媒体などの媒体上に情報を記録するために使用され得るハードコピーデバイス524である。バス511に結合され得る別のデバイスは、電話又はハンドヘルドパームデバイスと通信するための有線/無線通信機能525である。
[0094]システム500のコンポーネントのいずれか又はすべて、及び関連ハードウェアが、本発明において使用され得ることに留意されたい。しかし、コンピュータシステムの他の構成が、デバイスのいくつか又はすべてを含み得ることが理解できよう。
[応用例]
<ノイズ除去用途>
[0095]一実施形態では、上述した技法、特に順変換及び逆変換は、ノイズ除去フィルタプロセスにおいて使用される。そのようなプロセスは、ハイブリッドビデオ圧縮における量子化ノイズを取り除くために使用され得る。
[0096]図6は、ノイズ除去ビデオフレームを取得するためのプロセスの一実施形態のフロー図である。プロセスは、ハードウェア(例えば、回路、専用ロジックなど)、ソフトウェア(汎用コンピュータシステム若しくは専用装置上で実行される)、又は双方の組み合わせを含み得る処理ロジックによって実行される。処理ロジックは、ファームウェアを含み得る。一実施形態では、処理ロジックは、ノイズ除去フィルタ内に存在する。
[0097]図6を参照すると、プロセスは、処理ロジックが、復号フレームyを取得し、他の利用可能な情報を収集することによって開始する(処理ブロック601)。他の利用可能な情報は、量子化パラメータ、動き情報、及びモード情報を含み得る。
[0098]その後、処理ロジックは、復号フレームyに変換Hを適用することによって、1組の係数dを取得する(処理ブロック602)。例えば、変換Hは、ブロック単位の2次元DCTを表し得る。処理ロジックはまた、1組の画像要素eをyの要素に等しく設定する。
[0099]その後、処理ロジックは、1組の画像要素eに基づいて、d内の各係数について、c(i)、すなわち条件付き期待値(conditional expectation)を計算し、d内の係数の値及びc(i)すなわち条件付き期待値を使用して、ノイズ除去規則を適用することによって、フィルタリングされた係数

を取得する(処理ブロック603)。その後、処理ロジックは、1組の係数

にHの逆変換を適用することによって、フィルタリングされたフレーム

を取得する(処理ブロック604)。
[00100]フィルタリングされたフレームを取得した後、処理ロジックは、更なる反復が必要とされているか否かを決定する(処理ブロック605)。例えば、2回など一定の回数の反復を事前に設定しておいてもよい。更なる反復が必要とされている場合、処理ロジックは、1組の画像要素eを

に等しく設定し(処理ブロック607)、処理トランザクションを処理ブロック603に進める。それ以外の場合、処理フローは、処理ブロック606に進み、処理ロジックは、フィルタリングされたフレーム

を出力する。
[00101]単一の線形変換Hを使用する上述の基本手続きは、許容可能なノイズ除去性能を提供するが、いくつかの異なる線形変換H1,H2,...,HMを使用することによって、より良い性能を得ることができる。これらの変換の各々を独自の基本手続きにおいて使用して、

によって与えられる元の非量子化ビデオフレームxの推定を生成する。これらの個々の推定を組み合わせて、各々の推定よりも優れた全体的推定

を形成する。多数の変換を使用するそのようなプロセスの一実施形態を、図7に示す。
[00102]図7のプロセスは、ハードウェア(例えば、回路、専用ロジックなど)、ソフトウェア(汎用コンピュータシステム若しくは専用装置上で実行される)、又は双方の組み合わせを含み得る処理ロジックによって実行される。処理ロジックは、ファームウェアを含み得る。一実施形態では、処理ロジックは、ノイズ除去フィルタの一部である。
[00103]図7を参照すると、プロセスは、処理ロジックが、復号フレームyを取得し、他の利用可能な情報を収集することによって開始する(処理ブロック701)。他の利用可能な情報は、量子化パラメータ、動き情報、及びモード情報などの圧縮パラメータを含み得る。
[00104]復号フレームを取得し、他の情報を収集した後、処理ロジックは、復号フレームyにM個の変換Hiを適用することによって、1組の係数d1:Mを取得する(処理ブロック702)。例えば、各変換Hiは、ブロック単位の2次元DCTを表ことができ、ブロックアライメントは、jに依存する。処理ロジックはまた、1組の画像要素eをyの要素に等しく設定する。
[00105]その後、処理ロジックは、圧縮パラメータに基づいて、各係数について、係数ノイズ除去パラメータを決定し(処理ブロック703)、圧縮パラメータに基づいて、マスクを決定する(処理ブロック704)。
[00106]この情報を用いて、処理ロジックは、e及び係数パラメータに基づいて、d1:M内の各係数について、条件付き期待値c1:M(i)を計算し、d1:M内の係数の値及びc1:M(i)すなわち条件付き期待値を使用して、ノイズ除去規則を適用することによって、フィルタリングされた係数

を取得する(処理ブロック705)。
[00107]次に、処理ロジックは、H1:Mの逆変換を1組の係数

に適用した結果にマスク関数を適用することによって、フィルタリングされたフレーム

を取得する(処理ブロック706)。
[00108]その後、処理ロジックは、全体的推定

を決定する(処理ブロック707)。これは、すべての推定を一緒に平均することによって実行し得る。平均は、加重平均であってもよい。一実施形態では、図7の全体的推定ブロックは、個々の推定

の加重平均によって与えられる。これは、等しい重みを用いて行うこと、又は、例えば、3つの異なる重み付け技法を特定している、Onur G.Guleryuz、「Weighted Overcomplete Denoising」、Proc.Asilomar Conference on Signals and Systems、Pacific Grove、CA、Nov.2003において説明されている技法など、当技術分野で知られたより複雑な重み決定技法を使用して行うことができる。一実施形態では、3つのうちで最も単純なものが本発明で使用される。したがって、全体的推定が取得され、その後、それがマスクされる。代替実施形態では、個々の推定がマスクされ、その後、全体的推定が形成される。
[00109]全体的推定が取得された後、処理ロジックは、更なる反復が必要とされているか否かを決定する(処理ブロック708)。例えば、2回など一定の回数の反復を事前に設定しておいてもよい。更なる反復が必要とされている場合、処理ロジックは、1組の画像要素eを

に等しく設定し(処理ブロック709)、プロセスは、処理ブロック705に移り、それ以外の場合、プロセスは、処理ブロック710に移り、処理ロジックは、フィルタリングされたフレーム

を出力する。
[00110]そこに含まれるオペレーションを含め、上記のノイズ除去プロセスは、2006年1月12日に出願された「Nonlinear,In−The−Loop,Denoising Filter For Quantization Noise Removal For Hybrid Video Compression」と題する米国特許出願第11/331814号においてより詳細に説明されている。
<品質向上及び超解像>
[00111]一実施形態では、上述した技法、特に順変換及び逆変換は、品質向上プロセス又は超解像プロセスにおいて使用される。
[00112]図8は、品質を向上させるため及び/又は解像度を高めるためのプロセスの一実施形態のフロー図である。プロセスは、ハードウェア(回路、専用ロジックなど)、ソフトウェア(汎用コンピュータシステム若しくは専用装置上で実行される)、又は双方の組み合わせを含み得る処理ロジックによって実行される。
[00113]図8を参照すると、xは、低解像度(LR)の入力画像/ビデオフレームを表す。一実施形態では、すべての画像/ビデオフレームは、ピクセルをラスタスキャン順に配列することによってベクトルとして表される。或いは、データは、ベクトル、行列、又は任意の他のフォーマットで表し、及び/又は保存することができる。
[00114]最初に、処理ロジックは、入力フレームxをアップサンプリングして、アップサンプリングされたフレームyを取得する(処理ブロック801)。アップサンプリングは、入力フレームxのアップサンプリングバージョン(y)を導出するために選択されたアップサンプリング2−Dフィルタを使用して実行することができる。図9は、アップサンプリングプロセスの一実施形態を示しており、以下により詳細に説明する。このオペレーションは、本明細書で説明される技法を品質向上のために使用する場合はオプションである。このオペレーションが実行されない場合、フレームyは、フレームxに等しく設定される。
[00115]入力フレームxをアップサンプリングして、アップサンプリングされたフレームyを取得した後、処理ロジックは、各ピクセルi=1:Nについて、ピクセルiをピボット(pivot)とするサブフレームziを選択する(処理ブロック802)。Nは、y内のピクセルの数を表す。この実施形態では、画像内の各ピクセルについて、サブフレームが形成され、処理される。しかし、別の実施形態では、処理は、選択されたピクセルのサブセットに対してのみ実行され得るものであり、画像内のすべてのピクセルに対しては実行されない。サブセットは、事前に決定しておいてもよく、又はサイド情報の一部として通知してもよい。図26A〜Eは、そのようなサブセットの例を示しており、本明細書で説明する教示とともに他のサブセットを使用し得る。
[00116]ピクセルiをピボットとするサブフレームziを選択した後、処理ロジックは、変換Hiを選択し、サブフレームziに対して変換Hiを適用することによって、係数diを計算する(処理ブロック803)。一実施形態では、変換は、2−D DCTである。別の実施形態では、変換は、2−Dアダマール変換である。マスタ閾値は、変換を選択するために使用することができる入力である。
[00117]係数diを生成した後、処理ロジックは、係数diに対してマスタ閾値

を適用して、

を取得し、適応閾値

を計算し、係数diに対して適応閾値

を適用して、それらを適応的に閾値処理し、

を取得する(処理ブロック804)。その後、処理ロジックは、閾値処理された係数

に逆変換Hi−1を適用して、処理されたサブフレーム

を取得する(処理ブロック805)。
[00118]次に、処理ロジックは、すべてのピクセルに対応するすべての処理されたサブフレーム

を重み付け方式で組み合わせて、フレーム

を形成する(処理ブロック806)。その後、処理ロジックは、フレーム

に対してデータ整合性ステップを実行して、フレームy’を取得する(処理ブロック807)。データ整合性ステップは、

と定義することができる。
[00119]処理ロジックは、y’のダウンサンプリングが入力フレームxを与えるように、

を計算する。このオペレーションは、本明細書で説明する技法を品質向上のために使用する場合にはオプションである。このオペレーションが実行されない場合、フレームy’は、フレーム

に等しく設定される。
[00120]その後、処理ロジックは、更なる反復が必要とされているか否かを決定する(処理ブロック808)。一実施形態では、反復の回数は2である。反復の実際の回数は、サイド情報の一部として通知することができる。更なる反復が必要とされている場合、プロセスは、処理ブロック820に移り、処理ロジックは、新しいマスタ閾値

を計算し、フレームyをy’に等しく設定し(処理ブロック811)、その後、プロセスは、処理ブロック802に移る。更なる反復は必要でないと処理ロジックが決定した場合、プロセスは、処理ブロック809に移り、処理ロジックは、出力フレームy’を出力して、プロセスは終了する。一実施形態では、処理ブロック801の線形補間オペレーション及び処理ブロック806のデータ整合性オペレーションはオプションであることに留意されたい。線形補間オペレーションが(例えば線形補間モジュールが使用不可であることによって)実行されない場合、ビデオ/画像の出力解像度は、入力解像度と同じである。したがって、この実施形態の下では、ビデオ/画像の品質は向上するが、超解像は存在しない。
[00121]図9は、アップサンプリングプロセスの一実施形態のフロー図である。図10A〜図10Mは、サブフレームタイプのライブラリに対応するマスクの例を示している。図11は、ピクセルがラスタスキャン順で番号付けられている場合の、ピクセルiにおけるサブフレームziの一例を示している。図12は、サブフレーム選択処理の一実施形態のフロー図である。図13は、サブフレームのための変換選択プロセスの一実施形態のフロー図である。図14は、閾値処理変換係数のための閾値処理プロセスの一実施形態のフロー図である。図15は、単調減少階段関数を示している。図16は、サブフレームを組み合わせてフレームを形成するためのプロセスの一実施形態のフロー図である。図17は、データ整合性オペレーションの一実施形態のデータフロー図である。
[00122]このプロセス及び上述したオペレーションの一実施形態に関するより多くの情報については、参照することにより本明細書に援用する、S.Kanumuri、O.G.Guleryuz and M.R.Civanlar、「Fast super−resolution reconstructions of mobile video using warped transforms and adaptive thresholding」、Proc.SPIE Conf on Applications of Digital Image Processing XXX、San Diego、CA、Aug.2007を参照されたく、また2008年6月17日に出願された「Image/Video Quality Enhancement and Super Resolution Using Sparse Transformations」と題する米国特許出願第12/140829号において説明されている。
<ノイズ及びフリッカー低減>
[00123]一実施形態では、上述した技法、特に順変換及び逆変換は、品質向上プロセス又は超解像プロセスにおいて使用される。図18は、ビデオ系列に対して画像処理を実行するためのプロセスの一実施形態のフロー図である。プロセスは、ハードウェア(回路、専用ロジックなど)、ソフトウェア(汎用コンピュータシステム若しくは専用装置上で実行される)、又は双方の組み合わせを含み得る処理ロジックによって実行される。
[00124]以下に説明するプロセスでは、xは、本明細書に説明する技法によって処理される入力ビデオからの現在のフレームを表し、

は、本明細書に説明する技法を使用した後に出力された過去のフレームを表し、

は、画像処理プロセスによって使用される閾値パラメータを表す。さらに、他のオプションのパラメータを含むOPによって表されるベクトルを供給することもできる。ユーザ又はアルゴリズムは、主観的/客観的品質の最適化を使用して、モデルベースの技法を使用して、又は他の方法を使用して、最も望ましいパラメータを決定することができる。較正アルゴリズムも使用することができる。そのようなアルゴリズムは、ビデオ処理パイプライン若しくは入力ビデオ又は双方の部分的/完全な知識を利用することもできる。一実施形態では、すべてのビデオフレームは、ピクセルをラスタスキャン順に配列することによってベクトルとして表され、Nは、各ビデオフレーム内のピクセルの数を表す。
[00125]フレームxが取得された後、図18の処理ブロック1802のサブフレーム選択プロセスが開始する。サブフレームタイプSは、M2×1整数値ベクトルとして定義される。本明細書における目的では、Mは、ゼロよりも大きな任意の整数とすることができる。{S1,S2,S3,...}は、サブフレームタイプのライブラリである。ピクセルがラスタスキャン順で番号付けられているフレームxから選択されたピクセルの組内の各ピクセルiについて、サブフレームタイプsiが、ライブラリから選択され、ベクトルpiが、

として形成される。ここで、

は、すべての要素が1に等しいM2×1ベクトルである。一実施形態では、選択されないピクセルについて、piは、ゼロからなるベクトルである。選択されたピクセルの組は、事前に決定しておくことができ、又はベクトルOP内で通知することができる。この実施形態では、画像内の各ピクセルについて、サブフレームが形成され、処理される。すなわち、選択されたピクセルの組は、フレーム内のすべてのピクセルの組である。しかし、別の実施形態では、処理は、選択されたピクセルのサブセットに対してのみ実行することができ、画像内のすべてのピクセルに対しては実行されない。サブセットは、事前に決定しておいてもよく、又は、サイド情報の一部として通知することができる。図26A〜Eは、そのようなサブセットの例を示している。本明細書で説明する教示とともに、他のサブセットを使用してもよい。サブフレームと呼ばれるM2×1ベクトルziは、piの要素に対応するロケーションの、フレームxのピクセル値を用いて形成される。ピクセルiは、サブフレームziのピボットと呼ばれる。図11は、ピクセルがラスタスキャン順で番号付けられている場合の、ピクセルiにおけるサブフレームziの一例を示している。図11を参照すると、ピクセルのラスタスキャン配列は、「1」から始めてその順序で、ピクセルを番号付けることによって生じる。サブフレームは、ピクセルiにおいてピボットされて示されている。サブフレームは、ワーピングされた行(warped row)と呼ばれるM個のベクトルに編成される。第1のワーピングされた行は、サブフレーム要素1からMをその順序で有し、第2のワーピングされた行は、サブフレーム要素(M+1)から2Mを有し、以降も同様である。
[00126]一実施形態では、Mは4に等しく、サブフレームタイプのライブラリは、図10A〜図10Mに示されたマスクの組に対応する。図10A〜図10Mを参照すると、サブフレームのこのライブラリを用いた場合、マスクは、矢印で示されるような異なる方向に対応する。図10Aのマスクは、正規の水平方向又は垂直方向に対応しているので、本明細書では正規マスク(regular mask)と呼ばれる。他のマスクは、非通常の方向に対応しているので、方向マスク(directional mask)と呼ばれる。マスク内のピクセル(「a」から「p」)の差分位置(differential−position)(Ω)は、Ω=CC+W×CRとして定義され、ここで、Wはフレームyの幅である。CCは、対象とする現在のピクセルの列に達するために、ピクセル「a」の列から開始して右に水平に動く必要がある列の数である。CRは、対象とする現在のピクセルの行に達するために、ピクセル「a」の行から開始して下に垂直に動く必要がある列の数である。例えば、図10Hのマスクの場合、ピクセル「c」は、CC=−1、CR=2である。マスクに対応するサブフレームタイプは、「a」から「p」の順に並べられた、そのマスク内におけるピクセルの差分位置を含むベクトルである。
[00127]一実施形態では、ピクセルのサブフレームタイプの選択は、正規マスクに対応するサブフレームタイプを常に選択することによって行われる。別の実施形態では、ピクセルのサブフレームタイプの選択は、選択された各ピクセルについて、(1)各サブフレームタイプについて、形成されたサブフレーム上で2−D DCTを評価し、(2)与えられた閾値Tについて、大きさがTよりも大きい非ゼロ変換係数の数を最小化するサブフレームタイプを選択することによって行われる。また別の実施形態では、ピクセルのサブフレームタイプの選択は、選択された各ピクセルについて、すべてのワーピングされた行にわたって平均されたピクセル値のワーピングされた行の分散(warped row variance)を最小化するサブフレームタイプを選択することによって行われる。更に別の実施形態では、ピクセルのサブフレームタイプの選択は、K×Lピクセルのブロックについて、各ピクセルに(すべてのワーピングされた行にわたって平均されたピクセル値のワーピングされた行の分散を最小化するサブフレームタイプに基づいて)サブフレームタイプに投票させ、K×Lブロック内のすべてのピクセルについて最も多くの得票を得たサブフレームタイプを選択することによって行われ、ここで、K及びLは、0よりも大きな任意の整数とすることができる。一実施形態では、K及びLはともに、4に設定される。更に別の実施形態では、ピクセルのサブフレームタイプの選択は、各ピクセルについて、K×Lピクセルのブロックを形成し、このブロック上で先の投票方式を使用してサブフレームタイプを選択することによって行われる。どの場合も、選択されたサブフレームタイプが、現在のピクセルのために使用される。したがって、各マスクについて測定されたこれらの統計量の1つを使用することによって、サブフレームの選択が実行される。図10A〜図10Mのマスク以外のマスクが使用できることに留意されたい。
[00128]図19は、サブフレームタイプ選択プロセスの一実施形態のフロー図である。図20は、過去の出力フレームからのサブフレーム形成プロセスの一実施形態のフロー図である。
[00129]図18の処理ブロック1804の一部として、処理ロジックは、空間変換の選択及び適用も実行する。より具体的には、処理ロジックは、ピクセル適応のワープ空間変換(pixel−adaptive warped spatial transform)Hiを使用して、サブフレームzi及び

を、ei及び

にそれぞれ変換する。図21は、空間変換選択プロセスの一実施形態のフロー図である。
[00130]図18の処理ブロック1804の一部として、処理ロジックは、閾値処理も実行する。より具体的には、処理ロジックは、eiの選択された要素に対して適応閾値

を適用して、aiを取得する。一実施形態では、eiのすべての要素が選択される。別の実施形態では、第1の要素(通常はDC要素)を除くすべての要素が選択される。更に別の実施形態では、要素はどれも選択されない。また、変換係数eiを、マスタ閾値

を使用して閾値処理し、

を取得する。閾値処理オペレーションは、例えば、硬閾値処理(hard thresholding)及び軟閾値処理(soft thresholding)など様々な方法で行うことができる。
[00131]処理ブロック1805における処理ロジックは、閾値処理の結果、すなわちベクトルai及び

を使用して、M2×2行列

を形成する。本明細書における目的では、関数h()は、恒等関数、輝度変化に一致した

のすべての要素の単純な線形スケーリング、又はフェードなどのより複雑なシーン特性を捉えたより一般的な関数とし得る。処理ロジックは、ピクセル適応時間変換

を使用して、

をbiに変換する。変換Giは、変換のライブラリから選択することができる。変換は、異なるピクセルにおいてピボットされたサブフレームは異なる変換を使用できるので、ピクセル適応と呼ばれる。適応的である場合、選択された変換は、絶対値がマスタ閾値

よりも大きなbi内の係数を最も少なく有する変換である。図22は、時間変換選択プロセスの一実施形態のフロー図である。
[00132]変換係数biを生成した後、変換係数biは、ciを取得するために、

を使用して閾値処理される(図18の処理ブロック1806)。閾値処理オペレーションは、上述したように、硬閾値処理及び軟閾値処理など様々な方法で行うことができる。閾値処理の選択は、ベクトルOP内で通知することができる。図23は、変換係数を閾値処理するための閾値処理プロセスの一実施形態のフロー図である。
[00133]閾値処理された係数に逆変換を適用した後、処理されたサブフレームのすべてが、重み付け方式で組み合わされて、フレームyが形成される。図24は、サブフレームを組み合わせてフレームを生成するためのプロセスの一実施形態のフロー図である。
[00134]フレームyは、現在の入力フレームxに対応する出力である。処理する更なるフレームが存在する場合、処理ロジックは、現在の入力フレームxを更新し、yを

にコピーし、図18に示されるプロセスを繰り返す(処理ブロック1812)。
[00135]図25は、ビデオ系列に対して画像処理を実行するためのプロセスの別の実施形態のフロー図である。
[00136]図26A〜Eは、選択されたピクセルのサブセット例を示す図である。
[00137]このノイズ及び/又はフリッカー低減プロセスの一実施形態に関するより多くの情報については、2008年9月18日に出願された「Noise and/or Flicker Reduction in Video Sequences using Spatial and Temporal Processing」と題する米国出願第12/233468号を参照されたい。また参照することにより本明細書に援用される、S.Kanumuri、O.G.Guleryuz、M.R.Civanlar、A.Fujibayashi and C.S.Boon、「Temporal Flicker Reduction and Denoising in Video using Sparse Directional Transforms」、Proc.SPIE Conf on Applications of Digital Image Processing XXXI、San Diego、CA、Aug.2008において説明されている。
[00138]他の実施形態も、本明細書に説明した技法を使用し得る。
[00139]本発明の実施形態を、大部分において、図に示し上述した特定の例を参照して説明した。しかし、本発明の範囲から逸脱することのなく、本発明の実施形態の代替及び変更が当業者に明らかなことが当業者には理解されよう。そのような変形及び実施は、以下の特許請求の範囲に従って獲得されることが理解される。
[00140]本明細書で説明したプロセスは、上述したオペレーションをプログラム可能プロセッサに実行させるためのデータ及び命令が保存された機械可読媒体とすることができる。他の実施形態では、オペレーションは、ハードワイヤードロジックを含む特定のハードウェアコンポーネントによって実行することができる。それらのオペレーションは、或いは、プログラムされたコンピュータコンポーネント及びカスタムハードウェアコンポーネントの任意の組み合わせによって実行することができる。
[00141]プログラム可能プロセッサ用の命令は、プロセッサによって直接実行可能な形式(「オブジェクト」又は「実行可能ファイル」形式)で保存することができ、又は命令は、「ソースコード」と呼ばれる人間が読めるテキスト形式で保存することができ、ソースコードは、「コンパイラ」として一般に知られる開発ツールによって自動的に処理されて、実行可能コードを生成することができる。命令は、基本ソースコードの所定のバージョンからの差分又は「デルタ」として指定することもできる。デルタ(「パッチ」とも呼ばれる)は、実施形態を含まない一般に利用可能なソースコードパッケージを元として、本発明の実施形態を実施するための命令を準備するために使用することができる。
[00142]先の説明では、多くの細部を説明した。しかし、本発明がこれらの特定の細部がなくとも実施できることは当業者には明らかであろう。いくつかの場合では、よく知られた構造及びデバイスは、本発明を曖昧にしないように、詳細にではなく、ブロック図形式で示している。
[00143]詳細な説明のいくつかの部分は、アルゴリズムと、コンピュータメモリ内のデータビットに対するオペレーションのシンボル表現とによって提示された。これらのアルゴリズム記述及び表現は、仕事の内容を他の当業者に最も効率的に伝えるためにデータ処理分野の当業者によって使用される手段である。アルゴリズムは、ここでは一般に、所望の結果をもたらす自己矛盾のないステップの系列であると見なされている。ステップは、物理量に対する必要とされる物理的オペレーションである。必ずしも必要ではないが通常は、これらの量は、保存、転送、組み合わせ、比較、及び他のオペレーションが可能な、電気的又は磁気的信号の形式をとる。これらの信号をビット、値、要素、シンボル、文字、項、又は数などと呼ぶことが主として共通使用の理由から便利であることが分かっている。
[00144]しかし、上記及び類似の用語のすべては、適切な物理量に関連付けられ、これらの量に適用される単に便利なラベルにすぎないことに留意すべきである。先の解説から明らかなように別途具体的に述べられない限り、説明の全体にわたって、「処理する」、「計算する」、「算出する」、「決定する」、又は「表示する」などの用語を利用した解説は、コンピュータシステムのレジスタ及びメモリ内の物理(電子的)量として表現されるデータをオペレーション及び変形して、コンピュータシステムのメモリ若しくはレジスタ内の、又は他のそのような情報ストレージ、伝送、若しくは表示デバイス内の物理量として同様に表現される他のデータにする、コンピュータシステム又は類似の電子コンピューティングデバイスの動作及びプロセスに言及していることが理解される。
[00145]本発明は、本明細書のオペレーションを実行するための装置にも関する。この装置は、必要とされる目的のために特に構成することができ、又はコンピュータ内に保存されたコンピュータプログラムによって選択的に活動化又は再構成される汎用コンピュータを含むことができる。そのようなコンピュータプログラムは、フロッピディスク、光ディスク、コンパクトディスクリードオンリメモリ(「CD−ROM」)、及び磁気光ディスクを含む任意のタイプのディスク、リードオンリメモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、消去可能プログラマブルリードオンリメモリ(「EPROM」)、電気的消去可能プログラマブルリードオンリメモリ(「EEPROM」)、フラッシュメモリ、磁気若しくは光カード、又は電子的命令を保存するのに適した任意のタイプの媒体などの、しかしこれらに限定されない、コンピュータ可読記憶媒体内に保存することができる。
[00146]本明細書で提示したアルゴリズム及び表示は、いずれか特定のコンピュータ又は他の装置に本質的に関係しない。様々な汎用システムが、本明細書の教示によるプログラムとともに使用することができ、又は必要とされるプロセスステップを実行するためにより専門的な装置を構成することが便利であると分かることもある。様々なこれらのシステムに必要とされる構造は、以下の説明から明らかとなる。加えて、本発明は、いずれか特定のプログラミング言語を参照して説明されない。本明細書で説明した本発明の教示を実施するために、様々なプログラミング言語が使用できることが理解されよう。
[00147]本発明の応用例を、大部分において、特定の例に言及することによって、また機能をあるハードウェア及び/又はソフトウェアコンポーネントに個々に割り当てることによって説明した。しかし、本明細書で説明した技法が、本明細書での説明とは異なって、本発明の実施形態の機能を分散させたソフトウェア及びハードウェアによっても達成できることが当業者には理解されよう。そのような変形及び実施は、以下の特許請求の範囲に従って獲得されることが理解される。


Claims (13)

  1. バッファの第1の組に、現在の入力フレームのうち所定数行のデータを記憶するとともに、過去の出力フレームのうち所定行数のデータを記憶するステップと、
    前記バッファの第1の組に記憶されている、前記現在の入力フレームのうちの所定数行のデータおよび過去の出力フレームのうちの所定数行のデータに対して、重み適応過完備順変換オペレーションを実行するステップと、
    前記重み適応過完備順変換オペレーションを実行した後、前記重み適応過完備順変換オペレーションの実行結果に対して少なくとも1つのデータ処理オペレーションを実行するステップと、
    前記少なくとも1つのデータ処理オペレーションの結果に対して重み適応過完備逆変換オペレーションを実行して、その結果をバッファの第2の組に保存するステップと、
    バッファの前記第2の組に保存される結果であるデータの所定行を他の行に移動して更新するステップと、
    バッファの前記第2の組において更新されたデータに基づいて現在の出力フレームを生成して、出力するステップと、を含む方法。
  2. 前記重み適応過完備順変換オペレーション、前記データ処理オペレーション、及び前記重み適応過完備逆変換オペレーション並行して実行可能にする、請求項1に記載の方法。
  3. 前記現在の出力フレームをバッファの第3の組内に保存するステップを更に含む、請求項1に記載の方法。
  4. 前記重み適応過完備順変換オペレーションが、
    現在の入力フレームのP個の行を含む第1のバッファ及び過去のフレームのP個の行を有する第2のバッファ内のデータに対して列方向に順変換を計算し、結果を第3及び第4のバッファ内にそれぞれ保存するステップと、
    前記第3及び第4のバッファ内のデータに対して行方向に前記順変換を計算し、結果を第5及び第6のバッファ内に保存するステップと、
    前記第5及び第6のバッファ内の係数に基づいて、前記第5のバッファ内の係数に対して画像処理オペレーションを実行し、結果を第7のバッファ内に保存するステップと、
    前記第7のバッファ内の係数の行方向の逆変換を前記逆変換の重み乗算に基づいて計算し、結果を第8のバッファ内に保存するステップと、
    1以上のロケーションに保存されたデータに重みを加算することによって、第10のバッファ内のデータを更新するステップと、
    前記第8のバッファ内のデータに対して列方向に逆変換を計算し、結果を第9のバッファ内に保存するステップと、
    前記第9のバッファ及び前記第10のバッファ内のデータを使用して実行される除算オペレーションの結果に基づいて出力フレームバッファを更新するステップと、によって実行される請求項1からのいずれか一項に記載の方法。
  5. 前記重み適応過完備逆変換オペレーションが
    第11、第12、及び第13のバッファを初期化するステップと、
    特定の行と列に左上のピクセルを有するピクセルのブロックの変換係数に対して1−D逆変換及び重み乗算を実行するステップと、
    前記第13のバッファの現在の内容に前記1−D逆変換及び重み乗算の結果を加算することによって、前記第13のバッファを更新するステップと、
    前記第12のバッファ内のロケーションに重みを加算することによって、前記第12のバッファを更新するステップと、
    特定の行のいずれか可能な列に左上のピクセルがあるピクセルのすべてのブロックからの前記変換係数が処理されるまで、実行及び更新のオペレーションを繰り返すステップと、
    前記第13のバッファ内のデータに対して列方向に1−D逆変換を実行するステップと、
    前記第11のバッファの現在の内容に列変換における前記1−D逆変換の結果を加算することによって、前記第11のバッファを更新するステップと、
    いずれか可能な行といずれか可能な列に左上のピクセルがあるピクセルのすべてのブロックからの前記変換係数が処理されるまで、前記第13のバッファの初期化、1−D逆変換の実行、並びに前記第11、第12、及び第13のバッファの更新のオペレーションを繰り返すステップと、
    前記第11のバッファ内のデータを前記第12のバッファに属するデータで除算することによって、除算オペレーションを実行するステップと、によって実行される請求項1からのいずれか一項に記載の方法。
  6. 現在の入力フレームに対して重み適応過完備順変換オペレーションを行い、当該重み適応過完備順変換オペレーションの結果に対して少なくとも1つのデータ処理オペレーションを行い、さらに当該少なくとも1つのデータ処理オペレーションの結果に対して重み適応過完備逆変換オペレーションを実行するプロセッサと、
    前記プロセッサに結合されたバッファの第1の組であって、前記プロセッサによって前記現在の入力フレームのうち所定行のデータを保存するとともに、過去の出力フレームのうち所定行のデータを保存する、該バッファの第1の組と、
    前記プロセッサに結合されたバッファの第2の組であって、前記バッファの第1の組における、前記現在の入力フレームのうちの所定行のデータに対して前記プロセッサにより実行された前記重み適応過完備逆変換オペレーションの結果を保存する、該バッファの第2の組と、
    前記プロセッサに結合されたバッファの第3の組であって、前記バッファの第2の組に保存されているデータに基づいて生成された現在の出力フレームを保存する、該バッファの第3の組と、を備えるシステム。
  7. 前記プロセッサが、SIMDプロセッサである、請求項に記載のシステム。
  8. 前記プロセッサが、さらに、過去の出力フレームに対して順変換オペレーションを実行するためのものである、請求項に記載のシステム。
  9. 前記重み適応過完備順変換オペレーションが、
    現在の入力フレームのP個の行を含む第1のバッファ及び過去のフレームのP個の行を有する第2のバッファ内のデータに対して列方向に順変換を計算し、結果を第3及び第4のバッファ内にそれぞれ保存するステップと、
    前記第3及び第4のバッファ内のデータに対して行方向に前記順変換を計算し、結果を第5及び第6のバッファ内に保存するステップと、
    前記第5及び第6のバッファ内の係数に基づいて、前記第5のバッファ内の係数に対して画像処理オペレーションを実行し、結果を第7のバッファ内に保存するステップと、
    前記第7のバッファ内の係数の行方向の逆変換を前記逆変換の重み乗算に基づいて計算し、結果を第8のバッファ内に保存するステップと、
    1以上のロケーションに保存されたデータに重みを加算することによって、第10のバッファ内のデータを更新するステップと、
    前記第8のバッファ内のデータに対して列方向に逆変換を計算し、結果を第9のバッファ内に保存するステップと、
    前記第9のバッファ及び前記第10のバッファ内のデータを使用して実行される除算オペレーションの結果に基づいて出力フレームバッファを更新するステップと、によって実行される請求項からのいずれか一項に記載のシステム。
  10. 前記重み適応過完備逆変換オペレーション
    第11、第12、及び第13のバッファを初期化するステップと、
    特定の行と列に左上のピクセルを有するピクセルのブロックの変換係数に対して1−D逆変換及び重み乗算を実行するステップと、
    前記第13のバッファの現在の内容に前記1−D逆変換及び重み乗算の結果を加算することによって、前記第13のバッファを更新するステップと、
    前記第12のバッファ内のロケーションに重みを加算することによって、前記第12のバッファを更新するステップと、
    特定の行のいずれか可能な列に左上のピクセルがあるピクセルのすべてのブロックからの前記変換係数が処理されるまで、実行及び更新のオペレーションを繰り返すステップと、
    前記第13のバッファ内のデータに対して列方向に1−D逆変換を実行するステップと、
    前記第11のバッファの現在の内容に列変換における前記1−D逆変換の結果を加算することによって、前記第11のバッファを更新するステップと、
    いずれか可能な行といずれか可能な列に左上のピクセルがあるピクセルのすべてのブロックからの前記変換係数が処理されるまで、前記第13のバッファの初期化、1−D逆変換の実行、並びに前記第11、第12、及び第13のバッファの更新のオペレーションを繰り返すステップと、
    前記第11のバッファ内のデータを前記第12のバッファに属するデータで除算することによって、除算オペレーションを実行するステップと、によって実行さされる、請求項からのいずれか一項に記載のシステム。
  11. 格納した命令を含む機械可読媒体であって、前記命令は、プロセッサによって実行されたときに、前記プロセッサに
    バッファの第1の組に、現在の入力フレームのうち所定数行のデータを保存するとともに、過去の出力フレームのうち所定行数のデータを保存するステップと、
    前記バッファの第1の組における前記現在の入力フレームのうちの所定数行のデータおよび前記バッファの第1の組における前記過去の出力フレームのうちの所定数行のデータに対して重み適応過完備順変換オペレーションを実行するステップと、
    前記重み適応過完備順変換オペレーションを実行した後、前記重み適応過完備順変換オペレーションの実行結果に対して少なくとも1つのデータ処理オペレーションを実行するステップと、
    前記少なくとも1つのデータ処理オペレーションの結果に対して前記重み適応過完備逆変換オペレーションを実行して、その結果をバッファの第2の組に保存するステップと、
    バッファの前記第1及び第2の組に保存されているデータの所定行を他の行に移動して更新するステップと、
    バッファの前記第2の組において更新されたデータに基づいて現在の出力フレームを生成して、出力するステップと、を含むオペレーションを実行させる、機械可読媒体。
  12. 前記重み適応過完備順変換オペレーションが、
    現在の入力フレームのP個の行を含む第1のバッファ及び過去のフレームのP個の行を有する第2のバッファ内のデータに対して列方向に順変換を計算し、結果を第3及び第4のバッファ内にそれぞれ保存するステップと、
    前記第3及び第4のバッファ内のデータに対して行方向に前記順変換を計算し、結果を第5及び第6のバッファ内に保存するステップと、
    前記第5及び第6のバッファ内の係数に基づいて、前記第5のバッファ内の係数に対して画像処理オペレーションを実行し、結果を第7のバッファ内に保存するステップと、
    前記第7のバッファ内の係数の行方向の逆変換を前記逆変換の重み乗算に基づいて計算し、結果を第8のバッファ内に保存するステップと、
    1以上のロケーションに保存されたデータに重みを加算することによって、第10のバッファ内のデータを更新するステップと、
    前記第8のバッファ内のデータに対して列方向に逆変換を計算し、結果を第9のバッファ内に保存するステップと、
    前記第9のバッファ及び前記第10のバッファ内のデータを使用して実行される除算オペレーションの結果に基づいて出力フレームバッファを更新するステップと、によって実行される請求項11に記載の機械可読媒体。
  13. 前記重み適応過完備逆変換オペレーションが
    第11、第12、及び第13のバッファを初期化するステップと、
    特定の行と列に左上のピクセルを有するピクセルのブロックの変換係数に対して1−D逆変換及び重み乗算を実行するステップと、
    前記第13のバッファの現在の内容に前記1−D逆変換及び重み乗算の結果を加算することによって、前記第13のバッファを更新するステップと、
    前記第12のバッファ内のロケーションに重みを加算することによって、前記第12のバッファを更新するステップと、
    特定の行のいずれか可能な列に左上のピクセルがあるピクセルのすべてのブロックからの前記変換係数が処理されるまで、実行及び更新のオペレーションを繰り返すステップと、
    前記第13のバッファ内のデータに対して列方向に1−D逆変換を実行するステップと、
    前記第11のバッファの現在の内容に列変換における前記1−D逆変換の結果を加算することによって、前記第11のバッファを更新するステップと、
    いずれか可能な行といずれか可能な列に左上のピクセルがあるピクセルのすべてのブロックからの前記変換係数が処理されるまで、前記第13のバッファの初期化、1−D逆変換の実行、並びに前記第11、第12、及び第13のバッファの更新のオペレーションを繰り返すステップと、
    前記第11のバッファ内のデータを前記第12のバッファに属するデータで除算することによって、除算オペレーションを実行するステップと、によって実行さされる、請求項11または12に記載の機械可読媒体。
JP2014018738A 2008-02-05 2014-02-03 変換の高速でメモリ効率の良い実施のための方法 Active JP5734475B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US2645308P 2008-02-05 2008-02-05
US61/026,453 2008-02-05
US12/239,195 2008-09-26
US12/239,195 US8837579B2 (en) 2008-02-05 2008-09-26 Methods for fast and memory efficient implementation of transforms

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2010545259A Division JP5517954B2 (ja) 2008-02-05 2009-02-02 変換の高速でメモリ効率の良い実施のための方法

Publications (2)

Publication Number Publication Date
JP2014112414A JP2014112414A (ja) 2014-06-19
JP5734475B2 true JP5734475B2 (ja) 2015-06-17

Family

ID=40931208

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2010545259A Active JP5517954B2 (ja) 2008-02-05 2009-02-02 変換の高速でメモリ効率の良い実施のための方法
JP2010545258A Active JP5419897B2 (ja) 2008-02-05 2009-02-02 空間処理及び時間処理を用いた、ビデオシーケンス中の雑音及びちらつきの少なくとも一方の低減
JP2014018738A Active JP5734475B2 (ja) 2008-02-05 2014-02-03 変換の高速でメモリ効率の良い実施のための方法

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2010545259A Active JP5517954B2 (ja) 2008-02-05 2009-02-02 変換の高速でメモリ効率の良い実施のための方法
JP2010545258A Active JP5419897B2 (ja) 2008-02-05 2009-02-02 空間処理及び時間処理を用いた、ビデオシーケンス中の雑音及びちらつきの少なくとも一方の低減

Country Status (6)

Country Link
US (2) US8731062B2 (ja)
EP (2) EP2243298B1 (ja)
JP (3) JP5517954B2 (ja)
KR (2) KR101291869B1 (ja)
CN (2) CN102378978B (ja)
WO (2) WO2009100034A2 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8311088B2 (en) * 2005-02-07 2012-11-13 Broadcom Corporation Method and system for image processing in a microprocessor for portable video communication devices
US8305497B2 (en) * 2007-07-27 2012-11-06 Lsi Corporation Joint mosquito and aliasing noise reduction in video signals
US8731062B2 (en) 2008-02-05 2014-05-20 Ntt Docomo, Inc. Noise and/or flicker reduction in video sequences using spatial and temporal processing
JP4801186B2 (ja) * 2009-04-23 2011-10-26 株式会社エヌ・ティ・ティ・ドコモ 画像処理装置、画像処理方法および画像処理プログラム
KR101682147B1 (ko) 2010-04-05 2016-12-05 삼성전자주식회사 변환 및 역변환에 기초한 보간 방법 및 장치
EP2442567A1 (en) * 2010-10-14 2012-04-18 Morpho Inc. Image Processing Device, Image Processing Method and Image Processing Program
FR2978273B1 (fr) * 2011-07-22 2013-08-09 Thales Sa Procede de reduction du bruit dans une sequence d'images fluoroscopiques par filtrage temporel et spatial
EA017302B1 (ru) * 2011-10-07 2012-11-30 Закрытое Акционерное Общество "Импульс" Способ подавления шума серий цифровых рентгенограмм
US9924200B2 (en) 2013-01-24 2018-03-20 Microsoft Technology Licensing, Llc Adaptive noise reduction engine for streaming video
US9357236B2 (en) * 2014-03-13 2016-05-31 Intel Corporation Color compression using a selective color transform
US9939253B2 (en) * 2014-05-22 2018-04-10 Brain Corporation Apparatus and methods for distance estimation using multiple image sensors
US10102613B2 (en) * 2014-09-25 2018-10-16 Google Llc Frequency-domain denoising
CN106028014B (zh) * 2016-05-27 2017-12-08 京东方科技集团股份有限公司 一种校正视频闪烁的方法及设备
WO2018108126A1 (zh) * 2016-12-14 2018-06-21 上海寒武纪信息科技有限公司 神经网络卷积运算装置及方法
TWI748035B (zh) * 2017-01-20 2021-12-01 日商半導體能源硏究所股份有限公司 顯示系統及電子裝置
CN106791283B (zh) * 2017-01-25 2019-11-19 京东方科技集团股份有限公司 一种校正视频闪烁的方法、装置及视频设备
US11134272B2 (en) * 2017-06-29 2021-09-28 Qualcomm Incorporated Memory reduction for non-separable transforms
KR102444054B1 (ko) 2017-09-14 2022-09-19 삼성전자주식회사 영상 처리 장치, 영상 처리 방법 및 컴퓨터 판독가능 기록 매체
EP4274207A1 (en) 2021-04-13 2023-11-08 Samsung Electronics Co., Ltd. Electronic apparatus and control method thereof
CN114020211B (zh) * 2021-10-12 2024-03-15 深圳市广和通无线股份有限公司 存储空间管理方法、装置、设备及存储介质

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4447886A (en) * 1981-07-31 1984-05-08 Meeker G William Triangle and pyramid signal transforms and apparatus
US4442454A (en) * 1982-11-15 1984-04-10 Eastman Kodak Company Image processing method using a block overlap transformation procedure
JP2637978B2 (ja) * 1987-04-16 1997-08-06 日本ビクター株式会社 動き適応形画質改善装置
JPH01201773A (ja) * 1988-02-05 1989-08-14 Matsushita Electric Ind Co Ltd ディジタル信号処理装置
JPH0379182A (ja) * 1989-08-23 1991-04-04 Fujitsu Ltd 画像符号化制御方式
JP3302731B2 (ja) 1992-06-02 2002-07-15 大日本印刷株式会社 画像拡大方法
JP3222273B2 (ja) * 1993-07-09 2001-10-22 株式会社日立製作所 核磁気共鳴診断装置における動画像の画質改善方法
JP3392946B2 (ja) * 1993-07-15 2003-03-31 ペンタックス株式会社 電子スチルカメラ及び画像再生装置
US5666163A (en) * 1994-07-12 1997-09-09 Sony Corporation Electronic image resolution enhancement by frequency-domain extrapolation
JPH08294001A (ja) 1995-04-20 1996-11-05 Seiko Epson Corp 画像処理方法および画像処理装置
JP3378167B2 (ja) 1997-03-21 2003-02-17 シャープ株式会社 画像処理方法
US5859788A (en) * 1997-08-15 1999-01-12 The Aerospace Corporation Modulated lapped transform method
US6438275B1 (en) * 1999-04-21 2002-08-20 Intel Corporation Method for motion compensated frame rate upsampling based on piecewise affine warping
AUPQ156299A0 (en) * 1999-07-12 1999-08-05 Canon Kabushiki Kaisha Method and apparatus for discrete wavelet transforms and compressed bitstream ordering for block entropy coding of subband image data
KR100327385B1 (en) 2000-07-18 2002-03-13 Lg Electronics Inc Spatio-temporal three-dimensional noise filter
EP1209624A1 (en) * 2000-11-27 2002-05-29 Sony International (Europe) GmbH Method for compressed imaging artefact reduction
US6898323B2 (en) * 2001-02-15 2005-05-24 Ricoh Company, Ltd. Memory usage scheme for performing wavelet processing
JP3887178B2 (ja) * 2001-04-09 2007-02-28 株式会社エヌ・ティ・ティ・ドコモ 信号符号化方法及び装置並びに復号方法及び装置
US7206459B2 (en) * 2001-07-31 2007-04-17 Ricoh Co., Ltd. Enhancement of compressed images
JP2003134352A (ja) * 2001-10-26 2003-05-09 Konica Corp 画像処理方法及び装置並びにプログラム
US7120308B2 (en) * 2001-11-26 2006-10-10 Seiko Epson Corporation Iterated de-noising for image recovery
CN1663257A (zh) * 2002-04-19 2005-08-31 德国普莱特科技公司 小波变换系统,方法和计算机程序产品
US7940844B2 (en) * 2002-06-18 2011-05-10 Qualcomm Incorporated Video encoding and decoding techniques
JP3902990B2 (ja) * 2002-07-02 2007-04-11 キヤノン株式会社 アダマール変換処理方法及びその装置
CN1823336A (zh) * 2003-05-07 2006-08-23 Dvip多媒体股份有限公司 消除传感器电平图像失真的方法和装置
US7352909B2 (en) * 2003-06-02 2008-04-01 Seiko Epson Corporation Weighted overcomplete de-noising
US20050105817A1 (en) 2003-11-17 2005-05-19 Guleryuz Onur G. Inter and intra band prediction of singularity coefficients using estimates based on nonlinear approximants
KR100564592B1 (ko) 2003-12-11 2006-03-28 삼성전자주식회사 동영상 데이터 잡음제거방법
GB2415876B (en) * 2004-06-30 2007-12-05 Voxar Ltd Imaging volume data
JP2008508751A (ja) * 2004-07-30 2008-03-21 アルゴリス インコーポレイテッド 符号化された画像信号に関する適応型3d虚構映像削減のための装置および方法
CN101027679B (zh) * 2004-09-09 2010-04-21 奥普提克斯晶硅有限公司 表达通用的二维空间变换的系统和方法
US7554611B2 (en) * 2005-04-19 2009-06-30 Samsung Electronics Co., Ltd. Method and apparatus of bidirectional temporal noise reduction
US8050331B2 (en) 2005-05-20 2011-11-01 Ntt Docomo, Inc. Method and apparatus for noise filtering in video coding
US20060288065A1 (en) * 2005-06-17 2006-12-21 Docomo Communications Laboratories Usa, Inc. Method and apparatus for lapped transform coding and decoding
JP4699117B2 (ja) * 2005-07-11 2011-06-08 株式会社エヌ・ティ・ティ・ドコモ 信号符号化装置、信号復号化装置、信号符号化方法、及び信号復号化方法。
JP4743604B2 (ja) * 2005-07-15 2011-08-10 株式会社リコー 画像処理装置、画像処理方法、プログラム及び情報記録媒体
US20070074251A1 (en) * 2005-09-27 2007-03-29 Oguz Seyfullah H Method and apparatus for using random field models to improve picture and video compression and frame rate up conversion
WO2007089803A2 (en) 2006-01-31 2007-08-09 Thomson Licensing Methods and apparatus for edge-based spatio-temporal filtering
JP4760552B2 (ja) * 2006-06-06 2011-08-31 ソニー株式会社 動きベクトル復号化方法および復号化装置
US20080007649A1 (en) * 2006-06-23 2008-01-10 Broadcom Corporation, A California Corporation Adaptive video processing using sub-frame metadata
US8385424B2 (en) * 2006-06-26 2013-02-26 Qualcomm Incorporated Reduction of errors during computation of inverse discrete cosine transform
CN100454972C (zh) 2006-12-28 2009-01-21 上海广电(集团)有限公司中央研究院 一种视频图像3d降噪方法
US8743963B2 (en) * 2007-08-13 2014-06-03 Ntt Docomo, Inc. Image/video quality enhancement and super-resolution using sparse transformations
US20090060368A1 (en) * 2007-08-27 2009-03-05 David Drezner Method and System for an Adaptive HVS Filter
US8731062B2 (en) 2008-02-05 2014-05-20 Ntt Docomo, Inc. Noise and/or flicker reduction in video sequences using spatial and temporal processing

Also Published As

Publication number Publication date
US8837579B2 (en) 2014-09-16
WO2009100034A2 (en) 2009-08-13
JP5419897B2 (ja) 2014-02-19
EP2243298B1 (en) 2021-10-06
EP2240869B1 (en) 2019-08-07
US8731062B2 (en) 2014-05-20
CN102378978A (zh) 2012-03-14
JP2011527033A (ja) 2011-10-20
EP2243298A1 (en) 2010-10-27
JP5517954B2 (ja) 2014-06-11
US20090195697A1 (en) 2009-08-06
JP2014112414A (ja) 2014-06-19
WO2009100034A3 (en) 2012-11-01
KR101291869B1 (ko) 2013-07-31
JP2011512086A (ja) 2011-04-14
KR20100114068A (ko) 2010-10-22
CN101933330B (zh) 2013-03-13
CN101933330A (zh) 2010-12-29
CN102378978B (zh) 2015-10-21
EP2240869A2 (en) 2010-10-20
US20090195535A1 (en) 2009-08-06
KR101137753B1 (ko) 2012-04-24
KR20100112162A (ko) 2010-10-18
WO2009100032A1 (en) 2009-08-13

Similar Documents

Publication Publication Date Title
JP5734475B2 (ja) 変換の高速でメモリ効率の良い実施のための方法
EP2556490B1 (en) Generation of multi-resolution image pyramids
Pal et al. A brief survey of recent edge-preserving smoothing algorithms on digital images
US8571309B2 (en) System and method of image upsampling
CN107133914B (zh) 用于生成三维彩色图像的装置和用于生成三维彩色图像的方法
Woo et al. Alternating minimization algorithm for speckle reduction with a shifting technique
JP2013518336A (ja) 入力画像から増加される画素解像度の出力画像を生成する方法及びシステム
Jeon et al. Texture map generation for 3D reconstructed scenes
US11308361B1 (en) Checkerboard artifact free sub-pixel convolution
Zhang et al. On kernel selection of multivariate local polynomial modelling and its application to image smoothing and reconstruction
US20050259108A1 (en) System and method for dynamically generating images using repeatable textures
Shi et al. Fast algorithm for multiplicative noise removal
Hui et al. Eigentransformation-based face super-resolution in the wavelet domain
JP2022533264A (ja) 自己回帰ビデオ生成ニューラルネットワーク
Hesabi et al. A modified patch propagation-based image inpainting using patch sparsity
CN116071279A (zh) 图像处理方法、装置、计算机设备和存储介质
Xu et al. Sharp image estimation from a depth-involved motion-blurred image
Ye et al. A sparsity-promoting image decomposition model for depth recovery
Qian et al. Blind super-resolution restoration with frame-by-frame nonparametric blur estimation
JP2016122430A (ja) 画像フィルタ演算装置及びガウシアン・カーネル演算装置並びにプログラム
Zerva et al. Video Super-Resolution Using Plug-and-Play Priors
Wang et al. Single image super-resolution based on approximated Heaviside functions and iterative refinement
Yu et al. Super-resolution via a fast deconvolution with kernel estimation
Øye Accelerating nonlinear image transformations with OpenGL ES: A study on fish-eye undistortion
Chernyavskiy Super-resolution: 2. Machine learning-based approach

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150107

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: 20150317

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150414

R150 Certificate of patent or registration of utility model

Ref document number: 5734475

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250