JP6902553B2 - データ圧縮 - Google Patents

データ圧縮 Download PDF

Info

Publication number
JP6902553B2
JP6902553B2 JP2018538957A JP2018538957A JP6902553B2 JP 6902553 B2 JP6902553 B2 JP 6902553B2 JP 2018538957 A JP2018538957 A JP 2018538957A JP 2018538957 A JP2018538957 A JP 2018538957A JP 6902553 B2 JP6902553 B2 JP 6902553B2
Authority
JP
Japan
Prior art keywords
compression
coding
array
data array
original data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018538957A
Other languages
English (en)
Other versions
JP2018537048A (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 JP2018537048A publication Critical patent/JP2018537048A/ja
Application granted granted Critical
Publication of JP6902553B2 publication Critical patent/JP6902553B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/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
    • 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/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • 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/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • 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
    • 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
    • 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/94Vector quantisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明はデジタル電子信号の形のデータエントリの配列を圧縮するための方法および装置に関する。
デジタルビデオは、時間的な順序で見られたときに動いているという印象を伝える、一連の視覚的画像またはフレームである。各フレームは、個別のピクセルからなる直交ビットマップとして符号化され、各行はフレーム幅を画定する等しい数のピクセルをもち、同様に、各列はフレーム高を画定する等しい数のピクセルをもつ。各ピクセルは色を符号化し、各ピクセルを符号化するために使用されるビットの数(ピクセル深度と呼ばれることもある)を増加させることによって、色の微妙な変異を表現することができる。よって、1つのビデオフレームを表現するために必要なビットの数は、幅×高さ×ピクセル深度である。
動いているという印象を与えるためには、これらのフレームを一定したフレームレートで素早く連続的に表示する必要があり、フレームレートは1秒当たりのフレーム数(fps)として定められる。継続した動きの印象を伝えるための最小限のビデオフレームレートは24fpsであると一般に考えられている。
未処理のデジタルビデオを送信または記憶するために必要なデータの量を考える際に、ビデオ圧縮の必要が認識されることがある。ピクセル深度が1ピクセル当たり16ビットのフルカラー高精細(1920×1080)ビデオフレームは、3300万ビットまたは4メガバイトに相当する。1秒当たり25フレームの1920×1080ビデオのデータは毎秒99メガバイトなので、1分間の高精細ビデオクリップを送信または記憶するためには、約5.8ギガバイトを必要とすることになる。これには長いダウンロード時間が伴い、また、多くのセルラー加入者では、許容されるデータ量を超えることがある。
テキストに使用される圧縮技術は、復元の際に全く同じテキストを再現する必要があるので、無損失である。それに対して、ビデオの圧縮では、元のピクセル値を再現するのではなく近似することにより、ビデオフレーム内およびフレーム間の空間的および時間的な冗長性を利用して、ビデオを送信または記憶するために必要なデータの量を大きく削減する。したがって、ビデオ圧縮の処理は損失が多く、復元されたビデオの画質(元のビデオをどれほど良く近似するか)は、圧縮率およびビデオの複雑さに依存する。
圧縮率は一般に(ソースのサイズ/圧縮後のサイズ):1として表され、サイズはビット数で測られる。ほとんどのビデオ圧縮アルゴリズムは100:1の圧縮率を容易に達成し、1分間の高精細ビデオクリップを59メガバイトにまで圧縮することができる。この圧縮は、そのビデオクリップを数時間ではなく数分間でダウンロードできることを意味する。
ビデオを圧縮する目的は、ストレージを最小化するため、送信コストを削減するため、またはライブストリーミングを可能にするためのいずれかであり、これらの目的には通常、それぞれ異なる手法が伴う。ストレージを最小化するための圧縮には、通常、ソースと圧縮されたビデオとの間に目に見える差異がほとんど、または全くなくなるように、各フレームの圧縮に許容される画質閾値を設けることが伴う。各ビデオフレームの圧縮後のサイズに関連性はなく、ビデオ圧縮プロセスは、ビデオの中で最も複雑な空間的詳細またはフレーム間の素早い動きがある部分に、より多くのビットを割り当てることができる。そのような技法は、「可変レート」と呼ばれることがあり、圧縮後のビデオのサイズはビデオの内容に依存する。
送信が伴う場合は、普通、画質ではなく、1秒当たりのビット数として定められる帯域を目標とする。これにより、圧縮後のビデオのサイズが確実に予測され、よって、帯域の利用を制御することができる。ほとんどの圧縮アルゴリズムでは、目標画質をフレームごとに調節して目標の帯域を達成する、レート制御を使用する。目標帯域に合わせるために、圧縮アルゴリズムは、画質が低下しすぎる場合にはフレームを「ドロップ」しなければならないことがある。その結果、ビデオによってキャプチャされる動きが速くなるにつれて、または複雑になるにつれてフレームレートが低下する、可変フレームレートになる。
一定したフレームレートでのリアルタイム低遅延ストリーミングは、固定レート符号化の使用によってのみ実現できる。前述の手法では、固定または可変であり得る目標画質に合わせて各ビデオフレームを圧縮するが、それとは異なり、固定レート符号化では、圧縮プロセスは、それぞれの個別のフレームに使用されるビットの数を目標とする必要がある。これにより、各フレームの圧縮後のサイズが通信チャネルの実際の容量に確実に一致し、チャネルは定められた最大帯域までのデータを送信することができる。その代わり、視覚的な画質が犠牲となり、画質はビデオシーケンスの複雑さおよびシーンの動きの量によって変動する。
固定レートのビデオ符号化を提供する1つの技法が特許文献1に記載されており、それによれば、各フレームを可変サイズのブロックの集合として近似することができ、各ブロック内のピクセルは確立された画像符号化技法を使用して、相当するソースピクセルを近似する。このアルゴリズムは、個々のブロックに対応する圧縮符号化を、結果のフレームコードが目標の圧縮フレームサイズに達するまで連続的に追加する。特許文献1では、このアルゴリズムは、ビデオフレームの復元後の表現に最も大きな改善をもたらす新しい圧縮符号化を追加する。言い換えれば、そのアルゴリズムは、最も小さい再構築誤差を呈するブロックを追加するが、これは、ソースフレームと、圧縮フレームを復号することにより生成されるフレームとの間の差異の尺度である。
国際公開第97/016026号
特許文献1の手法の1つの制限は、アルゴリズムが再構築誤差の改善のみに集中していることである。難題の1つは、最も低い再構築誤差を達成するために、ときに、比較的大きなデータサイズで符号化することが必要になることである。したがって、この圧縮アルゴリズムでは利用可能な帯域を必ずしも最も効率よく利用できるとは限らない。
特許文献1の手法のもう1つの制限は、先に選択された区域を部分的に塞ぐように、それより小さなブロックが追加される可能性があることである。これにより再構築誤差が減少する可能性はあるが、近似が最適ではなくなる可能性があるので、問題になる可能性もある。
本発明の一態様によれば、デジタル電子信号の形のデータエントリの配列を圧縮する方法であって、(a)圧縮すべき元のデータ配列を提供するステップと、(b)配列の複数の可能な圧縮符号化を決定するステップであって、各可能な圧縮符号化が、それぞれのデータサイズおよびそれぞれの再構築誤差を有する、ステップと、(c)復元されると、元のデータ配列の初期近似である参照データ配列に対応する、元のデータ配列の圧縮符号化であって、第1のデータサイズおよび、元のデータ配列と参照データ配列との間の定量的な差を表す第1の再構築誤差を有する圧縮符号化を初期化するステップと、(d)複数の圧縮符号化のうち、復元されて参照データ配列に追加されたときに、データサイズの単位増加あたりの再構築誤差の最大の相対的改善を与えるものを1つ選択するステップと、(e)選択された圧縮符号化を追加することにより元のデータ配列の圧縮符号化を更新し、選択された符号化を復元された形で追加することにより参照データ配列を更新するステップと、(f)元のデータ配列の圧縮符号化についての最大データサイズに到達するまで、ステップ(d)と(e)を再帰的に繰り返すステップと、を含む方法が提供される。
このようにして、元のデータ配列の高画質な(すなわち、再構築誤差値が低い)復元表現と、圧縮データ配列の小さなデータサイズへの、競合する要望のバランスをとる効率的な圧縮技法が提供される。これは、データサイズの単位増加あたりの再構築誤差の相対的改善が最大になる圧縮符号化を追加することによって圧縮表現を繰り返し更新することにより実現される。これにより、最大データサイズに到達するまで、圧縮表現のデータサーズが漸増し、再構築誤差が漸減する。この技法により、最適の再構築誤差をもつ圧縮表現を、特定の予定データサイズの範囲内で作成することが可能になる。
この技法は特に、さまざまな帯域のチャネルにわたるライブビデオの圧縮で有用である。この技法によって、チャネル帯域の制約の範囲内で、最小の再構築誤差をもつ最適な圧縮ができるようになる。よって、利用可能な帯域を最大限に活用することにより、ライブビデオを最小の遅延で送信することができる。
部分的な閉塞に関連する難題もまた克服される。本発明の方法では、先に選択された区域は、それより小さなブロックによって完全に塞がれる場合にのみ置き換えられる。これにより、符号化の最適化が改善される可能性がある。
好ましくは、元のデータ配列は、1つまたは複数のサイズのブロックに分割され、各ブロックについて少なくとも1つの可能な圧縮符号化が決定される。このようにして、元の配列のさまざまな区画に圧縮符号化が提供されてもよい。さまざまな区画の圧縮符号化を結合することによって、基本配列の完全な圧縮表現が形成されてもよい。一般に、ブロックのサイズが大きい方が小さいデータサイズで符号化できるが、再構築誤差は大きくなる。よって、元のデータ配列を徐々に粒度の大きくなる複数の層(すなわち、サイズが徐々に小さくなるブロック)に分割すると有利である。このようにして、圧縮表現のデータサイズが大きくなるにつれて再構築誤差が小さくなる、有効な繰り返しを実現することができる。
好ましくは、それぞれのブロックについて、複数の圧縮技法を使用して、複数の可能な圧縮符号化が決定される。あるブロックの最適の圧縮技法は、一般に、ブロック内のデータの属性に依存する。圧縮技法の複数の候補を提供することにより、基本のデータを圧縮するための最も効果的な技法(すなわち、最適のデータサイズおよび再構築誤差でデータを圧縮することのできる技法)を選択することが可能になる。ビデオの符号化では、例えば、ビデオフレームのシーケンス間の時間的に冗長な情報を除去する圧縮技法として、動きの推定が使用されてもよい。動きの推定は、連続するフレーム間に著しい類似性を発生させる動きが存在するビデオフレームには効果的な圧縮技法であり得る。別の例では、多数の「ゼロ」データエントリの中に非ゼロ値が散在するビデオフレームには、ランレングス符号化が効果的である。複数の技法を使用して圧縮符号化を決定することにより、最も効率的な圧縮符号化(すなわち、復元されて参照データ配列に追加されたときに、データサイズの単位増加あたりの再構築誤差の相対的改善が最大になる圧縮符号化)を選択するための柔軟性が、この方法に得られる。
ビデオコーティングのための圧縮技法の候補の非制限的な例には、動きの推定、変換符号化、ベクトル量子化、および残差符号化がある。
配列の複数の可能な圧縮符号化は、好ましくは、さまざまな領域の符号化をさまざまな形で結合できるように、複数の順列を含む。符号化のいずれの有効な組み合わせも、好ましくは、基本配列の全域またはすべての要素をカバーするべきである。
配列の複数の可能な圧縮符号化は、好ましくは、データサイズが増加し、かつ、再構築誤差が減少するシーケンスで提供されることのできる圧縮符号化のみを含む。よって、データサイズが増大しても再構築誤差が減少しない圧縮符号化があれば、それを除外することが可能である。このようにして、選択候補のリストから多数の次善の符号化を除外することが可能である。これにより処理時間を大幅に削減し、リアルタイム圧縮を促進することができる。これは、遅延を最小化することが重要な、ライブビデオの適用例で特に有用である。
この方法は、同じデータサイズを有する圧縮符号化を特定し、それら特定された圧縮符号化のうち、より大きな再構築誤差を有するものを除外する、配列の複数の可能な圧縮符号化について重複排除を行うステップを含んでもよい。加えて、配列の複数の可能な圧縮符号化は、好ましくは、元の配列のデータサイズよりも小さいデータサイズを有するリストに提供できる圧縮符号化のみを含む。
本発明の別の態様によれば、あるチャネルを介してビデオデータを送信するように構成されたビデオエンコーダであって、エンコーダは、調節可能な圧縮因子を使用してビデオデータを圧縮するように構成されたコンプレッサと、構築されたデータパケットをチャネルを介して送信するように構成された送信機と、を含み、コンプレッサは、
(a)圧縮すべき元のデータ配列を受け取り、
(b)それぞれの可能な圧縮符号化がそれぞれのデータサイズおよびそれぞれの再構築誤差を有する、配列の複数の可能な圧縮符号化を決定し、
(c)復元されると元のデータ配列の初期近似である参照データ配列に対応する、元のデータ配列の初期圧縮符号化であって、第1のデータサイズおよび、元のデータ配列と参照データ配列の間の定量的な差異を表す第1の再構築誤差をもつ初期圧縮符号化を提供し、
(d)複数の圧縮符号化のうち、復元されて参照データ配列に追加されたときに、データサイズの単位増加あたりの再構築誤差の最大の相対的改善を与えるものを1つ選択し、
(e)選択された圧縮符号化を追加することにより元のデータ配列の初期圧縮符号化を更新し、選択された符号化を復元された形で追加することにより参照データ配列を更新し、
(f)元のデータ配列の圧縮符号化について最大データサイズに到達するまで、ステップ(d)と(e)を再帰的に繰り返す、
ように構成される、ビデオエンコーダが提供される。
本発明のさらに別の態様によれば、コンピュータプログラムが格納された非一時的コンピュータ可読記憶媒体であって、コンピュータプログラムが、実行されると、装置に、
(a)圧縮すべき元のデータ配列を提供することと、
(b)配列の複数の可能な圧縮符号化を決定することであって、各可能な圧縮符号化が、それぞれのデータサイズおよびそれぞれの再構築誤差を有する、決定することと、
(c)復元されると、元のデータ配列の初期近似である参照データ配列に対応する、元のデータ配列の圧縮符号化であって、第1のデータサイズおよび、元のデータ配列と参照データ配列との間の定量的な差を表す第1の再構築誤差を有する圧縮符号化を初期化することと、
(d)複数の圧縮符号化のうち、復元されて参照データ配列に追加されたときに、データサイズの単位増加あたりの再構築誤差の最大の相対的改善を与えるものを1つ選択することと、
(e)選択された圧縮符号化を追加することにより元のデータ配列の圧縮符号化を更新し、選択された符号化を復元された形で追加することにより参照データ配列を更新することと、
(f)元のデータ配列の圧縮符号化について最大データサイズに到達するまで、ステップ(d)と(e)を再帰的に繰り返すことと、
を含む動作を行うよう命じるプロセッサ可読命令を含む、
非一時的コンピュータ可読記憶媒体が提供される。
本発明の別の態様によれば、デジタル電子信号の形のデータエントリの配列を圧縮する方法であって、
(a)圧縮すべき元のデータ配列を提供するステップと、
(b)元のデータ配列を1つまたは複数のサイズのブロックに分割するステップと、
(c)配列の各ブロックについての複数の可能な圧縮符号化を、ブロックの各符号化にそれぞれ異なる圧縮技法を使用して決定するステップであって、各可能な圧縮符号化が、それぞれのデータサイズおよびそれぞれの再構築誤差を有する、ステップと、
(d)復元されると、元のデータ配列の初期近似である参照データ配列に対応する、元のデータ配列の圧縮符号化であって、第1のデータサイズおよび、元のデータ配列と参照データ配列との間の定量的な差を表す第1の再構築誤差を有する圧縮符号化を初期化するステップと、
(e)複数の圧縮符号化のリストを作成し、リストから複数の圧縮符号化のうち、復元されて参照データ配列に追加されたときに、データサイズの単位増加あたりの再構築誤差の最大の相対的改善を与えるものを1つ選択するステップと、
(f)選択された圧縮符号化を追加することにより元のデータ配列の圧縮符号化を更新し、選択された符号化を復元された形で追加することにより参照データ配列を更新するステップと、
(g)元のデータ配列の圧縮符号化について最大データサイズに到達するまで、ステップ(e)と(f)を再帰的に繰り返すステップと、
を含むが提供される。
複数の圧縮符号化のリストを作成するステップは、各ブロックについての可能な符号化をデータサイズの増大についてランク付けし、任意の所与のブロックについての可能な圧縮符号化のうち、データサイズの増加に対してそのブロックについての再構築誤差の減少をもたらさないものをリストから除外するステップを含んでもよい。
複数の圧縮符号化のうち1つを選択するステップは、それより前の繰り返しで第1の符号化が前もって選択されているブロックに関して第2の符号化を選択することを含んでもよい。
圧縮符号化を更新するステップは、第1の符号化に加えて第2の符号化を使用することを含んでもよい。
圧縮符号化を更新するステップは、第1の符号化に代えて第2の符号化を使用することを含んでもよい。
元のデータ配列は、まず複数のマクロブロックに分割され、次いで、各マクロブロック内でブロックに分割されてもよい。
複数の圧縮符号化のリストは、それぞれのマクロブロック全体についてと同様に、それぞれのマクロブロック内のブロックについての符号化を含んでもよい。
複数の圧縮符号化のリストを生成するステップは、それぞれのマクロブロックについて複数のマクロブロック圧縮符号化を決定することであって、各マクロブロック符号化はそれぞれのマクロブロック内のブロックについての圧縮符号化の集合を含み、複数の圧縮符号化のうちの1つを選択するステップは、マクロブロック圧縮符号化のうち1つを選択することを含んでもよい。
本発明の別の態様によれば、あるチャネルを介してビデオデータを送信するように構成されたビデオエンコーダであって、このエンコーダは、調節可能な圧縮因子を使用してビデオデータを圧縮するように構成されたコンプレッサと、構築されたデータパケットをチャネルを介して送信するように構成された送信機と、を含み、コンプレッサは、
(a)圧縮すべき元のデータ配列を受け取り、
(b)元のデータ配列を1つまたは複数のサイズのブロックに分割し、
(c)それぞれの可能な圧縮符号化がそれぞれのデータサイズおよびそれぞれの再構築誤差を有する、配列の各ブロックについての複数の可能な圧縮符号化を、ブロックの各符号化についてそれぞれ異なる圧縮技法を使用して決定し、
(d)復元されると、元のデータ配列の初期近似である参照データ配列に対応する、元のデータ配列の圧縮符号化であって、第1のデータサイズおよび、元のデータ配列と参照データ配列との間の定量的な差を表す第1の再構築誤差を有する圧縮符号化を初期化し、
(e)複数の圧縮符号化のリストを作成し、リストから複数の圧縮符号化のうち、復元されて参照データ配列に追加されたときに、データサイズの単位増加あたりの再構築誤差の最大の相対的改善を与えるものを1つ選択し、
(f)選択された圧縮符号化を追加することにより元のデータ配列の圧縮符号化を更新し、選択された符号化を復元された形で追加することにより参照データ配列を更新し、
(g)元のデータ配列の圧縮符号化について最大データサイズに到達するまで、ステップ(e)と(f)を再帰的に繰り返す、ように構成される、ビデオエンコーダが提供される。
別の態様によれば、コンピュータプログラムが格納された非一時的コンピュータ可読記憶媒体であって、そのコンピュータプログラムが、実行されると、装置に、
(a)圧縮すべき元のデータ配列を提供することと、
(b)元のデータ配列を1つまたは複数のサイズのブロックに分割することと、
(c)配列の各ブロックについての複数の可能な圧縮符号化を、ブロックの各符号化にそれぞれ異なる圧縮技法を使用して決定することであって、各可能な圧縮符号化が、それぞれのデータサイズおよびそれぞれの再構築誤差を有する、決定することと、
(d)復元されると、元のデータ配列の初期近似である参照データ配列に対応する、元のデータ配列の圧縮符号化であって、第1のデータサイズおよび、元のデータ配列と参照データ配列との間の定量的な差を表す第1の再構築誤差を有する圧縮符号化を初期化することと、
(e)複数の圧縮符号化のリストを作成し、リストから複数の圧縮符号化のうち、復元されて参照データ配列に追加されたときに、データサイズの単位増加あたりの再構築誤差の最大の相対的改善を与えるものを1つ選択することと、
(f)選択された圧縮符号化を追加することにより元のデータ配列の圧縮符号化を更新し、選択された符号化を復元された形で追加することにより参照データ配列を更新することと、
(g)元のデータ配列の圧縮符号化について最大データサイズに到達するまで、ステップ(e)と(f)を再帰的に繰り返すことと、
を含む動作を行うよう命じるプロセッサ可読命令を含む、
非一時的コンピュータ可読記憶媒体が提供される。
方法の特徴は、対応する装置の特徴として提供されてもよく、また、その逆も成り立つ。
一般に本発明の上記の態様のそれぞれに従う任意選択の特徴が本発明の他の態様のそれぞれに関して任意選択の特徴として等しく適用可能であり、それぞれの態様に必要な表現の変更に合わせて書き直されることがあることに留意されたい。単に簡略にするために、それぞれの態様に合わせてそのような任意選択の特徴のすべては書き直されないことに留意されたい。
次に、本発明の実施形態について、添付図面を参照しながら、単に例として説明する。
本発明の一実施形態における送信システムの概略図である。 本発明の一実施形態における、あるマクロブロックの、階層的下位分割の候補を示す図である。 マクロブロックコーディングの作成に使用するための領域の組み合わせの候補を示す図である。 本発明の一実施形態で使用するための方法ステップを示すフロー線図である。
図1は、それぞれのセルラートランシーバ6、8をもつ、ビデオエンコーダ2およびサーバ4を含む、送信システムの概略図である。エンコーダ2は、ビデオデータ、タイムクリティカルなデータ、および非タイムクリティカルなデータを、セルラーリンクを介してサーバ4に送信するように動作可能である。サーバ4は、タイムクリティカルなデータおよび非タイムクリティカルなデータをエンコーダ2にセルラーリンクを介して送信するように動作可能である。
サーバ4は、インターネットなどの従来型のネットワーク24を介してユーザデバイス22に接続されている。サーバ4とユーザデバイス22の間には、低帯域チャネルを含む、ある数の代替的なコネクションが使用されてもよい。サーバ4は、エンコーダ2から受け取ったビデオおよび/または他のデータを、インターネットを介してユーザデバイス22に中継するように構成される。一般に、サーバ4とユーザデバイス22の間には、サーバ4とエンコーダ2の間のセルラーリンクで実現できるよりも容量の高いコネクションが提供される。
ビデオカメラ10は、あるシーンからビデオをキャプチャしてエンコーダ2内のコンプレッサ16に提供するように構成される。コンプレッサ16は、所定のデータサイズの圧縮ビデオフレームを作成するために、調節可能な圧縮因子を使用してビデオフレームを圧縮するように動作可能である。マルチプレクサ18は、ビデオコンプレッサ16から圧縮ビデオを受け取り、また、CPU14からタイムクリティカルおよび非タイムクリティカルなデータを受け取る。これらのデータは1つのチャネルに多重化され、セルラーリンクを介してサーバ4に送信される。コンプレッサ16は、専用ハードウェアとして、またはプロセッサ上で実行するコンピュータプログラムとして実装されてもよい。
エンコーダは帯域モニタ20を含み、このモニタは、チャネル内で送信されるデータパケットの挙動を監視するように構成される。帯域モニタ20はさらに、ビデオコンプレッサ16に指示して、チャネル内の状況の変化に応答して調節可能な圧縮因子を変更するように動作可能である。調節可能な圧縮因子を計算するための技法が、同時係属中の英国特許出願第1502434.2号に記載されている。各ビデオフレームについて、そのビデオフレームの圧縮表現のデータサイズが予測可能になるように、調節可能な圧縮因子が計算される。
動作において、コンプレッサ16は、圧縮されていないビデオフレームをカメラ10から受け取る。コンプレッサ16は受け取ったフレームを複数のマクロブロックに区切り、このマクロブロックが符号化の基本単位として使用される。ビデオフレームは、互いに重複しないマクロブロックに区切られ、各マクロブロックは、独自のピクセル要素の配列を符号化する。マクロブロックはどのようなサイズおよび形状でもよいが、通常は正方形である。
一般に、マクロブロックのサイズが小さいほど、より小さな再構築誤差が達成される。しかし、ビデオフレームの圧縮表現のデータサイズは一般に、マクロブロックのサイズが小さいほど大きくなる。フレーム内の分割の唯一のレベルがマクロブロックであるなら、マクロブロックの選択されたサイズ、圧縮表現のデータサイズ、および結果のビデオ画質または再構築誤差の間にはトレードオフが生じることになる。この理由から、高い圧縮率と、各マクロブロックによって表現されるピクセル詳細の複雑さに見合う再構築画質との間のトレードオフをサポートするために、マクロブロックの分割が使用される。
図2に、マクロブロック分割の一例を示す。この例では、レベル4はフルサイズのマクロブロックを表す。他のレベルは、上位のレベルを水平または垂直に分割し続けることによって作成され、レベル0のブロックは、それぞれが、N×Mピクセルの元のマクロブロックからの、N/4×M/4ピクセルの近似を与える。この例では分割は4レベルだが、ピクセル数の分数表現が成り立つならば、どのような数のレベルでも使用可能であることに留意されたい。
各マクロブロックの、ビデオ圧縮に使用される実際の分割は、通常、近似されるピクセル詳細の複雑さに基づき、ブロックのどのような組み合わせの圧縮符号化でも、基本のピクセルを表現するために使用することができる。図3は、有効なマクロブロック分割の4つの例を示す。これらの例のそれぞれで、分割されたブロックのそれぞれに対して圧縮符号化が計算され、それらを加え合わせて、マクロブロックの圧縮表現であるマクロブロックコーディング(MBC)が作成される。良い圧縮アルゴリズムでは、ピクセル詳細が単純な領域(低頻度の面)には大きなブロックを使用し、複雑なピクセル詳細を表現する領域(高頻度のエッジまたはテクスチャ)には小さなブロックを使用する。
マクロブロックコーディング(MBC)は、元のソースピクセルを圧縮した表現を提供し、それには、マクロブロック内のある個数の考え得る区画が寄与する。元のソースピクセルに対するMBCの近似の画質は、ソースピクセルと、復元されたMBCの相当するピクセル近似との間の差異の合計に基づく再構築誤差によって定量化される。
ビデオ圧縮に使用される一般的な再構築誤差の尺度に累積絶対誤差(SAD)があり、
Figure 0006902553

と計算され、ここでS(i,j)は、マクロブロック内のオフセットi,jでのソースピクセル値で、A(i,j)は、ピクセルサイズN×MのMBCの適用に基づく、オフセットi,jでの再構築ピクセル値である。
マクロブロック分割を使用するビデオ圧縮には、サブブロックのサイズに基づく圧縮率と再構築画質の間のトレードオフとして、最適の分割方法を決定するという課題がある。各サブブロックによって表現されるソースピクセルを近似するために複数の技法が利用可能なときには、この課題がさらに困難になる。
課題の難しさの度合いは、マクロブロックコーディング順列の候補の個数を考慮するときに認識され得る。図2に示すマクロブロックの分割では、マクロブロックのそれぞれのサブブロックによって表現されるピクセルを近似するために、T個の別々のブロック符号化技法を使用できる。符号化技法の3つの例として、動き補償、変換符号化、ベクトル量子化があるが、ビデオ圧縮の当業者は、他の多くの技法を容易に思いつくだろう。
・レベル0では、各ブロックにはコード候補がT個あり、それぞれが、所与のビットコストに対して異なる再構築誤差を呈する。
・レベル1では、水平または垂直の各ブロックについてT個のコード候補から選択できるのに加え、各ブロックを、それぞれがコード候補をT個もつ、2つのレベル0ブロックに下位分割することも選択できる。これにより、レベル1の各ブロックについてT+T個の符号化順列が得られる。
・レベル2では、レベル2の各ブロックについてT個のコード候補を選択でき、または、レベル2の各ブロックをそれぞれ2つの水平または垂直のレベル1ブロックに下位分割し、それらのレベル1ブロックをさらにレベル0ブロックに下位分割することを選択できる。これにより、レベル2の各ブロックについてT+2T+4T+T個の符号化順列が得られる。
この論理に従えば、T個の別々のブロック符号化技術がある場合の、図2に示したフルマクロブロックに対するユニークな符号化順列の総数は、
T+2T+4T(T+2T+4T+T)+(T+2T+4T+T
となる。
T=4の場合は、ユニークな符号化順列の数は、約9×1010個である。本発明の方法において、目的は、これらの9×1010個の符号化順列のうち少なくともいくつかを決定し、それらを、調節可能な圧縮因子に従って、そのビデオフレームに対して指定されたデータサイズに達するまで、繰り返し加えることである。
図4は、ビデオフレームの符号化に利用できる繰り返し技法を示すフローチャートである。ステップ40で、コンプレッサ16がカメラ10からビデオフレームを受け取る。ステップ42で、ビデオフレームが複数のマクロブロックに分割され、ステップ42では通常、各フレームについて約1000個のマクロブロックが作成される。ステップ44で、図2を参照しながら上記で説明したように、各マクロブロックがさらに複数の領域に分割される。図2に示す例では、1つのマクロブロックを分割するとき、作成され得る領域の数は41で、この数はレベル0から3までのすべての区画にフルマクロブロック(レベル4)を加えることによって決まる。ステップ46で、この41個の領域のそれぞれについて、4つの圧縮技法またはアルゴリズムを使用して4つの圧縮符号化が計算される。ステップ46の出力は、164個の圧縮符号化である。
考察したように、これらの164個の圧縮符号化は、非常に多くの形に組み合わせることができる。ステップ48で、コンプレッサ16が、ある個数の異なる順列について、再構築誤差と共にデータサイズを計算する。次に、これらの順列をフィルタリングおよびソートし、データサイズの増大と再構築誤差の減少に関して高評価のもののみを残しておくことができる。
実際には9×1010個の符号化順列をすべて計算してソートすること、および、圧縮されたデータをリアルタイムで送信することは、実現不可能なこともある。したがって、ステップ48での計算の回数を削減するために、後に考察するように、いくつかの技法が利用されてもよい。
ステップ50で、コンプレッサ16が、そのビデオフレームについての初期圧縮符号化を決定する。初期圧縮符号化は各マクロブロックの圧縮符号化を含み、これによりフレーム全体の圧縮表現が決定される。初期圧縮符号化を得るために各マクロブロックについて選択される符号化は、再構築誤差に関わりなく、最も小さいデータサイズのものである。これにより得られる初期圧縮表現は、考え得る最も小さいデータサイズをもつが、復元されたときに元のビデオフレームへの近似の質が低くなることがある。
ステップ52で、コンプレッサ16が、初期圧縮符号化に加えるために、ステップ48で計算された圧縮符号化の1つを、フレーム内のすべてのマクロブロックにわたり選択する。選択される圧縮符号化は、データサイズの単位増加あたりの再構築誤差の相対的な改善が最大になるものである。これにより、小さなデータサイズの圧縮符号化への要求を考量しながら再構築誤差を改善するための効率的な機構が得られることが分かっている。
ビットあたりの相対的改善(RIPB)は、ステップ52で、
Figure 0006902553

と計算され、ここで、rは初期圧縮符号化に加えられる新しい圧縮符号化で更新されたビデオフレームの再構築誤差、rn−1は前回の繰り返しの圧縮符号化の再構築誤差(最初の繰り返しでは、これは初期圧縮符号化の再構築誤差に相当する)、bは新しい圧縮符号化が初期圧縮符号化に加えられたときのビットコストまたはデータサイズ、bn−1は圧縮符号化の前回の繰り返しのビットコストである。
よって、ステップ52で、ビデオフレームの圧縮表現を更新するために使用される可能性のある複数の可能な符号化について、RIPBが計算される。ステップ52で、1つの圧縮符号化が選択され、これは最も高いRIPBを呈する圧縮符号化である。
ステップ54で、ステップ52で選択された圧縮符号化を加えることにより、初期圧縮符号化が更新される。この更新された圧縮符号化は、データサイズが増大するにつれて再構築誤差が改善される。
ステップ56で、コンプレッサ16は、更新された圧縮符号化のサイズが調節可能な圧縮因子に関連するデータバジェットよりも小さいか、分析する。分析の答えが「Yes」であれば、データバジェット内でさらに再構築誤差を減少させることが可能なことがある。したがって、ステップ52と54が反復して繰り返される。このようにして、データサイズの単位面積あたりの再構築誤差の相対的改善が最大になる圧縮符号化を1つずつ追加することにより、再構築誤差が徐々に減少し、圧縮符号化のデータサイズが徐々に増大する。この繰り返しが、更新された圧縮符号化のデータサイズがデータバジェットに等しくなるまで続く。別の構成では、更新によって圧縮符号化のサイズがバジェットを超えて増大する場合は、ステップ54で圧縮符号化は更新されない。この時点でプロセスは終了し、調節可能な圧縮因子によって決定されるデータバジェット以下のデータサイズをもつ、ビデオフレームの圧縮表現が出力となる。次に、ビデオフレームの圧縮表現をマルチプレクサ18によって他のデータと結合し、可変帯域チャネルを介してサーバ4に送信することができる。
ステップ52での繰り返しの間に続いて選択される符号化の相互の違いがサブブロックを表現するために使用される圧縮技法のみである場合があることに留意されたい。よって、それぞれのブロック近似技法で、データサイズが大きくなるという犠牲を払えば、再構築誤差をさらに減少させる方法を提供することができる。これにより、再構築誤差は大きいがビットコストが非常に小さい技法を使ってプロセスを開始し、圧縮プロセスの中で、後に、代わりのブロック符号化と置き換えることができる。
考察したように、ステップ48で、あるビデオフレームについてすべての符号化順列の候補を計算してソーティングすること、さらに、圧縮データをリアルタイム送信することは、実現可能でないことがある。これは、符号化順列の候補のリストをデータサイズの増大と再構築誤差の減少に関して並べ替えられるようにフィルタリング可能であること認識することにより、部分的に達成することができる。よりデータサイズの小さい別の符号化の選択肢と比較して再構築誤差を改善することができないのなら、圧縮符号化の選択肢を計算することに利点はない。
一例では、図2のレベル2区画は、1つのマクロブロック内に4つの領域を含む。これらの4つの領域のそれぞれは、4つの圧縮アルゴリズムを使用して符号化することができる。よって、基本データの可能な符号化は16個あり、それぞれの領域に対して4個である。各符号化には、それに関連するデータサイズおよび再構築誤差がある。よって、各領域に対する4つの符号化を、データサイズの昇順にランク付けすることができる。次に、データサイズの増大に伴って再構築誤差の減少をもたらすことができない符号化があれば、それを除外することができる。これらの符号化を削除できるのは、それらがステップ52で余剰な選択内容になるからである。これらの符号化が選択される見込みはなく、それよりも大きなRIPBをもたらす、代わりの符号化(別の圧縮アルゴリズムにより作られる)が存在するので、これらのコードが最大のRIPBを呈することはできない。そのような符号化を特定して除外することにより、除外された符号化を含む順列が自動的に排除されるので、順列の総数を激減させることが可能になる。
加えて、圧縮を達成するためには、圧縮表現のデータサイズが元の配列よりも小さくなければならない。よって、符号化順列の集合の濃度に上限を設けることができ、このことは、その符号化順列をさらなる考察の対象から除外することを意味する。
これらの技法を使用することにより、ステップ48での計算の回数を大幅に減少させることが可能である。考察したように、図2の様式で下位分割された1000個のマクロブロックについて4つの圧縮アルゴリズムの候補を使用できるとすれば、ステップ48で計算する符号化順列の数は、およそ9×1010となる。この数は、前述した技法を使用して、およそ1000にまで減少させることができる。よって、すべての可能な圧縮符号化を導出する必要なく、最良の可能な圧縮符号化を導出することが可能である。
これらの技法はさらに、所定のビット数へのビデオフレームの圧縮もまたサポートする。これにより、ビデオフレームのシーケンスを、フレームサイズおよびソースフレームの内容に関わりなく一定したビットレートに圧縮することができる。これにより、低帯域または可変帯域の通信チャネルを介した低遅延のビデオ送信が可能になる。よって、この技法は、特定の帯域制限内で最適の再構築誤差のビデオフレームを送信するために理想的である。
単一のマクロブロックにより表現されるフレームについては、目標のビット数への圧縮は、まず、この順序付けされたMBCの最適集合を決定し、次に、フレームの圧縮の目標よりも多くのビットを送信する必要のあるエントリが抽出されるまで、各MBCを順次抽出することによって達成される。この例でマクロブロックのピクセルを近似するために使用されるMBCは、順序付けされた集合から最後に抽出される、フレームビットコスト目標以下のビットコストをもつMBCである。複数のマクロブロックによって表現されるフレームについては、すべてのマクロブロックに対するMBCが、ビットあたりの相対的改善およびビットコストの増大によって集合的に順序付けされるように、順序付けされた集合の集合が構築される。目標のビット数へのビデオフレームの圧縮は、順序付けされた集合の集合からMBCを抽出することによって達成され、ここで、個別のMBS集合から最後に抽出されたエントリのビットコストを記録する。ビットコストの合計は、それぞれのMBC集合から最後に抽出されたMBCを送信するために必要なビットの数に相当し、よって、ビデオフレームを符号化するコストに相当する。したがって、単一のマクロブロックの例と同様に、圧縮は、順序付けされた集合の集合から次に抽出される最良のMBCのもつフレームビットコストが、目標のフレームビットコストを超えるフレームビットコストになるであろうときに、終了する。
このプロセスは、固定のビット数への最適の符号化を提供するが、MBC集合の集合を順序付けするプロセスが、実用の処理ハードウェア上でリアルタイムに計算可能である場合にのみ実現可能である。このプロセスで重要な点は、マクロブロックMBCの個々の集合の順序付けを提供する別の集合を使用することであり、この集合の集合は、最良のRIPBに基づく各MBCの抽出に従って再び順序付けされる。これにより、各マクロブロックに対するMBCの順序付けを並列に行うことができるので、複雑さが大幅に減少する。

Claims (15)

  1. デジタル電子信号の形のデータエントリの配列を圧縮する方法であって、
    (a)圧縮すべき元のデータ配列を提供するステップと、
    (b)前記元のデータ配列を1つまたは複数のサイズのブロックに分割するステップと、
    (c)前記配列の各ブロックについての複数の可能な圧縮符号化を、前記ブロックの各符号化にそれぞれ異なる圧縮技法を使用して決定するステップであって、各可能な圧縮符号化が、それぞれのデータサイズおよびそれぞれの再構築誤差を有する、ステップと、
    (d)復元されると、前記元のデータ配列の初期近似である参照データ配列に対応する、前記元のデータ配列の圧縮符号化であって、第1のデータサイズおよび、前記元のデータ配列と前記参照データ配列との間の定量的な差を表す第1の再構築誤差を有する初期圧縮符号化を決定するステップと、
    (e)複数の圧縮符号化のリストを作成し、前記リストから前記複数の圧縮符号化のうち、復元されて前記参照データ配列に追加されたときに、データサイズの単位増加あたりの再構築誤差の最大の相対的改善を与えるものを1つ選択するステップと、
    (f)前記選択された圧縮符号化を追加することにより前記元のデータ配列の前記圧縮符号化を更新し、前記選択された符号化を復元された形で追加することにより前記参照データ配列を更新するステップと、
    (g)前記元のデータ配列の前記圧縮符号化について最大データサイズに到達するまで、ステップ(e)と(f)を再帰的に繰り返すステップと、
    を含む方法。
  2. 前記複数の圧縮符号化のうち1つを選択するステップが、それより前の繰り返しで第1の符号化が前もって選択されているブロックに関して第2の符号化を選択することを含む、請求項1に記載の方法。
  3. 前記圧縮符号化を更新するステップが、前記第1の符号化に加えて前記第2の符号化を使用することを含む、請求項2に記載の方法。
  4. 前記圧縮符号化を更新するステップが、前記第1の符号化に代えて前記第2の符号化を使用することを含む、請求項2に記載の方法。
  5. 前記複数の可能な圧縮符号化の前記リストが、データサイズが増加し、かつ、再構築誤差が減少するシーケンスで提供されることのできる圧縮符号化のみを含む、請求項1から4のいずれか一項に記載の方法。
  6. 前記複数の圧縮符号化の前記リストを作成するステップが、各ブロックについての前記可能な符号化をデータサイズの増大についてランク付けし、任意の所与のブロックについての前記可能な圧縮符号化のうち、データサイズの増加に対してそのブロックについての再構築誤差の減少をもたらさないものを前記リストから除外するステップを含む、請求項1から5のいずれか一項に記載の方法。
  7. じデータサイズを有する圧縮符号化を特定し、それら特定された圧縮符号化のうち、より大きな再構築誤差を有するものを除外する、前記複数の可能な圧縮符号化の前記リストについて重複排除を行うステップを含む、請求項1から6のいずれか一項に記載の方法。
  8. 前記複数の可能な圧縮符号化の前記リストが、リストに提供できる圧縮符号化のみを含み、前記リスト自体の前記データサイズは、前記元の配列の前記データサイズよりも小さい、請求項1から7のいずれか一項に記載の方法。
  9. 前記元のデータ配列が、まず複数のマクロブロックに分割され、次いで、各マクロブロック内でブロックに分割される、請求項1から8のいずれか一項に記載の方法。
  10. 前記複数の圧縮符号化の前記リストが、それぞれのマクロブロック全体についてと同様に、それぞれのマクロブロック内のブロックについての符号化を含む、請求項9に記載の方法。
  11. 前記複数の圧縮符号化のリストを生成するステップが、それぞれのマクロブロックについて複数のマクロブロック圧縮符号化を決定することであって、各マクロブロック符号化が前記それぞれのマクロブロック内のブロックについての圧縮符号化の集合を含み、
    前記複数の圧縮符号化のうちの1つを選択するステップが、前記マクロブロック圧縮符号化のうち1つを選択することを含む、
    請求項9または10に記載の方法。
  12. データエントリの前記配列がビデオストリームの一部である、請求項1から11のいずれか一項に記載の方法。
  13. 前記最大データサイズに到達したら、可変帯域のチャネルを介して、前記最大データサイズを有する前記圧縮符号化の結果を送信するステップをさらに含む、請求項1から12のいずれか一項に記載の方法。
  14. あるチャネルを介してビデオデータを送信するように構成されたビデオエンコーダであって、当該エンコーダが、
    調節可能な圧縮因子を使用してビデオデータを圧縮するように構成されたコンプレッサと、
    構築されたデータパケットを前記チャネルを介して送信するように構成された送信機と、を含み、
    前記コンプレッサが、
    (a)圧縮すべき元のデータ配列を受け取り、
    (b)前記元のデータ配列を1つまたは複数のサイズのブロックに分割し、
    (c)それぞれの可能な圧縮符号化がそれぞれのデータサイズおよびそれぞれの再構築誤差を有する、前記配列の各ブロックについての複数の可能な圧縮符号化を、前記ブロックの各符号化についてそれぞれ異なる圧縮技法を使用して決定し、
    (d)復元されると、前記元のデータ配列の初期近似である参照データ配列に対応する、前記元のデータ配列の圧縮符号化であって、第1のデータサイズおよび、前記元のデータ配列と前記参照データ配列との間の定量的な差を表す第1の再構築誤差を有する初期圧縮符号化を決定し、
    (e)複数の圧縮符号化のリストを作成し、前記リストから前記複数の圧縮符号化のうち、復元されて前記参照データ配列に追加されたときに、データサイズの単位増加あたりの再構築誤差の最大の相対的改善を与えるものを1つ選択し、
    (f)前記選択された圧縮符号化を追加することにより前記元のデータ配列の前記圧縮符号化を更新し、前記選択された符号化を復元された形で追加することにより前記参照データ配列を更新し、
    (g)前記元のデータ配列の前記圧縮符号化について最大データサイズに到達するまで、ステップ(e)と(f)を再帰的に繰り返す、
    ように構成される、ビデオエンコーダ。
  15. コンピュータプログラムが格納された非一時的コンピュータ可読記憶媒体であって、
    前記コンピュータプログラムが、実行されると、装置に、
    (a)圧縮すべき元のデータ配列を提供することと、
    (b)前記元のデータ配列を1つまたは複数のサイズのブロックに分割することと、
    (c)前記配列の各ブロックについての複数の可能な圧縮符号化を、前記ブロックの各符号化にそれぞれ異なる圧縮技法を使用して決定することであって、各可能な圧縮符号化が、それぞれのデータサイズおよびそれぞれの再構築誤差を有する、決定することと、
    (d)復元されると、前記元のデータ配列の初期近似である参照データ配列に対応する、前記元のデータ配列の圧縮符号化であって、第1のデータサイズおよび、前記元のデータ配列と前記参照データ配列との間の定量的な差を表す第1の再構築誤差を有する初期圧縮符号化を決定することと、
    (e)複数の圧縮符号化のリストを作成し、前記リストから前記複数の圧縮符号化のうち、復元されて前記参照データ配列に追加されたときに、データサイズの単位増加あたりの再構築誤差の最大の相対的改善を与えるものを1つ選択することと、
    (f)前記選択された圧縮符号化を追加することにより前記元のデータ配列の前記圧縮符号化を更新し、前記選択された符号化を復元された形で追加することにより前記参照データ配列を更新することと、
    (g)前記元のデータ配列の前記圧縮符号化について最大データサイズに到達するまで、ステップ(e)と(f)を再帰的に繰り返すことと、
    を含む動作を行うよう命じるプロセッサ可読命令を含む、
    非一時的コンピュータ可読記憶媒体。
JP2018538957A 2015-10-16 2016-09-15 データ圧縮 Active JP6902553B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1518290.0A GB2543492B (en) 2015-10-16 2015-10-16 Data Compression
GB1518290.0 2015-10-16
PCT/GB2016/052883 WO2017064457A1 (en) 2015-10-16 2016-09-15 Data compression

Publications (2)

Publication Number Publication Date
JP2018537048A JP2018537048A (ja) 2018-12-13
JP6902553B2 true JP6902553B2 (ja) 2021-07-14

Family

ID=55131109

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018538957A Active JP6902553B2 (ja) 2015-10-16 2016-09-15 データ圧縮

Country Status (13)

Country Link
US (1) US10523936B2 (ja)
EP (1) EP3363200B1 (ja)
JP (1) JP6902553B2 (ja)
KR (1) KR20180091817A (ja)
CN (1) CN108370443B (ja)
AU (1) AU2016337193B2 (ja)
CA (1) CA3001640A1 (ja)
ES (1) ES2916087T3 (ja)
GB (1) GB2543492B (ja)
HK (1) HK1256145A1 (ja)
IL (1) IL258485B (ja)
MY (1) MY190014A (ja)
WO (1) WO2017064457A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11138152B2 (en) 2017-10-11 2021-10-05 Lognovations Holdings, Llc Method and system for content agnostic file indexing
US10963429B2 (en) 2017-10-11 2021-03-30 Lognovations Holdings, Llc Method and system for content agnostic file indexing
US11025273B2 (en) * 2018-04-09 2021-06-01 The Government Of The United States Of America, As Represented By The Secretary Of The Navy Reducing error in data compression
DE102019002951A1 (de) 2018-04-25 2019-10-31 Avago Technologies International Sales Pte. Limited Pixelspeicherung für graphische Bildspeicher
US10922848B2 (en) * 2018-04-25 2021-02-16 Avago Technologies International Sales Pte. Limited Pixel storage for graphical frame buffers
WO2019210431A1 (en) * 2018-05-03 2019-11-07 The Governing Council Of The University Of Toronto Method and system for optimizing depth imaging
GB2577689B (en) 2018-10-01 2023-03-22 Digital Barriers Services Ltd Video surveillance and object recognition

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9522077D0 (en) * 1995-10-27 1996-01-03 Univ Strathclyde Data compression
JP3847349B2 (ja) * 1997-02-03 2006-11-22 シャープ株式会社 デジタル画像の埋め込み符号器、レート―歪み最適化方法、復号器及び復号方法
US7822281B2 (en) * 2003-10-31 2010-10-26 Canon Kabushiki Kaisha Digital video compression
US20070025441A1 (en) * 2005-07-28 2007-02-01 Nokia Corporation Method, module, device and system for rate control provision for video encoders capable of variable bit rate encoding
US7693219B2 (en) 2006-01-04 2010-04-06 Freescale Semiconductor, Inc. System and method for fast motion estimation
KR101590511B1 (ko) * 2009-01-23 2016-02-02 에스케이텔레콤 주식회사 움직임 벡터 부호화/복호화 장치 및 방법과 그를 이용한 영상 부호화/복호화 장치 및 방법
US8934538B2 (en) * 2011-10-17 2015-01-13 Google Inc. Rate-distortion-complexity optimization of video encoding
US9118345B2 (en) * 2012-10-04 2015-08-25 Altera Corporation Data compression profiler for configuration of compression
US10003792B2 (en) * 2013-05-27 2018-06-19 Microsoft Technology Licensing, Llc Video encoder for images
GB201502434D0 (en) 2015-02-13 2015-04-01 Digital Barriers Services Ltd Video encoder

Also Published As

Publication number Publication date
GB201518290D0 (en) 2015-12-02
CN108370443B (zh) 2022-06-14
CA3001640A1 (en) 2017-04-20
GB2543492B (en) 2021-11-10
IL258485B (en) 2020-08-31
US10523936B2 (en) 2019-12-31
AU2016337193A1 (en) 2018-05-31
IL258485A (en) 2018-05-31
MY190014A (en) 2022-03-22
ES2916087T3 (es) 2022-06-28
US20180324419A1 (en) 2018-11-08
EP3363200B1 (en) 2022-04-13
AU2016337193B2 (en) 2020-08-27
WO2017064457A1 (en) 2017-04-20
CN108370443A (zh) 2018-08-03
EP3363200A1 (en) 2018-08-22
KR20180091817A (ko) 2018-08-16
GB2543492A (en) 2017-04-26
JP2018537048A (ja) 2018-12-13
HK1256145A1 (zh) 2019-09-13

Similar Documents

Publication Publication Date Title
JP6902553B2 (ja) データ圧縮
KR102287947B1 (ko) 영상의 ai 부호화 및 ai 복호화 방법, 및 장치
US10075725B2 (en) Device and method for image encoding and decoding
JP2019017002A (ja) 映像符号化方法、映像復号方法、映像符号器及び映像復号器
RU2510079C2 (ru) Способ сжатия цифровых изображений с использованием фиксированного числа битов в блоке
JP2014523697A (ja) イントラ予測を伴うビデオ符号化方法及びその装置、ビデオ復号化方法及びその装置
KR102312337B1 (ko) Ai 부호화 장치 및 그 동작방법, 및 ai 복호화 장치 및 그 동작방법
JP2019140575A (ja) 画像符号化装置及びその制御方法及びプログラム
KR101583896B1 (ko) 비디오 부호화 방법 및 장치
CN114631315A (zh) 图像编码方法和设备以及图像解码方法和设备
JP7390788B2 (ja) 画像符号化装置及びその制御方法及びプログラム
KR20100012738A (ko) 동영상 부호화/복호화시 참조 영상의 압축 방법 및 장치
CN109218729A (zh) 视频编码方法、视频解码方法、视频编码器及视频解码器
KR102379196B1 (ko) 처리 장치들 및 그 제어 방법들
KR101268588B1 (ko) 무손실 영상 압축 장치 및 방법
TW202416711A (zh) 利用自我迴歸模型的混合幀間編碼
JP6130556B6 (ja) ビデオ復号化方法及びその装置
KR20230075248A (ko) 데이터 압축 장치, 데이터 압축 시스템 및 데이터 압축 방법
JP4530421B2 (ja) 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置,それらのプログラムおよびそれらのプログラム記録媒体
Logutenko JPEG codec with adjustable bitrate
JP2021057708A (ja) 符号化装置、符号化方法
CN111107345A (zh) 视频编码方法及设备
WO2007104522A1 (en) Method and apparatus for linewise image compression
KR20150124127A (ko) 동영상 부호화에서 블록의 분할 정보를 이용한 비트율 추정 방법 및 블록의 분할 정보를 이용한 동영상 부호화 방법
JP2004356960A (ja) 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置,それらのプログラムおよびそれらのプログラム記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190912

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201008

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201027

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210126

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210525

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210621

R150 Certificate of patent or registration of utility model

Ref document number: 6902553

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150