JP2007503784A - ハイブリッドビデオ圧縮法 - Google Patents

ハイブリッドビデオ圧縮法 Download PDF

Info

Publication number
JP2007503784A
JP2007503784A JP2006530613A JP2006530613A JP2007503784A JP 2007503784 A JP2007503784 A JP 2007503784A JP 2006530613 A JP2006530613 A JP 2006530613A JP 2006530613 A JP2006530613 A JP 2006530613A JP 2007503784 A JP2007503784 A JP 2007503784A
Authority
JP
Japan
Prior art keywords
block
blocks
encoded
frame
sub
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006530613A
Other languages
English (en)
Other versions
JP2007503784A5 (ja
Inventor
トト,ペテル
カーロリ,ヨージェフ
Original Assignee
アーエムテー アドバンスド マルチメディア テクノロジー アクティエボラーグ
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 アーエムテー アドバンスド マルチメディア テクノロジー アクティエボラーグ filed Critical アーエムテー アドバンスド マルチメディア テクノロジー アクティエボラーグ
Publication of JP2007503784A publication Critical patent/JP2007503784A/ja
Publication of JP2007503784A5 publication Critical patent/JP2007503784A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/523Motion estimation or motion compensation with sub-pixel accuracy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • 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/124Quantisation
    • 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/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本発明は、デジタル的に符号化されたビデオフレームシーケンスを圧縮する方法に関するものである。本方法においては、所定のフレームをブロックに分割し、選択したブロックの情報量を隣接する1つ又は複数のブロック内に含まれている情報に基づいて変更(予測)し、これらのブロックを空間表現から周波数表現に変換する。変換されたブロックの情報量を算術符号化によって符号化する。更なる変換を実行する前に、ブロックのサブブロックへの動的な分割またはブロックに対する圧縮性分析を実行するような様々な方法によって、符号化の効率を改善する。エントロピー符号化は、ニューラルネットワークを使用して、算術符号化のパラメータを判定する。こうして、利用可能な帯域幅及び符号化する画像の品質に応じて、所定のフレームを動的にリスケーリングする。

Description

本発明は、ビデオ圧縮に関し、更に詳しくは、ビデオフレームシーケンスを圧縮する方法および装置に関するものである。
日常生活において、マルチメディアは、かつてないほどに大きな役割を果たしている。ほとんど、どこにおいても、デジタルビデオ画像(動画)を見つけることができる。デジタルビデオ内に含まれている情報量によって、デジタルビデオシステムの転送帯域幅の向上と大容量のストレージ装置が求められている。後者のストレージ装置分野における進歩の証が、近年におけるフラッシュタイプの半導体メモリモジュールの記録容量の急激な増大である。しかしながら、デジタルビデオの情報量は極めて大きいため、半導体メモリを使用してビデオデジタルデータを保存するには、実際は不可能であるか、または、少なくとも非常に高価になる。例えば、フル分解能(D1)の1分間のデジタルビデオは、圧縮しない場合には、1,866Gバイトのストレージ容量を必要とする。1990年代初頭に、MPEG1と呼ばれるビデオ符号化システムが登場したが、これは、デジタルビデオデータの量をオリジナルの約1/30に低減する能力を有していた。このシステムは、品質問題のために改善され、MPEG2と呼ばれるビデオ符号器が誕生した。これは、主にDVDおよびDVBシステムに適用されている。インターネット指向のいわゆるストリーミングメディアを目的として、このシステムの改善バージョンであるMPEG4の設計が既に完了している。
本発明の目的は、高効率のビデオデータ圧縮システムである。この提案するシステムによれば、半導体メモリモジュール内にビデオデータを保存可能であり、ビデオデータを保存する低コストのRAMメモリモジュールアプリケーションが実現する(このようなRAMモジュールは、コンピュータ市場に広く行き渡っている)。このような非機械的なストレージシステム(すなわち、可動部品を含んでいないストレージシステム)は、テレビ受像機や衛星放送およびケーブルテレビのアプリケーションに使用するいわゆるセットトップボックスに、放送番組の中間ストレージ用として、また、従来のビデオテープレコーダの代替品として、便利なものとして適用することが可能である。
また、本発明の圧縮方法を適用した符号化システムは、デジタルビデオデータを保存する従来のビデオカメラの機械的なテープ記録システムの代替品としても便利なものとして使用可能であり、例えば、フラッシュメモリを搭載したシステムに使用可能である。本発明であるハイブリッドビデオ圧縮符号化システムによれば、良好なビデオ品質を保持しつつ、デジタルビデオデータストリームの帯域幅を300〜600Kビット/秒に低減することが可能であり、これは、2時間のビデオ録画に対して、4〜500Mバイトのストレージ空間しか必要としないことを意味している。
(I.背景技術)
ビデオフレームシーケンスを圧縮するために、既にいくつかの異なる方法が考案されている。
ビデオフレームの符号化プロセスの過程においては、要求される品質と要求される合計データ長を維持するために、符号化するデータの総量が最少および最大限度内においてダイナミックに変化している。一般に、既知のソフトウェアプログラムは、フレームxの構成順序にそって符号化を行い、得られた符号化の平均フレーム長に応じて、圧縮の制御を実行している。平均フレーム長が以前の平均長の値を上回った場合には、圧縮を更に強化し(圧縮比が増大する)、平均フレーム長が以前の平均値を下回った場合には、規定されている最小および最大限度値内に入るように圧縮比を減少させることになる。
圧縮比は、通常、「より強力」な量子化(変換の際に実行される「丸め」処理のこと、以下を参照)を選択することによって増大する。この結果、誤り率が増大し、雑音が発生する。エラーは、しばしば、特に、1Mビット/秒未満において視覚的に顕著であり、且つ、耐え難くなる。圧縮性は、フレームごとに変化するため、期待品質を一定に保つ場合、通常、要求される平均フレーム長を維持することが困難となる。通常、フレーム長の最小値および最大値を過大に設定することはできない。この理由は、結果として、制御レンジが広くなり過ぎると共に、符号化されたフレームの長さが、膨大なスケールで変化することになるためである。多くの場合、規定されているフレーム長の最小値によって、要求される品質を確保することができず、結果的に圧縮比の更なる増大が必要となることがある。
(I.1. MPEG法)
最も広範に使用されている周知のビデオデータ圧縮法の1つが、MPEGである。これは、空間的冗長性に基づいた圧縮と時間的冗長性に基づいた圧縮とを統合しているため、ハイブリッド符号化法と見なすことができる。空間的冗長性に基づいた方法においては、フレーム内の細部を低減することによって、あるいは、フレーム内において繰り返し発生する特徴を識別し活用することによって、フレームの情報量を低減する。一方、時間的冗長性に基づいた圧縮法においては、先行および後続するフレームを使用することにより、これらの変化のみを符号化する。また、静止画像圧縮用の既知の方法の1つが、JPEGである。この方法も空間的冗長性の活用に基づいたものである。圧縮対象の画像は、ブロックに分割され、分割されたブロックの情報量は離散コサイン変換を使用して低減される。
本発明の新規な特徴について容易に理解できるように、既知のMPEGシステムの動作について簡単に復習してみる。このMPEGシステムの処理内容は、図1に例示されており、システムの機能的な要素が示されている。圧縮対象の受信ブロックは、入力ライン1を通じてセレクタ2に伝達される。セレクタ2は、上記受信ブロックが、イントラ、インター、または予測用ブロックであるかどうかを判定し、相応して、これを処理する。DCT(Discrete Cosine Transform:離散コサイン変換)モジュール3および量子化モジュール4を通過したブロックは、エントロピー符号化モジュール13内において符号化され、ビデオマルチプレクサ14を通じて、出力15に書き出されることにより、伝送または保存対象の圧縮済みの出力データストリームとなる。イントラ/インターブロック(以下で、説明)の変換済みのデータは、逆量子化モジュール5、IDCT(逆コサイン変換)モジュール6、およびセレクタ7によって再構築され、このデータが、最終的に参照フレームストア8内に書き込まれる。後程詳述するように、量子化モジュール4は、基本的に、DCT変換済みのブロックの要素(DCT係数)を量子化係数によって除算する。そして、これらの係数は、実際に、これらに量子化係数を乗算することにより、逆量子化モジュール5によって再構築される。換言すれば、逆量子化モジュールは、少なくとも、整数除算から生じる誤差が許容可能な程度にまでDCT係数のオリジナルの値を回復するように試みている。これは、それぞれのフレームまたはフレーム内のそれぞれのブロックを即座に復号化しようという意図の下に行われている。即座の復号化を必要とする理由は、この方法が、復号化済みのフレームを次のフレームを符号化するための参照用として使用しているためである。尚、この手順には、エントロピー符号化(復号化)は含まれていない。この理由は、復号化された参照フレーム内において、考慮すべき情報損失をエントロピー符号化が引き起こさないようにする点を考えた場合に、エントロピー符号化は過剰処理になるためである。
最初に受信される第1フレームは、参照すべきフレームを有していない。これは、第1フレームが常にいわゆるイントラフレーム(Iフレーム)であることを意味している。従って、第1フレームの場合には、Iタイプのフレーム全体の処理が確定するまで、上記手順が反復される。先行または後続のフレームを参照用として使用する場合、各々のフレーム/ブロックは、それぞれ、PタイプおよびBタイプのフレーム/ブロックと呼ぶ。
次に受信されたフレームのブロックは、動き推定モジュール10に供給される。動き推定モジュールは、参照フレームストア8内に保存されている参照フレームの中から、符号化対象となる受信ブロック用の参照ブロックを捜し出すことを試みる。
動き推定モジュール10は、捜し出された参照ブロックを使用して、動き補償を実行し、次いで、予測モジュール9により、符号化対象の(オリジナルの)ブロックが参照ブロックから減算され、差分が、前述の変換を実行するモジュール(セレクタ2、DCT変換モジュール3、および量子化モジュール4、次いで、エントロピー符号化モジュール13、そして、最後に、マルチプレクサ14)に伝達される。動き補償の結果として生成される動きベクトル(MV)は、エントロピー符号化モジュール12によって符号化された後に、マルチプレクサ14に伝達され、この結果、動きベクトルが出力データストリーム15内に挿入される。
参照番号7のモジュールは、PタイプおよびBタイプのブロックの場合には検出された参照ブロックを逆変換済みの差分に加算し、且つ、Iタイプのブロックの場合には変化させないようなセレクタ/合計モジュールである。このようにして再構築されたブロックが、続いて、参照フレームストア内に書き込まれる。探索において検出された位置が、ベクトルに変換され、エントロピー符号化モジュール12によって符号化される。
次に、これらの動作について更に詳細に説明する。
(I.2.1.)
時間的冗長性に基づいた圧縮システムは、連続したフレームの変化した部分のみを符号化する。これは、実際には、フレームをブロックに分割し、個々のブロックを先行または後続のフレームの探索範囲内に配置されているピクセルとピクセルごとに比較することによって実行される。この手順が、図2に示されており、これは、先行のフレーム16内に配置されている探索範囲21、または後続のフレーム18の探索範囲19内において、フレーム17の対象とするブロック20に対して最も一致する参照ブロックを探索している状況を示している。参照ブロックは、どこにでも配置可能であり、これが、参照フレーム16または18内に示されている(グレーで示されている)探索範囲と一致する必要はない。当然のことながら、このような場合には、1つまたは複数の対象とする参照フレーム内において参照探索が成功しないということになる。また、明らかなように、参照フレーム17、18は、参照探索のためにブロックに分割されることはなく、図2に示されているブロックは、わかりやすくするためのものである。
比較は、次式を使用して実行される。
Figure 2007503784
ここで、MSEは、符号化対象のブロックの個々のピクセルと、求めている参照ブロックとの比較を基本的に定量化するいわゆる平均二乗誤差であり、この比較は、ピクセルごとに実行され、インデックスk、lは、符号化対象のブロックの位置を定めるインデックスであり、インテックスu、vは、参照フレーム内に配置された探索範囲を指し示すインデックスであり、M、Nは、ブロックの水平および垂直サイズを示す。
符号化対象のブロックを含むフレームの前後に連続的に配置されているフレームを、いずれも参照フレームと呼ぶ。探索手順においては、参照フレーム内において、通常、−32/32ピクセルのサイズを有する探索範囲を設定する。符号化対象の現在のブロックの位置を探索範囲の中心として指定することになる。すなわち、符号化プロセスが、現在、位置10,10に位置している場合には、この位置が、参照フレーム内における探索範囲の中心となる。探索範囲を現在のブロックから一歩一歩走査し、それぞれの段階において誤差(先程規定したMSE値)を算出する。最良の参照ブロックの候補は、探索が最小誤差を付与する位置、すなわち、符号化対象の現在のブロックに最もマッチングしたブロックとなる。探索を成功と見なすことができるか否かを誤差値に基づいて判定することが可能である。探索に成功した場合には、求めている参照ブロックの位置がフル分解能モードで得られる。但し、大部分の場合に、探索の結果は不満足なものとなる。
この問題を更に詳細に検討すれば、過大な誤差(従って、探索の不成功)の原因が、誤差の評価方法であることが直ぐにわかる。例えば、最良の位置にあっても、雑音の多いフレームの場合には、2つのブロックが同一にならず、ブロックの情報量は、雑音のために異なっている。この状況は、1つのブロックの位置ずれが、ピクセルサイズの正確な倍数になっていない場合にも発生し、位置ずれは、結果的に2つの整数倍のピクセルの間のどこで終了しており、すなわち、実際の位置ずれの量は、ピクセルサイズの端数によってしか正確に表現できない。従って、符号化対象のブロックと参照ブロックとの間の正しい一致を図るためには、雑音やその他の邪魔な要因をフィルタリングする必要がある。通常、この目的には、低域通過フィルタを適用する。これらのフィルタは、既定のサンプリング周波数に従って高周波成分を減衰させ、これにより、画像の雑音をある程度抑圧することができる。フィルタは、通常、それぞれのピクセルを、その隣のまたは上部に配置されているピクセルと、あるいはこれらの両方と平均化することによって誤差を補償する。例えば、いわゆる1/2ピクセルの分解能をもつ参照フレームは、オリジナルフレームのそれぞれの2つの隣接するピクセルの間に、これら2つの隣接するピクセルの平均値を有するピクセルを挿入することによって生成される。各々の2つの隣接するピクセルの平均値から新しいピクセルを生成し、この新しいピクセルを使用してオリジナルと同一の分解能を有する新しいフレームを生成すれば、結果として、実質的に同一のものが得られる。得られたフレームは、実際には、水平に補間された場合には、オリジナルのものに対して1/2ピクセルだけ左にシフトし、垂直に補間された場合には、1/2ピクセルだけ上にシフトされる。
(I.2.2.)
誤差補償のためには、通常、双1次フィルタ処理が提案されている。双1次フィルタ処理は、3つの補間された参照フレーム(フィルタ処理済)を生成する段階を含んでいる。3つとは、すなわち垂直補間、水平補間、および垂直と水平の両方による補間を言う。参照フレームは、符号化済みのイントラ(または、インター)フレームの復号化(再構築)された変形であるということを思い起こして頂きたい。これは、対象とする参照フレームに基づいた更なるフレームが、復号化された参照フレーム内に存在している量子化誤差によって更に劣化することを防止するために実行されるものである。
次の段階において、1/2ピクセル分解能で探索を実行する(すなわち、これは、フィルタ処理済の参照フレーム内において継続される)。セレクタSを、一致したx,y位置のビットから、下記の式にて生成する。
S=(y&1)*2+x&1(ここで、&は、論理AND演算を意味する)。次に、−1/+1、−1/+1の限度において新しい探索範囲を設定する。すなわち、(x+(−1/+1),y+(−1/+1))で設定する。範囲の中心として設定された第1の探索段階(フィルタ処理がされていない参照フレーム内での探索)において見出された最良のブロックの位置により、探索は行なわれる。そして、この新しい範囲を使用して探索を反復する。セレクタは、最良のブロックの位置に従って必要とする補間済みの参照フレームと、上記位置によって決定されるフレーム内の特定のブロックとを選択し、対象とするブロックに関連する二乗誤差を算出する。探索の終了時点においては、誤差が最小であった位置が保持されている。従って、誤差が最小であった際にセレクタが指し示していたブロックのピクセルから、対象とするブロックのピクセルを減算することになる。これが図3に示されている。符号化対象のフレーム22のブロック24と類似するまたは同一のブロックを、参照フレーム23内において求めている。最良に一致したブロック25が検出された際に、このブロックの情報はSad/Sub(比較)モジュール29にデータライン28を通じて供給され、下記の比較が実行される。セレクタが、位置の値に基づいて、式S=(y&1)*2+x&1によって選択される内容に従って、フィルタ未処理、水平補間(フィルタ処理)済、垂直補間(フィルタ処理)済、または、両方向での補間(フィルタ処理)済のいずれかの参照ブロックを使用して、当該ブロックとの比較を実行する。この手順は、局部的なフィルタ処理(補間)がされるようなフィルタ未処理の参照フレームのみを含むことになる。この手順は、事前にフィルタ処理(水平、垂直、および両方向への補間)がされた3つの参照フレームが利用可能な場合と同一である。この場合には、セレクタは、前述の選択肢(フィルタ処理がされていないフレームと3つの異なる方式でフィルタ処理されたもの)から適切な参照フレームを選択し、位置x,yに配置されているブロックを更なる比較および処理のために転送することになる。
最終的には、二乗誤差、あるいは、最小誤差ブロックの場合には、参照ブロック25と符号化されたブロック24との差分が出力30に伝達される。
(I.2.3.)
次いで、探索に成功した場合には、結果的に生成された差分が、あるいは、探索に成功しなかった場合には、現在のブロック自体が、DCT変換によって空間表現から周波数表現に変換される。次いで、データの不必要な精度を、いわゆる量子化処理によって低減する。これは、基本的に、DCTによって生成される高次の係数を破棄する段階を伴っており、この理由は、通常、これらの係数が小さいことにある。残りのDCT係数も、小さい値であるか、あるいは、ゼロであり、これらは、先程設定された位置の値と同時に、エントロピー符号化によって効率的に符号化可能である。この手順が図4〜図5に示されている。
図4は、イントラフレーム用の符号化プロセスの概略ブロック図を示している。入力フレーム31は、Y、UVフォーマットを有しており、ここで、Yは、輝度情報を含んでおり、UVは、色差(色度)情報を含んでいる。フレーム31は、例えば、8x8ピクセルサイズのブロックを有している。従って、個々のブロックは、8x8のマトリックスであり、別個のYおよびUVブロックが対象とするフレームに関連付けられている。以下においては、特記しない限り、YおよびUVブロックは、同様に符号化されており、従って、これらは、図4においては、一般的に、マトリックスf(i,j)によって表されている。対象とするブロックに対して段階31において実行されるDCT変換の結果は、F(u,v)と表記されているマトリックスであり、これも、8x8の要素を有している。段階33において、マトリックスF(u,v)の個々の要素を変更することにより、図4に参照番号37によって示されている量子化済みのマトリックスFq(u,v)が得られる。前述のように、量子化は、基本的に、データの不必要な精度の削減を伴っており、これは、実際には、F(u,v)マトリックスの特定の要素を破棄することによって実行される。従って、オリジナルブロック内に含まれていた情報は、これ以降も、量子化済みのマトリックス37内に含まれている。量子化済みのマトリックス37の第1要素、いわゆるDC係数が、段階34において、DPCM(Delta Pulse Code Modulation)によって低減される。これは、基本的に、同じレベルの大きさを有する後続ブロックのDC係数を互いに減算することによって、振幅が相対的に小さいDC係数を取得し、これらを、段階36において実行される静的なハフマンエントロピー符号化によって効率的に符号化可能であることを意味している。マトリックスのもう1つの要素、いわゆるAC係数は、いわゆるランレングス符号化を適用して符号化するが、これは、発生カウントと、繰り返し発生する係数の係数値のみを記録することに基づいたものである(この手順については、後程詳述する)。DCおよびAC係数は、マトリックス37に示されているように、いわゆるジグザグ走査順序に従って、量子化済みの8x8マトリックスから取得される。この結果、これらの係数は、低頻度係数から始まって高頻度係数に向かう頻度の昇順で、エントロピー符号化器に転送される。
(I.2.4.)
ブロックが、イントラではなく、インター符号化されたブロックである場合に、一致して補間がされたPタイプブロックの符号化が図5に示されている。符号化対象のブロック42用の参照ブロック43を見出すことが求められている。ブロック42は、符号化対象の現在のフレームの各ブロック38の中において、そのオリジナルの位置40に配置されている。参照ブロック43は、参照番号41によって示されている位置に配置可能である。探索は、参照フレームの探索範囲39内において、符号化対象のブロック42を段階的に移動させることによって実行される。最良の一致が見出された場合に、符号化対象のブロック42を参照ブロック43から減算し(または、この逆で)、符号化対象のブロック42と、一致した参照ブロック43との間の誤差を生成する。この結果、誤差の輝度成分44およびクロミナンス成分45が得られる。これらの成分に対して、段階46において、DCT変換、量子化、およびランレングス符号化を適用し、次いで、このランレングス符号化済みのデータに対して、最後に、段階47において、更にエントロピー符号化を施す。
復号化の際に、参照用としてオリジナルのフレームが利用可能でないことから、参照用として使用できるのは、既に復号化済みのフレームのみである。符号化プロセスにおいて、既に符号化済みのデータから参照フレームを再構築する必要があるのは、これが理由である。これを実行する最も簡単な方法は、量子化の直後に逆量子化と逆DCTを実行する方法である。
参照探索に成功した場合には、マッチングした参照ブロックを逆変換済みのブロックに追加し、この逆変換済みのブロックを現在のフレームの現在の位置に書き込む。この段階で取得されたフレームが、次のフレーム用の参照用として機能することになるため、現在のフレームのすべてのブロックを更新する。
参照探索に成功した場合には、ブロックは、インターブロックとして分類され、探索に成功しなかった際には、ブロックは、イントラブロックとして分類される。ブロック分類データは、符号化プロセスにおいてそのブロックを生成した方法を示しているため、復号化器のために必要である。フレームも、同一の原理に従って分類される。
フレーム用の参照フレームが検出されない場合(あるいは、差分の符号化が、オリジナルフレームの符号化と同一量のデータを実質的に必要とするほどに、フレームが参照フレームと比べて変化している場合)には、フレーム全体をDCTを使用して変換し、Iフレームとして分類する。フレームが、先行フレームのみを参照用として使用している場合には、Pフレームとして分類し、フレームが、先行および後続するフレームの両方を参照用として使用している場合には、Bフレームとして分類する。
図6は、Bフレームの場合に、符号化システムが、先行フレーム48と後続フレーム50の両方の内部において、フレーム49にある符号化対象のブロックCの参照ブロックを探索し、最終的に、最小の誤差を生成したもの、または2つのブロック間で線形補間された平均のいずれかを基準として保持する状況を示している。
まず、一致したブロックPおよびCのMSE値を演算し、そして、ブロックFおよびCについても、MSEを算出する。次に、処理システムは、0.5*(P+F)の式によって生成されるブロックのMSEとブロックCのMSEとを算出し、最小のMSEをもたらすブロックを最終的に符号化する。すなわち、ブロックCのMSEが、先行するフレーム48に関連して最良である場合には、このフレーム48のブロックPが、ブロックC用の参照ブロックとなる。最良の結果が、フレーム49の後続のフレーム50によって生成される場合には、フレーム50のブロックFがCの参照用となり、最良の結果がFおよびPの平均によって得られる場合には、これらのブロックの両方がC用の参照用として使用されることになる。いずれの結果も十分に良好ではない場合には、ブロックは、イントラブロックとして符号化される。常にブロック記述子構造は、参照用のソース、すなわち、ブロックCがどう符号化されたかを示さなければならない。
(I.2.5.)
参照探索に成功した場合には、設定された参照位置をベクトルに変換し、ベクトルを符号化する。これらのベクトルは、参照に対する符号化対象のブロックの変位の大きさと方向を規定している。
DCTの適用は、次のような事実から正当化が可能である。逆DCT変換は、係数の一部が低減された(ゼロになった)場合に、非常に良好な近似によってオリジナルのブロックデータを再構築する能力を有している。DCTは、FFTの同一処理機能であるのに、なぜ、DCTを使用するのかという疑問が生じよう。回答は、ビデオ符号化の場合には、FFTよりも、DCTのほうが、良好な関数近似を付与するという経験的な証拠が存在しているためである。図7に例として示されているいくつかの具体的な値が、これを示している。FFT係数52およびDCT係数53は、それぞれ、FFTおよびDCT変換を入力データ51に対して実行することによって生成されたものである。量子化の後(すなわち、係数を破棄または切り捨てた後)に、切り捨て済みのFFT係数54と切り捨て済みのDCT係数55が得られる。逆変換の後に、IFFTによって再構築されたデータ56と、IDCTによって再構築されたデータ57が得られる。再構築されたデータを曲線58および59によってプロットすることにより、FFTが、係数の切り捨ての影響を受けやすいことがわかる。
(I.2.6.)
量子化の目的は、不必要な細部を破棄することによるフレームデータの精度(詳細レベル)の低減である。対象とするブロックを綿密に調査すれば、ブロックが、視覚的に知覚されない多くの細部を含んでいることに気付く。この理由は、人間の眼の感度が、空間周波数成分が減少する方向に増大しているという点にある。従って、フレームの高周波数成分が低周波数成分よりも大きく減衰した場合にも、ある程度のレベルまでは、データの圧縮率が増大しても、復号化されたフレーム内において変化を視覚的に認識することはできない。この種の量子化は、MPEG1〜2規格によって適用されている。別の既知の方法によれば、係数の周波数分布を無視しており、この結果、それぞれの係数を同一の定数によって除算している(MPEG4規格のH26X)。量子化の最も重要な機能は、DCT係数を表しているビット数の低減である。換言すれば、DCT変換された係数は、可能な限り少ない数のビットによって表すことが要求される。係数を表すビット数が少ないほど、圧縮率も良好となる。但し、除数の値が増大すると、整数除算によって発生する誤差も増大することになる。
DCT係数を表すビット数を低減する既知の方法には、その他のものも存在している。例えば、いわゆるDC(Delta Code)予測は、連続したDCTブロックの0番目の位置に配置されている値は、互いにわずかに異なっているに過ぎないという認識に基づいたものである。従って、DC値を先行するものから減算すれば、DC成分の値と共に、これらの値を表すビット数を低減可能である(尚、ブロックの0番目の位置に配置されている係数をDCと呼び、その他のものをACと呼ぶ)。
AC予測のプロセスは、DC予測に類似しているが、係数を異なる方向に走査し、様々な方法を使用して平均化するという相違点を有している。AC/DC予測用の解決方法としては、いくつかのものが周知であり、従って、本明細書において、それらについて詳細に説明する必要はない。
(II.)
本発明の全般的な目的は、前述の既知の方法の圧縮効率を改善することにあり、更に詳しくは、相対的に小さな演算負荷を有する効率的な圧縮を提供することにある。この目的は、本明細書に添付されている独立請求項に記述されている本発明による方法によって実現されている。
尚、前述の各方法は、それ自体を効果的に適用可能であるが、一方においては、個々の方法の効果が加算されると共に、他方においては、個々の方法が圧縮プロセスの異なる段階に関係しているため、これらを同時に使用することにより、結果的に、特に著しい改善が実現可能である。
本発明の方法の各段階を実行する種々の装置およびソフトウェア(コンピュータプログラムプロダクト)と、符号化されたデータの復号化を実行する実質的に逆変換の方法も、本発明の目的である。
以下、添付の図面を参照し、本発明について説明する。
(III.)
本発明によるハイブリッド符号化システムの論理構造(概略機能図)が図8に示されている。このシステムの主要機能ユニットは、図1に示されている既知のMPEG符号化システムに、多くの点において類似している。入力ビデオデータ60(換言すれば、符号化対象のフレーム)が、フレームスケーリングモジュール61に供給され、このモジュールが、いくつかの異なる基準(後程詳述する)に従って、入力フレームのサイズを低減するかまたは、変更することなしに、そのままの状態で処理する。本システム全体は、符号化制御ユニット62によって制御されており、この正確な機能については、本明細書において、後程、明らかにする。供給されたフレームまたはブロックは、イントラ/インタースイッチ63に従って、イントラまたはインター符号化によって符号化される。ブロックは、DCT変換モジュール64、量子化モジュール65、およびエントロピー符号化モジュール72を通過することにより、変換、量子化、および符号化された状態で、出力73に送出される。インターフレームを符号化するのに必要な参照フレームは、逆量子化モジュール66および逆DCTモジュール67によって生成され、これによって再構築された参照フレームが、ブロック解除フィルタ69を通じて、フレームストア70に供給される。動き補償、すなわち、フィルタ処理された参照フレームと補償された動き情報74(動きベクトルおよび減算されたブロック)の生成は、参照番号68によって示されているモジュールによって実行される(生成時の分解能は1/2、1/4、および1/8ピクセルの間で調節可能)。フレームストア70は、最新の参照フレームを保存し、当該ブロックは、自動的に更新(実行)される。モジュール71は、変化を識別し、フレーム内の変化を追跡するのに最も適したブロック分割を見出し、且つ、モジュール71は、四分木構造(後程詳述する)を使用して最良のブロック分割を表す。エントロピー符号化モジュール72は、いわゆるニューラル算術圧縮器である(以下を参照)。
以下、本発明による符号化(圧縮)プロセスの特定の態様について更に詳細に説明する。
本明細書においては、「予測(Prediction)」という用語は可逆的な数式を包含するという意味において使用されており、この数式は実質的に平均化の特徴を有する動作に基き、且つ、実際または潜在的に期待可能な類似性を活用することで、良好な近似によってオリジナルの値に戻すことができる。これは、データの再構築によってオリジナルデータの近似値のみが生成可能であることを意味し、換言すれば、期待値が「予測値」であることを意味している。実際には、特定の関数を使用し、これらの計算(これらは、通常、平均化の処理を含む)を実行する。
本発明の圧縮法は、時間的および空間的な冗長性の両方を活用しているため、基本的にハイブリッドの特性を具備している。実行される圧縮は、サイズが動的に変化するブロックを含む階層的なブロック構造に基づいている。参照の探索においては、現在のフレームの直前および直後のフレームのみならず、更に先行および後続のフレームをも使用しており、この最大深度は、+1および3のフレームである(すなわち、参照探索は、1つの後続のフレームと、3つの先行するフレーム内において許容されている)。この方法によれば、高度な動き圧縮が実現され、分解能の範囲は、1/2〜1/8ピクセルである。エントロピー圧縮器は、マルチレベル予測に基づいて、最適化された算術符号化を実行する。
以下においては、「イントラ予測(Intra Prediction)」という用語は、1つまたは複数の基準ブロック内の値に応じて、符号化対象の現在のブロックのピクセル値を低減またはゼロにする可逆的な数式を意味している。
わかりやすくするために、本明細書においては、以下の2つの基本的に異なる予測原理を参照していることを指摘しておかなければならない。
(1)イントラフレームの符号化に適用されるいわゆる「イントラ予測」
(2)ニューラルエントロピー符号化において使用される予測
これらは、該当する当該箇所において説明することになる。
(IV.符号化対象ブロックの高速イントラ予測)
(IV.1)
イントラ予測は、対象フレーム内で隣接するブロックが、しばしば、類似した特性を有しており、従って、隣接するブロック間における空間的な相関をデータ圧縮に使用することが可能であるという観察に基づいたものである。従って、このイントラ予測手順を使用することにより、選択されたブロック(符号化対象のブロック)の情報量を、その選択されたブロックに隣接している1つまたは複数のブロックの既定となるピクセルの情報量に基づいて変更することが可能である。可能な態様においては、図9に概略的に描かれているように、符号化対象ブロックの前に配置されているブロックの垂直ライン76、またはこの対象ブロックの上部に配置されているブロックの水平ライン77、あるいは、これらの両方(すなわち、その場所でのピクセル値)を使用して、イントラ予測は実現される。垂直ライン76をBと呼び、水平ラインをAと呼ぶことにしよう。具体的な例を考えてみよう。符号化対象のブロックの上に配置されているブロックの最後の水平ライン77の要素が、221、224、230、232であるとしよう。
符号化対象のブロックが、次のものであるとしよう。
219、223、226、232
219、224、224,231
217、220、221、229
214、220、221、228
ここで、符号化対象のブロックのそれぞれの水平ラインの値から水平ライン77の値を減算する。この結果、次の予測ブロックが得られる。
2、1、4、0
2、0、6、1
4、4、9、3
7、4、9、4
この例は、水平予測を使用している。この予測の利点は、ピクセルのビットの低減であり、水平ライン77内において観察される左から右に増大する値の傾向が、符号化対象のブロックの場合にも同様であり、符号化対象のデータのエントロピーも向上している。結果的に得られた値の分布は、2x「2」、2x「1」、2x「0」、4x「4」、2x「9」、1x「7」であり、これは、オリジナルのブロックよりも高いシンボル発生率を示している。
変換/予測タイプをより多く規定し、これら1つ1つを実行することによって、達成可能なエントロピーはより一層良くなっていく。従って、提案する解決方法の実際的な一実施例においては、符号化対象のオリジナルブロック75の代わりに、変更(予測)されたブロックを符号化する。この予測されたブロックは、符号化対象のブロック75の水平または垂直ラインから、隣接する水平ライン77Aまたは垂直ライン76Bをラインごとに減算することによって、あるいは、オリジナルのピクセル値からAおよびBの平均値を減算することによって、この計算は、通常、(ピクセル−(A+B)/2)の演算式によって実行される)、この結果、いわゆる予測ブロックが得られる。これ自体は、既知の解決方法ではあるが、本発明は、異なるサイズのブロックの使用を許容することにより、場合によってはそれらを同時に混合することで、イントラ符号化の効率を大幅に改善することが可能であり、これにより、通常、良好に圧縮可能なブロックが得られることを発見した。しかしながら、実行を要する計算が多いことから、この解決方法は、それ自体、実行不可能である。既知の方法においては、予測ブロックに対してDCT変換およびエントロピー符号化を効果的に実行することにより、最終的な最良に圧縮された予測ブロックを見出している。対象の予測ブロックをどの程度圧縮可能であるかは、この後で確証される。しかしながら、従来において見出された最良に圧縮された予測ブロックは、再構築されたブロックの誤差(オリジナルとの比較)が過大でない場合にのみ使用可能である。従って、誤差を評価するべく、逆変換を実行しなければならず、結局、非常に大きな演算能力が要求されることになる。
従って、本発明によれば、DCT変換を実行する前に、符号化対象のブロックについて圧縮性分析を実行している。この圧縮性分析に基づいて、DCTおよびエントロピー符号化によってブロックを符号化する。但し、この圧縮性分析によれば、ほとんどの場合に、符号化対象のブロックを更なるサブブロックに分割することによってブロックの圧縮性を調べることも有益であることが明らかとなる。この場合には、様々なブロック分割の変形に関連付けられているブロックの圧縮性を分析し、最良となる可能性がある結果を約束する分割を選択する。最終的に、ブロック分割に続くイントラ予測の後に、選択した最も可能性がある良好なブロック分割に基づいてDCT変換を実行する。
(IV.2.)
次に、このプロセスについて更に詳細に説明する。図12から分かるように、本発明の図示の実施例においては、可能なブロックサイズは、16x16、8x8、および4x4のピクセルである。異なるサイズを有するブロックの(イントラ)予測は、複数の方法で実行可能である。これらを以下に記載する。
(IV.2.1 4x4ブロックの予測)
6つの予測タイプが規定される。
(1)DC予測
予測ベクトルS0は、以下で求められる。
AおよびBが存在する場合、
S0=Σ(Aj+Bj+4)/8
Aのみが存在する場合、
S0=Σ(Aj+2)/4
Bのみが存在する場合、
S0=Σ(Bj+2)/4
その他の場合は、S0=128
そして、予測ブロックは、次の式に従って演算される。
DCP(j,i)=IB(j,i)−S0 ここで、j=0‥3、i=0‥3
なお、IBは、符号化対象のブロックで、DCPは、予測ブロックである。
(2)水平予測
DCP(j,i)=IB(j,i)-A(i) ここで、j=0‥3、i=0‥3
(3)垂直予測
DCP(j,i)=IB(j,i)-B(i) ここで、j=0‥3、i=0‥3
(4)水平および垂直と組み合わせた対角予測
T(0,0)=(B(3)+2*B(2)+B(1)+2)/4
T(1,0)=(B(2)+2*B(1)+ B(0)+2)/4
T(2,0)=(B(1)+2*B(0)+A(-1)+2)/4
T(3,0)=(B(0)+2*A(-1)+A(0)+2)/4
T(4,0)=(A(-1)+2*A(0)+A(1)+2)/4
T(5,0)=(A(0)+2*A(1)+A(2)+2)/4
T(6,0)=(A(1)+2*A(2)+A(3)+2)/4
DCP(j,i)=IB(j,i)-T(j-i+3) ここで、j=0‥3、i=0‥3
(5)垂直を有する対角
T(j,i)=A(3) ここで、j=0‥3、i=0‥3
T(0,0)=(A(0)+A(1))/2
T(1,0)=A(1)
T(0,1)=T(2,0)=(A(1)+A(2))/2
T(1,1)=T(3,0)=A(2)
T(0,2)=T(2,1)=(A(2)+A(3))/2
DCP(j,i)=IB(j,i)-T(j,i) ここで、j=0‥3、i=0‥3
(6)水平を有する対角
T(j,i)=B(3) ここで、j=0‥3、i=0‥3
T(0,0)=(B(0)+B(1))/2
T(0,1)=B(1)
T(1,0)=T(0,2)=(B(1)+B(2))/2
T(1,1)=T(0,3)=B(2)
T(2,0)=T(1,2)=(B(2)+B(3))/2
DCP(j,i)=IB(j,i)-T(j,i) ここで、j=0‥3、i=0‥3
(IV.2.2.)
8x8ピクセルのサイズを有するブロックの予測を同様の原理によって実行可能である。この場合には、4つの可能なタイプが定義される。
(1)DC予測
AおよびBが存在する場合、
S0=Σ(Aj+Bj+8)/16
Aのみが存在する場合、
S0=Σ(Aj+4)/8
Bのみが存在する場合、
S0=Σ(Bj+4)/8
その他の場合は、S0=128
(2)水平予測
DCP(j,i)=IB(j,i)-A(i) ここで、j=0‥8、i=0‥8
(3)垂直予測
DCP(j,i)=IB(j,i)-B(i) ここで、j=0‥8、i=0‥8
(4)対角予測
DCP(j,i)=IB(j,i)-(A(i)+B(i))/2 ここで、j=0‥8、i=0‥8
(IV.2.3.)
最後に、16x16ピクセルブロックの予測も同様である。この場合には、4つの予測タイプが規定される。
(1)DC予測
AおよびBが存在する場合、
S0=Σ(Aj+Bj+16)/32
Aのみが存在する場合、
S0=Σ(Aj+8)/16
Bのみが存在する場合、
S0=Σ(Bj+8)/16
その他の場合は、S0=128
DCP(j,i)=IB(j,i)-S0 ここで、j=0‥15、i=0‥15
(IBは、現在のブロックであり、DCPは、予測ブロックである。)
(2)水平予測
DCP(i,j)=IB(j,i)-A(i) ここで、j=0‥15、i=0‥15
(3)垂直予測
DCP(j,i)=IB(j,i)-B(i) ここで、j=0‥15、i=0‥15
(4)いわゆる「計画予測」
v=5*((ΣA(j+7)-A(j-7)*j))/4)/4
h=5*((ΣB(j+7)-B(j-7)*j))/4)/4
k=A(15)+B(15)
T(j,i)=(k+(i-7)*h+(j-7)*v+16)/32
DCP(j,i)=IB(j,i)-T(i) ここで、j=0‥15、i=0‥15
(IV.2.4.)
従って、この態様においては、提案する方法は、3つの異なるブロックサイズと、14個にも及ぶ予測タイプを使用している。既知の方法を適用した場合には、すべての予測と後続の計算を、16x16モードにおいて、4回(すなわち、許容されているブロックサイズが、16x16である場合)、8x8モードにおいて、4回、そして、4x4モードにおいて、16回実行する必要があるため、高い演算能力を必要とすることが容易にわかる。実際には、これは、16x16のサイズのブロックがサブブロックに分割されていない場合には、P→DCT→Q→IQ→IDCT→IP変換の順序処理と、後続する係数のエントロピー符号化と、オリジナルのブロックと逆変換されたブロックとのMSE値の判定を4回実行しなければならないことを意味している。サブブロックへのブロックの分割が許容されている場合には、前述の方法によれば、上記変換の合計数は、16回(4*4)、あるいは、場合によっては、96回(6*16)にも増大する(但し、ブロックサイズは小さくなる)。
この理由から、最良の予測ブロックの選択は、図10に示されているフローチャートに従って実行される。ブロックデータ79が、マルチプレクサ/セレクタ80を通過し、このマルチプレクサ/セレクタによって、ブロックサイズに応じて、先程列挙されたものの中から現在の予測モード81が選択される。セレクタ82bは、予測ブロックのブロックデータ79を直接的に、またはアダマール変換モジュール82aを介して、処理モジュール82cに送出するように、ユーザーによって設定可能である。処理モジュール82cが、ブロックの絶対二乗合計を生成し、結果的に得られた合計を比較器83が評価する。値が基準となる閾値を下回っている場合には、基準となる閾値をその瞬間的な合計によって上書きし、処理モジュール84が、現在の予測モードを予測ブロックと共に保存する。以降、マルチプレクサ/セレクタ80が、次の予測モードを選択し、すべての利用可能なモード(換言すれば、ブロックの異なる潜在的な分割に属する予測モード)の試験が完了するまで、このプロセス全体が反復される。最終的に、最良の予測ブロックと、それを生成した予測モードが判定される。
処理モジュール82cは、次式を使用して予測ブロックを合計する。
Figure 2007503784
Mは、ブロックの長さを示す。
前述の方法において空間周波数を考慮していないことが不都合であるケースも存在しよう。これが、アダマール変換モジュールを含んでいる理由である。この変換は、二乗合計を演算する前に実行され、これを適用するかどうかをユーザーが決定することが可能である。アダマール変換の定義については後述する。この変換は、変換済みのブロックの周波数成分/係数を生成するという意味において、DCTに類似している。ほとんどの場合に、結果的に、相対的に有効な予測が得られ、変換済みのブロックが、相対的に少ない数の周波数成分/係数を含んでいる。
最良のブロック分割および対応する予測モードを前述のように判定した後に、残りの変換(DCTなど)を実行し、ブロックをエントロピー符号化モジュールによって符号化する。
既知の解決方法と本発明の方法を比較した結果、本発明の方法の品質/圧縮比のほうが、cca.1dBだけ良好であることが判明した。既知の方法によって更に良好な圧縮を実現することは、可能であるが、これには、常に品質の犠牲が払われることになる。しかしながら、本発明の方法によれば、相対的に良好な画像品質と、実際に同一の圧縮効率が得られている。
本発明の方法の別の重要な特徴は、その演算負荷が、アダマール変換を実行した場合には、既知の方法のおおよそ1/10であり、アダマール変換を適用しない場合には、既知の方法に要する演算負荷の約1/16であるという点にある。
復号化に成功するように、ブロックの分割をなんらかの方法で記録しなければならないため、ブロックをいわゆる四分木構造に従って分割する。16x16ピクセルのそれぞれのブロックを、4つの子孫葉を有する根と考えることが可能であり、これらを、更に、4x4のブロックサイズの4つの更なる子孫に分解することが可能である。これが図11に示されており、対象となるブロックの4x4ピクセルのサブブロックの1つ(03)の内部に、更なる2x2ピクセルのサブブロックが示されており、これらの2x2ピクセルのブロックの1つの内部に、個々のピクセルが示されている。このブロックの画像の隣にあるグラフは、必要に応じて、各々のサブブロック、またはブロックの個々のピクセルを識別可能とする方法を示している。分解能が増大するに伴って、対象となる分割を表すのに必要なデータ量も増大することが明瞭にわかる。
上記の分割法(3つの異なるブロックサイズを許容している)は、本発明の方法においては、初期設定されているものとして考えている。しかしながら、別の実施においては、ユーザーまたはシステム自体によって、これを上書きすることも可能であり、2つの異なるブロックサイズのみを使用するモードを設定することも可能である。この分割法は、便宜上、フレーム全体に関係しており、3ブロックサイズモードは他と混合させることができないので、対象となるフレーム内の1つのブロックが2ブロックモードで符号化された場合、別のものが3ブロックモードで符号化されることを防止している。
本発明で実施する一態様におけるイントラ予測符号化においては、動的に変化するブロックサイズを使用する4つのモードが許容されている(Iタイプ)。従って、Iフレーム全体の符号化の際に、異なるサイズのブロックの適用が許容される(適用可能なブロックサイズを、以下に記載する)。この場合にも、選択されたモードをフレームのヘッダ構造内において示さなければならないことに再度留意されたい。この例における4つの可能なモードは、次のとおりである。
・3つの異なる動的に変化するブロックサイズ(16x16、8x8、4x4)を使用する符号化
・2つの動的に変化するブロックサイズ(16x16、8x8)を使用する符号化
・2つの動的に変化するブロックサイズ(16x16、4x4)を使用する符号化
・2つの動的に変化するブロックサイズ(8x8、4x4)を使用する符号化
この方法の実施例においては、ユーザーは、2ブロックモードと3ブロックモードから選択可能であり、あるいは、任意の選択により、システムが、最適なモードを自動的に選択することも可能である。従って、ユーザーは次の選択肢の中から選択することが可能である。
1.3つの異なる動的に変化するブロックサイズを使用する符号化
2.2つの動的に変化するブロックサイズを使用する符号化
3.上記選択肢の中から、いずれか1つを自動的に選択
選択肢は、通常、利用可能な演算能力によって決定されるか、あるいは、状況によって符号化対象のフレームの特性評価に基づいて決定される。図12は、上記の例において使用されるブロックサイズを示している。
次に、動的に変化するブロックサイズによるイントラ予測符号化のプロセスについて更に詳しく説明する。
(IV.3. 3つの異なる動的に変化するブロックサイズ(Iタイプ)を使用するイントラ予測符号化)
Yブロックのサイズは、16x16であるか、あるいは、この代わりに、4つの8x8ピクセルサブブロック、または16個の4x4ピクセルサブブロックが使用される。UVのサイズは、8x8であるか、あるいは、Yブロックの分割に対応して、4つの4x4ピクセルサブブロック、または16個の2x2ピクセルサブブロックが適用される(図13参照)。UV色表面上における2x2ピクセルのブロックサイズは、「インター」モードにおいてのみ許容されていることに留意しなければならない。
3つの異なるブロックサイズが適用されるため、最適なサイズを選択する方法が必要である。
既知の方法に従って遂行する場合には、最大ブロックサイズを使用して、すべての必要な変換を実行し、オリジナルおよび再構築されたブロック間の誤差を評価しなければならないであろう。次いで、誤差が限度を上回っている場合には、ブロックを4つの部分に分割し、変換および誤差の比較をそれぞれのサブブロックごとに反復することになろう。規定されている閾値を上回る誤差を有するサブブロックについて、再度、4つのサブブロックに分割し、変換を再度反復することになろう。
この方法は、理想的ではあるが、最終結果を得るのに不必要な多数の変換処理を伴うことになろう。
1つのブロックを3つの8x8および4つの4x4ピクセルのサブブロックに分割しなければならない場合には、変換の1つの組を、16x16ブロック上において両方向に実行する必要があり、4つの8x8変換の組も、両方向に実行し、且つ、4つの4x4変換の組も実行する必要がある。これらの中で、16x16ブロック上において実行される変換の組と、8x8ブロックの1つの上において実行される変換の組(DCTおよびエントロピー符号化/復号化)は、重複することになる。従って、厳密には、最大の演算負荷を有するこれらの変換の組を、無駄に実行しなければならないことがある。
従って、本発明によれば、最初に、ブロックに対して圧縮性分析を実行している。本発明の一態様においては、この圧縮性分析は、ブロックを4つのサブブロックに分割し、次式を使用していわゆるブロックの分散を演算することになる。
Figure 2007503784
ここで、Mは、サブブロック長であり、分散≦TH8または分散≦TH16という条件を満足するかどうかを調べることを実行している。
TH8は、8x8ブロックに許容される分散の閾値であり、
TH16は、16x16ブロックに許容される分散の閾値であり、
TH8およびTH16は、経験的な定数である。この式が示しているように、「分散」の値は、ブロック内の視覚的な詳細の量を定量化している。
ユーザーの選択で、上記計算の前にアダマール変換を起動することは可能であるが、しかし、上記のTH定数は、アダマール変換なしの計算を使用した場合とは異なることがある。
すべてのサブブロックの分散値が±N%の限度内に留まっており、且つ、これらの分散値の合計が事前に設定された閾値TH16を上回っていない場合には、ブロックは、最大のブロックサイズを使用して符号化可能である。
上記条件を満足していないが、サブブロックの分散がTH8を下回っている場合には、対象のサブブロックは、8x8サイズで符号化可能である。さもなければ、8x8ピクセルのサブブロックを4x4ピクセルのサブブロックに更に分割する必要がある。
量子化誤差が相対的に小さければ、満足できる結果と共に相対的に大きなブロックサイズが使用可能であり、ブロックのサブ分割が不要となることから、TH8/16の値を決定する際には、量子化によって生じる誤差について考慮する必要がある。例えば、TH値は、次の式を使用して決定することが可能である。
TH(i)=THbasevalue(i)*errorfactor(qp) ここで、i=0..1、qp=1..MAXQP
errorfactor(qp)の値は、量子化係数QPに基づいて決定されるqpによって割り出しテーブルから取得する。上記量子化係数QPは、この場合は、後述する本発明のニューラル制御システムによって決定されるが、この代わりに、QPは定数であるか、あるいは、別の既知の方法を利用して決定することも可能である。
誤差係数のテーブルは、量子化誤差値の組み合わせから生成された値を収容しており、誤差係数値は、インデックスが大きくなるほど減少している。換言すれば、相対的に大きな量子化は、THの相対的に小さな変化と、相対的に厳しい条件を意味しており、別の表現をすれば、1つのブロック内の視覚的な詳細の量が増大することと量子化が増大することとは、ブロックサイズを相対的により小さなブロックサイズ値に向かって収束させることになる。
後述するように、ブロック分割自体の符号化に相対的に大量のデータを必要とするため、3つの異なるブロックサイズの使用を許容するのが有益であるかどうかを調べるのは得策となろう。2つの異なるブロックのみが許容されている場合には、ブロック分割データを記録するために符号化しなければならない追加情報は格段に少なくなる。
従って、本発明の一態様においては、それぞれのブロックサイズに統計的な量を割り当てることより、フレーム全体にわたって、ブロック分割を分析している(すなわち、許容されているすべてのブロックサイズを有するブロックの数を評価している)。すべてのブロックサイズのそれぞれの発生率がおおよそ同一であり、3ブロックまたは自動選択モードにある場合には、本プロセスは継続される。さもなければ、大部分のブロックが2つの支配的なブロックサイズのいずれか一つから構成されている場合には、それらの支配的なサイズを判定し、本方法は、「2つの動的に変化するブロックサイズを使用するイントラ予測符号化」と記載されている箇所(以下のIV.4)に記述されている段階によって実行されることになる。
本方法は、2つの部分において処理される。第1の部分においては、分散計算に基づいて、フレーム全体にわたって圧縮性分析を実行し、この結果、最適なブロック分割を判定する。第2の部分においては、実行する最適な分割について見出された予測によってブロック分割を実行し、最終的に、最良であると判明した予測を利用し、選択されたブロック分割に属するそれぞれのブロックに対して符号化および逆変換を実行する。
分散分析は、対象とするブロックの個々のサブブロックを分割する方法を正確に規定するが、この分割をなんらかの方法で記録しなければならない。代表的な解決方法は、いわゆる四分木構造(図11に示す)を適用するものである。
ブロック全体を表すには、2つの変数レベルが必要である。第1レベルの変数は、Lと呼ばれ、第2レベル変数は、ABCDという文字によって表される。対象とするブロックが分割されていない場合には、Lは、0に設定される(ブロックサイズが16x16の場合には、L=0である)。ブロックが分割されている場合には、Lは、1に設定される。この場合には、サブブロックを表すために、4つの更なるビットが必要である。サブブロックが更に分割されていない場合(8x8ピクセルのサイズを有する)には、関連するビットの値は、0である。サブブロックが更に(4x4ピクセルサブブロックに)分割されている場合には、関連するビットの値は、1である。例えば、次のとおりである。
L ABCD
0 ---- ブロックは、分割されていない。
1 0000 ブロックは、4つの8x8サブブロックに分割されている。
1 0001 ブロックの四半分の第1が、4x4ピクセルのサブブロックに分割されており、
その他のブロックは、8x8である。
1 0010 ブロックの四半分の第2が、4x4ピクセルのサブブロックに分割されており、
その他のものは、8x8のサイズである。
ブロックが分割されている場合(L=1)には、16個の可能な組み合わせが存在しており、従って、この場合には、ブロックの分割を符号化するデータは、Lを含んで5ビット長であり、ブロックが分割されていない場合には、分割データは、1ビットの長さ(Lのみ)のみである。
ブロック分割が完了した後に、個別のブロックに関する変換を実行し、変換されたブロックに対しエントロピー符号化モジュールにおいて符号化処理を行う。
(IV.4. 2つの動的に変化するブロックサイズを使用するイントラ予測符号化)
2つのブロックサイズを使用する選択肢のほうが有利であると分析によって判定された場合には、2つの支配的なブロックサイズが既に決定した状態にある(可能なサブブロックの構成方法を図14に示す)。2つのブロックサイズによる符号化は、基本的に既に説明しているものと同一の方法によって実行されるが、わずかないくつかの微細な調節が伴う。
支配的なブロックサイズの1つが16x16(他のサイズは、8x8または4x4)であるの場合には、分散が限度TH16(すなわち、ブロックが16x16サイズにおいて満足すべき条件)を越えていなければ、ブロックは、16x16のサイズで符号化され、さもなければ、符号化の前に、8x8または4x4ピクセルのサブブロックに分割されることになる。しかしながら、2つの支配的なブロックサイズが8x8および4x4である場合には、ブロックは、少なくとも3つのサブブロックの分散値がTH8(すなわち、ブロックが8x8サイズにおいて満足すべき条件)を下回っている場合に、8x8のサイズで符号化され、さもなければ、4x4ピクセルのサイズで符号化される。
2つのブロックサイズのみを許容するブロック分割の利点は、5ビットのQTコード(分割記述子)を選択された分割を意味する1ビットのコードに置換可能という点にある(例えば、16x16が基本的なブロックサイズの場合、0が、16x16ブロックを意味し、1が、4つの8x8サイズのサブブロックを意味することになる)。
後続のすべての変換は、前述のものと同一である。要約すれば、上記の分散分析によって、フレームについて、2つのブロックサイズが選択され、これらが、そのフレーム全体の符号化に使用されることになるのである。
図14の部分1、2、3は、可能なサブブロックの組み合わせを示している。
従って、ブロック符号化プロセスは、
(1)圧縮性分析によって最良であると見なされたブロック分割によるブロックのサブブロックへの分割と、
(2)それぞれのサブブロックごとの最良の予測サブブロックの判定と予測ブロックの符号化という順序で進行する。
(IV.5. 空間表現から周波数表現への変換)
(IV.5.1)
離散コサイン変換(DCT)は、それ自体、新規なものではない。基本的な原理は、すべてのブロックサイズについて同一である。
(離散コサイン変換)
Figure 2007503784
(逆DCT変換)
Figure 2007503784
これらの上記変換は、因数分解された行列ベクトル積として実行可能であり、この結果、計算の量が大幅に減少する。
現在実行されている変換方法は、整数に基づいた2D変換によって実現されている。コンピュータによるDCT変換の実現に関しては、立証されているいくつかの方法が存在しているので、本明細書におけるそれらの説明は不要とする。
(IV5.2 アダマール変換)
Figure 2007503784
ここで、それぞれ次のとおりである
a←→a(n-1)..a(1)a(0)
b←→b(n-1)..b(1)b(0)
a(k),b(k)=0,1
離散コサイン変換と同様に、アダマール変換は、FFTの一変形であり、行列の形態の加算および減算のみを有しているという大きな利点を有している。従って、アダマール変換は、DCTやFFTよりもコンピュータ上において格段に高速に実行可能である。なお、重要な欠点であるが、すなわち関数が非連続的になる性質を有する。このため、アダマール変換は、DCTと比べて、細部の変化が大きいブロックの場合に、視覚的に顕著な誤差を生じやすくなる。従って、アダマール変換は、「フラット」(細部の変化が小さい)な16x16のブロックに対してのみ直接適用するのに適している。16x16ピクセルのブロックサイズは最大の計算量を必要とするため、これらの変換を要する場合には、16x16ブロックに対してアダマール変換を適用することが好ましい。ここでは、対象となるブロックの詳細レベルの変化が十分に小さいような特定の実施例においては、本発明によって実行される分散分析は、16x16ブロックサイズのアプリケーションのみを許容していることに留意されたい。
(IV.6)
ブロックまたはサブブロックのDCT変換とエントロピー符号化の間において実行される段階が、いわゆる量子化であり、この量子化段階においては、エントロピー符号化モジュールにより、符号化処理を容易に行えるように、特定のガイドラインに従って、DCT変換済みのブロックのマトリックス要素を修正する。
本発明によって適用される方法は、標準的なMPEG量子化に類似しており、次式を使用して実行される。
Figure 2007503784
ここで、qcoeff(j)は、量子化後のDCT変換済みのブロックに対応したマトリックスのj番目の要素であり、
data(j)は、量子化前のDCT変換済みのブロックに対応したマトリックスのj番目の要素であり、
matrix(j)は、量子化マトリックスのj番目の要素であり、
QPは、量子化係数(スカラー値)である。
(量子化逆変換)
Figure 2007503784
量子化マトリックスmatrix(j)は、DCT変換済みのブロック、またはオリジナルのブロック自体(例えば、16x16、8x8など)と同一のサイズを有している。本発明の方法によって提供される解決方法は、量子化係数に応じて量子化マトリックスmatrix(j)を選択するという点が、既知のMPEG量子化法と異なっている。既知のMPEG量子化は、単一のmatrix(j)量子化マトリックスを使用している。
量子化マトリックスとQP量子化係数間における対応は、量子化ドメイン全体を、N個のサブドメインに分割し、以前に規定されている帯域幅レンジをそれぞれのサブドメインに割り当てることによって実行される。本発明の一実施例においては、QPは、1〜36の間にあり、インターバルは、(1−4)、(4−8)、(8−20)、(20−36)のように、複数(一態様において、4つ)のサブドメインに分割されている。これらのサブドメインに割り当てられている帯域幅の範囲は、6,000〜10,000kビット/秒、800〜1,000kビット/秒、400〜800kビット/秒、100〜400kビット/秒であった。これは、最適化された4x3マトリックステーブル(3つの異なるブロックサイズに対応)が、分割されたQPドメインに割り当てられ、テーブルの個々の要素が、matrix(j)量子化マトリックス全体であったことを意味している。matrix(j)のサイズがブロックサイズ(4x4、8x8、16x16)と同一であることから、別個のマトリックスが、これらのブロックのそれぞれに割り当てられ、これにより、テーブルのそれぞれの行は、3つのセルを有している(換言すれば、3つのマトリックスが、それぞれのサブドメインに割り当てられている)。
従って、この方法によってQPを変更する場合には、対象となる帯域幅に対応している最適なテーブルの行(最適なマトリックス)を新しい量子化係数に割り当てる。
(IV.6. 量子化された係数の符号化)
本発明の圧縮システムの具体的な実施例においては、係数の符号化のために、3つの異なる方法が実行されている。これらの方法の基本的な原理は既知であるが、わかりやすくするために、以下、これらについて簡単に説明する。
(IV6.1. 離散コサイン変換のDC値の差分に基づいた符号化法)
名前からわかるように、この方法は、連続したブロックのDC値を相互に減算し、結果的に得られる差分を算術符号化法によって符号化する段階を有している(算術符号化の原理は周知されている内容であり、本明細書において後程詳述する)。
dpcm=X(i)−X(i-1)
この方法は、DPCM(Delta Pulse Code Modulation)とも呼ばれており、連続したDC値間の差分が、通常、非常に小さく、従って、この差分を値自体よりも少ない数のビットによって符号化可能であるという観察に基づいている。本発明の方法は、複数のブロックサイズを利用しており、ブロックサイズがDC係数の大きさを決定することから、便宜上、相互に減算できるのは、同一サイズのブロックのDC値のみであるこという点に留意することが重要である。この算術法は、それぞれのブロックを専用のパラメータ(符号化インターバルのサブ分割、符号化インターバルの上限/下限など)によって符号化する。
(IV.6.2 AC値のランレングス符号化と結果的に得られる圧縮済みの値の算術符号化)
AC係数は、いわゆる「ジグザグ」テーブル(図4の参照番号37、参照)によって取得され、既知のランレングス法によって圧縮される。ランレングス法は、順序付けられたペア(係数:発生カウント)を生成し、ここで、後者の値は、データシーケンス内における対象係数の発生数を規定している。対象とするブロック内のペアの合計数は予見不可能であるため、ペアの数を規定するか、または、ブロック末尾コードを最後のペアの後に挿入する必要がある。
最新のペアの係数値がゼロの場合には、この最新のペアを符号化する必要はない。シーケンスにEOB(End OF Block)符号を書き込むだけで十分である。係数/発生カウントのペアは、符号化対象のデータシーケンス内に逆の順序(発生カウント:係数)で書き込まれる。この理由は、このようにすれば、発生カウントパラメータのゼロ値をブロックの末尾コード(当然のことながら、対応する係数を伴うことなしに)として使用可能になるからであり、何故なら、すべてのペアが有効なものである場合は、発生カウントがゼロになる組み合わせがどこにも発生せず、従って、コードをEOB符号として安全に適用することが可能だからである。ブロックが符号化の前にゼロのみを含んでいた場合には、EOB符号のみが符号化される。この場合には、ブロックの再構築の際の復号化の前に、この対象とするブロックがゼロ化されることになる(ゼロが充填される)。ランレングス法によって生成されたペアも、最終的に算術符号化によって符号化される。
(IV.6.3. 従来のパラメータとニューラルネットワークによって予測されたパラメータを使用するAC値の算術符号化)
この方法においては、AC係数は、中間的なランレングス符号化を伴うことなしに、算術法によって直接符号化される。本発明による符号化器において実行される方法の中の1つにおいては、現在の係数を符号化するレベルを、モジュロ関数を通じて以前に符号化された係数の値によって判定するように、算術符号化を実行している(これは、多くの点において、ニューラルネットワークを伴わない従来の算術符号化に類似している)。このモジュロ関数が保証しているのは、通常、複数の同一のAC係数が互いに隣り合っている場合に、これらの係数が同一レベルにおいて符号化されるということのみである。ニューラル算術符号化モジュールの動作原理については、本明細書において、後程詳細に説明する。ここでは、本発明のニューラル算術符号化器においては、AC値に依存することになるパラメータ(インターバル限度、インターバルサブ分割)が存在していないと言っておくだけで十分であろう。EOB符号を使用せず、その代わりに、実際の位置+1を生成することにより、変換および量子化済みのブロック内の最後の非ゼロのAC係数の位置を記録している。これを必要とする理由は、すべてのAC係数がブロック内においてゼロ化された場合に、ゼロを書き出すことにより、この対象とするブロックに関連する更なるデータが出力データストリーム(換言すれば、ブロックがゼロのみを含んでいる)内において符号化されないことを通知可能とするためである。
例えば、次のとおりである。
位置 0 1 2 3 4 5 6 7
係数: 63 12 21 32 0 0 0 0
出力: 3 63 11 21 32
ここで、上記出力の先頭にある数字3は、最後のアクティブな位置(非ゼロの値、係数32を示す)を示している。しかしながら、この調整方法では、すべてのデータがゼロであるという状況を示すことができない。上記出力の先頭にある数字が0の場合、位置0において1が検出された場合、依然として最後のアクティブな(非ゼロの)位置について0を符号化する必要がでてくる。従って、すべてのデータがゼロである場合を除いて、位置の値に1だけ加算する。
従って、出力データのシーケンスは、4 63 11 21 32となり、あるいは、すべてがゼロである場合には、0のみとなる。
前述の方法に対する代替方法として、既定のレベルにおけるそれぞれの係数に対してゼロを、そして、最後の非ゼロの値に到達した場合に1を符号化する方法も考えられよう。
例えば、次のとおりである。
レベル0: 0 0 0 1 ここで、「1」は、最後の非ゼロのデータを示す。
レベル1: 63 11 21 32)
本発明によって実行される符号化モジュールにおいては、エントロピー符号化用のACデータを準備するように、これら2つの方法の中のいずれかが適用される。但し、本発明の範囲を逸脱することなしに、その他の変換も利用可能である。
(IV.6.4.)
エントロピー符号化の際には、方法2(IV.6.2参照)と方法3(IV.6.3参照)の両方を試験モードにおいて実行し、最終的に、短いデータシーケンスを結果的にもたらした方法を適用する。当然のことながら、符号化済みのデータストリーム内において、選択した方法をなんらかの方法で識別しておかなければならない。
方法1(DC係数を符号化するためもの)は、常に実行され、符号化済みのデータが、出力データストリームに出力され、次いで、本発明によるニューラルエントロピー符号化モジュールによって符号化される。当然のことながら、その他の既知のエントロピー符号化方法も利用可能である。
わかりやすくするために、方法2および方法3(それぞれ、IV6.2およびIV.6.2で説明)を利用する単一サブブロック用の出力データストリームのフォーマット(算術符号化器に進入する前のフォーマット)を考えてみよう。
2.|0|PRED|DPCM|AC|EOB、または、すべてがゼロの場合には、|0|PRED|DPCM|EOB
3.|1|PRED|DPCM|POS|AC、または、すべてがゼロの場合には、|1|PRED|DPCM|EOB
ここで、開始ビットは、符号化モードを識別しており、
PREDは、予測タイプ、
DPCMは、デルタ符号化によって符号化されたDC係数、
ACは、1つまたは複数のAC係数、
POSは、AC係数の位置、
EOBは、ブロック末尾(End OF Block)文字である。
16x16ブロック全体を符号化するためのフォーマットは、下記である。
|QT=0000|[0|PRED|DPCM|AC|EOB],[0|PRED|DPCM|AC|EOB]
[0|PRED|DPCM|AC|EOB],[|0|PRED|DPCM|AC|EOB]
ここで、QT(四分木)は、ブロックが4つのサブブロックに分割された場合のブロック分割を表すデータであり、それぞれのサブブロックは、タイプ2の符号化を適用する。
または、
|QT=0001|
[0|PRED|DPCM|AC|EOB],|[0|PRED|DPCM|AC|EOB] (2 x 4x4)
[0|PRED|DPCM|AC|EOB],|[0|PRED|DPCM|AC|EOB] (2 x 4x4)
[0|PRED|DPCM|AC|EOB] (1 x 8x8)
[0|PRED|DPCM|AC|EOB],[0|PRED|DPCM|AC|EOB] (2 x 8x8)
これは、16x16ブロックが、サブ分割されていない3つの8x8サブブロックを含んでおり、第4の8x8ブロック(これは、実際には、最初に到来する)が、4つの4x4サブブロックに分割されていることを意味している。
(IV.7. UV色表面のイントラ予測符号化)
MPEG符号化の既知の方法においては、対象とするフレームのピクセルデータをRGBから、いわゆるYUV2フォーマットに変換している。ここで、Yは、明度(輝度)信号を意味しており、UVは、色差(色度)信号である。
UV表面の物理的なサイズをYの半分に縮小する(この結果、データ損失が生じるが、この損失は、許容可能であることが判明しており、品質の大幅な低下には結び付かない)。従って、それぞれの16x16Yブロックに対して、1つの8x8Uと1つの8x8Vブロックが割り当てられる(これが図12に示されている)。
このようにしてUおよびVブロックをサブブロックに分割する場合には、8x8および4x4サイズのみを使用することが要求される(2x2ピクセルのサブブロックは、4x4または8x8のものよりも圧縮性が優れていないため、使用に値しない)。ブロック分割の分析は、既に説明したものと実際に同一の方法によって実行されるが、この場合には、TH8分散の閾値のみとの比較が実行されるという重要な相違点を有している。TH8は、経験的な値であることを思い出すべきである。これと分散を比較するが、後者は、式IIに類似した方法で演算される。試験対象のブロックの分散がTH8≦分散という条件を満足した場合には、ブロックを8x8サイズで符号化し、そうでない場合には、4x4ピクセルのサイズで符号化する。
UおよびVブロックの予測には、DC予測のみを利用する(その他の予測モードの使用によって得られる利益は、わずかであることが経験的に示されている)。
その他の変換は、前述のものと同一である。唯一の相違点は、量子化のステップサイズ(量子化のレベル)にある。
データブロックの(算術符号化前の)出力フォーマットは、次のとおりである。
|0|M|DPCM|AC|EOB、または、すべてがゼロの場合には、|0|M|DPCM|EOB
|1|M|DPCM|POS|AC、または、すべてがゼロの場合には、|1|M|DPCM|EOB
ここで、Mは、ブロック分割を示すビットである。例えば、ブロックが分割されていない場合には、M=0であり、分割されている場合には、M=1である。
次に、別のフレーム内において符号化対象のブロック用の基準ブロックを探索するいわゆる「インター」ブロックの符号化について説明する。
(V. 動的に変化するブロックサイズを使用するインター予測符号化)
(V.1)
既に指摘したように、インターフレームの符号化は、時間的な冗長性に基づいている。これは、現在のフレームを先行または後続のフレームと比較し、2つのフレーム間の差分のみを符号化することを意味している。この方法の参照探索モードが、図15に示されている。3つの先行するPタイプフレーム内のみにおける探索(図15a)、2つの先行するBタイプフレーム内のみにおける探索(図15b)、および先行および後続する動き補償済みの参照フレーム内における探索(図15c:この場合には、通常、Bタイプのフレームを参照用として使用することはできない)という選択肢が可能である。
この方法の基本は、既知の方法と同一であり、参照フレーム内に規定されている探索範囲内において符号化対象のブロックに関する探索を実行し、次いで、冗長性(差分ブロック)を、参照ブロックの位置(または、更に正確には、動きベクトル)と共に符号化するが、この場合に、差分ブロックは、探索によって判定された位置に配置されているブロックの個々のピクセルから符号化対象のブロックの個々のピクセルを減算することによって演算される。
可能な探索法の中で、最良の結果は、いわゆる「フル探索」によってもたらされよう。しかしながら、このような探索は、探索範囲内の可能な場所のすべてにおいて一致するブロックを探索する際に、レンジのそれぞれのピクセルから始まる探索範囲内におけるデータと16x16ブロックの比較を伴っているため、巨大な演算負荷を有することになろう。実際に、32x32ピクセルの探索範囲の場合には、これは、一致する16x16の参照ブロックを見出すためだけに、1024*256=262144回の加算および減算と、差分の絶対値を判定するための処理を意味することになろう。720x576ピクセルのフレームは、1620ブロック(1ブロックは、16x16ピクセルのサイズ)を含んでいるため、計算の全体ステップ数は、4億2千4百万回を上回ることになろう。このため、実際には、フル探索の代わりに、通常、いわゆる「高速探索」法が適用される。「高速探索」法においては、少ない試験ポイント(通常、64ポイント未満である)を適用しており、変位が小さい(通常、1〜4ピクセルよりも小さい)場合、すなわち、そのビデオ場面における動きが低速である場合にしか成功しないという欠点を有している。変位が大きい場合には、探索に成功する確率が急速に低下する。高速探索の別の欠点は、探索が成功したように思われる場合にも、検出した位置が探索範囲内の最小ポイント(最適な参照ブロックの位置)であることを確認することができないという点にある。
本発明において実行される探索法は、実際には、「フル探索」と見なすことが可能であり、これは、低速動きの場合には、純粋なフル探索法と比べて、わずかに大きな演算負荷をもつことになるのにすぎない。高速動き(大きな変位)の場合にも、本発明による方法の演算負荷は、標準的な「フル探索」法が必要としている演算負荷の数分の1に過ぎない。
(V.2.)
本発明によって実行される探索法は、いわゆる「スパイラル探索」に基づいており、これは、実際には、次のように実行される。
(V.2.1.)
探索範囲を参照フレーム内において規定する。探索範囲の中心の座標は、探索サンプル(符号化対象のブロック)の中心の座標と同一である。
次の段階において、探索サンプル、すなわち、符号化対象のブロック88を更に小さなサブブロックに分割する(図16参照)。本発明の一実施例においては、4x2サブブロックを使用して良好な結果を生成している。この場合には、式IIに類似した式を使用して、それぞれのサブブロックごとに分散値を演算する。その他のすべてのサブブロックの分散値よりも大きな分散を有する少なくとも2つのサブブロックが存在しており、それらの分散の合計が、事前に定義されている経験的な定数THV22よりも大きく、且つ、2つのサブブロックが隣接されて配置されていない場合(例えば、サブブロック88bおよび88c)には、探索において、16x16のブロック88の中のこれらのサブブロックのみを試験する。
THV22≦分散1+分散2という条件が満足されない場合には(ここで、分散1および分散2は、最大分散を示す非隣接のサブブロックの2つの分散値である)、最大分散を示す非隣接の4つのサブブロックに関して前述の処理を反復し、これらの分散を組み合わせたものを別の定数THV24と比較する(これが、ブロック89のサブブロック89a、89b、89c、89dによって示されている)。
4つのサブブロックの分散用の条件が依然として真でない場合には、サブブロックを4x4サブブロックにマージし、2つのサブブロックに関して、定数THV42により(並びに、必要に応じて、4つのサブブロックに関して、定数THV44により)、前述の走査を反復し(ブロック90のサブブロック90a、90bを参照)、後者のケースにおいては、4つの最大分散を示す非隣接のサブブロックを見出すべく試みる。
それぞれの条件が前述の状況の中のいずれかにおいて満足されない場合には、16x16ブロックの4つのコーナーおよび中心に配置されている5つの4x4サブブロックを使用して参照探索を実行する(図16)。定数THVは、サブブロックの分散の組み合わせが、前述の状況のそれぞれにおいて等しいまたは上回ることを要する最小分散を規定している。
以上において詳述したプロセスは、最も詳細なるサブブロックが探索範囲内において一致する参照用を有している場合には、それよりも詳細でないその他のサブブロックもそれぞれの適切な参照用を有することになると仮定し、16x16ブロック内で最も詳細なるサブブロックを検出するように試みることを直観的に結論づけることは可能である。
スパイラルの中心を、探索サンプルの位置に一致した参照フレーム内の位置に規定し、次いで、この規定したポイントの周りのブロックを、前述の低減された探索サンプルにより、サイクルの幅を拡大させつつ試験する。一定に維持されたサンプルパターンのサブブロックの相対的な位置によって探索範囲を走査する。
(V.2.2.)
試験を次式に従って実行する。
Figure 2007503784
ここで、Mは、ブロック長であり、MSEは、いわゆる平均二乗誤差である。MSE値が現在の最小算出MSEを下回っていることが検出されるたびに、新しいMSE値を現在の位置と共に、一時バッファ、例えば、64要素の循環バッファ内に書き込む。バッファが満杯になった場合には、再度第1要素からデータを上書きする。
好ましくは、その他の側面から得られたMSE値も同様に分析することにより、探索法を微調節する。例えば、探索が一致条件を満足する(例えば、MSEが最大許容誤差を下回っている)複数の位置を検出し、且つ、これらの位置が、開始点から見て同一の方向(同一の側)に配置されていると共に、探索がこれらの位置の領域を離れるに伴って誤差が増大する場合には、探索が最適なポイントを離れるように移動している可能性が高いため探索を中止する。
探索の終了時点において、すべてのポイントの試験が完了しているか、または探索が中止された後に、循環バッファには、参照用の位置の恐らく最良の候補である位置が含まれている(可能な1024の位置の中の小さな数のみが保存される。例えば、前述の例によれば、64個の位置)。次いで、この保存されている位置を再度試験するが、今回は、16x16ブロック全体を試験し、最小誤差をもたらす位置を判定する。
(V.2.3.)
次いで、符号化済みのブロックから演算したSAD16値(Sum Absolute Diference:ブロックサイズを示すインデックス)と新しく設定された参照ブロックを、経験的な定数MAXSAD16と比較する。SADは、次式を使用して演算する。
Figure 2007503784
ここで、Mは、ブロック長であり、AおよびBは、参照ブロックと符号化対象のブロックの要素を意味している。
定数MAXSAD16は、16x16ブロックにマッチングした基準の最大許容誤差を規定している。探索によって検出されたブロックの誤差を許容できない場合には、(フレームタイプに応じて)現在のフレームの先行するまたは後続するフレーム内において、参照探索を反復する。いずれの参照フレームも許容可能な結果を付与しない場合には、最小誤差をもたらしたものを選択する。次いで、ブロックを4つの4x4サブブロックに分割し、それぞれのサブブロックごとに、SAD8値を演算し、(経験的な)定数MAXSAD8と比較する。
その後、参照フレームと関連するバッファ内に含まれている位置を試験し、大部分の8x8サブブロックが許容可能な結果(SAD8≦MAXSAD8条件を満足)をもたらすような参照フレームと位置とを選択する。
過大な誤差を有するそれぞれのサブブロックごとに、低減された探索範囲内において、8x8のブロックサイズを使用し、対象サブブロックの位置から探索を反復する。誤差が依然として限度を上回っている場合には、8x8探索によって最良であると見出されたサブブロックを4x4サブブロックにサブ分割し、SAD4>MAXSAD4の条件を満足するサブブロックについて探索を反復する。
特定ブロックのすべてのサブブロックを4x4サブブロックにサブ分割しなければならなかった場合に、現在の参照フレーム内において成功しなかった場合には、この特定のブロックについて、すべての参照フレーム内において参照探索を反復することは可能である。
探索が終了した後に、個々のサブブロックの誤差が依然として過大であると判明した場合には、探索が不成功であったブロックをマーキングする。これらは、本方法の後続の段階において、イントラブロックとして符号化されることになる。
尚、すべての参照フレーム内における探索とは、探索が、例えば、第2フレーム内において、満足できる結果によって停止した場合に、第3フレームに継続しないことを意味している。
(V.3. 16x16パーティションにおけるブロックの処理)
16x16ブロックの場合に、参照探索が現在のフレーム内において不成功であり(基準ブロックが検出されない)、現在のフレームがPタイプである場合には、3フレームの最大深度により、先行するPタイプの参照フレーム内において、探索を反復する。探索に成功した場合には、参照フレームの数を記録し、探索を終了する。そうでない場合には、本方法は、最小誤差を有するフレームを選択し、ブロックを4つの8x8サブブロックに分割し、誤差が限度を超過しているサブブロックによって探索を継続する。現在のフレームがBタイプである場合には、探索は、まず、後続するPフレームにおいて実行した後に、3つの先行するPフレーム内において実行する。Bタイプフレームの場合に、探索がすべての参照フレーム内において不成功であった場合には、MPEG法において適用される単純な式を使用し、後続フレームと、先行するフレームの中の1つのものの中において検出される最良の基準ブロック候補の位置を補間することにより、後続するフレームと、先行するフレームの中の1つのものから、平均化された基準ブロックを生成する。生成された補間済みのブロックとオリジナルのブロックの間の二乗誤差が依然として過大である場合には、誤差が最小であった参照フレームを選択し、ブロックを4つの8x8サブブロックに分割する。
(V.4 8x8パーティションにおけるブロックの処理)
8x8ブロックの処理は、16x16ブロックの処理とほとんど同一であるが、処理の終了時点において、探索が依然として不成功であった場合に、ブロックを4x4ピクセルのサブブロックにサブ分割するという相違点を有している。
(V.5 4x4パーティションにおけるブロックの処理)
4x4ブロックの処理は、8x8ブロックの処理とほとんど同一であり、唯一の相違点は、探索が依然として不成功であった場合に、その誤ったブロックに対してイントラブロックとマーキングする点にある。
(V.6 1/2、1/4、および1/8ピクセル分解能による拡張探索)
ブロックの処理がフルピクセル分解能によって終了した後に、1/2、1/4、および1/8ピクセル分解能によって、探索を実行する(フィルタリング/補間された参照用内における探索)。唯一の例外は、1/2、1/4、および1/8ピクセル分解能の探索を、補間の前に実行することを要するBタイプフレームの補間モードである。1/2、1/4、および1/8ピクセル分解能による探索は、基本的に、本明細書において前述した既知の方法と同一であるため、ここでは、そのプロセスに関する説明を省略する。
実行される方法においては、3つの基本フレームの最大値をそれぞれのフレームに割り当てる。これらの違いは、各々のサイズと、生成されたフィルタリング方法のみである(図17参照)。
参照フレームのサイズ1:4→1:8
└→1:1
適用されたフィルタ:Wiener→双一次
└→双一次
それぞれの探索プロセスにおいては、関連する参照フレームを使用する。1/2および1/4ピクセル分解能による探索は、1:4比率で補間された参照フレームを使用し、1/8ピクセル分解能の探索は、1:8比率で補間された参照フレームを利用する。フルピクセル探索は、1:1比率で補間された参照フレームを使用する。補間済みの参照フレームとフィルタのアプリケーションは、それ自体、既知であるため、本明細書において、これについて詳述する必要はない。
以前の状況と同様に、スパイラル探索を適用するが、この場合には、大きく低減された探索範囲に起因し、試験ポイントの数は、20未満である。通常、探索は、SAD=0(現在のブロックと基準ブロックの間における完全なマッチング)の場合にのみ、中止可能である。探索は、それぞれのブロックサイズごとに実行可能である。但し、ブロックの縮小を伴わないもののみであり(すなわち、サブブロックではなく、ブロック全体のみを比較する)、これは、16x16ブロックの試験が256回の減算処理を伴っていることを意味している。
一致した参照ブロックから符号化対象のブロックを減算した後に、結果的に得られる縮小されたブロックを空間表現から周波数表現に変換する。
(V.7.)
16x16ブロック全体用の参照ブロックの検出および参照ブロックの分割のプロセスが正常に完了した後に、符号化対象のブロックも等しいサイズのサブブロックに分割し、これらのサブブロックを参照ブロックのサブブロックから減算する。次いで、差分に対して離散コサイン変換および量子化を適用し、結果的に得られたブロック内に含まれている係数に対してAC/DC予測を適用する。イントラブロックの予測プロセスと同様に、この予測法は、変換済みのブロックのDC値間の差分を生成し、AC係数の第1水平/垂直ラインに対して水平/垂直予測を適用する。この方法と以前のものとの相違点は、前述のイントラ予測が、符号化対象のブロックのピクセル値から隣接するピクセルの実際のピクセル値を減算しているのに対して、この場合には、隣接するDCT変換済みのブロックの要素をDCT変換済みのブロックの要素から減算している点にある。この方法によれば、エントロピー符号化における変換済みのブロックの符号化効率が更に改善される。
どの予測モード(水平および垂直)を適用するべきかに関する決定は、変換済みのブロックを取り囲んでいるブロックのDC係数間の差分に基づいて決定されるが、この場合に、ブロックの相対的な位置決めは、次のとおりであってよい。
CB
AX
ここで、Xは、処理対象の変換済みのブロックを意味しており、A、B、およびCは、取り囲んでいるブロックである。
予測モード(pred)は、次の条件式によって選択される。
pred=abs(A-C)<abs(C-B)
ここで、A、B、およびCは、処理対象のブロックを取り囲んでいるブロックのDC係数である。
この条件が真である場合には、垂直予測を適用し、そうでない場合には、水平モードを選択する。予測モードを決定する相関が、ブロックの再構築を実行する際に利用可能であるため、選択されたモードを出力に記録する必要はない。
(V.8.)
本節においては、ブロック分割を表すデータ用の可能なデータフォーマットと符号化法を提示する。
符号化対象のブロックのブロック分割の記述は、イントラフレームを取り扱った説明箇所において提示したものに類似している。
最大2ビット長の値であるLにより、16x16ブロックの分割を表している。ビット1は、ブロックが分割されていない場合には、0であり、分割されている場合には、1である。ブロックにイントラというラベルが付加されている場合には、ビット2が値1を有している。この後者は、8x8サブブロックのそれぞれが4x4サブブロックにサブ分割された場合に発生し、これらのサブブロックの50%以上にイントラブロックというラベルが付加される。この場合には、本システムは、イントラブロックを符号化するプロセスに従って、その対象ブロックを符号化することになる。
エントロピー符号化前のデータは、次のとおりである。
RFIDXは、適用された参照フレームのフレーム数である。
MVは、動きベクトルである。
DCは、離散コサイン変換の第1係数である。
ACは、その他のDCT係数を示している。
IPは、Bフレーム用の補間モードを示している。
Iは、イントラモードを意味している。
Pは、イントラモード予測の数である。
Pフレーム用のモードは、次のとおりである。
モード0: |L|RFIDX|MV|DC|AC
モード115: |L|QT|RFIDX|I|MV|DC|ACI|MV|DC|AC
Bフレーム用のモードは、次のとおりである。
モード0: |L|RFIDX|IP|MV|DC|AC
モード115: |L|QT|RFIDX|I|IP|MV|DC|ACI|IP|MV|DC|AC
I=1の場合には、この対象ブロックの記述は、|I|P|DC|ACに変化する。
Pタイプフレームの2つの具体的な例を見てみよう。
1|0001|2| 1|0001|0|
0 MV4 DC4 AC4 1 P DC4 AC4
0 MV4 DC4 AC4 0 MV4 DC4 AC4
0 MV4 DC4 AC4 0 MV4 DC4 AC4
0 MV4 DC4 AC4 0 MV4 DC4 AC4
0 MV8 DC8 AC8 0 MV8 DC8 AC8
0 MV8 DC8 AC8 0 MV8 DC8 AC8
0 MV8 DC8 AC8 0 MV8 DC8 AC8
4つの4x4ブロックと 4つの4x4ブロックと、3つの8x8ブロック、
3つの8x8ブロック 第1のブロックは、イントラブロック。
(また、この場合には、変数「AC」は、通常、複数のデータ要素を表している。)
16x16ブロックのY色表面を符号化した後の次の段階は、UV色表面の符号化である。ブロックのサイズは、Yブロックとそのサブブロックのサイズに比例している。
Yブロックが16x16ピクセルのサイズを有している場合には、UVブロックは、8x8ピクセルのサイズとなり、Yブロックが8x8サイズである場合には、UVブロックのサイズは、4x4であり、最後に、4x4のYブロックに対応するUVブロックのサイズは、2x2である。さもなければ、UおよびVブロックの分割は、Yブロックの分割と同一である。UVブロックの分割法は、Yブロックの分割と同一の方式で実行される。従って、すべてのその他のデータ(ブロック分割記述子、ブロック識別子など)をYブロック内において既に記述済みであるため、符号化プロセスにおいて、エントロピー符号化の前に、シーケンシャルに書き出さなければならないのは、DCおよびAC値のみである。
(V.9. マクロブロック(動きベクトルとインターブロック)の予測)
動きベクトル(すなわち、参照ブロックに対する動きを示すベクトル)の最適な符号化のために、動きベクトルは、可能な最短の形態で表すことが好ましい。これは、現在の動きベクトルから、現在のブロックの隣、上部、または対角的に上部に配置されているブロックに属する動きベクトルを減算することによって提供可能である。3つの可能な隣接する動きベクトルの中から平均値に最も近いもの、換言すれば、最小値よりも大きく、最大値よりも小さいものを選択する。
(V.10.)
最終的に、エントロピー符号化モジュールを使用してデータを符号化する。次に、本発明のバイナリマルチレベル算術符号化モジュールについて説明することにしよう。
(VI.ニューラル算術符号化モジュール)
本発明によるエントロピー符号化モジュールは、バイナリ適応技法を利用している。これは、入力データを、発生頻度と既に受信済みのビットパターンの関数によって、ビットごとに処理することを意味している。
(VI.1.)
本方法の主な設計目的は、相対的に単純な計算によって可能な最良の圧縮を達成することであった。本発明の方法は、除算を使用することなしに、2つの乗算と2〜3の加算および論理演算を実行することによって実行可能である。その他の処理は、すべて整数に基づいて行われる。
本発明の方法は、いわゆる算術符号化法である。算術符号化は、それ自体が既知の方法である。算術符号化の基本的な原理は、符号化対象のデータシーケンスの受信データに応じて、インターバル(レンジ)の上限と下限を変更する段階を伴っている。算術符号化は、到来するデータの分布がある程度判明している場合、換言すれば、次の入力データ要素の値の確率推定値がある程度判明している場合にのみ、真に有効である。
次の短いアルゴリズムは、バイナリデータストリーム(0および1のシンボルのみを含んでいる)に対して算術符号化を実行する。符号化対象の現在のデータ(データストリームの次のビット)は、「bit」変数内に保存される。符号化インターバルの上限と下限は、変数「area[0]」および「area[1]」である。
area[inverz(bit)]=area[0]+((area[1]-area[0])*prob)/216+bit
if((area[1]-area[0]<256)

outdata=area[1]/224
area[0]=area[0]*28
area[1]=area[1]*28

prob=calc_next_probe(bit)
符号化の効率向上のためのキーファクタは、変数「prob」(以下、プローブ値またはプローブと呼ぶ)の値を判定する方法である。プローブ値は、上記の例においては、「calc_next_probe(bit)」関数によって返される。
配列「area[0,1]」は、2つの32ビット値、すなわち、符号化範囲の上限および下限を保存する変数「area[0]」および変数「area[1]」を含んでいる。算術符号化の理論からわかるように、範囲(area[0]、area[1])をプローブ値によってスケーリングする。既知の方法においては、通常、プローブ値を以前に到着したビットの発生頻度の関数として判定している。新しく受信したビットの値に応じて、スケーリング済みの値によって符号化インターバルの上限または下限を変更する。上限および下限の差が256を下回るまで、インターバルを変更可能である(新しいビットを符号化することが可能である)。原則的に、その他の値も使用可能であるが、オーバーフローを処理するには、256が最も実際的な値であると考えられる。従って、上限と下限の差が256未満になった場合には、8つの最上位ビットを出力データシーケンスに書き出し、下限および上限を表す変数を、8つの位置だけ、左にシフトさせる。
これは、数式により、次のように表記可能である。
area[1]=area[1]*256
area[0]=area[0]*256
(VI.2.プローブ値は、次のように判定される)
本発明では、頻度テーブルの概念を導入し、到来データシーケンス内の0と1の発生率を表す2つの関数f(0)およびf(1)を規定した。受信ビットは、mビットの長さを有するバッファ内に供給する(ここで、2m=Nであり、従って、2を底とするNの対数が、時間窓の幅を提供している)。バッファ内にシーケンシャルに到着するビットが、(必要に応じて、バッファの情報を左にシフトする)変数「window」を構成する。この変数「window」は、mビットの長さに切り捨てることにより、頻度テーブル内の行の1つをポイントする(変数「index」内に保存される)インデックスを形成する。ここで提示している例においては、頻度テーブルは、512の行を有している。頻度テーブルの要素は、変数FreqTbl[index]f0および変数FreqTbl[index]f1によって規定されている。これらの変数は、ビットの組み合わせが、バッファ内に現在保存されているビットの組み合わせと同一であった場合に、受信ビットが、何回、0または1であったかを示している(換言すれば、現在のビットの組み合わせを、テーブルの対象行をポイントするインデックスとして見なしている)。
count=count+1
If(count>=log2(N+1)){
count=0
window=0

window=window*2+bit
FreqTbl[index].f0=FreqTbl[index].f0+(2*bit)
FreqTbl[index].f1=FreqTbl[index].f1+(2-(2*bit))
index=window mod N
sum=FreqTbl[index].f0+FreqTbl[index].f1
prob=(FreqTbl[index].f0*FracTbl[sum])/210
if(sum>256){
FreqTbl[index].f0=(FreqTbl[index].f0)/2
FreqTbl[index].f1=(FreqTbl[index].f1)/2+1
圧縮の開始時点において、すべての変数(2を底とする対数が窓長を付与するNを除く)にゼロを充填する。到来ビットが、バッファ(窓)の最下位ビットを上書きし、バッファの以前の値によってアドレス指定されていた頻度テーブルの要素が、新しく到着した値に応じて更新される。直ぐに明らかになるように、重要なことは、バッファの以前の値を、1段階後に到着するビット(すなわち、現在処理中のビット)と関連付けることを要するという要件にある。本システムの動作において、到来するビットの値の「予測」を可能にしているのは、まさに、この機能である。バッファの以前の値は、Nが上限となっている変数「index」内に保存される。
本方法の次の段階においては、次のビット用のプローブ値(変数「prob」の値)を算出する。このための正確な式は、次のとおりである。
prob=(FreqTbl[index].f0)/sum
しかしながら、結果が端数となるため、この式は、直接適用されない。この計算(除算)は、本発明の目的には、実際に低速に過ぎる計算を必要とすることになろう。
この代わりに、512個の要素のフラクションテーブルを使用し(変数「FracTbl[sum]」によって表されている)、この中から適切な要素を、頻度テーブルの対応する行内のビット頻度の合計によって選択する(前述のアルゴリズム内の変数「sum」を参照)。プローブ値を判定するには、頻度テーブルの適切な行内のf0値に対して、フラクションテーブルから先程取得された値を乗算し、次いで、この積に対して、定数を乗算する(例えば、積を10ビットだけ右にシフトさせる)。この結果、プローブ値が得られ、これは、インターバル0..1と類似した0..65535のインターバル内に属することになる。フラクションテーブルが512個の要素(実際には、これは、1/sumの適切にスケーリングされた値である)を含んでおり、この場合に、変数「sum」が、同時に、テーブルに対するインデックスとしても使用されるため、「sum」値が、この値を超過しないようにする必要がある。これは、「sum」値を試験し、「sum」が256を上回った場合にf0およびf1をリスケーリングすることによって実現される(変数「prob」の値は、実際には、f0およびf1の絶対値ではなく、f0とf1の比率によって判定されるため、これらはリスケーリング可能である)。
このアルゴリズムからわかるように、本方法は、非常に単純である。除数が2の指数なので、除算を右シフトの処理によって置換することが可能である。MOD処理も、AND論理によって置換することが可能である。
(VI.3.)
前述のように、本方法は、異なるレベルにおいて符号化を実行する。実際には、これは、プローブ変数に対してのみ影響を与える。換言すれば、同一の符号化モジュールをすべてのデータタイプに使用可能であり、調節を要するのは、パラメータ(N、窓サイズ、符号化範囲の限度)のみである。それぞれのレベルを、対象データタイプの要件に応じて、複数のサブレベルに分割し、異なるレベルをそれぞれのデータタイプに割り当てる。例えば、4x4離散コサイン変換処理の結果を符号化するには、特定タイプのレベルを定義し、異なるサブレベルをACおよびDC係数の符号化に割り当てる。
定数Nは、窓サイズを決定するが、換言すれば、すでに受信しているビットと現在受信しているビットとを一緒に試験することになる。このファクタは、符号化効率に強い影響を与えるだけでなく、必要なメモリ量も増加させることになる。なぜなら、Nが増加すると共にメモリの所要量も増加することになるからである。
以上において提示した方法は、既知の方法による整数算術の高速化版である。パラメータを適切にチューニングすることにより、圧縮効率は、MPEGシステムにおいて使用されているVLCのものよりも10%高い。これまで、これよりも格段に良好に稼働しているものは、はるかに複雑なプローブアルゴリズムを使用した方法のみである。効率を改善するには、頻度テーブルのサイズも大幅に拡大する必要がある。選択したプローブアルゴリズムと頻度テーブルサイズの両方が、この方法の実行時間に影響を及ぼす。
本発明において利用しているデータ構造のプローブ値を判定する最良の既知の方法は、いわゆる動的マルコフモデルであろう。しかしながら、これが有効に機能するのは、少なくとも64Kbの頻度テーブルの場合である。符号化に適用されるすべてのサブレベルをこのサイズ(すなわち、異なるブロックサイズに対応させて、すべての変数および変数タイプをこの方式で符号化した場合)に設定すると、頻度テーブルのみに、16Mbを上回るメモリを割り当てなければならない。
これらの問題のために、新しい格段に効率的なプローブアルゴリズムを考案することが必要となった。
(VI.4. ニューラルプローブを有する算術符号化器)
(VI.4.1.)
算術符号化の重要な欠点は、最適な効率の符号化のためには、符号化対象のデータ内に出現する個々のシンボルの発生確率が判明している必要があるという点にある。原則的には、既に発生した複数のシンボルを考慮することができよう。個別のシンボルのみならず、異なるシンボルグループの発生頻度にも注意を払えば、更に効率的であろう。しかしながら、これには、非常に多数の頻度値を保存することが必要となろう。この保存数をある程度軽減するには、既に発生している(状況)すべてを組み合わせ可能にするようなシンボルを保存する代わりに、実際に発生したシンボルの組み合わせのみを保存することにより軽減可能となる。この方法は、新しく発生したシンボルの組み合わせを表すときは、特別なシンボル(拡張用)を導入しなければならないことを意味している。
既知の符号化法、主にPPM(Prediction by Partial Match)法においては、長さが変化するシンボルの組み合わせを調べている。受信シンボルを符号化する場合には、まず、最も長い許容されている組み合わせを試験する。新しく到着したシンボルを、保存されているシンボルグループに追加し、現在のシンボルグループ長によって探索を実行し、現在のグループが既に発生しているかどうかを確認する。例えば、グループ長が4である場合には、3つの最新のシンボルを新しく到着したものと共に試験することになる。シンボルの組み合わせが既に発生している場合には、その対象シンボルの組み合わせに割り当てられている瞬間的なまたは一定の確率値を使用して、それを符号化する。一方、組み合わせがまだ発生していない場合には、拡張したシンボルを符号化することにより、その組み合わせが新しいものであることを(復号化器のために)通知し、更に短い組み合わせ長によって探索を継続する。
受信シンボルが、以前の組み合わせにおいて、まだ符号化されていない場合には、個々のシンボルに割り当てられている発生確率の平均値を使用して、それを符号化する。符号化が完了した後に、シンボルの組み合わせ(すなわち、その発生確率を定量化)の発生カウントを評価しているカウンタを更新し、必要に応じて、新しい組み合わせを追加する。
この方法は低速であり、相対的に大きなメモリ負荷を具備しているため、ビデオデータの直接的な符号化には適していない。
しかしながら、本発明においては、長さが変化するシンボルの組み合わせを調べるこの原理を、本発明に適用するニューラル符号化法に引き継いでいる。算術プローブ値を判定するためにニューラルネットワークを適用するという概念は、新しいものではないことに留意しなければならない。ニューラルネットワークを利用する方法は、1996年に、シュミットフーバーおよびハイルによって実行されている。彼らの方法は、ある意味では、PPMと同様に、以前に受信したシンボルと新しく到着したものの同時発生に対して注意を払い、相応して、プローブ値を判定している。この既知の解決方法によれば、現在試験されている組み合わせと、以前に「教授」されたものの中の1つの間に相関が存在しているニューラルネットワークの入力のみがアクティブとなるため、探索のために異なるシンボルグループ長を使用する必要はない。この結果、このようなシンボルの組み合わせの選択(認識)が自動的に実行される。しかしながら、この既知の方法は、トレーニングプロセスが非常に長いため、実際には、ほとんど有用ではない。例えば、1つの試験のケースにおいては、約20kBのデータの相関を認識するためのネットワークのトレーニングに、2日間を要している。
マシュー V.マホーニー(フロリダ工科大学)が、ニューラルネットワーク理論から導出されたオンラインのトレーニング法を使用し、一定レートの代わりに、適応型学習係数を適用することにより、バイナリ算術符号化(この場合には、0と1のみが符号化対象のシンボルである)に対するニューラルネットワーク技法の適用を継承している。しかしながら、この改善された方法も、最適な符号化に必要なメモリ容量が過大であるため、ビデオ符号化に直接適用するには、十分なものではない。マホーニーのオリジナルの方法は、単一レベルの符号化のために258kBのメモリを適用している。128レベル(予測、ブロックサイズ、DCおよびAC係数などを考慮して、128の異なるタイプのデータ構造用)において、これを適用した場合には、必要な合計メモリは、32MBを上回ることになろう。但し、ビデオ符号化のために、単一レベルのみを定義した場合には、この方法は、複数レベルを使用する従来の符号化方法よりも非効率的なものになろう。
これらのすべての問題点を考慮した上で、ニューラルプローブ値を判定する本発明の方法を考案した。本発明による方法によれば、1〜2kBという少ないメモリを使用してエントロピーを極大化することが可能である。最大で約16kBまでのメモリの拡大が有益であり、これを上回る領域においては、符号化係数の改善が無視できることが判明した。
(VI.4.2)
以下の頁においては、この方法について詳細に説明する。前述の算術法に比べた唯一の違いは、プローブ値の計算(変数「prob」の値を返す機能)が、ニューラルプローブによって置換されているという点にある。
符号化対象の到来ビットは、32、64、または、場合によっては、これよりも多くのビットサイズを有するシフトレジスタ(バッファ)に供給される(以下においては、32ビットレジスタを有する例で説明)。このレジスタの情報が、いわゆる窓を構成する。次に、レジスタ内(32ビットの整数として取り扱う)に保存されている値は、ハッシュ関数を使用してN個の部分に動的に分割される。
次のようなハッシュ関数の定義を考えてみる(これは、一例として説明)。
adr1=register mod H0
adr2=H0-(H0*k)+((register/64)mod H1)
adr3=(H0+H1)-(H1*k)+((register/16384)mod H2)
adr4=(H0+H1+H2)-(H2*k)+((register/4194304)modH3)
レンジ長H3が、(H0+H1+H2)-(H2*k)から残りのメモリの末尾(2048まで)まで延長するように、H3を以前のアドレス値から演算する。このハッシュ関数の結果が、図18に示されている。
変数「register」は、レジスタ150内に現在保存されているバイナリ値であり、H0〜H2は、既定の値である。例えば、H0〜H2の値は、256、512、1024であってよく、具体的な状況においては、これから、H3の値を1536と算出している。係数kは、ニューラルネットワークの出力によって付与される。係数kは、既定の値を具備しており、0〜1のインターバル内に属することができる。
以上において提示されたハッシュ関数は、アドレスadr1〜adr4をテーブル155の行にマッピングし、このテーブル155は、2048行から構成されている。更に正確には、このマッピングは、サブレンジ151〜154に対するものであり、これは、address1がサブレンジ151内の要素(テーブル行)をポイントし、address2がサブレンジ152内の行をポイントし、address3がサブレンジ153内の行をポイントし、address4がサブレンジ154内の行をポイントすることを意味している。本発明の解決方法の重要な特徴は、サブレンジがオーバーラップ可能であり、これにより、ユニオン156−158を形成するという点にあり、この実施例は、3つのユニオン156〜158を有している。先程の式からわかるように、ユニオンのサイズは、係数kによって決定される。ユニオンの重要性は、最下位から最上位ビットに向かって増大する。ユニオンは、入力ストリーム内の繰り返し発生するビットシーケンスの認識において重要な役割を果たす。また、ユニオンは、2つのアドレスがテーブル155の同一の行をポイントすることを可能にするため、ユニオンの役割は重要である。数学的な考察の細部に分け入ることなしに、ここでは、入力がシーケンシャルに処理されるため、第1アドレスが対象ニューロンをポイントする場合に、その重みが、トレーニングプロセスにおいて変化するということに留意すれば十分であろう。別のアドレスが同一のニューロンを選択した場合にも、重みは、それに割り当てられているビット頻度関数の値と共に、再度変化することになる。従って、ニューロンに関連付けられているビット頻度関数の値も、2度にわたって変更されることになる。本システムの動作の際には、両方の入力が同一の重みを有することになる。
係数kには、ニューラルネットワークの出力によって値が割り当てられ、サブドメイン152〜154の実際の長さH1〜H4が、係数kによって決定されるため(ユニオンサイズがサブドイメインの長さに影響を及ぼすため、ユニオンサイズを通じて間接的に決定)、サブドメイン151〜154へのテーブル155の分割は、それぞれの受信ビットの後に、ニューラルネットワークの出力に応じて動的に変化する。
ハッシュ関数によって定義されたN個のアドレス(この場合には、N=4である)が、テーブル155のN個の要素(行)を選択する。テーブル155のそれぞれの行は、量子化重み関数Wi,Qと、スケール重み関数Wi,Sという2つの重み関数と(あるいは、スケーリングファクタSを生成する必要がない場合には、Wi,Qのみ)、離散アルゴリズムの場合と同様の方法で定義される頻度ペアf(0)i、f(1)iを含んでいる(すなわち、頻度値は、ビットが受信されるたびに、ビット値に基づいて更新される)。選択された重み関数は、次のように、トレーニングプロセスにおいて変更される。
Wi=Wi+(error*gain*eta*((f(0)i+f(1)i)/(f(0)i*f(1)i))
ここで、iは、テーブルのアドレス指定された行のインデックスであり、「error」は、予測されたビットと実際に受信されたビットの差分であり、「gain」は、利得係数であり、「eta」は、学習係数であり、f(0)、f(1)は、先程定義されたビット頻度である。実際には、本方法において適用されるN入力ニューラルネットワークの知識ベースは、重み関数とテーブル155内に保存されている頻度値から構成されている。
演算処理のときは、この例によるネットワークの出力は、次式によって与えられる。
Figure 2007503784
ここで、iは、出力の数であり、このインデックスiは、1〜Nである(すなわち、すべての選択された重み関数について、出力を合計している)。ネットワークの出力は、kおよび「prob」値自体が出力に現れるように定義可能である。
この場合にも、更に詳細な数学的分析はスキップし、ニューラルネットワークの動作を次のように記述可能である。最初のビットが到着する際には、プローブ値は0である(これは、確率0.5に対応している)。次いで、ネットワークが誤差 (error=bit-probe)を算出し、この誤差を、以前のビット値に割り当てられているニューロンに対して「教授」する(第1段階においては、これらの値は無関係である。以前のデータが存在しないため、すべてのアドレスが0であり、従って、0番目のニューロンが入力に割り当てられることになる)。次いで、本システムは、レジスタ(バッファ)の現在の値から新しいアドレスを生成する。次いで、これらのアドレスによって選択されたニューロンの重み関数(第1段階においては、ゼロである)を合計し、合計の指数関数を算出し(同様に、第1段階の結果はゼロである)、これが新しいプローブ値となる。次のプローブインターバルは、-0.5..+0.5であり、従って、0..1のインターバルに対してマッピングされる現在のプローブ値は、0.5となる。以降の到来ビットについては、今度は、有効なアドレスにより、前述のプロセスを反復し、以前に選択されたニューロンの重み関数を誤差値に基づいて変更する。このプロセスは、係数kについても、同一である。
前述のように、システムの利得と学習係数を動的に調節可能である。好適な実施例においては、利得は、ニューロンを選択するアドレスがユニオン内のアドレスレンジをポイントしている場合にのみ、変更される。すなわち、利得係数は、ユニオンの優先順位に応じて、それぞれのユニオンに割り当てられる。学習係数は、係数kといくつかの外部決定要素によって決定される。学習係数は、ネットワークの学習曲線のスロープ、すなわち、誤差がそれぞれのトレーニングサイクルにおいて極小化される程度を規定している。
ニューラルネットワークは、2つの出力を有しており、出力「probe」が、算術プローブ値を付与し、もう1つの出力が、ユニオンのパーティションを判定するべく適用される係数kを規定する。ニューラルネットワークの可能な構造が図18bに示されており、入力レイヤ160と、「prob」および係数kをもたらす出力169および168のニューロンが示されている。この図示のニューラルネットワークは、隠れ層162をも具備しているが、本発明は、更に単純な構造のネットワークによっても適切に動作する。
このようにして、ニューラルネットワークの知識ベースを構成するテーブルのそれぞれの行には、カウンタと見なすことが可能な頻度f(0)およびf(1)が割り当てられる。これらのカウンタは、前述のテーブルFreqTbl[index]の要素と同様に、テーブル155のサブ分割によって生成されたサブレンジ151−154をポイントとするアドレスaddress1〜4の中の1つによって、所定のテーブルの行が選択される際に、現在の符号化済みのビットが0または1であった回数を規定している。従って、頻度f(0)およびf(1)は、N行のテーブル内に保存可能であり、前述の方法と同様に、これらは、これらの値が所定の限度を超過した場合に、リスケーリングする必要がある。
(VI.5.)
次に、レジスタ150のパーティションを反復的に試験し、最良のパーティションを選択する。ニューラルネットワークは、次に受信したビットの値に基づいて、最近にアドレス指定されたテーブル行の頻度データf(0)、f(1)を更新し、これらの行内に保存されているニューロン重み関数に対して、kの最新の値と、予測されたおよび受信されたビット値間の差(誤差)に関連して頻度f(0)、f(1)から導出されたプローブ係数を「教授」する。
本システムの動作は、多くの点において、前述の方法に類似しているが、動的なレジスタ分割と動的な利得および学習係数の利用は、機能的に新規な要素である。
この方法が実際にどれほど有効であるかに関する実例を見てみよう。本発明は、20個の8x8ブロックのDCT係数を符号化し、1280バイトのデータを生成した。符号化済みのブロックは、フレーム内において隣接しており、これらは、実際に同一であった。本発明は、異なるブロック内にDCT係数の繰り返し発生するデータシーケンスが存在している状況におけるこれらの方法の符号化効率に対して主に関心を持っていたが、個々のブロック自体の内部には、繰り返し発生するシーケンスが存在していなかった。
この結果を、その他の方法と比較して、次の表に示す。
Figure 2007503784
その他のデータタイプの場合には、結果が相対的に大きな広がりを示しているが、本発明の方法は、依然として、その他の解決方法よりも格段に良好に稼働している。
(VII. 帯域幅(転送レート)制御と圧縮比の調節)
(VII.1.)
帯域幅(転送レート)制御は、ビデオ符号化において最も重要な課題の1つである。ビデオフレームシーケンス内のフレームの情報量は、大きく変化しており、従って、実質的に均等な画像品質の維持を目的としている場合には、これらの変化に追随するべく、圧縮比を大きなスケールで調節しなければならない。
圧縮済みのデータがストレージ装置上に保存されている場合には、その装置のストレージ容量が、符号化済みのデータの合計量を制限することになる。しかしながら、帯域幅が制約事項である最も顕著なケースは、データ転送システム上においてデータをリアルタイムで転送しなければならない場合に発生する。このようなケースにおいては、転送するビデオの品質は、利用可能な帯域幅(データ転送レート)によって制限される。従って、転送レート(1秒間に転送されるデータの量)をおおよそ一定の値に維持することが必要である。これは、圧縮比を調節することによって実現可能である。以下においては、圧縮比の調節とは、量子化係数の増大または減少を意味している。しかしながら、因果関係を伴うことなしに、量子化を増大させることはできない。量子化が増大すると、画像の細部が消失し、識別可能な空間周波数の減少が画像内に発生し、同時に、視覚的に知覚可能なエラーが増大する。特定のポイントにおいて、画像は、不可避的に複数のブロックに分離され、その他の視覚的に明白な画像の歪が発生する。
利用可能な帯域幅に応じた量子化係数の変更は、それ自体、既知である。従来の解決方法においては、符号化済みのシーケンスの予測されたおよび実際の長さから、新しい量子化係数を算出し、次のフレームに対して適用している。更に進化した解決方法においては、一度に1つのフレームを考慮する代わりに、所定の時間フレーム内において圧縮されたフレームの平均長と予想平均長を使用して新しい量子化係数を算出している。これらの方法は、通常、演算された最大値を制御システムが実現することを要する時間を規定したリアクション遅延ファクタを伴っている。
このような方法は、一定の転送レートまたは一定のビットレートを提供している(CBR法)。
転送レート制御に最小および最大限度を設定し、転送レートをこれらの限度内に常に維持すると共に、上限および下限の平均値に等しい支配的な転送レートを長期間にわたって実現するように試みることにより、結果を大幅に改善することができる。オリジナルおよび再構築されたフレーム間の信号対雑音比を制御パラメータとして考慮することが好適であり、すなわち、SNRが劣化した場合には、転送レートを(特定の限度内において)増大させるべきであり、SNRが改善した場合には、転送レートを低下させることが可能である。これは、いわゆるVBR(Variable Bit Rate)法である。この解決方法の主な欠点は、合計予想データ長を正確に予測できないという点にある。制御レンジが過大になると共に、合計符号化済みデータ長も過大なスケールで変化することになるため、最小および最大値を過大に設定することはできない。また、システムによって設定された最大転送レートによって要求される品質を維持できないという状況も、しばしば発生し、転送レートの更なる増大が必要となる。
(VII.2.)
本発明によれば、帯域幅(転送レート)制御のために、2つの解決方法が提供されている。いずれの方法も、ニューラルネットワークのアプリケーションに基づいている。
(VII.3.1.)
第1の解決方法によれば、ニューラルネットワークは、バックプロパゲーション構造を有しており、これは、それ自体、既知である。このネットワークが図18cに示されている。ネットワークは、N個の入力1801〜180n、2N個のニューロンを含む隠れ層185、および少なくとも1つの出力を有している。量子化係数QおよびスケーリングファクタS(この役割は、VIIIにおいて後程詳述する)が出力188および189に現れる。
連続制御を提供するために、ネットワークの入力は、最新のN個の受信データ要素であり、これらは、その順序に従ってN個の入力に対してシーケンシャルに供給される。これらのデータ要素は、予想されたおよび符号化済みフレーム長の比率によって構成されており、これらのデータ要素は、時系列で考えられている。
ELi-1/CLi-1、ELi/CLi、ELi+1/CLi+1、他、
ここで、ELは予想される長さ(Expeted Length)であり、CLは符号化済みの長さ(Coded Length)であり、iはi番目(例えば、符号化済みのフレーム)のデータに対応したインデックスである。
ネットワークのトレーニングのために適用される試験データは、トレーニングプロセスの開始前に、外部の制御システムを使用か、または手動によって生成され、これらの試験データは、複雑な相関計算によって、1,000〜4,000個のトレーニングサンプルに低減される。トレーニングサンプルは、通常のビデオ記録内において発生するすべてのフレームタイプを表すように考案されている。これらのサンプルは、いくつかのトレーニング周期を通じて、具体的な実施では、50,000回の周期で、システムに対して「教授」される。
トレーニングが完了すれば、ネットワークは、実際のデータを受信および処理する準備が整うことになる。この具体的な実施例においては、ネットワークの出力に、量子化係数Qではなく、kQ係数が現れるように、計算が設定されており、このkQ係数が、現在のQを変更するために使用されていることに留意されたい。
離散システムと比べた場合のニューラルネットワークの主な利点は、これらによって実質的に制御特性のすべてのタイプを実施可能であるという点にある。制御特性は、一定ビットレートの制御システムよりも、可変ビットレートの制御システムにおいて格段に重要である。
(VII.3.2.)
前述のように、ネットワークは、吟味されたトレーニングによって動作する。ニューラルネットワークは、以前に予測されたおよび符号化済みのフレーム長値によって要求されるマッピングを推定し、この後者は、データシーケンスと見なされる。この方法は、一定帯域幅(CBR)の場合には、うまく適用可能であるが、可変帯域幅(VBR)システムの場合には、それ自体、常に適しているわけではない。この理由は、VBRシステムの場合には、画像品質をも考慮しているからである。画像品質が平均品質値を上回っている場合には、圧縮比を増大させ、品質が平均値を下回っている場合には、圧縮比を減少させる。ニューラルネットワーク制御システムは、この点をも考慮しなければならない。従って、制御システムが超過してはならない最小および最大量子化係数を制御ネットワークに対して指定する。これらの値は、図18cの参照番号186および187によって示されているニューロンを通じて有効になる。
(VII.3.3.)
VBRモードに適用されるニューラルネットワークは、CBRモードに使用されるネットワークよりも2倍多い入力を有している。なぜならば、予測される長さ/符号化済みの長さの比率に加えて、また、画像品質を表すデータも符号化済みの品質に対する予測される品質の比率の形(下記の式)で、ネットワークの入力に供給されるためである。
EQi-1/CQi-1、EQi/CQi、EQi+1/CQi+1、
ここで、EQは、予測品質であり、CQは、符号化済みの品質であり、iは、データのインデックスを示す。
図18cからわかるように、VBRモードにおいて使用されるニューラルネットワークは、量子化係数を判定する出力188に加えて、スケーリングファクタSを表す更なる出力189(この出力の役割については後述する)をも有することができる。前述のケースと同様に、ネットワークは、トレーニングの際に、時系列の予測された/符号化済みの品質と予測された/符号化済みの長さの入力データを処理し、規定されている最小および最大値に従って、求められているマッピングを推定する。トレーニングデータは、規定されている制御特性と制御スロープを反映するべく選択されている。
ネットワークの実際の符号化動作においては(すなわち、実際のデータを処理する際には)、更なるトレーニングは存在せず、ニューロンの重み関数は一定に維持される。符号化自体は、実際には、関連付けのタスクであり、時間スロット内に含まれている受信した入力データを、ネットワークがトレーニングプロセスにおいて「学習」した内容に基づいて、QおよびSファクタに対してマッピングする。従って、受信した長さおよび品質データに従ってQおよびSの次の値を判定することにより、ネットワークは、従来の制御システムと同一のタスクを実行する。時間スロットは、直観的には特定の状況を表していると言うことができる。ネットワークの目的は、トレーニングの際に出会った種々の状況の中から現在のものに最も一致するものを探索し、探索した特定の状況の中で学習したことから最も好適な対応を選択し付与することである。
このニューラルネットワークの実施の一変形は、実質的に、次の単一の式(いわゆるシグモイド合計)のみを使用している。
Figure 2007503784
ここで、Nは、ニューロンの数である。「gain」値は、1であってよく、その唯一の役割は、出力値の大きさの順序を判定することであるため、これは、最適な探索によって判定可能である。まず、1つまたは複数の隠れ層内のニューロンの重み関数を前述の式によって合計し、次いで、出力層の重み関数についても同様に計算を実行する。
実際の実施においては、入力データを除いて、VBRおよびCBRネットワーク間には、大きな違いは存在しておらず、これは、VBRモードを実行するネットワークが、CBRモードの機能をも同様に実行可能であることを意味している。CBRモード動作の場合には、これは、単純に品質入力に(可能な最大値において)一定の値を提供することによって実現する(この入力は、トレーニングの際にも、同様に一定に維持される)。CBRモードにおいては、最小および最大帯域幅限度入力を所望の一定の帯域幅に対応した値に設定することにより、等しく設定し一定に維持する。
(VII.4.)
本節においては、ニューラルネットワークによって実行される改善された動的な量子化の更なる変形(いわゆるアドレス分解法)について説明する。
(VII.4.1.)
このネットワークモデルは、算術符号化を取り扱った節において提示したものの一種である。これが前述のネットワークと異なる点は、ネットワークの特定の選択されたニューロンのアドレッシングが、時間窓/時間スロット全体によって決定されないという点のみである。これが図19に概略的に示されており、時間窓内においてチェックされた入力データが、アドレス生成器をバイパスすることが示されている。この場合には、入力データシーケンスの要素は、0と1ではなく、従って、前述のアドレス生成手順を直接適用することは不可能である。その代わり、ニューラルネットワークの入力層が2つの部分から構成されている。到来データが、予測された/符号化済みの長さデータまたは予測された/符号化済みの品質データであるかどうかに応じて、時間窓内において検出可能なそれぞれのデータ値に対して、(先程提示した例に類似した)ハッシュ関数が、2048や256などの適切な数のニューロンから選択された1つのニューロンを割り当てる。実際には、これは、予測された/符号化済みの長さデータによって機能するニューロン(更に正確には、その重み関数)用のテーブルと、予測された/符号化済みの品質データによって機能するニューロンの重み関数用の別のテーブルという2つのニューロン重みテーブルを意味している。時間窓のサイズがN=32であり、2つのデータタイプについて、それぞれ、11および8ビットを使用してアドレス生成を実行する場合には、ニューロンの入力データを保存するのに必要なメモリのサイズは、Mem=2048*16+256*16となる(予測された/符号化済みの長さから生成されたアドレスの16x11ビット長の正規化データと、予測された/符号化済みの品質データから生成されたアドレスの16x8ビット長の正規化データとから成る)。
使用したアドレス変換手順において、ニューラルネットワークの入力は、0と1の間の値を有する正規化されたデータであり、続いて、アドレス生成のために、これらを整数に変換する。
Cvk=VKn*211
Cm=Mn*28 式III
ここで、VKnは、正規化された予測された/符号化済みの長さの比率であり、Cvkは、生成されたアドレスであり、Mnは、正規化された品質であり、Cmは、生成されたアドレスである。
これら上記の式に基づいて、時間シーケンスのそれぞれの位置に配置されているデータからアドレスを生成する。次いで、このように生成されたアドレスが、テーブル内に保存されているニューロンをアドレッシングする。換言すれば、ニューロンは、これらの生成されたアドレスによって選択され、ニューロンは、トレーニングプロセスにおいて、予測された/符号化済みの長さと、予測された/符号化済みの品質の比率とを受信する。本システムは、時間シーケンスと関連付けられていない2つのその他の入力を有している。図18cに示されているネットワークと同様に、これらの入力は、最小および最大帯域幅を決定するべく適用される。誤差係数は式(1/Q−1/Qprev)を使用して算出する(すなわち、誤差係数は、現在のトレーニング量子化係数の逆数と、以前に算出された量子化係数の逆数の差分として判定され、ここで、Qprevは、以前の量子化係数である)。
重み関数は、次のように変更する。
Figure 2007503784
ネットワークの有効な制御動作の際には、更なるトレーニングは存在しない。すなわち、このシステムは、プレトレーニングネットワークをも使用している。制御動作のプロセスは、重みの変更を実施しないことを除いて、トレーニングプロセスと同一である。
前述の内容と同様に、最小/最大帯域幅および品質データを個々の一定の値に固定することにより、このシステムをCBRモードに切り換えることができる。
このシステムは、多段階モードにおいても、同様に問題なく動作する。この動作モードの本質は、第1段階において、システムが、制御を伴うことなしに、場面全体を量子化係数(例えば、Qを3に設定して)によって符号化する。後続の第2段階において、制御システムを起動した状態で符号化を実行する。第1段階において、それぞれのフレームを圧縮可能な程度を規定しており、従って、Qの判定が不要であって、第1段階から直接適合可能であるため、この解決方法によれば、改善された高精度の符号化が提供される。さもなければ、本発明のニューラルネットワークは、変更を伴うことなしに適用可能である。多段階モードにおいては、高速トレーニング手順を使用してトレーニングを実行可能である。また、このモードにおいては、補間が非常に有効であり、本発明は、離散制御システムによって、4〜6段階で実現する品質に、ニューラル制御システムによれば、わずかに2段階において到達可能であることを観察した。尚、単一段階モードと比較して、多段階モードは、必ずしも良好な品質を提供しないことに留意されたい。このモードの利点の1つは、出力の長さを、例えば、ストレージ媒体の容量などに対応した既定の値に調節可能であるという点にある。
(VIII. 動的なスケーリング)
(VIII.1.)
前述のように、要求される長さに保存するために符号化されたビデオが、要求されるビデオ品質で保存できないという状況が、しばしば、発生する。これは、例えば、事前設定された圧縮比が、特性のシーケンスにとって極めて大きく、従って、現在設定されている圧縮の最小/最大限度を使用することによっては、要求される画像品質で保存できないという状況において発生しよう。このような状況は、通常、非常に詳細且つアクションの多い画面において発生する。一例として、長編映画「The Mummy Returns」の最初の5分間を挙げることができる。この特定のシーケンスの場合には、良好な品質のMPEG圧縮のために、少なくとも2.5Mビット/秒の帯域幅が必要とされるであろう。しかしながら、利用可能な帯域幅を1.5Mビット/秒に低下させると、エラーを除去するために、圧縮時および復元時の両方において、かなり複雑な事前または事後のフィルタリング処理が必要となろう。この結果、符号化したビデオの品質がほとんど「許容可能」なレベルに到達し得ない程度にまで、画像のシャープネスが大幅に低下することになろう。
(VIII.2.)
前述の問題を除去するために、本発明においては、動的なスケーリングの概念を導入している。この概念は、限定された外部境界条件のために制御システムが要求される画像品質を維持できない場合に、縮小(サイズ変更)を行うことを基本的に意味している。満足できる結果が得られるサイズにフレームを縮小(サイズ変更)するのである。本システムは、この縮小されたサイズのフレームを圧縮し、復元において、これをそのオリジナルのサイズに回復する。当然のことながら、この場合には、画像品質も低下し、これは、主にシャープネスの低下となって現れる。少なくとも、圧縮比を極端に大きく設定しない限り、圧縮によって発生するブロッキングアーチファクトやその他の一般的なエラーは発生しない。
本発明は、このようなクリティカルなフレームシーケンスについて、入力データの量を低減する一方で、圧縮係数を不変に維持した場合に、何が起るかを調べた。換言すれば、フレームを、そのオリジナルサイズの3/4または1/2に縮小した。符号器が、画像品質を考慮して、データレートを可能な限り一定に維持できるようにするため、フレームサイズを縮小させることにより、結果的に、圧縮処理のレベルを低下させることができる。この方法で、出力データの量が、サイズ変更の前と同一の量に維持される。例えば、データストリーム全体が、例えば、0.5Mビット/秒の帯域幅で符号化され、クリティカルなシーケンスにおいて、フレームがそのオリジナルのサイズの半分に縮小された場合には、実際の転送レートは、0.5Mビット/秒に維持されるが、圧縮比と量子化係数は、大幅に低下する。前述の画像例の場合には、後者の量子化係数は、オリジナルのフレームサイズにおいて2Mビット/秒の帯域幅で符号化された画像品質に対応する程度にまで低下させた。これは、エラーの減少を伴っている。この方法の欠点は、サイズ変更によってフレームの分解能が低下するという点にある。従って、フレームが復号化においてオリジナルサイズに復元した際に、消失したピクセルの値を推測しなければならない。但し、この問題は、適切なスケーリング法を適用することによって大幅に軽減可能である。フレーム内に空間周波数成分が存在しており、相応して変換を実行しなければならないことを考慮しなければならない。
(VIII.3.)
従って、本発明による動的なスケーリング法においては、スケーリングされた画像が必要である。補間に基づいたいくつかのフレームスケーリング法を試験した。Lancos法が、最良の結果をもたらした(Lancos法は、それ自体既知のリサンプリング手順であり、画像の空間周波数成分に基づいて、フィルタによって消失したピクセルを補間する)。スケーリングを伴う圧縮と伴わない圧縮を比較すると、スケーリングを伴わない場合には、ストリームを0.5Mビット/秒の転送レートで圧縮した場合に、厳しい条件のシーケンスにおいて品質低下を容易に感知可能であることが判明した。画像の多くの領域が完全に「フラット」になり、ブロックアーチファクトとストライプが出現し、画像に消しゴムを使用したかのように、いくつかの領域内において、画像のシャープネスが大幅に低下する。一方、本発明によるフレームスケーリングによって圧縮を実行した場合には、これらのエラーは、いずれも発生しない。感知可能な唯一のエラーは、シャープネスの低下である。但し、シーケンスを分析した結果、通常、高速な動きがビデオ画面において発生するポイントにおいてスケーリングが必要であることが判明した。高速な移動が発生する画面は、通常、オリジナルが既にわずかにぼやけているため、リスケーリングによって引き起こされる情報損失は、ほとんど感知不可能である。
本発明の動的なスケーリングは、次のように実行される。まず、最初にそれぞれの着信フレームは、0のスケーリング係数(スケーリングを伴うことなし)で、スケーリングモジュールを通過する。符号化の結果が、規定されている限度内において満足できるものになっているかどうかを圧縮制御システムが判定する。結果が不満足なものになっている場合は、復号化後であっても許容可能な品質を確保できる程度にフレームサイズを変更(縮小)する。
このスケーリング処理は、離散法を利用して解決可能であることに留意されたい。但し、本発明のシステムに、帯域幅制御のためにニューラルネットワークが既に適用されていることを考えれば、ニューラルネットワークによるスケーリングもより効率的に実行することが可能である。問題が帯域幅制御の問題に密接に関係していることから、ニューラルネットワーク(図18c参照)に別の出力を追加すれば十分であることが判明した。従って、ネットワークは、量子化係数のQ係数を提供するものと、スケーリングファクタSを提供するもう1つのものからなる2つの出力を具備している。
帯域幅制御用(VII.3および図18cを参照)に提供されている第1の解決方法においては、新しいニューロン189を直接挿入し、この出力によってスケーリングファクタSを提供可能である。しかしながら、第2の提案解決方法(VII.4参照)の場合には、実際には、2つの重みベクトルをそれぞれのテーブルアドレスに割り当てる必要がある。実際には、これは、同一の入力を具備しているが、出力に異なる値を送信する2つの独立したニューラルネットワークに対応している。ネットワークを更に高度なものにするべく、ニューラルネットワークに隠れ層を追加し、そのニューロンを出力層に接続することを提案する。この場合には、ネットワークは、いわゆるバックプロパゲーション構造を有することになる。この場合にも、以前の解決方法と同様に、入力層のニューロンは、本システムによって生成されるアドレスによってポイントされた位置によって選択される。スケーリング手順は、I(イントラ)フレームから始まり、次のIフレームまで継続する。その他のタイプのフレームについて判定されたスケーリング係数を平均化する。これが、図20、図21に示されており、この場合には、スケーリングは、Aにおいて始まり、Bとマーキングされたポイントにおいて終了している。
(X. 本発明に適用するニューラル制御システムに関するいくつかの全般的な所見)
本発明は、本発明の制御システムに伴う潜在的なアプリケーション用のいくつかの異なるネットワークタイプを試験した。これらの演算負荷と適切な制御動作を考慮した結果、意外にも、最良の結果は、最も単純な構造を有するネットワークによって生成された。いわゆるカウンタープロパゲーションタイプのネットワークも優れた結果を提供可能であり、多くの場合に、前述のバックプロパゲーションタイプのネットワークよりも良好な近似を提供するが、これは、アドレス分解法(前述の内容を参照されたい)を適用した場合のみである。要約すれば、第2の方法は、そのカウンターパートよりも格段に多くのニューロンを使用しており、これらが相対的に大きな知識ベースを提供するという事実に起因して、第1の方法よりも良好に稼働した。バックプロパゲーションまたはカウンタープロパゲーションに変換されることにより、優れた制御が提供される。
本発明は、基本的に、異なる制御特性を実現し、視覚的に感知される画像品質を考慮しつつ、最適な圧縮を保証する能力を有する制御システムを提供するという概念に基づいている。学習した異なる特性を、対象ビデオシーケンスに最適な特性を選択可能なプロファイルにグループ化可能である。また、本発明は、離散制御システムの試験も行い、これらの制御ダイナミクスが不十分なものであることを見出した。例えば、中間の帯域幅を使用して符号化を2つの段階で実行すれば、より高い圧縮を必要としたであろうシーケンスや、より低い圧縮を使用すれば満足できたであろう場面を常に検出することができよう。既知の離散符号化システムは、閉じたシステムであり、これは、これらが、通常、一定の関数を使用して符号化を実行することを意味している。しかしながら、ニューラルシステムは、以前のフレームの情報を考慮して、学習した瞬間的な特性を使用して符号化制御を実行する能力を有している。
様々なニューラルネットワークがそれ自体既知であるため、本明細書においては、本発明のニューラルネットワークの動作の詳細な分析は省略した。本発明は、ビデオフレームシーケンスの符号化に適合されたニューラルネットワークのいくつかの具体的な実例を提供したに過ぎない。
(XI.1. 本発明の方法を実装するハイブリッドビデオ符号化システムの動作概要)
システム全体の構造が図8および図22〜図24に描かれている。圧縮の際には、フレームは、まず、スケーリングシステム(リサンプラモジュール)61を通過する(図8)。本システムは、符号化を継続するべき方法を判定し、相応して、符号化モード(I、P、B)を選択する。Iフレームの場合には、それぞれのブロックごとに、予測を実行し、本システムは、分散分析の結果に基づいて、最良の圧縮性を約束する予測を選択する。次いで、ブロックをDCTによって変換し、適切なレベルにおいて量子化および圧縮を行う。
Pフレームの場合には、符号化対象の現在のブロック用の一致した参照ブロックを探索するための参照フレームとして、先行するフレームのみを使用し、Bフレームの場合には、先行するおよび後続するフレームを使用する。次いで、検出したブロックをブロックサイズと位置に応じて補償し(任意選択により、1/2または1/4ピクセル分解能探索および動き補償を使用して、それを参照ブロックから減算する)、次いで、そのブロックを、予測、変換、および符号化する。同時に、検出した基準位置を動きベクトルに変換し、この動きベクトルを以前のものから減算して、適切なレベルで圧縮する。圧縮比は、予測されたおよび符号化済みの長さおよび品質の値に従って、制御システムによって調節する。要求される品質を現在の限度内において維持不可能な場合には、品質が許容可能になるサイズにフレームを縮小する。尚、この場合に、具体的な実施においては、本システムは、フレームをそのオリジナルのサイズの半分未満には決して縮小しなかったという点に留意しなければならない。
意外にも、この実施方法が、期待をはるかに超えて機能することが判明した。450kB/秒の帯域幅において、リスケーリングによって発生するシャープネスの低下以外には、クリティカルなシーケンス内に、視覚的に知覚可能なエラーがほとんど存在していない。380〜450kB/秒の転送レートにおいては、本発明のハイブリッド符号化システムは、平均的なビデオレコーダのSPモードの品質を提供し、280〜380kB/秒のレンジにおいては、品質は、一般的なビデオレコーダのLPモードに対応していることが判明した。帯域幅が500kB/秒を上回る場合には、ビデオ品質は、DVD品質に接近する。750kB/秒の限度を上回る領域においては、実際に、DVDと視覚的に区別するのが不可能である。
本発明の符号化システムの欠点は、算術符号化に起因し、伝送チャネル内におけるデータ損失によって生じるエラーの影響を受けやすいという点にある。しかしながら、最新のデジタル伝送ネットワーク(インターネットなど)は、非常に大量のデータの場合にも、高度なセキュリティと実質的に無損失のデータ転送能力を有しており、従って、この欠点は、深刻なものではない。符号化システムの動作を効率の良いものにするには、頻度テーブルを連続して更新する必要がある。復号化プロセスにおいて伝送エラーがどこかで発生した場合には、影響を受けたフレームの末尾まで、その時点以降のすべてのデータが損傷することになる。
(XI.2.1.)
図22を参照し、本発明によるシステムによって圧縮されたデータの復号化に適用される本発明のハイブリッドビデオ複合化器の動作について説明する。フレームの再構築は、符号化されたデータを入力バッファ121に供給し、ストリーム情報ブロック133を復号化することによって始まる。ストリーム情報ブロック133は、フレームのオリジナルのサイズと、復号化においては変化しないその他のデータを含んでいる。従って、ストリーム情報ブロック133は、復号化プロセスの開始時点において、一度復号化されるのみである。次いで、フレームヘッダ情報を復号化(段階122)する。フレームヘッダ情報ブロックは、現在のフレームサイズ、フレームタイプ(I、P、B)、量子化タイプ、および対象フレームにのみ属するその他のデータを含んでいる。
フレームがイントラフレームである場合には、ブロック分割を表す四分木構造は、DCT係数と個別のブロック毎に分割された特定情報(段階126)と一緒に復号化される(段階123)。次に、それぞれのブロックに関して本発明の変換を実行し(段階127、128、129)、結果的に得られた逆変換済みのブロックを、新しいフレームを保存する最新ビデオ用メモリ131内に書き込む。イントラフレーム内においては、それぞれのブロックが、その再構築に必要なすべてのデータ(特に、予測タイプと、そのブロックが16x16ブロックまたは4つの4x4ブロックなどに分割されているかどうかを示す情報)を含んでいる。
インターフレームの場合には、四分木構造がブロックの再構築に必要なデータを含んでいるため、まず、ブロック分割を表す四分木構造を段階123において復号化する。これらのデータを使用し、個別のサブブロックに関連付けられたDCT係数、動きベクトル、および予測コードを復号化すると共に、符号化に使用された参照フレームを識別するコードを復号化する。逆変換も実行し(段階127、128、129)、次いで、段階124において動きベクトルを使用して選択された参照メモリ125内に保存されている参照フレームのブロックを、段階130において、逆変換済みのブロックに追加する。
フレームが線形補間を使用して符号化されている場合には、まず、段階124の再構築された動きベクトルによって選択されたブロックと参照メモリ125内に保存されている参照フレームに基づいて、補間済みのブロックを生成し、次いで、この補間済みのブロックを逆変換済みのブロックに追加する。それぞれの再構築されたブロックを、新しいフレームを保存する最新ビデオ用メモリ131内に書き込む。イントラおよびインターの復号化および再構築されたフレームの両方を参照メモリ125内に書き込む。参照メモリ125は、符号化プロセスにおいて使用された最も遠い参照フレームに応じて、複数のフレームを格納可能である。参照メモリ125は、循環バッファであり、これは、新しいフレームを保存するたびに、最も古くなったフレームが削除されることを意味している。
次は、段階132において、フレームサイズをオリジナルのものに回復する段階である。フレームサイズは、好ましくは、Lancos法によって回復する。適切なサブルーチンにより、符号化および復号化の両方において、スケーリングを実行する。スケーリングの能力を有するハードウェアビデオソースまたは出力装置が利用可能である場合には、符号化器または復号化器による指定を要するのは、フレームサイズのみである。
(XI.2.2. ニューラル復号化器)
周知のように、算術符号化においては、符号化器の動作は、復号化器の動作と同一であるため、ニューラル算術復号化器は、ニューラル算術符号化モジュールと実質的に同一の方法で動作する。この方法は、適応型であるため、開始時点において、単一のビットを復号化し、復号化されたビットを使用して、新しい予測子を演算する。予測子を演算するには、符号化に使用するニューラルネットワークを変更することなしに使用可能である。符号化器と復号化器の相違点は、周知の数学的計算における違いのみであり、その他の機能的な要素は完全に同一である。
最後に、完全なビデオ符号化/変換システムを提示する(図23参照)。本発明のビデオ符号化システムは、ビデオ信号のデジタル化、効率的な符号化、および保存を実行する能力を有している。同時に、これは、ストレージ効率を向上させるために、既に符号化済みのデジタルビデオデータを変換(transcoding)する能力をも有している。例えば、このような変換を適用し、例えば、衛星放送またはテレビ放送を記録するために、DVB放送のMPEG転送パケットの帯域幅を約20Mビット/秒から約600Kビット/秒に低減することができる。同様に、本発明の高効率符号化法を使用することにより、機械的な装置の適用を伴うことなしに、デジタルビデオカメラによって記録されたビデオシーケンスを保存することも可能である。
この符号化システムの入力は、アナログビデオ入力93、合成および復号化されたMPEGデジタルビデオ/オーディオパケット入力94、およびアナログオーディオ入力105から構成されている。
この符号化システムは、
(a)デジタル変換の後に、アナログビデオ入力93およびアナログオーディオ入力105から到来する信号を符号化するモードと、
(b)デジタルビデオ信号94とオーディオ信号とを変換するモードがあり、オーディオ信号は、合成されたデジタルビデオ/オーディオ信号パケットからデマルチプレクサ109によって分離されるようなモードからなる2つのモードにおいて動作可能である。
セレクタ96によって選択されたデジタルビデオデータは、入力97を通じて(図8と関連して先程説明した)符号化システム98に供給される。符号化済みのビデオデータ99は、マルチプレクサ100により、デジタルオーディオデータと多重化されて合成パケット101が生成される。PSC(Peripheral System Controller)102によってルーティングされたデジタルパケットは、ハードディスク103上、光ストレージ装置上、または半導体メモリ104内に保存可能である。セレクタ107によって選択されたデジタルオーディオ信号は、符号化器108によって符号化され、前述のように保存される。
(XI.2.3.)
保存されているビデオおよびオーディオデータの復号化が図24に示されている。デマルチプレクサ110が、半導体メモリ104またはハードディスク103上に保存されているデータパケットを、符号化済みのデジタルビデオデータ111と符号化済みのデジタルオーディオデータ112に分離する。デジタルビデオデータ111は、図22を参照して前述した復号化システム113によって復号化される。復号化されたビデオデータ114は、任意選択により、フィルタリングおよびスケーリングモジュール115に供給され、次いで、D/A変換器116によってアナログビデオ信号117に変換される。デマルチプレクサ110によって分離されたデジタルオーディオデータ112は、復号化器118によって復号化され、最終的に、D/Aコンバータ119によってアナログオーディオ信号112に変換される。本発明は、前述の実施例に限定されるものではなく、その他の変形および実施も考えられる。
従来技術によるMPEG符号化の概略を示すブロック図である。 インターフレームを検出する方法を示す図である。 参照ブロックと符号化対象のブロックとを比較する方法を示す図である。 DCT変換、量子化、および後続するエントロピー符号化の段階を示している図である。 参照ブロックから符号化対象のブロックを減算する方法を示す図である。 先行または後続するフレームにおいて参照フレームを探索するプロセスを示している図である。 DCT法とFFT法の相違点を示している図である。 本発明のハイブリッドビデオ符号器の概略機能図である。 イントラブロックの予測モードを示している図である。 可能な予測モードの中から採用する予測モードが選択される方法を示している図である。 ブロック分割の符号化の一実施例を示している図である。 異なるサイズのサブブロックを使用することを可能とするブロック分割方法を示している図である。 3つの異なるブロックサイズから構成される分割方法を示している図である。 2つの異なるブロックサイズから構成される分割方法を示している図である。 PおよびBフレームに適用可能な探索モードを示している図である。 PおよびBフレームに適用可能な探索モードを示している図である。 PおよびBフレームに適用可能な探索モードを示している図である。 縮小されたサンプルを使用する参照探索法を示しており、この探索プロセスにおいて使用するブロックサイズとブロックパターンが示されている図である。 本発明による方法において使用する補間済みの参照フレームを生成する方法を示している図である。 本発明によるニューラル算術符号化ユニット内のニューロンの選択(アドレッシング)を示しており、且つ、アドレスレンジ内のユニオンのレイアウトを示している図である。 本発明によるニューラル帯域幅制御システムの一実施例に適用可能なニューラルネットワークを示している概略図である。 本発明によるニューラル帯域幅制御システムの別の実施例に適用可能なニューラルネットワークを示している概略図である。 大きなダイナミックレンジのニューラル帯域幅制御システム内における入力データのデータ経路の変更を示している図である。 本発明による動的スケーリング法を示している図である。 本発明の動的スケーリング法において実現される伝送の信号/雑音特性と、動的スケーリングを伴わない場合の特性とを比較して示している図である。 本発明による方法によって符号化されたビデオデータを復号化するプロセスのフローチャート図である。 本発明による方法を適用するオーディオおよびビデオデータ符号化システムの概略ブロック図である。 本発明に従って符号化されたオーディオおよびビデオデータを復号化するのに適用可能なシステムの概略ブロック図である。

Claims (60)

  1. デジタル的に符号化されたビデオフレームシーケンスを圧縮する方法であって、
    a、所定のフレームをブロックに分割する段階と、
    b、任意の選択により、個々のブロックを更に小さなブロックに更に分割する段階と、
    c、隣接する1つまたは複数のブロック(予測用)に含まれている情報に基づいて、選択されたブロックの情報量を変更する段階と、
    d、空間表現を周波数表現に変換する変換(DCT)を前記選択されたブロックに対して実行することによって変換されたブロックを生成する段階と、
    e、最後に、前記変換されたブロックの前記情報量を、エントロピー符号化によって符号化する段階とを具備する方法において、
    i、前記段階dに規定されている前記変換を実行する前に、前記選択されたブロックに関して圧縮性分析を実行し、前記分析の結果に応じて、
    ii、前記段階c(予測)および前記段階d(DCT)を前記ブロックに対して実行するか、または、
    iii、任意の選択により、前記ブロックをサブブロックに更に分割し、前記段階iに規定されている前記圧縮性分析を、個々の分割の結果として得られた前記ブロックに対して再度実行し、
    iv、前記段階iおよび前記段階iiiから得られた結果に基づいて、最良の結果をもたらす可能性があるブロック分割を選択し、
    v、最後に、前記最良の潜在的な結果をもたらす前記ブロック分割を使用して、前記段階cに規定されている前記予測に基づいて、前記段階dに規定されている前記変換を実行することを特徴とする方法。
  2. 個々のブロック分割に属するブロックの前記圧縮性分析は、前記ブロックの情報および/または個々のブロックタイプの発生頻度を考慮して実行されることを特徴とする請求項1に記載の方法。
  3. 前記圧縮性分析において、前記ブロックの情報に対して、直接的に、またはアダマールフィルタを介して、分散分析を適用することを特徴とする請求項1に記載の方法。
  4. 前記分散分析は、次式を用いて実行され、
    Figure 2007503784
    ここで、Mは、所定のブロックまたはサブブロック内の要素の数であり、pixel(i)は、圧縮されていない(オリジナルの)ブロックの要素であり、
    前記演算された分散値を特定の閾値と比較して、前記分散が前記特定の閾値を上回っているかどうかを確証することを特徴とする請求項3に記載の方法。
  5. 所定のフレーム内の最大許容ブロックサイズを有するブロックに割り当てられている特定のデータをエントロピー符号化によって更に符号化し、前記特定のデータは、それらが割り当てられている前記ブロックの前記ブロック分割を表していること(四分木)を特徴とする請求項1から4のいずれか一項に記載の方法。
  6. 前記空間ドメインにおける表現を前記周波数ドメインにおける表現に変換する前記変換として、離散コサイン変換(DCT)を適用することを特徴とする請求項1から5のいずれか一項に記載の方法。
  7. 16x16ピクセルよりも小さいブロックに対してDCTを適用し、16x16ピクセルのサイズを有するブロックに対しては、アダマール変換を適用することを特徴とする請求項6に記載の方法。
  8. 前記圧縮性分析において、変更(予測)される前記ブロックの情報量は、次式によって定量化され、
    Figure 2007503784
    ここで、Mは、前記予測されたブロック内の要素の数であり、pixel(i)は、前記予測されたブロックの要素であり、
    前記演算された「sum」値を特定の閾値または以前の「sum」値と比較し、前記演算された「sum」値が前記特定の閾値または前記以前の「sum」値を上回っているかどうかを確証することを特徴とする請求項1から7のいずれか一項に記載の方法。
  9. 前記個別ブロックの前記予測の際に、複数の予測モードを使用して予測を実行し、最小の「sum」値をもたらす予測モードが前記所定のブロックに対して適用されることを特徴とする請求項8に記載の方法。
  10. 2つの最も頻繁に発生するブロックサイズの発生頻度が特定の値を上回っていることが個々のブロックサイズの発生カウントによって確認された場合に、すべてのブロックを前記2つの最も頻繁に発生するブロックサイズのブロックによって置換することを特徴とする請求項1から9のいずれか一項に記載の方法。
  11. ブロックの前記圧縮性分析の際に、誤差を演算し、閾値を上回る前記誤差に寄与する前記ブロックを、前記演算された誤差を考慮して、更なるサブブロックに分割することを特徴とする請求項1から10のいずれか一項に記載の方法。
  12. 所定のサブブロックのケースにおいて前記誤差が既定値を上回っている場合に、前記サブブロックを更に小さなサブブロックに分割し、前記更に小さなサブブロックを含む前記結果的に得られたブロック分割に対して前記圧縮性分析を実行することを特徴とする請求項11に記載の方法。
  13. 16x16、8x8、4x4、または2x2のサイズの前記ブロックおよび前記サブブロックを使用することを特徴とする請求項1から12のいずれか一項に記載の方法。
  14. デジタル的に符号化されたビデオフレームシーケンスを圧縮する方法であって、
    a、所定のフレームを2次元のブロックに分割する段階と、
    b、特定のケースにおいては、個別のブロックを更なるサブブロックに分割することにより、前記フレームのブロック分割を確立する段階と、
    c、空間表現を周波数表現に変換する変換(DCT)を前記ブロックの情報量に対して実行し、これにより、変換済みの多数要素の2次元ブロック(DCT係数のマトリックス)を生成する段階と、
    d、外部境界条件に従って前記変換済みのブロックの前記要素を変更する段階(量子化)と、
    e、最後に、エントロピー符号化により、前記変換済みのブロック内に含まれている前記情報を符号化する段階とを有する方法において、
    前記段階dにおいて、前記変換済みの多数要素の2次元ブロック内におけるデータの前記変更は、前記ブロックのサイズおよび符号化されたデータを伝送するのに利用可能な帯域幅に応じて実行されることを特徴とする方法。
  15. 前記変換済みのブロックの前記変更は、量子化であることを特徴とする請求項14に記載の方法。
  16. 前記量子化は、次式で求められるMPEG量子化であって、
    Figure 2007503784
    ここで、qcoeff(j)は、変換される多数要素の2次元ブロックの要素であり、
    matrix(j)は、変換される多数要素の2次元ブロックにサイズが対応しているマトリックスの要素であり、
    QPは、前記量子化の係数であることを特徴とする請求項15に記載の方法。
  17. 前記matrix(j)の値は、経験値が設定されたマトリックステーブルから取得され、前記テーブルの個々の要素は、matrix(j)マトリックス全体であり、前記テーブルからの選択は、前記段階dに規定されている前記外部境界条件に応じて実行されることを特徴とする請求項16に記載の方法。
  18. 前記テーブルからの前記選択は、前記QP量子化係数の値に関連して実行されることを特徴とする請求項16または17に記載の方法。
  19. 前記QPドメイン全体が、個々のサブドメインに割り当てられたマトリックステーブルを有するN個のサブドメインに分割され、この場合に、前記マトリックステーブルのサイズは、前記ブロックサイズに対応しており、それぞれのサブドメインは、事前に規定されている帯域幅の範囲に割り当てられることを特徴とする請求項16から18のいずれか一項に記載の方法。
  20. 前記段階dの前記外部境界条件は、利用可能なストレージ容量および/または利用可能な帯域幅によって課されることを特徴とする請求項16から19のいずれか一項に記載の方法。
  21. 特定のケースにおいて、前記選択されたブロックの前記情報量は、前記段階cにおいて実行される前記変換に先立って、隣接する1つまたは複数のブロックの以前に選択された画像要素内に含まれている情報(予測)、または参照フレーム内に含まれている参照ブロックの情報量に基づいて、変更されることを特徴とする請求項14から20のいずれか一項に記載の方法。
  22. イントラフレームを符号化するように、請求項1から13のいずれか一項に記載の方法の段階が実行されることを特徴とする請求項14から21のいずれか一項に記載の方法。
  23. デジタル的に符号化されたビデオフレームシーケンスを圧縮する方法であって、特定フレームの情報量は、先行するまたは後続するフレーム(参照フレーム)の情報から符号化され、
    a、前記符号化対象のフレームをブロックに分割する段階と、
    b、前記符号化対象のブロックを含む前記フレームより先行するまたは後続する前記参照画像内において、前記符号化対象のブロックと一致する参照ブロックを探索する段階と、
    c、一致した参照ブロックと前記符号化対象のブロックとを比較することによって圧縮性分析を実行する段階と、
    d、前記圧縮性分析の結果に基づいて、前記最良の参照ブロックを選択する段階と、
    e、前記選択された最良の参照ブロックを使用して前記ブロックを符号化する段階と、を有する方法において、
    参照ブロックの前記探索の際に、前記段階bにおいて、
    i、前記符号化対象のブロックをサブブロックに分割し、
    ii、前記サブブロックの情報を分析し、
    iii、事前に規定されている基準に従って、事前に定められた数のサブブロックを、好ましくは少なくとも2つは選択し、
    iv、前記選択したサブブロックを使用して、参照ブロック探索を実行し、前記探索は、前記選択したサブブロックからの違いが最も少ないサブブロックを含む前記参照ブロックについて、選択された参照フレーム内において、特定の探索範囲内において実行され、前記選択されたブロックの相対的な位置は、前記探索において一定に維持され、
    v、前記選択されたサブブロックを使用した探索の結果として、前記最良の参照ブロックが選択されることを特徴とする方法。
  24. 前記段階vにおいて、探索によって現在の参照ブロックよりも良好なブロックが検出されるたびに、新しく検出されたブロックの位置データを多数要素を格納する循環バッファ内に書き込み、前記バッファの最後の要素が前記最良のサブブロックの位置を格納する方式によって、前記最良の参照ブロックが選択されることを特徴とする請求項23に記載の方法。
  25. 参照探索は、前記符号化対象のブロック全体を使用して実行され、前記探索は、前記最良の参照ブロックと考えられる参照ブロックの近傍において実行され、前記最終的な参照ブロックは、前記符号化対象のブロック全体を使用して実行された前記探索の結果に応じて選択されることを特徴とする請求項23または24に記載の方法。
  26. 前記符号化対象のブロックと前記参照ブロックとの絶対二乗差を評価し、前記評価された絶対二乗差に基づいて、前記参照ブロックの許容可能性に関する判定を行うことを特徴とする請求項23から25のいずれか一項に記載の方法。
  27. 前記参照ブロック探索は、フィルタ処理された参照フレーム内において実行されることを特徴とする請求項23から26のいずれか一項に記載の方法。
  28. 前記探索結果が依然として不満足である場合に、更なる参照フレーム内に配置されている探索範囲内において、参照ブロック探索を実行することを特徴とする請求項23から27のいずれか一項に記載の方法。
  29. 前記探索がすべての参照フレーム内において不成功であった場合に、前記符号化対象のブロックをサブブロックに分割し、それぞれのサブブロックごとに、一致する参照サブブロックを探索し、前記探索は、それまで最良の結果をもたらしていた参照フレーム内において最良と考えられる参照フレーム位置の近傍において実行されることを特徴とする請求項23から28のいずれか一項に記載の方法。
  30. 前記符号化対象のブロックをサブブロックに分割することにより、満足できる結果が生成されなかった場合には、他の参照フレームの最良の位置の近傍において前記参照サブブロックの探索を実行することを特徴とする請求項29に記載の方法。
  31. サブブロックが誤った状態に留まった場合には、前記誤りを有するサブブロックを更に小さなサブブロックに更に分割し、前記探索を反復することを特徴とする請求項29または30に記載の方法。
  32. 前記符号化対象のブロックを前記参照ブロックから減算し、前記差分ブロックを前記段階eにおいて符号化することを特徴とする請求項23から31のいずれか一項に記載の方法。
  33. 空間表現を周波数表現に変換する変換(DCTまたはアダマール変換)を前記差分ブロックの情報量に対して実行し、これにより、変換済みの多数要素の2次元ブロック(DCTまたはアダマール係数のマトリックス)を生成し、エントロピー符号化により、前記変換済みのブロックの情報量を符号化することを特徴とする請求項23から32のいずれか一項に記載の方法。
  34. 前記符号化プロセスにおいて、請求項1から13の中のいずれか一項に記載の方法の段階が実行されることを特徴とする請求項23から32のいずれか一項に記載の方法。
  35. デジタル的に符号化されたビデオフレームシーケンスを圧縮する方法であって、
    a、それぞれのフレームを、別個に符号化する対象であるブロックに分割する段階と、
    b、空間表現を周波数表現に変換する変換(DCT)を前記ブロックの情報量に対して実行し、これにより、変換済みのブロックを生成する段階と、
    e、最後に、エントロピー符号化により、前記変換済みのブロック内に含まれている情報を符号化し、エントロピー符号化として算術符号化を適用し、この際に、
    ・前記ビットシーケンスの連続したビットの値の関数としてインターバルの下限と上限を変更することによって、ビットシーケンスを符号化し、
    ・前記インターバルの前記限度を変更する前記関数において、前記シーケンスの既に到着しているビットの分布を考慮するような段階とを有する方法において、
    ・前記ビットシーケンスの既に到着しているビット値からアドレスを生成し、
    ・複数の処理要素を有するニューラルネットワークの個々の処理要素をアドレス指定するように前記アレドレスを適用し
    ・個々のアドレス指定処理の頻度と前記ビットシーケンスの現在到着しているビットの値を入力として使用するように、前記処理要素のパラメータを変更し、且つ、前記インターバルの前記下限および上限を変更するパラメータを判定するべく、前記ニューラルネットワークの出力を適用し、
    ・複数ビットの処理を伴う初期学習フェーズの後に、到来ビットの符号化の際に、前記インターバルの前記上限または下限を前記ニューラルネットワークの前記出力の関数として判定することを特徴とする方法。
  36. 前記符号化対象の到来ビットシーケンスをバッファに供給し、多数の更に短いビットシーケンスに分割することを特徴とする請求項35に記載の方法。
  37. 前記更に短いビットシーケンスのビットによって表されたバイナリ値をアドレスと見なすことを特徴とする請求項36に記載の方法。
  38. 前記アドレスをテーブルの行を選択するために使用し、前記テーブルは、前記符号化対象の現在のビットの可能な値の発生頻度を表す関数値と、少なくとも1つの重み関数を含んでいることを特徴とする請求項35から37のいずれか一項に記載の方法。
  39. 個々のニューロンの前記重み関数を前記符号化対象のビットの可能な値の発生頻度を表す関数値の関数として変更することを特徴とする請求項38に記載の方法。
  40. 前記アドレスの可能なアドレス範囲が、互いに結合を形成している(少なくとも部分的にオーバーラップしている)ことを特徴とする請求項35に記載の方法。
  41. 前記ニューラルネットワークの利得および学習係数を前記境界条件に応じて動的に調節することを特徴とする請求項35から40のいずれか一項に記載の方法。
  42. 符号器は、各レベルのパラメータが個別に調整可能となる異なるレベルで使用され、各レベルに割り当てられた専用パラメータによって動作するニューラルネットワークと一緒に使用されることを特徴とする請求項35から41のいずれか一項に記載の方法。
  43. 前記符号化プロセスにおいて、請求項1から34の中のいずれか一項に記載の方法の段階を実行することを特徴とする請求項35から42のいずれか一項に記載の方法。
  44. デジタル的に符号化されたビデオフレームシーケンスを圧縮する方法であって、
    a、所定のフレームを2次元ブロックに分割する段階と、
    b、空間表現を周波数表現に変換する変換(DCT)をブロックの情報量に対して実行し、これにより、変換済みの多数要素の2次元ブロック(DCT係数のマトリックス)を生成する段階と、
    c、外部境界条件に従って前記変換済みのブロックの要素を変更する段階(量子化)と、
    d、最後に、エントロピー符号化によって、変換済みのブロック内に含まれている情報を符号化する段階とを有する方法において、
    前記変換済みの多数要素の2次元ブロックのデータの変更を、前記段階cにおいて、ニューラルネットワークの出力の関数として実行することを特徴とする方法。
  45. 前記ニューラルネットワークは、バックプロパゲーションまたはカウンタープロパゲーションの構造を有しているか、または多数のニューロンから構成された単純なネットワークであり、
    ・予想された/符号化済みの長さおよび予想された/符号化済みの品質の正規化された値を入力データとして使用し、
    ・事前に受信された入力データと現在の入力データとの特定な数を時間窓(時間的スロット)内において保存し、前記時間窓(時間的スロット)内に含まれている前記データを前記ニューラルネットワークの入力ニューロンに割り当てることを特徴とする請求項44に記載の方法。
  46. 前記ニューラルネットワークの入力層内のニューロンの数は、前記時間窓内に保存されているデータ要素の数と等しいことを特徴とする請求項45に記載の方法。
  47. 前記ネットワークは、隠れ層を有することを特徴とする請求項46に記載の方法。
  48. 前記隠れ層内のニューロンの数は、前記入力層内のニューロンの数よりも大きいことを特徴とする請求項47に記載の方法。
  49. 正規化された予測された/符号化済みの長さ値と予想された/符号化済みの品質値を入力データとして適用し、
    ・既定数(N)(好ましくは、N=31またはN=63)の以前に受信された入力データ要素を前記現在の入力データと共に時間窓内に保存し、前記時間スロット内に含まれている前記データに基づいてアドレスを生成し、
    ・入力データを前記アドレス生成プロセス用の所定ビット長に丸め、
    ・ハッシュ関数によって前記時間窓のそれぞれの要素からアドレスを生成し、前記アドレスは、前記ニューラルネットワークの処理要素の中の1つに対応するテーブルの要素を指し示していることを特徴とする請求項44に記載の方法。
  50. 予測された/符号化済みの長さおよび品質データをアドレス生成のために丸める前に、そのオリジナルの形態における前記予測された/符号化済みの長さおよび品質データを利用して、前記ニューラルネットワークを事前学習されることを特徴とする請求項49に記載の方法。
  51. 前記時間窓内に含まれている前記データから、ハッシュ関数によってアドレスを生成することを特徴とする請求項49または50に記載の方法。
  52. 前記ニューラルネットワークの残りの部分から独立した2つの処理要素の入力データとして、最小および最大の許容帯域幅値を適用することを特徴とする請求項44から51のいずれか一項に記載の方法。
  53. 前記ニューラルネットワークの処理要素と2つの独立した処理要素によって生成される結果が2つの出力として出現する請求項52に記載の方法。
  54. 前記ニューラルネットワークの出力は、フレームサイズのスケーリングファクタおよび/または量子化係数であることを特徴とする請求項52に記載の方法。
  55. 前記ニューラルネットワークの出力は、フレームサイズのスケーリングファクタおよび/または量子化係数であることを特徴とする請求項52に記載の方法。
  56. 前記符号化プロセスにおいて、請求項1から43のいずれか一項に記載の方法の段階を実行する請求項44から55のいずれか一項に記載の方法。
  57. デジタルビデオデータを符号化する装置であって、請求項1から55のいずれか一項に記載の方法の段階を実行するように適合された手段を有することを特徴とする装置。
  58. 請求項1から55のいずれか一項に記載の方法の段階を実行する命令を含むソフトウェア。
  59. 請求項1から55のいずれか一項に記載の圧縮方法によって生成される符号化のシーケンス。
  60. 請求項1から55のいずれか一項に記載の圧縮方法によって生成される符号化シーケンスにより符号化されたビデオデータを復号化する方法。
JP2006530613A 2003-05-20 2004-05-20 ハイブリッドビデオ圧縮法 Pending JP2007503784A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
HU0301368A HUP0301368A3 (en) 2003-05-20 2003-05-20 Method and equipment for compressing motion picture data
PCT/HU2004/000055 WO2004104930A2 (en) 2003-05-20 2004-05-20 Hybrid video compression method

Publications (2)

Publication Number Publication Date
JP2007503784A true JP2007503784A (ja) 2007-02-22
JP2007503784A5 JP2007503784A5 (ja) 2007-07-12

Family

ID=89981373

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006530613A Pending JP2007503784A (ja) 2003-05-20 2004-05-20 ハイブリッドビデオ圧縮法

Country Status (9)

Country Link
US (1) US8086052B2 (ja)
EP (1) EP1629437A2 (ja)
JP (1) JP2007503784A (ja)
KR (1) KR20060027795A (ja)
CN (1) CN1857001B (ja)
CA (1) CA2526450A1 (ja)
HU (1) HUP0301368A3 (ja)
NO (1) NO20055660L (ja)
WO (1) WO2004104930A2 (ja)

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006014342A (ja) * 2004-06-27 2006-01-12 Apple Computer Inc ビデオ・データを符号化するための符号化タイプおよび予測モードの選択
US8228998B2 (en) 2006-10-10 2012-07-24 Nippon Telegraph And Telephone Corporation Intra prediction encoding control method and apparatus, program therefor, and storage medium which stores the program
US8254459B2 (en) 2002-07-14 2012-08-28 Apple Inc. Adaptive motion estimation
WO2012115486A2 (ko) * 2011-02-25 2012-08-30 삼성전자 주식회사 영상의 변환 방법 및 장치, 및 영상의 역변환 방법 및 장치
JP2013502144A (ja) * 2009-08-14 2013-01-17 サムスン エレクトロニクス カンパニー リミテッド ビデオ符号化方法及び装置、ビデオ復号化方法及び装置
JP2013502808A (ja) * 2009-08-17 2013-01-24 サムスン エレクトロニクス カンパニー リミテッド 映像の符号化方法及びその装置、並びに映像の復号化方法及びその装置
WO2013014693A1 (ja) 2011-07-22 2013-01-31 株式会社日立製作所 動画像復号化方法及び画像符号化方法
US8737479B2 (en) 2004-06-27 2014-05-27 Apple Inc. Encoding mode pruning during video encoding
JP2015136156A (ja) * 2009-10-23 2015-07-27 サムスン エレクトロニクス カンパニー リミテッド ビデオデータを復号化する方法及び装置
JP2015149737A (ja) * 2010-04-13 2015-08-20 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 細分割を使用した2次元情報信号の空間的なサンプリングの符号化
KR20150095479A (ko) * 2014-02-13 2015-08-21 삼성전자주식회사 영상 부호화, 복호화 방법 및 장치
JP2015180083A (ja) * 2009-08-14 2015-10-08 サムスン エレクトロニクス カンパニー リミテッド 映像復号化方法及び装置
US9247252B2 (en) 2011-01-26 2016-01-26 Hitachi, Ltd. Image decoding device
JP2016178645A (ja) * 2009-07-01 2016-10-06 トムソン ライセンシングThomson Licensing ビデオエンコーダおよびデコーダについての大きなブロックにつきイントラ予測を信号伝達する方法および装置
JP2016197906A (ja) * 2016-07-25 2016-11-24 ソニー株式会社 画像処理装置および方法、記録媒体、並びにプログラム
JP2017184273A (ja) * 2009-02-23 2017-10-05 コリア アドバンスド インスティテュート オブ サイエンス アンド テクノロジー ビデオ符号化での分割ブロック符号化方法、ビデオ復号化での分割ブロック復号化方法及びこれを実現する記録媒体
US9807427B2 (en) 2010-04-13 2017-10-31 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
JP2017212751A (ja) * 2009-07-24 2017-11-30 サムスン エレクトロニクス カンパニー リミテッド 映像の符号化方法及び装置
US20190089962A1 (en) 2010-04-13 2019-03-21 Ge Video Compression, Llc Inter-plane prediction
US10248966B2 (en) 2010-04-13 2019-04-02 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
JP2019140680A (ja) * 2018-02-09 2019-08-22 株式会社Preferred Networks オートエンコーダ装置、データ処理システム、データ処理方法及びプログラム
JP2020522153A (ja) * 2017-05-26 2020-07-27 グーグル エルエルシー ニューラルネットワークを使用するタイル型画像圧縮
JP2021520087A (ja) * 2018-04-27 2021-08-12 インターデジタル ヴイシー ホールディングス, インコーポレイテッド Cabacのニューラルネットワーク実装に基づくビデオの符号化及び復号のための方法及び機器
JP2022541215A (ja) * 2019-07-15 2022-09-22 華為技術有限公司 ウェーブレット変換に基づく画像符号化/復号方法および装置
WO2022225025A1 (ja) * 2021-04-23 2022-10-27 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 画像復号方法、画像符号化方法、画像復号装置、及び画像符号化装置

Families Citing this family (246)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4263140B2 (ja) * 2003-08-04 2009-05-13 Necエレクトロニクス株式会社 データ記録装置、データ記録方法及び記録制御プログラム
EP1605706A2 (en) * 2004-06-09 2005-12-14 Broadcom Corporation Advanced video coding (AVC) intra prediction scheme
US20050286777A1 (en) * 2004-06-27 2005-12-29 Roger Kumar Encoding and decoding images
WO2006067731A1 (en) * 2004-12-22 2006-06-29 Koninklijke Philips Electronics N.V. Video stream modifier
JP2006333436A (ja) 2005-01-07 2006-12-07 Ntt Docomo Inc 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、及び、動画像復号プログラム
US7587401B2 (en) * 2005-03-10 2009-09-08 Intel Corporation Methods and apparatus to compress datasets using proxies
US7830921B2 (en) * 2005-07-11 2010-11-09 Lg Electronics Inc. Apparatus and method of encoding and decoding audio signal
JP4839035B2 (ja) * 2005-07-22 2011-12-14 オリンパス株式会社 内視鏡用処置具および内視鏡システム
KR100750137B1 (ko) 2005-11-02 2007-08-21 삼성전자주식회사 영상의 부호화,복호화 방법 및 장치
US8780997B2 (en) * 2005-11-18 2014-07-15 Apple Inc. Regulation of decode-side processing based on perceptual masking
US20070147510A1 (en) * 2005-12-27 2007-06-28 Islam Asad Method and module for altering color space parameters of video data stream in compressed domain
US20070160134A1 (en) * 2006-01-10 2007-07-12 Segall Christopher A Methods and Systems for Filter Characterization
US8014445B2 (en) * 2006-02-24 2011-09-06 Sharp Laboratories Of America, Inc. Methods and systems for high dynamic range video coding
US8194997B2 (en) * 2006-03-24 2012-06-05 Sharp Laboratories Of America, Inc. Methods and systems for tone mapping messaging
US8532176B2 (en) * 2006-07-10 2013-09-10 Sharp Laboratories Of America, Inc. Methods and systems for combining layers in a multi-layer bitstream
US8422548B2 (en) * 2006-07-10 2013-04-16 Sharp Laboratories Of America, Inc. Methods and systems for transform selection and management
US8059714B2 (en) * 2006-07-10 2011-11-15 Sharp Laboratories Of America, Inc. Methods and systems for residual layer scaling
US7840078B2 (en) * 2006-07-10 2010-11-23 Sharp Laboratories Of America, Inc. Methods and systems for image processing control based on adjacent block characteristics
US7885471B2 (en) * 2006-07-10 2011-02-08 Sharp Laboratories Of America, Inc. Methods and systems for maintenance and use of coded block pattern information
US8130822B2 (en) * 2006-07-10 2012-03-06 Sharp Laboratories Of America, Inc. Methods and systems for conditional transform-domain residual accumulation
WO2008084817A1 (ja) * 2007-01-09 2008-07-17 Kabushiki Kaisha Toshiba 画像符号化と復号化の方法及び装置
CN101222641B (zh) * 2007-01-11 2011-08-24 华为技术有限公司 帧内预测编解码方法及其装置
US8503524B2 (en) * 2007-01-23 2013-08-06 Sharp Laboratories Of America, Inc. Methods and systems for inter-layer image prediction
US7826673B2 (en) * 2007-01-23 2010-11-02 Sharp Laboratories Of America, Inc. Methods and systems for inter-layer image prediction with color-conversion
US8233536B2 (en) * 2007-01-23 2012-07-31 Sharp Laboratories Of America, Inc. Methods and systems for multiplication-free inter-layer image prediction
US8665942B2 (en) * 2007-01-23 2014-03-04 Sharp Laboratories Of America, Inc. Methods and systems for inter-layer image prediction signaling
US7760949B2 (en) 2007-02-08 2010-07-20 Sharp Laboratories Of America, Inc. Methods and systems for coding multiple dynamic range images
US8767834B2 (en) 2007-03-09 2014-07-01 Sharp Laboratories Of America, Inc. Methods and systems for scalable-to-non-scalable bit-stream rewriting
KR101403338B1 (ko) * 2007-03-23 2014-06-09 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
KR100793285B1 (ko) * 2007-05-11 2008-01-10 주식회사 코아로직 필터 매트릭스에 의한 영상 노이즈 제거 시스템, 방법 및그 기록매체
JP5008484B2 (ja) * 2007-07-11 2012-08-22 株式会社日立国際電気 映像処理方法
US7925101B2 (en) * 2007-09-05 2011-04-12 Himax Technologies Limited Apparatus for controlling image compression
KR20100111660A (ko) * 2007-09-11 2010-10-15 알지비 라이트 리미티드 개선된 영상 압축을 위한 바이트 표현
US8228983B2 (en) * 2007-12-04 2012-07-24 Hong Kong Applied Science And Technology Research Method and device for order-16 integer transform from order-8 integer cosine transform
US20090154567A1 (en) * 2007-12-13 2009-06-18 Shaw-Min Lei In-loop fidelity enhancement for video compression
US8401071B2 (en) * 2007-12-19 2013-03-19 Sony Corporation Virtually lossless video data compression
US8175158B2 (en) * 2008-01-04 2012-05-08 Sharp Laboratories Of America, Inc. Methods and systems for inter-layer image prediction parameter determination
KR20090097013A (ko) * 2008-03-10 2009-09-15 삼성전자주식회사 영상 부호화장치 및 영상 복호화장치
US8160141B2 (en) * 2008-03-17 2012-04-17 Sony Corporation Advanced video coded pictures—reduced cost computation of an intra mode decision in the frequency domain
US8108401B2 (en) * 2008-03-28 2012-01-31 International Business Machines Corporation Applying various hash methods used in conjunction with a query with a group by clause
US7827187B2 (en) * 2008-04-04 2010-11-02 International Business Machines Corporation Frequency partitioning: entropy compression with fixed size fields
US8199823B2 (en) * 2008-04-15 2012-06-12 Sony Corporation Estimation of B frame average rate quantization parameter (QP) in a group of pictures (GOP)
US8199814B2 (en) * 2008-04-15 2012-06-12 Sony Corporation Estimation of I frame average rate quantization parameter (QP) in a group of pictures (GOP)
US8189677B2 (en) * 2008-04-15 2012-05-29 Sony Corporation Estimation of P frame average rate quantization parameter (QP) in a group of pictures (GOP)
KR101596829B1 (ko) * 2008-05-07 2016-02-23 엘지전자 주식회사 비디오 신호의 디코딩 방법 및 장치
US8761253B2 (en) * 2008-05-28 2014-06-24 Nvidia Corporation Intra prediction mode search scheme
US8099440B2 (en) 2008-08-15 2012-01-17 International Business Machines Corporation Method for laying out fields in a database in a hybrid of row-wise and column-wise ordering
US8325801B2 (en) 2008-08-15 2012-12-04 Mediatek Inc. Adaptive restoration for video coding
KR101619972B1 (ko) * 2008-10-02 2016-05-11 한국전자통신연구원 이산 여현 변환/이산 정현 변환을 선택적으로 이용하는 부호화/복호화 장치 및 방법
US8503527B2 (en) 2008-10-03 2013-08-06 Qualcomm Incorporated Video coding with large macroblocks
KR101590633B1 (ko) 2008-11-11 2016-02-02 삼성전자주식회사 슬라이스 단위로 분할된 동영상을 처리하는 동영상 부호화/복호화장치 및 동영상 부호화/복호화방법
US8831099B2 (en) 2008-12-17 2014-09-09 Nvidia Corporation Selecting a macroblock encoding mode by using raw data to compute intra cost
US20100158105A1 (en) * 2008-12-19 2010-06-24 Nvidia Corporation Post-processing encoding system and method
JP5151999B2 (ja) * 2009-01-09 2013-02-27 セイコーエプソン株式会社 画像処理装置及び画像処理方法
US9432674B2 (en) * 2009-02-02 2016-08-30 Nvidia Corporation Dual stage intra-prediction video encoding system and method
US8370326B2 (en) 2009-03-24 2013-02-05 International Business Machines Corporation System and method for parallel computation of frequency histograms on joined tables
KR101527085B1 (ko) * 2009-06-30 2015-06-10 한국전자통신연구원 인트라 부호화/복호화 방법 및 장치
JP5359657B2 (ja) * 2009-07-31 2013-12-04 ソニー株式会社 画像符号化装置および方法、記録媒体、並びにプログラム
KR101474756B1 (ko) 2009-08-13 2014-12-19 삼성전자주식회사 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
KR101452859B1 (ko) 2009-08-13 2014-10-23 삼성전자주식회사 움직임 벡터를 부호화 및 복호화하는 방법 및 장치
KR101624649B1 (ko) * 2009-08-14 2016-05-26 삼성전자주식회사 계층적인 부호화 블록 패턴 정보를 이용한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101452860B1 (ko) * 2009-08-17 2014-10-23 삼성전자주식회사 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치
KR101712097B1 (ko) * 2009-08-19 2017-03-03 삼성전자 주식회사 유연한 직교 변환에 기초한 영상 부호화, 복호화 방법 및 장치
KR101698499B1 (ko) * 2009-10-01 2017-01-23 에스케이텔레콤 주식회사 분할 레이어를 이용한 영상 부호화/복호화 방법 및 장치
KR101694399B1 (ko) * 2009-10-07 2017-01-09 에스케이 텔레콤주식회사 적응적 부호화 패턴 정보를 생성/이용하는 동영상 부호화/복호화 방법, 장치 및 기록 매체
US9565439B2 (en) * 2009-10-15 2017-02-07 Nbcuniversal Media, Llc System and method for enhancing data compression using dynamic learning and control
KR101504887B1 (ko) * 2009-10-23 2015-03-24 삼성전자 주식회사 데이터 단위 레벨의 독립적 파싱 또는 복호화에 따른 비디오 복호화 방법 및 그 장치, 그리고 데이터 단위 레벨의 독립적 파싱 또는 복호화를 위한 비디오 부호화 방법 및 그 장치
KR101452713B1 (ko) 2009-10-30 2014-10-21 삼성전자주식회사 픽처 경계의 부호화 단위를 부호화, 복호화 하는 방법 및 장치
KR101710883B1 (ko) * 2009-11-04 2017-02-28 삼성전자주식회사 필터 정보를 이용한 영상 압축 장치 및 방법과 영상 복원 장치 및 방법
JP5684823B2 (ja) * 2009-11-06 2015-03-18 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ ハイブリッド映像符号化
KR101491864B1 (ko) 2009-11-30 2015-02-11 한국전자통신연구원 엔트로피 부호화를 위한 하이브리드 예측 장치 및 그 방법
KR101484280B1 (ko) 2009-12-08 2015-01-20 삼성전자주식회사 임의적인 파티션을 이용한 움직임 예측에 따른 비디오 부호화 방법 및 장치, 임의적인 파티션을 이용한 움직임 보상에 따른 비디오 복호화 방법 및 장치
KR101674078B1 (ko) * 2009-12-16 2016-11-08 삼성전자 주식회사 블록 기반의 영상 잡음 제거 방법 및 장치
US9516335B2 (en) 2009-12-24 2016-12-06 Intel Corporation Wireless display encoder architecture
US8559519B2 (en) * 2010-01-08 2013-10-15 Blackberry Limited Method and device for video encoding using predicted residuals
US20110170608A1 (en) * 2010-01-08 2011-07-14 Xun Shi Method and device for video transcoding using quad-tree based mode selection
US8358698B2 (en) * 2010-01-08 2013-01-22 Research In Motion Limited Method and device for motion vector estimation in video transcoding using full-resolution residuals
US8315310B2 (en) * 2010-01-08 2012-11-20 Research In Motion Limited Method and device for motion vector prediction in video transcoding using full resolution residuals
US8340188B2 (en) * 2010-01-08 2012-12-25 Research In Motion Limited Method and device for motion vector estimation in video transcoding using union of search areas
CN102792691B (zh) * 2010-01-12 2016-07-06 Lg电子株式会社 视频信号的处理方法和设备
KR101675118B1 (ko) * 2010-01-14 2016-11-10 삼성전자 주식회사 스킵 및 분할 순서를 고려한 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
KR101487687B1 (ko) * 2010-01-14 2015-01-29 삼성전자주식회사 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
KR101457396B1 (ko) * 2010-01-14 2014-11-03 삼성전자주식회사 디블로킹 필터링을 이용한 비디오 부호화 방법과 그 장치, 및 디블로킹 필터링을 이용한 비디오 복호화 방법 및 그 장치
KR101703327B1 (ko) * 2010-01-14 2017-02-06 삼성전자 주식회사 계층적 데이터 단위의 패턴 정보를 이용하는 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
CN105472394B (zh) 2010-01-15 2018-11-30 三星电子株式会社 用于预测编码的使用可变分区的视频编码的方法和设备以及用于预测编码的使用可变分区的视频解码的方法和设备
CN106454380B (zh) * 2010-01-15 2019-04-05 三星电子株式会社 对视频进行解码的方法
US9100649B2 (en) 2010-02-10 2015-08-04 Lg Electronics Inc. Method and apparatus for processing a video signal
KR101750046B1 (ko) * 2010-04-05 2017-06-22 삼성전자주식회사 트리 구조에 따른 부호화 단위에 기반한 인루프 필터링을 수반하는 비디오 부호화 방법과 그 장치 및 복호화 방법과 그 장치
WO2011126283A2 (en) * 2010-04-05 2011-10-13 Samsung Electronics Co., Ltd. Method and apparatus for encoding video based on internal bit depth increment, and method and apparatus for decoding video based on internal bit depth increment
KR101682147B1 (ko) 2010-04-05 2016-12-05 삼성전자주식회사 변환 및 역변환에 기초한 보간 방법 및 장치
WO2011126282A2 (en) 2010-04-05 2011-10-13 Samsung Electronics Co., Ltd. Method and apparatus for encoding video by using transformation index, and method and apparatus for decoding video by using transformation index
WO2011126277A2 (en) 2010-04-05 2011-10-13 Samsung Electronics Co., Ltd. Low complexity entropy-encoding/decoding method and apparatus
CN106162178B (zh) * 2010-04-13 2019-08-13 三星电子株式会社 执行去块滤波的对视频进行解码的设备
AU2015202094B2 (en) * 2010-04-13 2016-11-17 Samsung Electronics Co., Ltd. Video-encoding method and video-encoding apparatus based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus based on encoding units determined in accordance with a tree structure
US8837592B2 (en) * 2010-04-14 2014-09-16 Mediatek Inc. Method for performing local motion vector derivation during video coding of a coding unit, and associated apparatus
US8638863B1 (en) 2010-05-18 2014-01-28 Google Inc. Apparatus and method for filtering video using extended edge-detection
JP2012019490A (ja) * 2010-07-09 2012-01-26 Sony Corp 画像処理装置及び画像処理方法
RU2607254C2 (ru) * 2010-08-17 2017-01-10 Самсунг Электроникс Ко., Лтд. Способ и устройство кодирования видео, использующие блок преобразования переменной древовидной структуры, и способ и устройство декодирования видео
WO2012034231A1 (en) * 2010-09-14 2012-03-22 Research In Motion Limited Methods and devices for data compression with adaptive filtering in the transform domain
US9159112B2 (en) * 2010-09-16 2015-10-13 Hewlett-Packard Development Company, L.P. Digital watermarking using saturation patterns
KR101719448B1 (ko) 2010-09-27 2017-03-23 엘지전자 주식회사 블록 분할 방법 및 복호화 장치
EP3404918A1 (en) 2010-09-30 2018-11-21 Samsung Electronics Co., Ltd. Video decoding method for decoding hierarchical-structure symbols
US9532059B2 (en) 2010-10-05 2016-12-27 Google Technology Holdings LLC Method and apparatus for spatial scalability for video coding
US8442988B2 (en) 2010-11-04 2013-05-14 International Business Machines Corporation Adaptive cell-specific dictionaries for frequency-partitioned multi-dimensional data
EP2654301A4 (en) * 2010-12-14 2016-02-17 M&K Holdings Inc METHOD FOR INTER-PREDICTIVE DECODING OF ENCODED FILMS
KR101506446B1 (ko) 2010-12-15 2015-04-08 에스케이 텔레콤주식회사 움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
CN102547268B (zh) * 2010-12-30 2014-12-10 深圳华强数码电影有限公司 一种流媒体播放方法及播放设备
EP2663075B1 (en) 2011-01-06 2020-05-06 Samsung Electronics Co., Ltd Encoding method and device of video using data unit of hierarchical structure, and decoding method and device thereof
US20120176536A1 (en) * 2011-01-12 2012-07-12 Avi Levy Adaptive Frame Rate Conversion
US9210442B2 (en) 2011-01-12 2015-12-08 Google Technology Holdings LLC Efficient transform unit representation
BR122015017257B1 (pt) 2011-01-13 2022-08-02 Nec Corporation Dispositivo de codificação de vídeo, dispositivo de decodificação de vídeo, método de codificação de vídeo e método de decodificação de vídeo
US9380319B2 (en) * 2011-02-04 2016-06-28 Google Technology Holdings LLC Implicit transform unit representation
US9848197B2 (en) 2011-03-10 2017-12-19 Qualcomm Incorporated Transforms in video coding
US8754929B1 (en) * 2011-05-23 2014-06-17 John Prince Real time vergence control for 3D video capture and display
US8989256B2 (en) 2011-05-25 2015-03-24 Google Inc. Method and apparatus for using segmentation-based coding of prediction information
EP2721816A4 (en) * 2011-06-16 2015-03-18 Freescale Semiconductor Inc METHOD AND DEVICE FOR ENCODING AND DECODING AN IMAGE
US8837582B2 (en) 2011-06-22 2014-09-16 Blackberry Limited Compressing image data
US8768082B2 (en) 2011-06-22 2014-07-01 Blackberry Limited Compressing image data
US9800870B2 (en) * 2011-09-16 2017-10-24 Qualcomm Incorporated Line buffer reduction for short distance intra-prediction
US9398300B2 (en) 2011-10-07 2016-07-19 Texas Instruments Incorporated Method, system and apparatus for intra-prediction in video signal processing using combinable blocks
CN103108177B (zh) * 2011-11-09 2016-11-23 华为技术有限公司 图像编码方法及图像编码装置
US9247257B1 (en) 2011-11-30 2016-01-26 Google Inc. Segmentation based entropy encoding and decoding
CN103139558B (zh) * 2011-11-30 2016-08-03 联芯科技有限公司 视频解码器的dc/ac系数预测方法及视频解码器
US9762904B2 (en) 2011-12-22 2017-09-12 Qualcomm Incorporated Performing motion vector prediction for video coding
US9094681B1 (en) 2012-02-28 2015-07-28 Google Inc. Adaptive segmentation
US9300984B1 (en) 2012-04-18 2016-03-29 Matrox Graphics Inc. Independent processing of data streams in codec
US10003802B1 (en) 2012-04-18 2018-06-19 Matrox Graphics Inc. Motion-based adaptive quantization
US10003803B1 (en) 2012-04-18 2018-06-19 Matrox Graphics Inc. Motion-based adaptive quantization
US8396127B1 (en) * 2012-06-27 2013-03-12 Google Inc. Segmentation for video coding using predictive benefit
EP2873236B1 (en) * 2012-07-10 2020-10-07 Cisco Technology, Inc. Decoded picture buffer size management
US9332276B1 (en) 2012-08-09 2016-05-03 Google Inc. Variable-sized super block based direct prediction mode
US9380298B1 (en) 2012-08-10 2016-06-28 Google Inc. Object-based intra-prediction
US10333547B2 (en) 2012-08-13 2019-06-25 Gurologic Microsystems Oy Encoder and method for encoding input data using a plurality of different transformations or combinations of transformations
US8675731B2 (en) * 2012-08-13 2014-03-18 Gurulogic Microsystems Oy Encoder and method
JP2014082541A (ja) * 2012-10-12 2014-05-08 National Institute Of Information & Communication Technology 互いに類似した情報を含む複数画像のデータサイズを低減する方法、プログラムおよび装置
WO2014078068A1 (en) 2012-11-13 2014-05-22 Intel Corporation Content adaptive transform coding for next generation video
TW201419862A (zh) * 2012-11-13 2014-05-16 Hon Hai Prec Ind Co Ltd 影像切割系統及方法
US9219915B1 (en) 2013-01-17 2015-12-22 Google Inc. Selection of transform size in video coding
EP2952003B1 (en) 2013-01-30 2019-07-17 Intel Corporation Content adaptive partitioning for prediction and coding for next generation video
US9544597B1 (en) 2013-02-11 2017-01-10 Google Inc. Hybrid transform in video encoding and decoding
US9967559B1 (en) 2013-02-11 2018-05-08 Google Llc Motion vector dependent spatial transformation in video coding
US9794375B2 (en) * 2013-03-14 2017-10-17 Openwave Mobility, Inc. Method, apparatus, and non-transitory computer medium for obtaining a required frame size for a compressed data frame
KR101454642B1 (ko) * 2013-04-02 2014-10-27 삼성전자주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101464980B1 (ko) * 2013-04-02 2014-11-25 삼성전자주식회사 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
KR101452862B1 (ko) * 2013-04-02 2014-10-23 삼성전자주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101464979B1 (ko) * 2013-04-02 2014-11-25 삼성전자주식회사 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
AU2014202288B2 (en) * 2013-04-29 2017-10-05 Everi Technology Pty Ltd Gaming machine and method employing video compression
KR101454664B1 (ko) * 2013-04-30 2014-10-28 삼성전자주식회사 움직임 벡터를 복호화하는 방법
US9674530B1 (en) 2013-04-30 2017-06-06 Google Inc. Hybrid transforms in video coding
CN105684409B (zh) 2013-10-25 2019-08-13 微软技术许可有限责任公司 在视频和图像编码和解码中使用散列值来表示各块
KR20160075705A (ko) 2013-10-25 2016-06-29 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 비디오 및 이미지 코딩에서의 해시 기반 블록 매칭
US9973780B2 (en) 2013-10-31 2018-05-15 Microsoft Technology Licensing, Llc Scaled video for pseudo-analog transmission in spatial domain
KR101789954B1 (ko) * 2013-12-27 2017-10-25 인텔 코포레이션 차세대 비디오 코딩을 위한 콘텐츠 적응적 이득 보상된 예측
CN105393537B (zh) 2014-03-04 2019-08-27 微软技术许可有限责任公司 用于基于散列的块匹配的散列表构建和可用性检查
EP3114841B1 (en) 2014-03-04 2020-06-10 Microsoft Technology Licensing, LLC Encoder-side decisions for block flipping and skip mode in intra block copy prediction
KR102201027B1 (ko) * 2014-03-24 2021-01-11 돌비 인터네셔널 에이비 고차 앰비소닉스 신호에 동적 범위 압축을 적용하는 방법 및 디바이스
KR101540684B1 (ko) * 2014-05-07 2015-07-31 삼성전자주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101601008B1 (ko) * 2014-05-07 2016-03-08 삼성전자주식회사 데이터 단위 레벨의 독립적 파싱 또는 복호화에 따른 비디오 복호화 방법 및 그 장치, 그리고 데이터 단위 레벨의 독립적 파싱 또는 복호화를 위한 비디오 부호화 방법 및 그 장치
KR101636459B1 (ko) * 2014-05-07 2016-07-06 삼성전자주식회사 임의적인 파티션을 이용한 움직임 예측에 따른 비디오 부호화 방법 및 장치, 임의적인 파티션을 이용한 움직임 보상에 따른 비디오 복호화 방법 및 장치
KR101538920B1 (ko) * 2014-05-07 2015-07-24 삼성전자주식회사 계층적 부호화 단위의 크기에 따른 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
US10681372B2 (en) * 2014-06-23 2020-06-09 Microsoft Technology Licensing, Llc Encoder decisions based on results of hash-based block matching
CN105338352B (zh) * 2014-07-24 2019-04-19 华为技术有限公司 一种视频编码中自适应反量化方法及装置
CN104123375B (zh) * 2014-07-28 2018-01-23 清华大学 数据搜索方法及系统
KR101643621B1 (ko) * 2014-08-05 2016-08-10 삼성전자주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
MX2017004210A (es) * 2014-09-30 2017-11-15 Microsoft Technology Licensing Llc Decisiones de codificador basadas en hash para codificar video.
KR101538921B1 (ko) * 2014-10-29 2015-07-24 삼성전자주식회사 계층적 부호화 단위의 크기에 따른 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
KR101564944B1 (ko) * 2014-10-29 2015-11-02 삼성전자주식회사 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
KR101677275B1 (ko) * 2014-10-29 2016-11-17 삼성전자주식회사 임의적인 파티션을 이용한 움직임 예측에 따른 비디오 부호화 방법 및 장치, 임의적인 파티션을 이용한 움직임 보상에 따른 비디오 복호화 방법 및 장치
KR101607310B1 (ko) 2014-10-29 2016-03-29 삼성전자주식회사 계층적 부호화 단위의 스캔 순서를 고려한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101644092B1 (ko) * 2014-10-29 2016-07-29 삼성전자주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101601014B1 (ko) * 2014-10-29 2016-03-08 삼성전자주식회사 데이터 단위 레벨의 독립적 파싱 또는 복호화에 따른 비디오 복호화 방법 및 그 장치, 그리고 데이터 단위 레벨의 독립적 파싱 또는 복호화를 위한 비디오 부호화 방법 및 그 장치
US9565451B1 (en) 2014-10-31 2017-02-07 Google Inc. Prediction dependent transform coding
KR101677276B1 (ko) * 2015-01-19 2016-11-17 삼성전자주식회사 임의적인 파티션을 이용한 움직임 예측에 따른 비디오 부호화 방법 및 장치, 임의적인 파티션을 이용한 움직임 보상에 따른 비디오 복호화 방법 및 장치
CN104780379B (zh) * 2015-01-21 2018-03-09 北京工业大学 一种屏幕图像集合的压缩方法
US10516882B2 (en) 2015-01-29 2019-12-24 Vid Scale, Inc. Intra-block copy searching
KR101687283B1 (ko) * 2015-04-13 2016-12-28 삼성전자주식회사 계층적 부호화 단위의 크기에 따른 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
KR101662743B1 (ko) * 2015-04-13 2016-10-14 삼성전자주식회사 계층적 부호화 단위의 크기에 따른 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
KR101634253B1 (ko) * 2015-04-13 2016-06-28 삼성전자주식회사 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
KR101662742B1 (ko) * 2015-04-13 2016-10-05 삼성전자주식회사 계층적 부호화 단위의 크기에 따른 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
KR101601017B1 (ko) * 2015-04-21 2016-03-08 삼성전자주식회사 데이터 단위 레벨의 독립적 파싱 또는 복호화에 따른 비디오 복호화 방법 및 그 장치, 그리고 데이터 단위 레벨의 독립적 파싱 또는 복호화를 위한 비디오 부호화 방법 및 그 장치
KR101601016B1 (ko) * 2015-04-21 2016-03-08 삼성전자주식회사 데이터 단위 레벨의 독립적 파싱 또는 복호화에 따른 비디오 복호화 방법 및 그 장치, 그리고 데이터 단위 레벨의 독립적 파싱 또는 복호화를 위한 비디오 부호화 방법 및 그 장치
WO2016199330A1 (ja) * 2015-06-12 2016-12-15 パナソニックIpマネジメント株式会社 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置
US9769499B2 (en) 2015-08-11 2017-09-19 Google Inc. Super-transform video coding
US10277905B2 (en) 2015-09-14 2019-04-30 Google Llc Transform selection for non-baseband signal coding
WO2017088093A1 (en) * 2015-11-23 2017-06-01 Mediatek Singapore Pte. Ltd. On the smallest allowed block size in video coding
US9807423B1 (en) 2015-11-24 2017-10-31 Google Inc. Hybrid transform scheme for video coding
JP6721977B2 (ja) * 2015-12-15 2020-07-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 音声音響信号符号化装置、音声音響信号復号装置、音声音響信号符号化方法、及び、音声音響信号復号方法
CN105916022A (zh) * 2015-12-28 2016-08-31 乐视致新电子科技(天津)有限公司 一种基于虚拟现实技术的视频图像处理方法及装置
US10499056B2 (en) * 2016-03-09 2019-12-03 Sony Corporation System and method for video processing based on quantization parameter
US9946956B2 (en) * 2016-06-15 2018-04-17 Qualcomm Incorporated Differential image processing
KR101720195B1 (ko) * 2016-06-22 2017-03-27 삼성전자주식회사 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
JP6261020B2 (ja) 2016-06-28 2018-01-17 株式会社Nexpoint 画面画像転送方法及び画面画像復元方法
US10390039B2 (en) 2016-08-31 2019-08-20 Microsoft Technology Licensing, Llc Motion estimation for screen remoting scenarios
RU2642402C1 (ru) * 2016-10-07 2018-01-24 Общество с ограниченной ответственностью "СТРИМ Лабс" (ООО "СТРИМ Лабс") Способ выявления повторяющихся кадров видео
CN110168650A (zh) * 2016-10-12 2019-08-23 汉诺威戈特弗里德威廉莱布尼茨大学 用于编码和解码数据结构的质量值的方法
US11095877B2 (en) 2016-11-30 2021-08-17 Microsoft Technology Licensing, Llc Local hash-based motion estimation for screen remoting scenarios
CN107046646B (zh) * 2016-12-30 2020-05-22 上海寒武纪信息科技有限公司 基于深度自动编码器的视频编解码装置及方法
US10694181B2 (en) * 2017-01-27 2020-06-23 Qualcomm Incorporated Bilateral filters in video coding with reduced complexity
CN106713929B (zh) * 2017-02-16 2019-06-28 清华大学深圳研究生院 一种基于深度神经网络的视频帧间预测增强方法
WO2018152760A1 (en) * 2017-02-24 2018-08-30 Realnetworks, Inc. Motion vector selection and prediction in video coding systems and methods
US10360695B1 (en) 2017-06-01 2019-07-23 Matrox Graphics Inc. Method and an apparatus for enabling ultra-low latency compression of a stream of pictures
TWI675335B (zh) 2017-06-09 2019-10-21 宏達國際電子股份有限公司 訓練任務優化系統、訓練任務優化方法及其非暫態電腦可讀媒體
KR102401851B1 (ko) * 2017-06-14 2022-05-26 삼성디스플레이 주식회사 영상 압축 방법 및 이를 수행하는 표시 장치
TWI761552B (zh) * 2017-07-13 2022-04-21 美商松下電器(美國)知識產權公司 編碼裝置、編碼方法、解碼裝置及解碼方法
TWI777907B (zh) * 2017-07-13 2022-09-11 美商松下電器(美國)知識產權公司 編碼裝置、編碼方法、解碼裝置、解碼方法及電腦可讀取之非暫時性媒體
KR101886259B1 (ko) * 2017-07-19 2018-08-08 삼성전자주식회사 영상 부호화 방법 및 장치, 및 부호화된 비트스트림을 포함하는 기록 매체
US10614613B2 (en) * 2017-07-28 2020-04-07 Nvidia Corporation Reducing noise during rendering by performing parallel path space filtering utilizing hashing
KR101867597B1 (ko) * 2017-09-22 2018-06-14 삼성전자주식회사 임의적인 파티션을 이용한 움직임 예측에 따른 비디오 부호화 방법 및 장치, 임의적인 파티션을 이용한 움직임 보상에 따른 비디오 복호화 방법 및 장치
EP3685577A4 (en) * 2017-10-12 2021-07-28 MediaTek Inc. METHOD AND DEVICE OF A NEURAL NETWORK FOR VIDEO ENCODING
US11195096B2 (en) * 2017-10-24 2021-12-07 International Business Machines Corporation Facilitating neural network efficiency
KR102589303B1 (ko) 2017-11-02 2023-10-24 삼성전자주식회사 고정 소수점 타입의 뉴럴 네트워크를 생성하는 방법 및 장치
US11907835B2 (en) * 2017-11-26 2024-02-20 Yeda Research And Development Co. Ltd. Signal enhancement and manipulation using a signal-specific deep network
CN108289224B (zh) * 2017-12-12 2019-10-29 北京大学 一种视频帧预测方法、装置及自动补偿神经网络
CN108174225B (zh) * 2018-01-11 2021-03-26 上海交通大学 基于对抗生成网络的视频编解码环路内滤波实现方法及系统
US10559093B2 (en) * 2018-01-13 2020-02-11 Arm Limited Selecting encoding options
CN110062246B (zh) * 2018-01-19 2021-01-05 杭州海康威视数字技术股份有限公司 对视频帧数据进行处理的方法和装置
CN108174218B (zh) * 2018-01-23 2020-02-07 中国科学技术大学 基于学习的视频编解码系统
KR101943991B1 (ko) * 2018-03-05 2019-01-30 삼성전자주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
US10972738B2 (en) * 2018-03-29 2021-04-06 Mediatek Inc. Video encoding apparatus having reconstruction buffer with fixed size and/or bandwidth limitation and associated video encoding method
KR102688439B1 (ko) * 2018-05-09 2024-07-26 삼성전자주식회사 전자 장치 및 그 제어 방법
KR102006804B1 (ko) * 2018-06-07 2019-08-02 삼성전자주식회사 임의적인 파티션을 이용한 움직임 예측에 따른 비디오 부호화 방법 및 장치, 임의적인 파티션을 이용한 움직임 보상에 따른 비디오 복호화 방법 및 장치
KR101989160B1 (ko) * 2018-08-01 2019-06-13 삼성전자주식회사 영상 부호화 방법 및 장치
CN109033439B (zh) * 2018-08-15 2019-11-19 中科驭数(北京)科技有限公司 流式数据的处理方法和装置
US12050461B2 (en) * 2018-09-07 2024-07-30 DoorDash, Inc. Video system with frame synthesis
CN109495750A (zh) * 2018-10-26 2019-03-19 西安科锐盛创新科技有限公司 基于四叉树的带宽压缩预测方法
US11562046B2 (en) 2018-11-26 2023-01-24 Samsung Electronics Co., Ltd. Neural network processor using dyadic weight matrix and operation method thereof
KR20200082227A (ko) * 2018-12-28 2020-07-08 한국전자통신연구원 오디오 신호를 위한 손실 함수 결정 방법 및 손실 함수 결정 장치
WO2020165493A1 (en) * 2019-02-15 2020-08-20 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
WO2020175938A1 (ko) * 2019-02-28 2020-09-03 주식회사 엑스리스 영상 신호 부호화/복호화 방법 및 이를 위한 장치
US11122297B2 (en) 2019-05-03 2021-09-14 Google Llc Using border-aligned block functions for image compression
KR20200129957A (ko) 2019-05-10 2020-11-18 삼성전자주식회사 피처맵 데이터에 대한 압축을 수행하는 뉴럴 네트워크 프로세서 및 이를 포함하는 컴퓨팅 시스템
KR20200139909A (ko) 2019-06-05 2020-12-15 삼성전자주식회사 전자 장치 및 그의 연산 수행 방법
CN113038134B (zh) * 2019-12-25 2023-08-01 武汉Tcl集团工业研究院有限公司 一种图片处理方法、智能终端及存储介质
US11403782B2 (en) * 2019-12-31 2022-08-02 Alibaba Group Holding Limited Static channel filtering in frequency domain
US11470327B2 (en) 2020-03-30 2022-10-11 Alibaba Group Holding Limited Scene aware video content encoding
US11792408B2 (en) 2020-03-30 2023-10-17 Alibaba Group Holding Limited Transcoder target bitrate prediction techniques
US11386873B2 (en) 2020-04-01 2022-07-12 Alibaba Group Holding Limited Method and apparatus for efficient application screen compression
US11323732B2 (en) 2020-04-13 2022-05-03 Tencent America LLC Method and apparatus for video coding
KR20210136476A (ko) 2020-05-07 2021-11-17 삼성전자주식회사 쿼드 트리 방법의 파라미터들을 이용하여 압축하는 장치 및 방법
US11205077B1 (en) * 2020-05-29 2021-12-21 Arm Limited Operating on a video frame to generate a feature map of a neural network
US11202085B1 (en) 2020-06-12 2021-12-14 Microsoft Technology Licensing, Llc Low-cost hash table construction and hash-based block matching for variable-size blocks
CN112351252B (zh) * 2020-10-27 2023-10-20 重庆中星微人工智能芯片技术有限公司 监控视频编解码装置
US12047575B2 (en) * 2020-12-03 2024-07-23 Intel Corporation Methods, apparatus, and articles of manufacture for multi-symbol equiprobable mode entropy coding
CN113781588A (zh) * 2021-07-01 2021-12-10 杭州未名信科科技有限公司 一种基于神经网络的帧内编码单元尺寸划分方法
GB2609218B (en) * 2021-07-22 2023-08-30 Imagination Tech Ltd Coding blocks of pixels
CN114786011B (zh) * 2022-06-22 2022-11-15 苏州浪潮智能科技有限公司 一种jpeg图像压缩的方法、系统、设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07177391A (ja) * 1993-12-20 1995-07-14 Matsushita Electric Ind Co Ltd 雑音除去装置
JPH08294001A (ja) * 1995-04-20 1996-11-05 Seiko Epson Corp 画像処理方法および画像処理装置
JP2001054119A (ja) * 1996-05-28 2001-02-23 Matsushita Electric Ind Co Ltd 画像予測符号化方法
WO2001056298A1 (en) * 2000-01-28 2001-08-02 Qualcomm Incorporated Quality based image compression

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6529634B1 (en) * 1999-11-08 2003-03-04 Qualcomm, Inc. Contrast sensitive variance based adaptive block size DCT image compression
EP1246469A3 (fr) * 2001-03-27 2005-04-13 Koninklijke Philips Electronics N.V. Procédé de réduction de format et de décodage similtanés de signaux vidéo codés
JP4193406B2 (ja) * 2002-04-16 2008-12-10 三菱電機株式会社 映像データ変換装置および映像データ変換方法
US7330509B2 (en) * 2003-09-12 2008-02-12 International Business Machines Corporation Method for video transcoding with adaptive frame rate control

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07177391A (ja) * 1993-12-20 1995-07-14 Matsushita Electric Ind Co Ltd 雑音除去装置
JPH08294001A (ja) * 1995-04-20 1996-11-05 Seiko Epson Corp 画像処理方法および画像処理装置
JP2001054119A (ja) * 1996-05-28 2001-02-23 Matsushita Electric Ind Co Ltd 画像予測符号化方法
WO2001056298A1 (en) * 2000-01-28 2001-08-02 Qualcomm Incorporated Quality based image compression

Cited By (127)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8254459B2 (en) 2002-07-14 2012-08-28 Apple Inc. Adaptive motion estimation
US8472516B2 (en) 2004-06-27 2013-06-25 Apple Inc. Selecting encoding types and predictive modes for encoding video data
JP2006014342A (ja) * 2004-06-27 2006-01-12 Apple Computer Inc ビデオ・データを符号化するための符号化タイプおよび予測モードの選択
JP2014161094A (ja) * 2004-06-27 2014-09-04 Apple Inc ビデオ・データを符号化するための符号化タイプおよび予測モードの選択
US8737479B2 (en) 2004-06-27 2014-05-27 Apple Inc. Encoding mode pruning during video encoding
US8228998B2 (en) 2006-10-10 2012-07-24 Nippon Telegraph And Telephone Corporation Intra prediction encoding control method and apparatus, program therefor, and storage medium which stores the program
JP2017201792A (ja) * 2009-02-23 2017-11-09 コリア アドバンスド インスティテュート オブ サイエンス アンド テクノロジー ビデオ符号化での分割ブロック符号化方法、ビデオ復号化での分割ブロック復号化方法及びこれを実現する記録媒体
JP2017184274A (ja) * 2009-02-23 2017-10-05 コリア アドバンスド インスティテュート オブ サイエンス アンド テクノロジー ビデオ符号化での分割ブロック符号化方法、ビデオ復号化での分割ブロック復号化方法及びこれを実現する記録媒体
JP2017184273A (ja) * 2009-02-23 2017-10-05 コリア アドバンスド インスティテュート オブ サイエンス アンド テクノロジー ビデオ符号化での分割ブロック符号化方法、ビデオ復号化での分割ブロック復号化方法及びこれを実現する記録媒体
US11082697B2 (en) 2009-07-01 2021-08-03 Interdigital Vc Holdings, Inc. Methods and apparatus for signaling intra prediction for large blocks for video encoders and decoders
US11936876B2 (en) 2009-07-01 2024-03-19 Interdigital Vc Holdings, Inc. Methods and apparatus for signaling intra prediction for large blocks for video encoders and decoders
US12120307B2 (en) 2009-07-01 2024-10-15 Interdigital Vc Holdings, Inc. Methods and apparatus for signaling intra prediction for large blocks for video encoders and decoders
JP2016178645A (ja) * 2009-07-01 2016-10-06 トムソン ライセンシングThomson Licensing ビデオエンコーダおよびデコーダについての大きなブロックにつきイントラ予測を信号伝達する方法および装置
JP2017212751A (ja) * 2009-07-24 2017-11-30 サムスン エレクトロニクス カンパニー リミテッド 映像の符号化方法及び装置
US8842734B2 (en) 2009-08-14 2014-09-23 Samsung Electronics Co., Ltd. Method and apparatus for encoding video, and method and apparatus for decoding video
US9374579B2 (en) 2009-08-14 2016-06-21 Samsung Electronics Co., Ltd. Method and apparatus for encoding video, and method and apparatus for decoding video
US9313490B2 (en) 2009-08-14 2016-04-12 Samsung Electronics Co., Ltd. Method and apparatus for encoding video, and method and apparatus for decoding video
US9313489B2 (en) 2009-08-14 2016-04-12 Samsung Electronics Co., Ltd. Method and apparatus for encoding video, and method and apparatus for decoding video
US9307238B2 (en) 2009-08-14 2016-04-05 Samsung Electronics Co., Ltd. Method and apparatus for encoding video, and method and apparatus for decoding video
US8953682B2 (en) 2009-08-14 2015-02-10 Samsung Electronics Co., Ltd. Method and apparatus for encoding video, and method and apparatus for decoding video
JP2015180084A (ja) * 2009-08-14 2015-10-08 サムスン エレクトロニクス カンパニー リミテッド 映像復号化方法及び装置
JP2015180083A (ja) * 2009-08-14 2015-10-08 サムスン エレクトロニクス カンパニー リミテッド 映像復号化方法及び装置
JP2015164358A (ja) * 2009-08-14 2015-09-10 サムスン エレクトロニクス カンパニー リミテッド ビデオ復号化方法及び装置
JP2013502144A (ja) * 2009-08-14 2013-01-17 サムスン エレクトロニクス カンパニー リミテッド ビデオ符号化方法及び装置、ビデオ復号化方法及び装置
US9036703B2 (en) 2009-08-17 2015-05-19 Samsung Electronics Co., Ltd. Method and apparatus for encoding video, and method and apparatus for decoding video
US9071839B2 (en) 2009-08-17 2015-06-30 Samsung Electronics Co., Ltd. Method and apparatus for encoding video, and method and apparatus for decoding video
US9374591B2 (en) 2009-08-17 2016-06-21 Samsung Electronics Co., Ltd. Method and apparatus for encoding video, and method and apparatus for decoding video
US9049458B2 (en) 2009-08-17 2015-06-02 Samsung Electronics Co., Ltd. Method and apparatus for encoding video, and method and apparatus for decoding video
US8989266B2 (en) 2009-08-17 2015-03-24 Samsung Electronics Co., Ltd. Method and apparatus for encoding video, and method and apparatus for decoding video
JP2013502808A (ja) * 2009-08-17 2013-01-24 サムスン エレクトロニクス カンパニー リミテッド 映像の符号化方法及びその装置、並びに映像の復号化方法及びその装置
JP2015144471A (ja) * 2009-10-23 2015-08-06 サムスン エレクトロニクス カンパニー リミテッド ビデオデータを復号化する方法及び装置
JP2015144469A (ja) * 2009-10-23 2015-08-06 サムスン エレクトロニクス カンパニー リミテッド ビデオデータを復号化する方法及び装置
JP2015144470A (ja) * 2009-10-23 2015-08-06 サムスン エレクトロニクス カンパニー リミテッド ビデオデータを復号化する方法及び装置
JP2015144472A (ja) * 2009-10-23 2015-08-06 サムスン エレクトロニクス カンパニー リミテッド 映像復号化方法及び映像復号化装置
JP2015136156A (ja) * 2009-10-23 2015-07-27 サムスン エレクトロニクス カンパニー リミテッド ビデオデータを復号化する方法及び装置
US9414055B2 (en) 2009-10-23 2016-08-09 Samsung Electronics Co., Ltd. Method and apparatus for encoding video and method and apparatus for decoding video, based on hierarchical structure of coding unit
US10672028B2 (en) 2010-04-13 2020-06-02 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US10855995B2 (en) 2010-04-13 2020-12-01 Ge Video Compression, Llc Inter-plane prediction
US20170134761A1 (en) 2010-04-13 2017-05-11 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US9591335B2 (en) 2010-04-13 2017-03-07 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US12120316B2 (en) 2010-04-13 2024-10-15 Ge Video Compression, Llc Inter-plane prediction
US9807427B2 (en) 2010-04-13 2017-10-31 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US12010353B2 (en) 2010-04-13 2024-06-11 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US11983737B2 (en) 2010-04-13 2024-05-14 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US10003828B2 (en) 2010-04-13 2018-06-19 Ge Video Compression, Llc Inheritance in sample array multitree division
US10038920B2 (en) 2010-04-13 2018-07-31 Ge Video Compression, Llc Multitree subdivision and inheritance of coding parameters in a coding block
US10051291B2 (en) 2010-04-13 2018-08-14 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US20180324466A1 (en) 2010-04-13 2018-11-08 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US20190089962A1 (en) 2010-04-13 2019-03-21 Ge Video Compression, Llc Inter-plane prediction
US10250913B2 (en) 2010-04-13 2019-04-02 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US10248966B2 (en) 2010-04-13 2019-04-02 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US20190164188A1 (en) 2010-04-13 2019-05-30 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US20190174148A1 (en) 2010-04-13 2019-06-06 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US20190197579A1 (en) 2010-04-13 2019-06-27 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US11910030B2 (en) 2010-04-13 2024-02-20 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US10432978B2 (en) 2010-04-13 2019-10-01 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US10432979B2 (en) 2010-04-13 2019-10-01 Ge Video Compression Llc Inheritance in sample array multitree subdivision
US10432980B2 (en) 2010-04-13 2019-10-01 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US10440400B2 (en) 2010-04-13 2019-10-08 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US10448060B2 (en) 2010-04-13 2019-10-15 Ge Video Compression, Llc Multitree subdivision and inheritance of coding parameters in a coding block
US10460344B2 (en) 2010-04-13 2019-10-29 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US10621614B2 (en) 2010-04-13 2020-04-14 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
JP2015149737A (ja) * 2010-04-13 2015-08-20 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 細分割を使用した2次元情報信号の空間的なサンプリングの符号化
US10681390B2 (en) 2010-04-13 2020-06-09 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US10687085B2 (en) 2010-04-13 2020-06-16 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US10687086B2 (en) 2010-04-13 2020-06-16 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US10694218B2 (en) 2010-04-13 2020-06-23 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US10708629B2 (en) 2010-04-13 2020-07-07 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US10708628B2 (en) 2010-04-13 2020-07-07 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US10721495B2 (en) 2010-04-13 2020-07-21 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US10721496B2 (en) 2010-04-13 2020-07-21 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US10719850B2 (en) 2010-04-13 2020-07-21 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US11910029B2 (en) 2010-04-13 2024-02-20 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division preliminary class
US10748183B2 (en) 2010-04-13 2020-08-18 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US10764608B2 (en) 2010-04-13 2020-09-01 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US10771822B2 (en) 2010-04-13 2020-09-08 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US10803485B2 (en) 2010-04-13 2020-10-13 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US10803483B2 (en) 2010-04-13 2020-10-13 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US10805645B2 (en) 2010-04-13 2020-10-13 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US10848767B2 (en) 2010-04-13 2020-11-24 Ge Video Compression, Llc Inter-plane prediction
US10856013B2 (en) 2010-04-13 2020-12-01 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US9596488B2 (en) 2010-04-13 2017-03-14 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US10855990B2 (en) 2010-04-13 2020-12-01 Ge Video Compression, Llc Inter-plane prediction
US10855991B2 (en) 2010-04-13 2020-12-01 Ge Video Compression, Llc Inter-plane prediction
US11900415B2 (en) 2010-04-13 2024-02-13 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US10863208B2 (en) 2010-04-13 2020-12-08 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US10873749B2 (en) 2010-04-13 2020-12-22 Ge Video Compression, Llc Inter-plane reuse of coding parameters
US10880580B2 (en) 2010-04-13 2020-12-29 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US10880581B2 (en) 2010-04-13 2020-12-29 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US10893301B2 (en) 2010-04-13 2021-01-12 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US11037194B2 (en) 2010-04-13 2021-06-15 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US11051047B2 (en) 2010-04-13 2021-06-29 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US20210211743A1 (en) 2010-04-13 2021-07-08 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US11856240B1 (en) 2010-04-13 2023-12-26 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US11087355B2 (en) 2010-04-13 2021-08-10 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US11810019B2 (en) 2010-04-13 2023-11-07 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US11102518B2 (en) 2010-04-13 2021-08-24 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US11785264B2 (en) 2010-04-13 2023-10-10 Ge Video Compression, Llc Multitree subdivision and inheritance of coding parameters in a coding block
US11778241B2 (en) 2010-04-13 2023-10-03 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US11765362B2 (en) 2010-04-13 2023-09-19 Ge Video Compression, Llc Inter-plane prediction
US11765363B2 (en) 2010-04-13 2023-09-19 Ge Video Compression, Llc Inter-plane reuse of coding parameters
US11546642B2 (en) 2010-04-13 2023-01-03 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US11546641B2 (en) 2010-04-13 2023-01-03 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US11553212B2 (en) 2010-04-13 2023-01-10 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US11736738B2 (en) 2010-04-13 2023-08-22 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using subdivision
US11734714B2 (en) 2010-04-13 2023-08-22 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US11611761B2 (en) 2010-04-13 2023-03-21 Ge Video Compression, Llc Inter-plane reuse of coding parameters
US9247252B2 (en) 2011-01-26 2016-01-26 Hitachi, Ltd. Image decoding device
WO2012115486A2 (ko) * 2011-02-25 2012-08-30 삼성전자 주식회사 영상의 변환 방법 및 장치, 및 영상의 역변환 방법 및 장치
WO2012115486A3 (ko) * 2011-02-25 2012-11-15 삼성전자 주식회사 영상의 변환 방법 및 장치, 및 영상의 역변환 방법 및 장치
WO2013014693A1 (ja) 2011-07-22 2013-01-31 株式会社日立製作所 動画像復号化方法及び画像符号化方法
KR20150095479A (ko) * 2014-02-13 2015-08-21 삼성전자주식회사 영상 부호화, 복호화 방법 및 장치
KR102185857B1 (ko) * 2014-02-13 2020-12-02 삼성전자주식회사 영상 부호화, 복호화 방법 및 장치
JP2016197906A (ja) * 2016-07-25 2016-11-24 ソニー株式会社 画像処理装置および方法、記録媒体、並びにプログラム
JP7225333B2 (ja) 2017-05-26 2023-02-20 グーグル エルエルシー ニューラルネットワークを使用するタイル型画像圧縮
JP2021192525A (ja) * 2017-05-26 2021-12-16 グーグル エルエルシーGoogle LLC ニューラルネットワークを使用するタイル型画像圧縮
US11250595B2 (en) 2017-05-26 2022-02-15 Google Llc Tiled image compression using neural networks
JP2020522153A (ja) * 2017-05-26 2020-07-27 グーグル エルエルシー ニューラルネットワークを使用するタイル型画像圧縮
US11902369B2 (en) 2018-02-09 2024-02-13 Preferred Networks, Inc. Autoencoder, data processing system, data processing method and non-transitory computer readable medium
JP2019140680A (ja) * 2018-02-09 2019-08-22 株式会社Preferred Networks オートエンコーダ装置、データ処理システム、データ処理方法及びプログラム
JP7236873B2 (ja) 2018-02-09 2023-03-10 株式会社Preferred Networks オートエンコーダ装置、データ処理システム、データ処理方法及びプログラム
JP2021520087A (ja) * 2018-04-27 2021-08-12 インターデジタル ヴイシー ホールディングス, インコーポレイテッド Cabacのニューラルネットワーク実装に基づくビデオの符号化及び復号のための方法及び機器
JP7421492B2 (ja) 2018-04-27 2024-01-24 インターデジタル ヴイシー ホールディングス, インコーポレイテッド Cabacのニューラルネットワーク実装に基づくビデオの符号化及び復号のための方法及び機器
JP7355916B2 (ja) 2019-07-15 2023-10-03 華為技術有限公司 ウェーブレット変換に基づく画像符号化/復号方法および装置
JP2022541215A (ja) * 2019-07-15 2022-09-22 華為技術有限公司 ウェーブレット変換に基づく画像符号化/復号方法および装置
WO2022225025A1 (ja) * 2021-04-23 2022-10-27 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 画像復号方法、画像符号化方法、画像復号装置、及び画像符号化装置
JP7568835B2 (ja) 2021-04-23 2024-10-16 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 画像復号方法、画像符号化方法、画像復号装置、及び画像符号化装置

Also Published As

Publication number Publication date
CN1857001B (zh) 2011-12-21
NO20055660L (no) 2005-12-16
US20060251330A1 (en) 2006-11-09
EP1629437A2 (en) 2006-03-01
US8086052B2 (en) 2011-12-27
HU0301368D0 (en) 2003-07-28
WO2004104930A2 (en) 2004-12-02
WO2004104930A3 (en) 2006-05-18
CN1857001A (zh) 2006-11-01
NO20055660D0 (no) 2005-11-30
HUP0301368A2 (hu) 2005-02-28
HUP0301368A3 (en) 2005-09-28
KR20060027795A (ko) 2006-03-28
CA2526450A1 (en) 2004-12-02

Similar Documents

Publication Publication Date Title
JP2007503784A (ja) ハイブリッドビデオ圧縮法
US11240498B2 (en) Independently coding frame areas
JP5873536B2 (ja) 動き予測検索範囲及び拡張動きベクトルの範囲の動的選択
JP4082525B2 (ja) Dct領域で効率性を改善した動き予測を実行するシステムと方法
US6876703B2 (en) Method and apparatus for video coding
JP4102841B2 (ja) ビデオ画像を処理するコンピュータ実行方法
US5786856A (en) Method for adaptive quantization by multiplication of luminance pixel blocks by a modified, frequency ordered hadamard matrix
JP4425563B2 (ja) フェーディング補償のためのパラメータ化
KR101354151B1 (ko) 영상 변환 방법 및 장치, 역변환 방법 및 장치
US6252905B1 (en) Real-time evaluation of compressed picture quality within a digital video encoder
CN1695381A (zh) 在数字视频信号的后处理中使用编码信息和局部空间特征的清晰度增强
JPH09505698A (ja) 反復誤差データコーディング方法を使用するビデオ圧縮
CN101107862A (zh) 编码装置及具备编码装置的动态图像记录系统
JP2010534015A (ja) 画像処理方法及び対応する電子装置
JP4494803B2 (ja) 動き補償に基づいた改善されたノイズ予測方法及びその装置とそれを使用した動画符号化方法及びその装置
JP2005530423A (ja) 画像鮮鋭度を符号化中に最適化する方法及びシステム
US10771820B2 (en) Image encoding method and apparatus using artifact reduction filter, and image decoding method and apparatus using artifact reduction filter
EP1720356A1 (en) A frequency selective video compression
JP4028900B2 (ja) 動画像符号化装置及び動画像復号化装置
KR100987581B1 (ko) 고속 움직임 추정을 위한 부분 블록정합 방법
KR100203695B1 (ko) 물체 기반 부호화에 있어서의 텍스쳐 분류를 위한 전처리 장치
KR0166728B1 (ko) 에지특성을 고려한 영상신호부호화장치 및 양자화레벨결정방법
JP4153774B2 (ja) 動画像符号化方法とその復号化方法、およびそれらの装置
Young Software CODEC algorithms for desktop videoconferencing
JP2004266720A (ja) 画像圧縮装置、画像圧縮方法及び画像圧縮プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070521

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070521

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100420

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100709

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100716

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110125