JP6681383B2 - エンコーダ、デコーダ、および方法 - Google Patents

エンコーダ、デコーダ、および方法 Download PDF

Info

Publication number
JP6681383B2
JP6681383B2 JP2017501351A JP2017501351A JP6681383B2 JP 6681383 B2 JP6681383 B2 JP 6681383B2 JP 2017501351 A JP2017501351 A JP 2017501351A JP 2017501351 A JP2017501351 A JP 2017501351A JP 6681383 B2 JP6681383 B2 JP 6681383B2
Authority
JP
Japan
Prior art keywords
data
value
encoding
delta
values
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
JP2017501351A
Other languages
English (en)
Other versions
JP2017526252A (ja
Inventor
オッシ カレヴォ
オッシ カレヴォ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gurulogic Microsystems Oy
Original Assignee
Gurulogic Microsystems Oy
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 Gurulogic Microsystems Oy filed Critical Gurulogic Microsystems Oy
Publication of JP2017526252A publication Critical patent/JP2017526252A/ja
Application granted granted Critical
Publication of JP6681383B2 publication Critical patent/JP6681383B2/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
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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
    • 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/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
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3002Conversion to or from differential modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • 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
    • 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/93Run-length coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Television Signal Processing For Recording (AREA)

Description

本願に開示される事項は、データを符号化する方法、例えば、1つ以上の予測子を利用するDelta符号化を用いてデータを符号化する方法に関する。また本願に開示される事項は、データを復号する方法、例えば、1つ以上の予測子を利用するDelta符号化を用いてデータを復号する方法に関する。さらに本願に開示される事項は、前述の方法を実行するシステム、装置、および機器に関する。さらに本願に開示される事項は、前述の方法を実行するために、処理ハードウェアを備えるコンピュータ装置によって実行可能なコンピュータ可読命令が格納された非一時的コンピュータ可読格納媒体を含む、コンピュータプログラム製品にも関する。
背景
一般に、MPEG‐4、H.264、VC‐1、HEVC、VP9などの従来のビデオコーデックは、画像ブロックの動き推定に前のフレームを利用できる。これらのコーデック例の名称には登録商標が含まれている。動き推定および動き補償は、各動画フレームのブロック単位で実行される。同様に、任意の現在のデータブロックやデータパケットを符号化する際に、重複排除方法やデータベースを用いた処理を用いて、符号化処理済みのデータブロックやデータパケットを利用することもできる。動画や類似の種類のコンテンツに含まれるデータ記号のエントロピーを低減するために、Delta符号化を用いることができる。以下に詳細に説明するとおり、データ記号のエントロピーをさらに低減するために、ODelta符号化を用いてもよい。ODelta符号化によって、個々のビットのエントロピーを低減することもできる。ODelta符号化に関連する方法の詳細は、付属書類1において後述する。差分パルス符号変調(differential pulse-code modulation:DPCM)式の方法、すなわちDelta符号化およびODelta符号化では、エントロピーエンコーダ用の符号化データ値を作成する際に前のデータ値を用いる。
近年における急速なデータ量の増大および転送の高速化のため、データ圧縮の必要性も増大し、データ圧縮の効率を向上するために改良された新たな方法が必要とされている。データは、例えば、1つ以上のセンサから取得されてもよく、画像、動画、音声、測定データ、または様々な種類のバイナリデータ、ASCIIデータなどであってもよい。取得されたセンサデータと抽象データの組合せであってもよい。
現在、データの符号化に利用できる符号化処理方法は複数あるが、異なる種類のデータすべてに十分な圧縮率を提供する方法はない。任意の現在のチャネル、フレーム、データブロック、またはデータパケットを符号化する場合、異なるデータチャネルまたはフレーム、例えば、色、画像チャネル、音声チャネル、並列データ測定、動画内の個々の画像、音声内の個々のパケット、3次元(three-dimensional:3D)画像、3D音声などを別々に符号化処理し、同時に、符号化処理済みのチャネル、フレーム、データブロック、またはデータパケットの情報も用いる必要があることが多い。既知のデータ符号化方法は、非常に多様なデータ構造を備える入力データに対処できるほど十分に汎用的ではない。
同様に、DPCM(http://en.wikipedia.org/wiki/DPCM)などの既知の方法を用いるより、符号化済みの空間情報を符号化に用いるほうが有利であり、より効率的である。また、データの可逆的および非可逆的な符号化を可能にする、単純かつ効率的な符号化方法および復号方法が求められている。付属書類1に詳述するように、ODelta法による方法があるが、例えば、典型的な既知のDelta符号化を修正し、DPCMのDelta符号化を様々な予測子と共に用いることができるようにして、ODelta法をより効率的に用いる必要がある。そのような手法により、例えばDPCMのような従来の既知のDelta符号化よりも、記号間の負および正の差分値または合算値に対してより効果的なエントロピー低減が可能になる。
既知の方法には、高度な予測方法を利用したデータの再利用と、量子化ありまたはなしの残差データの効率的なエントロピー低減、という2つの特性を組み合わせることができるものが存在しない。この組合せは、方法の選択肢、すなわちフレーム、チャネル、データブロック、またはデータパケット用の方法と、符号化した残差値、すなわち、動きベクトル、選択記号、データベース参照などを含まない値のみを提供または格納することによって実現される。次のいずれかの理由から、残差符号化も不要になる場合がある。
(i) 予測子が最適である。
(ii) 残差がすべてのデータ値において一定であり、1つの値だけで提供できる。
(iii)量子化ありまたはなしの残差が、品質パラメータに基づく誤差閾値を下回る。
摘要
本発明は、Delta符号化アルゴリズムの使用に基づいて、データを符号化する改良された方法を提供することを目的とする。
また、本発明は、Delta符号化アルゴリズムの使用に基づいて、データを符号化する改良されたエンコーダを提供することを目的とする。
さらに、本発明は、逆Delta符号化アルゴリズムの使用に基づいて、データを復号する改良された方法を提供することを目的とする。
さらに、本発明は、逆Delta符号化アルゴリズムの使用に基づいて、データを復号する改良されたデコーダを提供することを目的とする。
第1の態様によると、入力データ(D1)を符号化して対応する符号化データ(E2)を生成するエンコーダ(100)であって、前記入力データ(D1)を処理し、少なくとも1つのDelta符号化アルゴリズムを用いて前記入力データ(D1)の少なくとも一部を符号化し、前記入力データ(D1)の後続の1つ以上の部分の符号化に用いる1つ以上の予測子を生成するように動作し、さらに、少なくとも1つのエントロピー符号化アルゴリズムを利用することによって、前記少なくとも1つのDelta符号化アルゴリズムおよび前記1つ以上の予測子によって生成されたデータを符号化して、前記符号化データ(E2)を生成するように動作し、前記1つ以上の予測子は、
(i) 1つ以上の時間的予測子、
(ii) 複数の値を用いる、1つ以上のローカル空間的予測子、
(iii)量子化の対象となる、1つ以上のローカル空間的予測子、
(iv) 事前計算された値を用いる、1つ以上のローカル空間的予測子、
のうち少なくとも1つを含むことを特徴とするエンコーダ(100)が提供される。
本発明は、Delta符号化と、1つ以上のローカル空間的予測子の生成と、デルタ(delta)値の多様な提供方法の利用と、エントロピー符号化との組合せによって、効率の高いデータ符号化を提供できるという点で有利である。
「ローカル空間的予測子」は、短縮形として「ローカル予測子」または「空間的予測子」と呼んでもよい。
事前計算された値について、これらの値は、前述のデータ処理を実行する前に空間的位置に基づいて決定できる任意の値であってよい。すなわち、これらの値は、付属書類1に記載するように、ODelta符号化におけるようなローカル空間的予測子ではない。このような事前計算された値には、例えば、符号化する現在のデータブロックに対して左側または上にある前のブロック、任意の前のチャネル、ビュー、またはフレーム内にある同じデータブロックの位置、任意のデータフレーム内の内部動き予測などがある。
前記方法による予測は、通常、事前に一度だけで決定される。すなわち、任意のブロックに対する予測は、時間的予測または空間的予測によって事前に一度だけで決定される。前述のブロック、チャネル、ビュー、およびフレームに加えて、動き推定も便宜上、時間的予測とみなされる。動き推定は空間的に実行することもできるが、その場合、前述の項目(iv)に定義する空間的予測子に関するものとなる。つまり、動き推定予測は、必ずしも時間的に相互に異なる必要があるわけではない。この空間的予測は、付属書類1に記述する、例えばODelta法において用いる「ローカル空間的予測」とは異なる。「ローカル空間的予測」を用いる場合、方法の処理中に予測が行われ、前の値が処理されるまで予測子の値を利用できない。これは時間的予測および他の空間的予測と比べて異なる点である。ODeltaと同様に(付属書類1を参照)、予測を処理の実行中に決定してもよい。その場合、Delta符号化におけるローカル空間的予測子が用いられる。
前記エンコーダにおいて、数値の列を含む入力データ(DA1)を符号化して対応する符号化出力データ(DA2またはDA3)を生成する前記少なくとも1つのDelta符号化アルゴリズムは、ODelta符号化アルゴリズムとして実装され、前記ODelta符号化アルゴリズムは、
(a) データ処理構成を用いて、前記入力データ(DA1)に、任意の形式の差分符号化および/または合算符号化を適用し、1つ以上の対応する符号化列を生成することと、
(b) 前記データ処理構成を用いて、前記1つ以上の対応する符号化列に最大値のラップアラウンドおよび/または最小値のラップアラウンドを適用し、前記符号化出力データ(DA2またはDA3)を生成することと、
を含むことを特徴としてもよい。
前記Delta符号化アルゴリズムは、以下のように用いてもよい。量子化の適用の有無にかかわらず、任意の元の値と、対応する予測値との間の差分が常にゼロか正である場合、または、任意の元の値と、対応する予測値との間の差分がゼロか負である場合、符号化処理アルゴリズム情報と共に、デルタ値の符号、例えば符号ビットのみを表現および提供することができる。そのような場合は、ラッピングなしでも値が常に任意のビット数範囲内に収まるため、ODeltaアルゴリズムにおいて利用されるようなラッピングは完全に不要である。このように用いられるアルゴリズムは、便宜上、例えばIDelta(incremental delta:増分Delta)法およびDDelta(decremental delta:減分Delta)法と呼ばれる。IDelta法は正のデルタ値のみを提供し、DDelta法は負のデルタ値のみ提供するが、しばしば、符号、すなわち符号ビットを有利に交換することがある。この交換はDDelta値のみに対して行われ、かつDDelta値を提供するときにのみ行われる。前述のいずれの方法も、量子化の有無にかかわらず、ゼロ記号/値と共に不変の値を常に提供できる。すなわち、このような場合、これらのデルタ値間の差分は用いられる量子化以下である。
また、デルタ値を基礎(pedestal)値と共に用いてもよい。つまり、負のデルタ値と正のデルタ値の両方が生じ、それらの絶対値が、符号化処理されているデータのダイナミックレンジとビット深度に関して小さい場合、量子化の有無にかかわらず、変化の基礎値、すなわち最大の負の変化を提供すると有利であることがある。その後、前述のIDelta法と同様に、正の変化の値のみを提供することができる。基礎値を利用するこのような方法を、便宜上、「PDelta法」と呼ぶことができる。PDelta法を用いる場合、元のODeltaアルゴリズム(付属書類1を参照)を用いる場合よりも、データのダイナミックレンジ/ビット深度を低減できることが多い。つまり、そのデータの最大値が小さくなり、従って可能な最小値と可能な最大値の間の差分も同様に小さくなるため、より少ないビットでデータを表現できる。元のODelta法(付属書類1を参照)は、生じる値のダイナミックレンジ、すなわち提供するODelta値の値範囲を常に表現および提供しなければならないため、このような利点が得られる。
前述のIDelta、DDelta、およびPDelta法は、用いる予測が、例えば、前のブロック、チャネル、画像、または、これらの方法を用いる前に決定され宣言される他の一式の値である場合に、本願の実施例に用いると有利である。したがって、符号化処理されている値と予測値との間の差分は、一度だけで容易に決定され、その値または差分の予測は、符号化処理されている他の値にまったく依存しない。「時間的予測子」または「空間的予測子」と呼ばれるこの種の予測手段は、特に量子化との併用にも非常に適している。なぜなら、差分値の量子化は、復号される任意の独立したデータ値ひとつだけに影響し、量子化によって生じる誤差は、復号される他のデータ値に累積しないためである。量子化はローカル空間的予測子と共に用いることもできるが、その場合、量子化誤差が累積しないように、アルゴリズムにおいて次の値を予測する際に量子化誤差を考慮に入れる必要がある。
既知の種類のDelta符号化は、任意の現在値から予測値を引くことで実行され、これはローカル空間的予測子を用いて達成される。これらの値の差分は正の値と負の値のいずれにもなり得るため、符号を常に差分値に付して提供する必要がある。ODelta符号化(付属書類1を参照)では、現在値と予測値との差分または合算を用いることができ、また、値のラッピングを用いて値を提供できるため、値を常に正にすることができる。
前述のように、IDelta、DDelta、およびPDelta法は、既知のDelta法、ならびに、ラッピングを用いて予測値が提供される付属書類1に記載する前述のODelta法とは異なる。また、付属書類1に記述するODelta法では、用いられる予測子が、1つの値のみを用いるローカル空間的予測子に限られ、この予測子は常に量子化なしで用いられる。しかしながら、このような制限は本願の実施例には不要である。本願の実施例では、他の種類の予測子および/または量子化を利用し、前述のODelta法と組み合わせることもできる。また、ラッピングを利用する元のODelta法を、IDelta、DDelta、またはPDelta法において用いることも可能である。ODelta法は優れた手段であることが多く、場合によっては前述のIDelta、DDelta、およびPDelta法より優れた手段である場合もある。ラッピングを利用する元のODelta法は、1つの同じラップ値/記号によって正の差分と負の差分の両方を表現できることが多いからである。ラッピングを利用する元のODelta法は、値範囲および予測値に基づいて、正の値と負の値を後で互いに区別できるようにこれを行うが、前述のIDelta、DDelta、およびPDelta法は、ゼロ値と正の差分値、または負の差分値のみが提供されるため、それ以上の区別は不要である。
多くの場合、用いられる予測、または場合によっては用いられる量子化に関する情報をメソッド選択情報と共に提供してもよい。量子化に関する情報は、1つの量子化値または1つの品質値を用いることによって、データの列全体に対して一度に提供でき、有利であることが多い。そのようなメソッドの例として、IDeltaBlockFromChannel0、PDeltaChannelR_2、DDeltaFrame_4、ODeltaBlockMode、DDeltaPacketPrevQ70などがある。これらのメソッドの1つ目、すなわちIDeltaBlockFromChannel0は、任意の対応するブロック内のチャネル0の値に関する正の差分値のみを提供する。すなわち、現在符号化処理されているデータブロックの各データ値は、予測として用いられるブロックのチャネル0内の対応する位置にある値より大きいか、または少なくとも等しい。
これらのメソッドの2つ目、PDeltaChannelR_2は、基礎値に続いて正の差分値、すなわち現在のチャネルとRチャネルとの差分を、さらに2で量子化したものを提供する。DDeltaFrame_4と呼ばれるメソッドは、例えば、徐々に暗くなる画像によく適している。このメソッドは、前のフレームと比較した負の値の変化を、4で量子化したものを提供する。ODeltaBlockModeと呼ばれるメソッドは、現在のブロック領域をモード値と比較して、ラップされた差分値を提供する。このモード値を各ブロックに個別に送信/提供しても、あるいは、モード値を予測する際に、データチャネル全体のモード値またはデータフレーム全体のモード値を用いてもよい。DDeltaPacketPrevQ70は、現在のパケットを同じサイズの前のパケットと比較して負のデータ値を提供し、デルタ値の量子化は、品質係数70によって定義される。
前述の例は、添付の特許請求の範囲に定義される本発明の保護の範囲を制限すると解釈されるものではない。本願の開示に従う方法の多様な実施形態を記述するために、多くの他の類似の方法を用いることができる。提供するデータを可能な限り効率的に圧縮するために、これらすべての方法と共に、通常は最大値であるデータ値制限を提供してもよい。
本願に開示される事項は、符号化アルゴリズム自体の動作を妨げることなく、既知の符号化方法を効率的に用いて部分的にデータを符号化する代替方法を定義し説明する。したがって、本明細書及び図面において以下に説明する実施形態の方法は、例えば、他の既知の方法と共に有利に用いられるか、または、既知の符号化処理方法に取って代わることができる。本願の方法は、様々な予測子および任意で量子化子を用いて、本願の実施例の方法の実施後に任意のエントロピーエンコーダにおいてエントロピーを確実に低減できるようにする。
前記エンコーダは、前記入力データ(D1)を符号化して前記符号化データ(E2)を生成する際に、少なくとも1つの量子化アルゴリズムを利用するように動作し、前記少なくとも1つの量子化アルゴリズムによって、前記入力データ(D1)の非可逆的符号化を実行してもよい。
前記エンコーダは、前記入力データ(D1)に存在する、相互に異なるデータ構造を持つデータを符号化するために、相互に異なるアルゴリズムを利用するように動作してもよい。
前記エンコーダは、前記入力データ(D1)をブロック単位で符号化する際に、レート歪み(rate distortion:RD)最適化を利用するように動作してもよい。また、前記エンコーダにおいて、前記RD最適化は前記エンコーダ内で計算され、以下の式の値Vを最小化してもよく、
V=D+λ*R
ここで歪み(D)は、例えば、前記入力データ(D1)と、前記符号化データ(E2)に符号化されて前記復号データ(D3)に復号された前記入力データ(D1)の表現との二乗誤差(SE)の和であり、量(R)は、例えばビットとして測定される符号化データの量である。
前記エンコーダにおいて、前記少なくとも1つの符号化および/またはエントロピー符号化アルゴリズムは、DC法、スライド法、マルチレベル法、離散コサイン変換(discrete cosine transform:DCT)法、ライン法、スケール法、データベース法、レンジ符号化、ハフマン符号化、連長(run-length encoding:RLE)符号化、順次連長(serial run-length encoding:SRLE)符号化のうち少なくとも1つを利用するように動作してもよい。
前記エンコーダは、YUVチャネルとBGRチャネルとの少なくとも1つに対応するデータ構造を含む前記入力データ(D1)を符号化するように動作してもよい。前記エンコーダは、前記チャネルのデータをY、U、V、またはG、B、Rの順序で符号化するように動作してもよい。アルファチャネル、すなわち透明チャネルを、他のチャネルとは個別に、または一緒に符号化処理することもできる。同様に、符号化処理するデータは音声データであってもよく、その場合、例えばビット深度8、16、または24である音声振幅値をチャネルごとに個別に、または多数のチャネルで一度に符号化処理することもできる。したがって、符号化処理するデータが音声、画像、動画、ゲノムデータ、測定結果、テキスト、バイナリなどであるかどうかにかかわらず、符号化処理するデータのビット深度は、データ要素につき1から、例えば、256ビットまで様々であってもよい。
前記エンコーダは、前記エンコーダが、前記入力データ(D1)を符号化して前記符号化データ(E2)を生成するために利用した1つ以上の符号化アルゴリズムを示すデータを前記符号化データに含めるように動作してもよい。
第2の態様によると、エンコーダを用いて入力データ(D1)を符号化し、対応する符号化データ(E2)を生成する方法であって、
(i) 前記エンコーダを用いて前記入力データ(D1)を処理し、前記入力データ(D1)の少なくとも一部を、少なくとも1つのDelta符号化アルゴリズムを用いて符号化することと、
(ii) 前記エンコーダを用いて、前記入力データ(D1)の後続の1つ以上の部分の符号化に用いる1つ以上の予測子を生成することと、
(iii)前記エンコーダを用いて、少なくとも1つのエントロピー符号化アルゴリズムを利用することによって、前記少なくとも1つのDelta符号化アルゴリズムおよび前記1つ以上の予測子によって生成されたデータを符号化して、前記符号化データ(E2)を生成することとを含み、前記1つ以上の予測子は、
(i) 1つ以上の時間的予測子、
(ii) 複数の値を用いる、1つ以上のローカル空間的予測子、
(iii)量子化の対象となる、1つ以上のローカル空間的予測子、
(iv) 事前計算された値を用いる、1つ以上のローカル空間的予測子、
のうち少なくとも1つを含むことを特徴とする方法が提供される。
前記方法において、数値の列を含む入力データ(DA1)を符号化して対応する符号化出力データ(DA2またはDA3)を生成する前記少なくとも1つのDelta符号化アルゴリズムは、
(a) データ処理構成を用いて、前記入力データ(DA1)に、任意の形式の差分符号化および/または合算符号化を適用し、1つ以上の対応する符号化列を生成することと、
(b) 前記データ処理構成を用いて、前記1つ以上の対応する符号化列に最大値のラップアラウンドおよび/または最小値のラップアラウンドを適用し、前記符号化出力データ(DA2またはDA3)を生成することと、
を含むことを特徴としてもよい。
前記ODelta法(付属書類1を参照)は、以下のように用いてもよい。量子化の利用の有無にかかわらず、任意の元の値と、対応する予測値との間の差分が常にゼロか正である場合、または、前記元の値と前記予測値との間の差分がゼロか負である場合、符号化方法情報と共に、デルタ値の符号、すなわち符号ビットのみを表現および提供することができる。そのような場合は、ラッピングなしでも値が常に任意のビット数範囲内に収まるため、ラッピングは完全に不要である。
このように用いられる方法は、便宜上、例えばIDelta(incremental delta:増分Delta)法およびDDelta(decremental delta:減分Delta)法と呼ぶことができる。IDelta法は正のデルタ値のみを提供し、DDelta法は負のデルタ値のみ提供するが、しばしば、符号、すなわち符号ビットを有利に交換することがある。前述のいずれの方法も、量子化の有無にかかわらず、ゼロ記号/値と共に不変の値を常に提供できる。すなわち、このような場合、これらの値間の差分は用いられる量子化以下である。
また、デルタ値を基礎値と共に用いてもよい。つまり、負のデルタ値と正のデルタ値の両方が生じ、それらの絶対値が、符号化処理されているデータのダイナミックレンジとビット深度に関して小さい場合、量子化の有無にかかわらず、変更の基礎値、すなわち最大の負の変化を提供すると有利であることがある。その後、前述のIDelta法と同様に、正の変化の値のみを提供することができる。そのような基礎法は、例えば「PDelta法」と呼ぶことができる。PDelta法を用いる場合、付属書類1に記述するような元のODelta法を用いる場合よりも、データのダイナミックレンジ/ビット深度を低減できることが多い。つまり、データの最大値がより小さくなり、可能な最小値と最大値との差分が小さくなるため、より少ないビットによってデータを表現できる。上記のようになるのは、ODelta法は常に、生じる値のダイナミックレンジ、すなわち提供されるODelta値の値範囲を表現および提供する必要があるためである。
前述のIDelta、DDelta、およびPDelta法は、用いる予測が、例えば、前のブロック、チャネル、画像、または、これらの方法を用いる前に決定され宣言される他の一式の値である場合に、用いると有利である。したがって、符号化処理されている値と予測値との間の差分は、一度だけで容易に決定され、その値または差分の予測は、符号化処理されている他の値に依存しない。この種の予測手段は、特に量子化との併用にも非常に適している。なぜなら、そのような場合において差分値の量子化は、復号される任意の独立したデータ値ひとつだけに影響し、量子化によって生じる誤差は、復号される他のデータ値に累積しないためである。
多くの場合、用いられる予測、または場合によっては用いられる量子化に関する情報をメソッド選択情報と共に提供してもよい。量子化に関する情報は、1つの量子化値または1つの品質値を用いることによって、データの列全体に対して一度に提供でき、有利であることが多い。そのようなメソッドの例として、IDeltaBlockFromChannel0、PDeltaChannelR_2、DDeltaFrame_4、ODeltaBlockMode、DDeltaPacketPrevと便宜上呼ばれるものなどがある。これらのメソッドのうちの1つ目、すなわちIDeltaBlockFromChannel0は、対応するブロック内のチャネル0の値に関する正の差分値のみを提供する。すなわち、現在符号化処理されているデータブロックの各データ値は、予測として用いられるブロックのチャネル0内の対応する位置にある値より大きいか、または少なくとも等しい。
これらのメソッドの2つ目、すなわちPDeltaChannelR_2は、基礎値に続いて正の差分値、すなわち現在のチャネルとRチャネルとの差分を、さらに2で量子化したものを提供する。メソッドDDeltaFrame_4は、例えば、徐々に暗くなる画像によく適している。このメソッドは、前のフレームと比較した負の値の変化を、4で量子化したものを提供する。メソッドODeltaBlockModeは、現在のブロック領域をモード値と比較して、ラップされた差分値を提供する。このモード値を各ブロックに個別に送信/提供しても、あるいは、モード値を予測する際に、データチャネル全体のモード値またはデータフレーム全体のモード値を用いてもよい。
DDeltaPacketPrevメソッドは、現在のパケットを同様のサイズの前のパケットと比較して、負のデータ値を提供する。
前記方法は、前記入力データ(D1)を符号化して前記符号化データ(E2)を生成する際に、前記エンコーダに少なくとも1つの量子化アルゴリズムを利用させ、前記少なくとも1つの量子化アルゴリズムによって、前記入力データ(D1)の非可逆的符号化を前記エンコーダに実行させる構成を含んでもよい。
前記方法は、前記入力データ(D1)に存在する、相互に異なるデータ構造を持つデータを符号化するために、前記エンコーダに相互に異なるアルゴリズムを利用させる構成を含んでもよい。
前記方法は、前記入力データ(D1)をブロック単位、パケット単位、チャネル単位、ビュー単位、またはフレーム単位で符号化する際に、前記エンコーダ(100)にRD最適化を利用させる構成を含んでもよい。また、前記方法において、前記RD最適化は前記エンコーダ(100)内で計算され、以下の式の値Vを最小化してもよく、
V=D+λ*R
ここで歪み(D)は、前記入力データ(D1)と、前記符号化データ(E2)に符号化されて前記復号データ(D3)に復号された前記入力データ(D1)の表現との二乗誤差(SE)の和であり、量(R)は、例えばビットとして測定される符号化データの量である。
前記方法において、前記少なくとも1つの符号化および/またはエントロピー符号化アルゴリズムは、DC法、スライド法、マルチレベル法、離散コサイン変換(DCT)法、ライン法、スケール法、データベース法、レンジ符号化、ハフマン符号化、連長(RLE)符号化、順次連長(SRLE)符号化のうち少なくとも1つを利用するように動作してもよい。
前記方法は、前記エンコーダ(100)に、YUVチャネルとBGRチャネルとの少なくとも1つに対応するデータ構造を含む前記入力データ(D1)を符号化させる構成を含んでもよい。また、前記方法は、前記エンコーダ(100)に、前記チャネルのデータをY、U、V、またはG、B、Rの順序で符号化させる構成を含んでもよい。アルファチャネル、すなわち透明チャネルを、他のチャネルとは個別に、または一緒に符号化処理することもできる。同様に、符号化処理するデータは音声データであってもよく、その場合、例えばビット深度8、16、または24である音声振幅値をチャネルごとに個別に、または多数のチャネルで一度に符号化処理することもできる。したがって、符号化処理するデータが音声、画像、動画、ゲノムデータ、測定結果、テキスト、バイナリなどであるかどうかにかかわらず、符号化処理するデータのビット深度は、例えば、データ要素につき1から256ビットまで様々であってもよい。
前記方法は、前記エンコーダに、前記入力データ(D1)を符号化して前記符号化データ(E2)を生成するために前記エンコーダが利用した1つ以上の符号化アルゴリズムを示すデータを前記符号化データに含めさせる構成を含んでもよい。
第3の態様によると、符号化データ(E2)を復号して対応する復号データ(D3)を生成するデコーダであって、前記第1の態様に従うエンコーダに実装される符号化アルゴリズムの逆を実行するように動作するエンコーダが提供される。
したがって、符号化データ(E2)を復号して対応する復号データ(D3)を生成するデコーダであって、少なくとも1つのエントロピー復号アルゴリズムを前記符号化データ(E2)に適用して処理して、処理済みデータを生成し、Delta復号と共に1つ以上の予測子を用いて、前記処理済みデータを復号して、前記復号データ(D3)を生成するように動作し、前記1つ以上の予測子は、
(i) 1つ以上の時間的予測子、
(ii) 複数の値を用いる、1つ以上のローカル空間的予測子、
(iii)量子化の対象となる、1つ以上のローカル空間的予測子、
(iv) 事前計算された値を用いる、1つ以上のローカル空間的予測子、
のうち少なくとも1つを含むことを特徴とするデコーダが提供される。
事前計算された値について、これらの値は、前述のデータ処理を実行する前に空間的位置に基づいて決定できる任意の値であってよい。すなわち、これらの値は、付属書類1に記載するように、ODelta符号化におけるようなローカル空間的予測子ではない。このような事前計算された値には、例えば、符号化する現在のデータブロックに対して左側または上にある前のブロック、任意の前のチャネル、ビュー、またはフレーム内にある同じデータブロックの位置、任意のデータフレーム内の内部動き予測などがある。
前記デコーダは、方法を示す情報を受信した後、その方法に従って予測を実行し、様々な異なる方法に従って復号する値を計算するように動作してもよい。すなわち、用いられた方法に関する情報がデコーダで受信される。その情報に従って、基礎法を用いるかどうか(PDelta)、正の差分値のみが生じるかどうか(IDeltaまたはPDelta)、負の差分値が生じるかどうか(DDelta)、またはそれらの負の値と正の値を区別するために通常のラップと制限値を用いるかどうか(ODelta)を識別できる。
動作において、前記デコーダは、方法を示す情報を受信し、そのメソッドに従って予測を実行し、様々な異なるメソッドに従って復号する値を計算してもよい。すなわち、用いられたメソッドに関する情報が受信され、その情報に従って、基礎法を用いるかどうか(PDelta)、正の差分値のみが生じるかどうか(IDeltaまたはPDelta)、負の差分値が生じるかどうか(DDelta)、またはそれらの負の値と正の値を区別するために通常のラップと制限値を用いるかどうか(ODelta)を識別できる。予測は一度だけで決定しても、ODeltaと同様に(付属書類1を参照)処理中に決定してもよい。処理中に予測を決定する元のODeltaタイプの手順を、「ローカル空間的予測」または「ローカル予測」と呼ぶ。ブロックの予測が事前に一度だけで決定される前述の新しい予測手段を、「時間的予測」または「空間的予測」と呼ぶ。前述のブロック、チャネル、ビュー、およびフレームに加えて、動き推定も「時間的予測」とみなされる。
第4の態様によると、デコーダにおいて符号化データ(E2)を復号して対応するデータ(D3)を生成する方法であって、前記第2の態様に従う方法の逆を前記デコーダにおいて実行することを含む方法が提供される。
デコーダ(120)において符号化データ(E2)を復号して対応するデータ(D3)を生成する方法であって、少なくとも1つのエントロピー復号アルゴリズムを前記符号化データ(E2)に適用して処理して、処理済みデータを生成し、Delta復号と共に1つ以上の予測子を用いて、前記処理済みデータを復号して、前記復号データ(D3)を生成することを含み、前記1つ以上の予測子は、
(i) 1つ以上の時間的予測子、
(ii) 複数の値を用いる、1つ以上のローカル空間的予測子、
(iii)量子化の対象となる、1つ以上のローカル空間的予測子、
(iv) 事前計算された値を用いる、1つ以上のローカル空間的予測子、
のうち少なくとも1つを含むことを特徴とする方法が提供される。
事前計算された値については、ローカル予測子と同様に、前述されている。
第5の態様によると、第2の態様または第4の態様に従う方法を実行するために、処理ハードウェアを備えるコンピュータ装置によって実行可能なコンピュータ可読命令が格納された非一時的コンピュータ可読格納媒体を含む、コンピュータプログラム製品が提供される。
本発明の特徴は、添付の特許請求の範囲に定義される本発明の範囲を逸脱することなく、様々に組み合わせ可能であることを理解されたい。
以下、いくつかの実施形態を、単なる例示として、かつ添付の図面を参照して説明する。
本願の実施例における上位構造の例の概略図である。 本願の実施例における、6つのブロックを含むチャネルの例の概略図である。 ブロックおよびそれに関連付けられた構成要素の例の概略図である。 本願の実施例に従う、予測のための近隣データ値の概略図である。 本願の開示に従うエンコーダ、デコーダ、およびコーデックの概略図である。 付属書類1の開示に従って機能するように実施されるエンコーダ及びデコーダを備えるコーデック装置の図である。 図6のエンコーダにおいて実行される、データを符号化する方法の工程の図である。 図6のデコーダにおいて実行される、データを復号する方法の工程の図である。 添付図面において下線の引かれた番号は、その番号が位置するアイテムやその番号が隣接するアイテムを表すために使用される。下線が引かれていない番号は、その番号と線で結ばれて特定されるアイテムに関連している。番号に下線が引かれず矢印と共に記されている場合、その番号は矢印が指すアイテム全般を特定するために使用される。
本願の実施例の説明において用いる略語を以下の表1に示す。
表1:実施形態の説明に用いる略語の説明
Figure 0006681383
概要として、本願の実施例は、改良された形式のエンコーダとデコーダ、および関連する改良されたデータ符号化方法とデータ復号方法に関する。本願の実施例は、以下に詳述し、本願の実施例においてさらに改良しているODelta符号化方法などの、Delta符号化方法に基づいている。Delta符号化方法は、音声パケット、画像ブロック、インターネットデータパケット、チャネル、動画フレームなどを、相互に異なる多様な空間的および時間的予測方法を用いて符号化処理するために提供され、任意で量子化子を利用してもよい。本願の符号化方法は、可逆的および非可逆的な符号化の両方に適している。これらの符号化方法は、次に示す3つの主な機能的要素を含む。
(i) 予測
(ii) ODelta演算子、またはPDelta、IDelta、DDeltaなどの類似の演算子、ならびに任意使用の量子化子
(iii)エントロピー符号化
本願の符号化方法はエンコーダにおいて用いることができ、対応する復号方法はデコーダにおいて用いることができる。これについては、図5を参照して詳細に後述する。
添付の付属書類1に、DPCM式の使用方法に適したODelta演算子の説明を記載している。付属書類1より前の本明細書の本文において、これらのODelta演算子は、様々な(ローカル)空間的予測方法、時間的予測方法、またはそれらを組み合わせた方法を用いるために修正されている。本願の方法は、データ列全体、個々のデータフレーム、個々のデータチャネル、個々のデータブロック、個々のデータパケットなどに用いることができるように考案されている。また、本願の方法は、選択された予測方法、選択されたODelta演算子、および選択された残差符号化方法、圧縮方法に基づいて、相互に異なる複数の符号化処理方法を提供する。
本願の方法と組み合わせて他の多くの符号化処理方法を用いてもよい。これらの方法は、付属書類2に示すブロックエンコーダおよび付属書類3に示すブロックデコーダと共に用いると有利である。前者は英国特許第2503295号に記載され、参照により本出願に組み込まれる。後者は英国特許第2505169号に記載され、参照により本出願に組み込まれる。任意のデータブロックの符号化に最適な符号化処理方法は、例えば、任意のデータチャネルがブロック単位で符号化処理される場合、例えばRD最適化を用いて選択される。RD最適化によって、以下の式における値Vが最小になる。
V=D+λ*R 式1
ここで、歪み(D)は典型的に、元の値と復号された値との二乗誤差(SE)の和であり、符号化されたデータ値の量(R)は典型的にビットで測定される。本願の開示に従う方法において、他の多くの符号化処理方法を用いてもよい。これには例えば、DC法、スライド法、マルチレベル法、DCT法、ライン法、スケール法、データベース法などがある。
本願の開示に従う方法は、符号化する入力データ(D1)内に存在する相互に異なるデータ構造に有利に用いられる。例えば、データチャネル全体、例えば平面画像の輝度チャネルを、本願の開示に従う方法によって符号化処理してもよい。本願の開示に従う方法は単純であり、例えば、携帯電話やカメラなどの低消費電力の携帯電子機器に近年用いられる縮小命令セット(RISC)プロセッサなどを用いる機器やシステムを複雑にすることなく実行できる。このため、チャネル全体に対して本願の方法を実行した結果を、黒/モード値チャネル、フリーズチャネル、エントロピー符号化された元のチャネル、ブロックエンコーダによるチャネル符号化などの他のチャネル符号化方法と容易に比較できる。最適なチャネル符号化方法は、RD最適化によっても有利に選択される。ブロックエンコーダによるチャネル符号化方法とは、相互に異なる符号化処理方法によってデータチャネルをブロック単位で符号化処理することであり、この場合、データチャネル全体に対して1つの符号化処理方法を用いるわけではない。
本願の方法は、非可逆的符号化において、すなわち量子化された残差値の符号化と共に、または残差の符号化なしで用いてもよく、あるいは、可逆的符号化において、すなわち残差なし、または量子化なしの残差値符号化と共に用いてもよい。エンコーダおよびデコーダにおける前の符号化値および復号値はすべて、本願の開示に従って、現在または将来のデータ値の予測に用いることができる。本願の符号化方法を適用してデータを可逆的に符号化処理する場合、可逆的符号化においては復号値と同じである処理済みのソース値を、エンコーダにおける現在または将来のデータ値の予測に用いることができる。
ODelta演算子の最も重要なパラメータはhighValue、lowValue、およびwrapValue(すなわち、少なくともhighValue−lowValue+1)である。これについては付属書類1においてより詳細に説明する。量子化を利用するようにhighValueおよびlowValueを定義することも可能である。例えば、元データは0から255までの値を含むが、選択された品質係数(例えば、品質値が「1」から「100」の範囲である場合は、30である。ここで品質値「100」は可逆的圧縮を指す)により、最終結果を例えば0から78の値に量子化することが望ましい(相対量子化78/255)。ODelta演算子を用いる前(プリオフセット)または後(ポストオフセット)にデータオフセットを用いることもできる。また、ODelta演算子の後でエントロピー符号化を実行することも有利である。そうしないと、エントロピーの低減がデータ符号化に十分に活用されない。
前述のIDelta、DDelta、およびPDelta法を参照すると、付属書類1に説明されるように、ODelta法において必要であったwrapValueを決定する必要がなくなっている。したがって、前述のIDelta、DDelta、およびPDelta法に関しては、メソッド選択情報および最終的な量子化情報と共に、highValue'およびlowValue'がより重要な役割を担う。この場合、highValue'およびlowValue'は最終的な実際のデータ値の値範囲ではなく、提供される差分値の値範囲を示す。lowValue'はPDelta法の基礎(pedestal)値の決定にも用いられる。この場合、提供される最大データ値は、highValue'−lowValue'の結果であるか、または量子化によって制限される。この量子化は、因数によって、品質パラメータによって、または元のダイナミックレンジに対する相対的な変化として決定することができる。このような実施の例として、前述のように、元のhighValueまたは最大差分highValue'が255であり、値範囲が相対量子化値78/255によって制限され縮小されている場合がある。この例においては、相対量子化の量子化値は、例えば、値78あるいは値0.3059(すなわち78/255未満)として提供することができる。
用いるエントロピー符号化方法は、レンジ符号化またはSRLEレンジ符号化を選択すると有利であるが、例えばハフマン符号化、RLE符号化、SRLE符号化などの他のエントロピー符号化方法を用いることもできる。付属書類1において説明するODelta法を用いる場合、予測値は常に前のデータ値であることが望ましく、最初の予測値を、選択された初期化方法によって初期化する必要がある。
本願の開示に従う方法では、予測値は、前のデータ値のみを用いるのとは異なるように選択することもできる。本願の方法に従うと、予測値として、選択された1つのデータ値、または複数のデータ値から算出された1つの値を用いることが可能になる。例えば、この値は、2つ以上の前のデータ値(1D)、近隣の2つ以上の前のデータ値(2D、3D、…)、前のデータブロックまたはデータパケット内の1つまたは複数のデータ値、1つまたは複数の前のデータチャネル内の1つまたは複数のデータ値、1つまたは複数のデータフレーム内の1つまたは複数のデータ値、前述のデータ値の任意の組合せなどから計算できる。
現在のデータ値の予測値が算出されると、元データ値と予測データ値との差分または合算がOValueとして計算される。OValueはQOValueへと量子化、または複製でき、その後ODelta演算子へと渡すことができる。ODelta演算子は、QOValueがlowValueより小さい場合またはhighValueより大きい場合は(wrapValueの加算および/または減算により)ラップアラウンドを実行する。
値が量子化される場合は特に、ラップアラウンドおよび逆ラップアラウンドが正確に実行されるように量子化レベルを設計し、ラッピング演算によってこの方法の結果が正の加算(または減算)から負の加算(または減算)へ、またはその逆へと変わらないようにする必要があることを理解されたい。ラップアラウンドによって結果が明らかに小さい絶対値や明らかに大きい絶対値へと変わることがないようにすべきである。つまり、例えば、絶対データ値に対して2つの異なる量子化子を用いる場合、逆量子化およびラップアラウンドにおけるデータ値の誤解析を回避するために、小さいデータ値と大きいデータ値を中間のデータ値より小さい量子化値によって量子化する必要がある。
図1を参照すると、フレーム、ビュー、チャネル、データブロック、データパケット、個々のデータ値などの異なるデータ構造に分割された3D動画コンテンツが図示されている。これに加えて、フレームのグループ、データブロックのグループ、initデータブロック、データスライスなどの構造を用いてもよい。本願の開示に従うと、入力データ(D1)を処理および符号化して対応する符号化データ(E2)を生成する際に、このような相互に異なる構造をすべて分離しなくてもよい。データの順序は異なってもよいが、図1の例では、任意のチャネル内のブロックは左から右へ、かつ上から下へと処理される。処理済み、すなわち符号化済み、および任意で非可逆的符号化を実行する場合は復号済みの値はすべて、現在および将来の値の予測に用いることもできる。そうすることで、本願の開示に従うエンコーダおよび対応するデコーダの両方が、符号化値から復号された値に関する情報を持つことができるからである。
本願の開示に従って、YUVチャネルをY、U、Vの順序で符号化し、かつ、BGRチャネルをG、R、B、またはG、B、Rの順序で符号化して、本願の開示に従う方法における時間的チャネル予測のより良い選択肢を利用可能にすると有利であることが多い。時間的チャネル予測は、一般に、任意の画像がRGB色空間へと符号化される場合に非常に優れた方法である。時間的チャネル予測では、チャネル相関が大幅に低減される。YUV色空間を用いる場合、この色空間の特性により、チャネル相関は既に大幅に低減されている。また、YUV色空間を用いる場合、情報の大部分がYチャネルに含まれる。つまり、UチャネルとVチャネルをより効率的に符号化処理できる。
本願の方法は、相互に異なるデータ構造の処理に用いることができる個別のサブメソッド、すなわちアルゴリズムを含んでもよい。例えば、色チャネルは空間的予測または時間的予測によって符号化処理できる。様々な種類の時間的予測のサブメソッドを用いることもできる。あるサブメソッドは、例えば、前のフレーム内と同様の位置にある同じチャネル値を用い、別のサブメソッドは、前のビュー内と同様の位置にある同じチャネル値を用い、さらに別のサブメソッドでは、例えば、チャネル0からの同様の位置にある値を用いて、例えばチャネル2の値を予測する。
時間的予測を用いる場合、最初の予測値を定義する必要はない。現在のチャネル内の各値に、他のフレーム、ビュー、またはチャネルにおいて利用可能な予測値が含まれる。「時間的な予測」は、任意のチャネル内で空間的に前に位置する類似のデータブロックに用いることもできる。一般に、この種の方法を用いる場合、利用可能なデータブロックの選択肢は限られているため、異なるサブメソッドの数が多くなりすぎることはない。つまり、「動きベクトル」のようなブロック記述子を送信する必要もない。この種のデータブロック記述子を用いてもよいが、一般に、記述子の精度は、例えば、データブロック単位であり個々のデータ値単位ではないため、イントラ動きベクトル推定を用いる場合と比べて、異なる組合せの数が大幅に少なくなる可能性がある。
一般に知られているイントラ/インター動き推定方法によって得られるものと同等の精度を持つ、利用可能な代替アルゴリズムの組合せを用いたとしても、本願の方法の選択肢には、ODelta符号化の利用による効率的な残差符号化が含まれるため、本願の開示に従う方法の利用にはやはり大きな利点がある。したがって、本願の開示に従う方法では、予測のために個別にイントラ/インター動き推定を用いた後、残差符号化のために別途、例えばDCT法を用いるという必要がない。
本願の実施例では、空間的予測において相互に異なる予測値を用いてもよい。前の値の予測(Xに対するA)は、ODelta技法からの既知の技術である(付属書類1を参照)。本発明の実施形態において利用すると有利な方法の1つでは、値Xに対してP=A+B−Cなどの予測値を用いる。例えば、2A−DまたはPNG文書に記述されているPAETH予測などの他の多くの予測値を用いてもよい。予測値は、可能な値の範囲になるように制限、または切り捨てると有利である。例えば、チャネル0における任意の値が、0(lowValue)と63(highValue)の間で、A=60、B=61、C=52という値として提供される可能性がある場合、P=A+B−C=69であり、この値は値63(=highValue)になるように切り取られるか、切り捨てられるか、または飽和させられる。
X=62の場合、修正されたODelta演算子方法1によるOValueは、62−63=−1である。この値は、可逆的符号化においては量子化する必要がないため、QOValueも−1である。ここで、−1はlowValue(0)より小さいので、63をODelta値として取得するにはwrapValue(64)をQOValueに加える必要があることを理解されたい。この値は、このChannelSpatialODeltaCodedメソッドによって値Xを符号化するために、エントロピー符号化のためのバッファに設定される。他のデータ値に対しても同様の処理が行われ、すべてのチャネル値が処理されたら、ODelta値のバッファの内容が、例えば、レンジ符号化、または順次連長符号化(SRLE)レンジ符号化などによって圧縮され、チャネル0に対する出力符号化データ値が作成される。
予測値としてA+B−Cを用いる場合、最初1の行が処理されるとき、予測に使用可能な値はAのみであるため、値Aが予測値として直接用いられることを理解されたい。同様に、最初の列に対して使用可能であるのはB値のみであるため、値Bが予測値として直接用いられる。最初の値、例えばチャネル0内の最も左上側の値は、予測に使用可能な空間値を持たない。例えば、前のビューまたは前のフレームに時間値があれば、その時間値を最初の予測値に用いることができる。適切な時間予測値が使用可能でない場合、例えば、値0、または中点値((63−0+1)÷2=32)、または別途提供されたチャネル/ビュー/フレームのモード値を、チャネル0に対する最初の予測値として用いることができる。1つの方法において複数の予測子を用いて、符号化データ(E2)内のどのフレーム、チャネル、ブロック、さらにはデータ値にどの予測子を用いるのかに関する情報を提供することも可能である。
同様の方法を、例えばデータブロックに用いることもできる。以下の例に、BlockChannel0ODeltaCodedメソッドを用いてチャネル2内のブロック2を符号化処理する方法を示す。BlockChannel0ODeltaCodedメソッドでは、品質要件が明らかに低い、値4による量子化が対応する符号化値に用いられる。値4による量子化とは、lowValueが0、highValueが15、およびwrapValueが16であることを意味する。ここで、現在のチャネル2内のブロック2には、例えば以下のような値が含まれている。

45,48,50,52
46,48,50,51
46,49,49,50
チャネル0内のブロック2には、以下の予測値が含まれている。

36,39,40,42
36,37,39,41
36,39,39,41
時間的予測を用いるため、符号化値を量子化すると、チャネル2の復号値は変更されるが、チャネル0内の予測値には影響しない。このため、OValueを定義する場合に量子化を考慮する必要がないため、処理を単純化できる。その後、OValueは以下のようになる。

9,9,10,10,10,11,11,10,10,10,10,9
これらの値を値4で除算することによって量子化すると、以下のようなQOValueが生成される。

2,2,2,2,2,2,2,2,2,2,2,2
すべての値が範囲内、すなわち0から15の値であるため、どのQOvalueにもラップアラウンドは必要なく、ODelta値がQOValueと同じになる。ここで、すべてのODelta値が同じであるため、用いる符号化処理メソッドをBlockChannel0ODeltaCodedメソッドからBlockChannel0ODeltaSameメソッドまたはBlockChannel0IDeltaSameメソッドへと変更することができることを理解されたい。このBlockChannel0ODeltaSameメソッドでは1つの値(2)のみが提供される必要がある。それによって、ブロック値の復号が、デコーダにおいて適切に、すなわちエンコーダにおいて実行されたのと同様の方法で実行される。
このデータブロックに対し、デコーダにおいて符号化処理メソッドBlockChannel0ODeltaSameおよび値2を用いるように指示される。その後デコーダは、以下のような12(4×3ブロック)個の値を含むバッファを作成する。

2,2,2,2,2,2,2,2,2,2,2,2
この例では、逆量子化によってこれらの値に4を掛ける。また、量子化範囲内の誤差をより正確に推定するために、1を加算してもよい。これらの値を逆量子化すると、以下のような値が生成される。

9,9,9,9,9,9,9,9,9,9,9,9
これらの逆量子化値を、エンコーダにおけるチャネル0からの値に類似する予測値に加算すると、ブロック値が以下のようになる。

45,48,49,51
45,46,48,50
45,48,48,50
符号化および復号における値の歪み、すなわち、符号化/復号処理後の任意の元データと対応する復号データとの間の誤差は、以下のようになる。

0,0,1,1
1,2,2,1
1,1,1,0
この歪みは量子化によるものであるが、非常に小さい。この方法では、任意の4×3データブロック全体に対して提供する必要があるのは選択された方法と1つ値のみであるため、非常に効率的である。チャネル内でより多くのブロックを、同じ、または実質的に同様の符号化方法によって符号化処理する場合、それらすべての値を、例えば、任意のエンコーダにおいてレンジ符号化し、対応する任意のデコーダにおいてレンジ復号することで、より高い圧縮率、すなわち、元データまたは復号データ(D1)の量/符号化データの量(E2)の比率を達成できる。
前述のODeltaを用いる場合、チャネル0より前にチャネル2を符号化し、チャネル0においてチャネル2を予測のために用いても有利である。この場合、すべてのQOValueが−2であると有利である。これらの値はlowValueよりも小さいため、ラップアラウンド(すなわちwrapValueの加算)が必要である。その後、すべてのODelta値が14(−2+16)と等しくなる。したがって、本願の実施例を実行するために利用される前述のODelta符号化は、範囲を拡大することも、符号ビットを必要とすることもないため、同様の既知のDelta符号化方法よりも効率的である。また、ODelta符号化は、この現在のデータブロックの差分チャネルに対してDC法を用いるよりも効率的である。
次に、チャネル1において4×3ブロックをBlockSpatialODeltaCodedによって空間的に符号化する例を示す。この例において、このメソッドは最初の予測値として0を用いる。元の値は0から255の範囲であり、品質は、lowValueが0、highValueが35、wrapValueが36になるようにエンコーダにおいて設定されている。もちろん、対応する復号段階において、値が元の範囲の0から255内のままであり、したがって復号段階においてlowValueが0、highValueが255、wrapValueが256であると有利である。この場合、元のブロックは以下のとおりである。

141,151,148,137
159,150,152,147
159,154,153,150
最初の16レベル、すなわち、レベル0から15、および最後の16レベル、すなわちレベル20から35、に対する量子化子は7であり、中間の4レベル、すなわちレベル16から19に対する量子化子は8である。これは、112より小さい絶対差分値、すなわち0から111はすべて値7によって量子化される、すなわち除算されることを意味する。後続の144までの値、すなわち112から143は、値112が減算され、値8によって量子化され、値16が加算される。最後の値、すなわち144から255は、値144が減算され、値7によって量子化され、値20が加算される。同様に、最初の16個の値、すなわち値0から15の逆量子化は、各値に値7を乗算することによって行われる。中間の値である16から19は、各値から値16を減算した後、各値に8を乗算して値112を加算することで復号される。最後の値、すなわち値20から25は、各値から値20を減算した後、それらに値7を乗算し値144を加算することで復号される。
第1の値は141である。予測値は0に初期化されたため、OValueは141、QOValueは19となる。ラップアラウンドは不要であるため、ODelta値も19となる。この値はラップアラウンドなしで値136(16*7+3*8)に復号される。この値を将来の予測に有利に用いてもよい。
第2の値は151である。Aに基づく予測値を用いてもよく、この値は136である。OValueは15であり、QOValueは2である。ここでもラップアラウンドは不要であるため、ODelta値は2である。この値はラップアラウンドなしで値150(136+2*7)に復号される。この値を将来の予測に有利に用いてもよい。
第3の値は148である。Aに基づく予測値はここでは150である。OValueは−2であり、QOValueは0である。ここでもラップアラウンドは不要であり、OValueは負の値であるが、量子化された値QOValueは0であり、範囲内であるため、ODelta値も0である。この値はラップアラウンドなしで値150(150+0)に復号される。この値を将来の予測に有利に用いてもよい。
第4の値は137である。Aに基づく予測値はここでも150である。OValueは−13、QOValueは−1である。ここではラップアラウンドが必要であり、ODelta値は−1+36=35である。この値が復号されると、値150+249はhighValueすなわち値255より大きいため、ラップアラウンドが必要であり、その結果は150+249−256=143である。この値を将来の予測に有利に用いてもよい。
第5の値が新しい行に入力され、この値は159である。ここで、値B,すなわち136を用いて予測を実行できる。OValueは23であり、QOValueは3である。ラップアラウンドは不要であるため、対応するODelta値も3となる。復号値は136+21=157となる。この値を将来の予測に有利に用いてもよい。
第6の値は150であり、予測値としてA+B−Cを用いることができる。予測値はここで157+150−136=171である。OValueは−21であり、QOValueは−3である。ラップアラウンドが必要であるため、ODelta値は33である。復号値もラップアラウンドする必要があり、その結果は150(171+235−256)である。この値を将来の予測に有利に用いてもよい。
同様に、任意のデータブロックの最後まで有利に処理が続けられ、全体的なODelta符号化結果は以下のとおりとなる。

19,2,0,35,3,33,0,0,0,0,0,1
これらの値はバッファに有利に挿入され、他の同様の符号化ODelta値と共に、例えばSRLEレンジ符号化を用いてエントロピー符号化される。デコーダは、符号化データ(E2)内のメソッドBlockSpatialODeltaCodedに関する情報および符号化ODelta値が提供されると、以下の値を生成することができる。

136,150,150,143
157,150,150,143
157,150,150,150
符号化および復号後の値の歪み、すなわち、用いられた符号化と復号が相互に逆である場合の元データ(D1)と復号データ(D3)との間の誤差は、以下のとおりである。

5,1,−2,−6
2,0,2,4
2,4,3,0
第1の値は任意の値であってもよく、優れた初期化推定を有利に利用して結果を容易に改善できることを理解されたい。また、これらの第1の値を個別に提供し、他の値の符号化結果を改善することもできる。一般に、他の値には、多数のゼロ、および少数の1に近い値、+1に対応する値、35に近い値、−1に対応する値が含まれる。この例では、highValueは35、wrapValueは36であった。
符号化処理されたすべての値がゼロであることもあるが、その場合、例えば、BlockSpatialODeltaNotCodedメソッドを用いると有利である。BlockSpatialODeltaNotCodedメソッドは空間的予測のみを行い、ODelta符号化のための値は提供しない。一般に、空間的予測には符号化処理された値が必要であるが、時間的予測は、すべて符号化された値すなわち「Coded」メソッドの代わりに、定数値すなわち「Same」を用いるか、または符号化処理された値なし、すなわち「NotCoded」を用いて実行されることが多い。
本願の開示に従うメソッドを用いる場合、それらのメソッドは一般に、相互に異なるメソッドとして用いられる。基礎となる何らかのメソッドを用いて、例えば、用いられる任意の時間的予測ソース、符号化処理手段などを記述するサブメソッドを利用することもできる。次の例において、表2に、相互に異なるチャネルおよびブロックの符号化サブメソッドの一覧を示す。各サブメソッドは、関連付けられた3ビットによって表現、すなわち定義される。
表2:チャネルおよびブロックの符号化処理メソッド
Figure 0006681383
異なるチャネルの符号化処理に、相互に異なる符号化処理メソッドを用いてもよい。例えば、任意の第1のチャネル(チャネル0)を、データブロックの符号化に任意でBlockODeltaメソッドも用いるブロックエンコーダによって符号化し、任意の第2のチャネル(チャネル1)を、時間的予測ベースのODelta法であるChannel_Channel0ODeltaCodedによって符号化し、任意の第3のチャネル(チャネル2)を、空間的予測ベースのODelta法であるChannel_SpatialODeltaCodedによって符号化する。すべてのチャネルを同じ方法、例えば空間的予測ベースのODelta法で符号化処理する場合、例えばFrame_SpatialODeltaCodedメソッドを、対応するフレームに有利に提供すれば、そのフレームに他の符号化処理方法を提供する必要はない。すなわち、チャネル符号化方法やブロック符号化方法を用いる必要はない。
本願の実施例に関連するデータ構造を、図1から図4を参照して以下に説明する。本願の方法における空間的予測に用いることができるデータ構造およびデータ値を示している。図1に、上位構造の例を示す。この例のデータは、例えば3つのフレームを含み、各フレームには例えば2つのビューがあり、各ビューには例えば3つのチャネルがある。上位構造のデータには、スライス、データブロックのグループ、または他のデータ構造が含まれてもよい。一部の構造、例えばパケットおよび/またはビューが含まれていなくてもよい。存在する構造の違い、または値の処理順序や利用する構造の選択により、データ値の予測は大幅に異なる可能性がある。図2に、6つのブロックを含むチャネルの例を示す。これらのブロックの符号化順序は、左から右、上から下である。図2のブロックは例えば3つのパケットを含み、各パケットは例えば4つの値を含む。また、図3に、ブロックとその構成要素の例を示す。
したがって、全体的なデータ例は、データ=3*2*3*6*3*4個の値=1296個の値となる。次の例は、予測に用いられる近隣のデータ値を表す。図4において、値AからNは、位置Xに対する前のデータ値である。値oから値tは、例えば、任意の現在のブロックより前に処理された1つ以上の他のブロック内にある場合、前のデータ値である。前のデータパケット、データブロック、チャネル、ビュー、およびフレームも、予測に使用可能なデータ値を含む可能性がある。したがって、図4は、本願の開示に従って予測のために使用可能な近隣のデータ値の概略図である。
前述の本願の実施例は、前述のとおり、ODelta演算子の修正版を用いてデータ圧縮結果を向上させることができる方法を提供する。本願の方法は、相互に異なり多数になり得る予測方法の選択肢と、ODeltaラッピングに対して適切に動作する任意の量子化子とを用いる。本願の方法は、ODelta演算によるエントロピー低減によりもたらされるすべての利点を活用するために、エントロピー符号化も用いる。これらの方法は、フレーム、チャネル、データブロック、データパケットなどの相互に異なる多様なデータ構造に適している。各構造には、少量の対応するODelta符号化データを作成する、明確に定義された符号化方法が利用される。符号化データの格納および通信に必要なデータ通信帯域幅は、そのデータが符号化されない場合と比べて大幅に削減される可能性があり、非常に有利である。
前述の方法および実施形態は、データエンコーダおよびデータデコーダに関して有利に実行される。図5を参照すると、本願の実施例は以下に関する。
(i) 入力データD1を符号化して対応する符号化データE2を生成するエンコーダ100、および、前記入力データD1を符号化して前記符号化データE2を生成するための、対応する方法。
(ii) 前記符号化データE2を復号して対応する復号データD3を生成するデコーダ120。前記復号データD3は、可逆的符号化におけるように、前記入力データD1と厳密に類似であってもよく、あるいは、非可逆的符号化におけるように、前記入力データD1と略類似であってもよい。あるいは、前記データD3は、例えば変換によって、前記入力データD1と異なってもよいが、前記入力データD1に存在する情報と、前記符号化データE2を復号して前記復号データD3を生成するための対応する方法を、実質的に維持しているものとする。
(iii)少なくとも1つのエンコーダ100と少なくとも1つのデコーダ120との組合せを含むコーデック130。前記コーデック130は、単一の機器内に実装されても、複数の機器間で有効に実装されてもよい。例えば、前記コーデック130は、第1の空間的位置にエンコーダ100があり、他の複数の空間的位置に複数のデコーダ120があるブロードキャストシステムとして実装されてもよい。
添付の特許請求の範囲に定義される発明の範囲を逸脱することなく、前述した本発明の実施形態への修正が可能である。本発明の記述と特許請求の範囲で用いられる「含む」、「備える」、「包含する」、「構成される」、「有する」、「存在する」などの表現は、包括的構成であると解釈されることを意図しており、明示的に記載されていないアイテムや部品、構成要素も含まれ得ることを意図している。単数による表記は、複数の場合も関連すると解釈される。添付の特許請求の範囲における括弧内の数字は、請求項の理解を助けることを意図したものであり、これらの請求項によって定義される発明の範囲を限定するように解釈されるべきではない。
〔付属書類1:ODelta符号化の概要〕
以下にODelta符号化の概要を述べる。ODelta符号化及び関連技術の説明のために、エンコーダ1010、エンコーダ1010を使用する方法、デコーダ1020、デコーダ1020を使用する方法を例示する。
エンコーダ1010は、数値列を含む入力データ(DA1)を符号化することにより、対応符号化出力データ(DA2又はDA3)を生成するエンコーダである。このエンコーダは、差分符号化及び/又は合算符号化の方式を入力データに適用することにより1つ又は複数の対応符号化列を生成するデータ処理装置を備える。但し、上記1つ又は複数の対応符号化列は、符号化出力データを生成するために、最大値におけるラップアラウンド及び/又は最小値におけるラップアラウンドを受ける。またエンコーダ1010は、符号化出力データを作成するのに利用される一連の予測値として、デフォルト第1予測値を利用するように動作可能である。符号化出力データ(DA2又はDA3)は、入力値、予測値及び符号化演算を用いて生成される。
エンコーダ1010を使用する方法は、数値列を含む入力データ(DA1)を符号化するエンコーダを用いることにより、対応符号化入力データ(DA2又はDA3)を生成する方法である。この方法は、
(a)差分符号化及び/又は合算符号化の方式を入力データに適用することにより、1つ又は複数の対応符号化列を生成するエンコーダのデータ処理装置を用いることと;
(b)符号化出力データを生成するために、上記1つ又は複数の対応符号化列に対して最大値におけるラップアラウンド及び/又は最小値におけるラップアラウンドを行う、上記データ処理装置を用いることと;
を含む。
デコーダ1020は、符号化データ(DA2、DA3又はDA4)を復号することにより対応復号出力データ(DA5)を生成するデコーダである。このデコーダは、符号化データの1つ又は複数の部分を処理するデータ処理装置を備え、該データ処理装置は、上記1つ又は複数の部分の1つ又は複数の対応符号化列に対して差分復号及び/又は合算復号の方式を適用するように動作可能である。上記1つ又は複数の符号化列は、復号出力データを生成するために、最大値におけるラップアラウンド及び/又は最小値におけるラップアラウンドを受ける。
デコーダ1020を使用する方法は、符号化データ(DA2、DA3又はDA4)を復号するデコーダを用いることにより対応復号出力データ(DA5)を生成する方法である。この方法は、上記復号データの1つ又は複数の部分を処理するデータ処理装置を用いることを含む。上記データ処理装置は、上記1つ又は複数の部分の1つ又は複数の対応符号化列に対して差分復号及び/又は合算復号の方式を適用するように動作可能であり、上記1つ又は複数の符号化列が、復号出力データを生成するために、最大値におけるラップアラウンド及び/又は最小値におけるラップアラウンドを受ける。
デコーダ1020を使用する方法には、次のような方法もある。この方法は、符号化データ(DA2、DA3又はDA4)を復号するデコーダを用いることにより対応復号出力データ(DA5)を生成する方法であって、該方法は、
(a)上記符号化データを処理するものであり、上記符号化データは、変換データの連続値における変化を表す少なくとも1つの符号化列を含み、かつ最大値におけるラップアラウンド又は最小値におけるラップアラウンドを利用するものであることを考慮して、上記符号化データの1つ又は複数の部分に復号を適用するデータ処理装置を用いることと;
(b)対応処理データを生成し、かつ少なくとも1つのプリオフセット値及び/又はポストオフセット値を用いて上記1つ又は複数の部分を変換することにより復号出力データを生成するデータ処理装置を用いることと;
を含む。
図6〜図8を参照して、付属書類1に記載の実施形態を例としてのみ以下に説明する。
本開示の実施形態を説明する際、表3に示す通り以下の頭字後及び定義が用いられる。
Figure 0006681383
概して、図6を参照すると、本開示は、エンコーダ1010及びそれに関連する操作方法に関連する。エンコーダ1010は、直接ODeltaエンコーダとして実施されるという利点を持つ。さらに、本開示は、対応するデコーダ1020にも関連する。デコーダ1020は、逆ODeltaデコーダとして実施されるという利点を持つ。該開示による実施形態では、有利には、上述した既知の差分符号化法のビット最適化バージョン、並びにその他データに関するレンジ最適化バージョンである直接ODelta演算を利用する。ODelta符号化が、可変長データワード、例えば8/16/32/64ビットを利用し、かつ/又は元の値が1〜64ビットの範囲で表現される8/16/32/64ビットのデータ要素の可変長符号化を利用するコンピュータハードウェア又は専用デジタルハードウェアにおいて利用され、対応する符号化値が1〜64ビットで生成される。勿論、エンコーダ1010及びデコーダ1020は、如何なる場合においても、データDA1、例えば元データにどの種類の数値が含まれているのかを認識し、従って、その定義又は伝送が、ここでさらに明らかになることはない。数値範囲(MIN及びMAX)が既知であること、並びにデータDA1が利用され得ることが単に仮定される。
既知の差分符号化法は、元(MIN〜MAX)から結果(MIN−MAX〜MAX−MIN)まで値の範囲を増加させる。この事は、該符号化法は、元データが正の値のみを含む場合、負の値もまた作成することを意味する。本開示によるODelta演算は、対応する元の値の範囲にない値を作成することは決してなく、従って、使用されるデータ範囲を増加させることもなく、それ故に例えばエントロピー低減及び関連データ圧縮を実行する際に有利に利用される。例えば、既知の差分符号化法は、5ビット、即ち0〜31の値の範囲のデータストリームを用いて作動し、その結果、該差分符号化法によって生成されるデータ値は、−31〜+31の範囲、即ち6ビット(即ち符号ビット+5ビット)を用いて実質的に表現され得る63個の値になる。対照的に、直接ODelta生成値は、上記の5ビットデータストリームから生成される際には、0〜31の範囲に依然としてある。さらに、既知の差分符号化法は、再起的に実施することは不可能であるが、本開示による直接又は逆ODelta演算は、再帰的に実施可能であるにも関わらず、用いた値の範囲を依然として保存する。この値の範囲は、ビットに対して忠実である必要はなく、例えば、0〜31の値は5ビットで定義されるが、ODelta演算は、任意の値の範囲、例えば0〜25の値の範囲を用いることができ、依然として適切に動作する。
原則として、本明細書に記載されるODelta法は、常に、既存のデータ範囲に基づいて直接機能することが可能であり、そのデータ範囲の例は以下に挙げられる。ODelta法は、データにおいて生じる最低値(「lowValue」)及びデータにおいて生じる最高値(「highValue」)を示す情報を伝達することによって強化することもできる。lowValue≧MINかつhighValue≦MAXであること、並びにこれらの値は任意選択のものであることに留意されたい。
本開示による直接ODelta演算及び逆ODelta演算の2つの例が以下に記載されている。直接ODelta演算及び逆ODelta演算の最初の例は、例えば不揮発性(非一時的)機械可読データ記憶媒体に記録された1つ又は複数のソフトウェア製品を実行するように動作可能である電子ハードウェア及び/又はコンピュータハードウェアにおいて実施するのに、効率的であり、かつ比較的単純である。
本開示による直接ODelta演算又は逆ODelta演算を実施する際には、有利には、元のデータ値列は全て正であり、最低値は0である。オプションで、何らかのオフセット値、即ちプリオフセット値又はポストオフセット値が、データ値のすべてが正となり、かつ最低値が「0」となるように、それらデータ値をシフトさせるのに利用され得る。本開示によるODelta演算は、直接方式で全種類のデータと共に容易に利用され得る。本開示によるODelta演算は、典型的には、データ圧縮を提供することが可能であり、即ち伝達データレートを減らすことができる。その理由は、オフセット値がすべての値に加算されるか、或はすべての値から引かれる際に、データ値の範囲は、より少ないビットで定義され得るからである。例えば、直接ODelta演算又は逆ODelta演算を適用する前の元データ値は、−11〜+18の範囲にあり、この範囲は、+11のオフセット値を用いて0〜29の範囲に変換することができ、その変換範囲はその後、5ビットで記述される。このようなプリオフセット値又はポストオフセット値が利用されない場合、元データ値は、それらを記述するのに少なくとも6ビットを必要とし、しばしば、実際には、完全な8ビット符号付バイトが便宜上利用される。
データ範囲に対する同様の最適化が、一般化された直接ODelta演算又は逆ODelta演算を用いる際にもまた可能である。したがって、直接ODelta演算若しくは逆ODelta演算又は何らかのその他方法が、値の完全な範囲よりも小さいオフセット値で提示され得るデータ値を作成する場合、その範囲最適化は、ODelta符号化法のどの段階においても実施され得る。オフセット値が、符号が負であろうと又は正であろうと用いられる際には、以下に図6、図7及び図8を参照して説明するとおり、オフセット値は、また、エンコーダ1010からデコーダ1020に伝送されなければならない。
直接ODelta演算は、例えばビット単位方式で元データDA1を符号化するために、1ビット方式で容易に実施され得る。このような1ビット方式で、以下により詳細に説明されるとおり方法1及び方法3により、図6の元データDA1においてビット値の変化がない場合には値「0」が作成され、元データDA1においてビット値に変化が生じた場合には値「1」が作成される。元データの最初のビットに関する予測は、任意に値「0」であり、従って、元データDA1における最初のビット値が保存される。或は、元データの最初のビット予測値を値「1」として利用することも任意に可能であるが、このような選択は、符号化において如何なる利益も与えることはない。そのため、その予測が常に1ビットデータに対してデフォルトで値「0」であると仮定される場合、如何なる選択も伝送される必要はない。即ち、所定の値「0」が、エンコーダ1010及びデコーダ1020によって利用されることにより、この予測を伝達する必要がなくなり、その結果データ圧縮の向上に繋がる。
本開示による直接ODelta符号化の例を以下に記載する。例示である元ビット列、即ち17個の「1」と20個の「0」とを含む37個のビットが、以下のとおり式1で与えられる。

[式1]
0 1 0 1 0 1 1 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1
式1のエントロピーEは、式2から計算可能である。
[式2]
Figure 0006681383
式2においてエントロピーを符号化するのに必要なビットの数、即ちMin_bitは、後掲の文書P7及びP8に記載されるとおり、つまり式3で与えられるとおり、シャノンの情報源符号化定理から計算可能である。
[式3]
Figure 0006681383
元ビット列が、上述のとおり直接ODelta演算、即ち方法1及び方法3で処理されると、13個の「1」と24個の「0」が存在する、37個のビットを含む以下のビット列が生成される。
[式4]
0 1 1 1 1 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
式4のエントロピーEは、式5から計算可能である。
[式5]
Figure 0006681383
式5は、ビット最小値、即ち、式6によるMin_bitsで表現可能である。
[式6]
Figure 0006681383
式4のビット列は、例えばランレングス符号化(RLE)、ハフマン符号化、算術符号化、レンジ符号化、エントロピー変更符号化、又はSRLE符号化のうちの少なくとも1つを用いた更なる符号化で処理され、データ圧縮が達成されるという利点を持つ。
ODelta演算は、その関連エントロピー符号化法が適用される場合、元データDA1を表すのに必要なビット量を減らし、例えば、RLE又はSRLEが、例えば式1にあるような元データの代わりに、例えば式4にあるような演算データに用いられ、この1ビット直接ODelta演算は、即ち方法1及び方法3は、式1の元ビット列において多数の変化がある場合には複数の「1」を作成し、式1の元ビット列において相互に類似のビットの長いストリームがある場合には複数の「0」を生成する。
ODelta演算の逆バージョン、即ち方法1及び方法3の逆は、符号化データストリーム、即ちデータDA2に値「1」がある場合には、ビット値を、値「0」から値「1」に、又は必要に応じて値「1」から値「0」に変化させ、データDA2の符号化ストリームに「0」の値がある場合にはビット値を変化させることはない。ODelta演算が、直接ODelta演算が為されたデータDA2のビットストリームに対して実行される場合、データDA1の元ストリームは、復号データDA5として再生される。しかしながら、上述のとおり、VLC又はハフマン符号化等の更なる符号化が有利に利用されるが、この事も考慮される必要がある。これは、データDA3がエントロピーエンコーダの正方向の演算を用いてデータDA2から生成され、データDA4がエントロピーデコーダの逆演算を用いてデータDA3から生成されることを意味する。
データDA1の元ストリームは、符号化をそれに適用する前に、2以上のセクションに分割されるという利点を持つ。このような分割は、データDA1の元ストリームを符号化する際により良い最適化が利用され得る機会を提供する。例えば、データDA1における可変列が、直接ODelta符号化される場合、即ち方法1及び方法3を利用して符号化される場合により多くの「1」を生成する。これに対して、フラットな不変列、即ち「フラット」列では、例えば後続のVRL符号化又はハフマン符号化にとって望ましい「0」が、より多く作成されるので、データDA1を、上述のとおり別々に符号化できる複数のセクションに分割することによって、データDA1を構成するビットストリーム全体に対してエントロピーEを低減することができる。したがって、このような分割が有利となる。
本発明による直接ODelta符号化の例を、相互に別々に符号化される複数のセクションが利用される場合について以下に説明する。元の単一ビット列を含む第1セクションは、以下式7のとおり、全体で16個のビット、即ち7個の「1」及び9個の「0」を含む。
[式7]
0 1 0 1 0 1 1 0 0 1 0 0 0 1 0 1
ここで、H(X)=4.7621かつB=15.82であり、Hはエントロピーを示し、BはMax_bitを示す。式7の元ビット列が、直接ODelta演算で処理される場合、対応変換ビット列が式8のように与えられる。
[式8]
0 1 1 1 1 1 0 1 0 1 1 0 0 1 1 1
ここで、H(X)=4.3158かつB=14.34である。
元の単一ビット列を含む第2セクションは、以下式9に示すとおりのビットを含む。
[式9]
0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1
ここで、H(X)=6.3113かつB=20.97である。式9の元ビット列が直接ODelta演算で処理されると、対応変換ビット列は、式10のとおり与えられる。
[式10]
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
ここで、H(X)=1.7460かつB=5.80である。これらの例では、上述したとおり、H(X)はエントロピーEを表し、Bは、符号化に要するビット最小数を表す。
この例における式7及び式10による最良の圧縮は、両セクションが別々に直接ODelta演算で処理される場合に達成される(即ち、14.34ビット+5.80ビット=全体で20.14ビットに符号化)。これは、もともと必要とされていた36.82ビットよりも少ないビットを要し、即ち直接ODelta演算ビットは34.60ビット、又は分割後に要したビット数(=15.82ビット+20.97ビット=36.79ビット)を要する。有利には、データDA1の元ビットストリームのセクションへの分割を、元データDA1、及び変更データ(即ちデータDA2に含まれるような変更データ)の対応エントロピーHを1つずつ分析することによって自動的に実行する。
データDA1に複数の長いランセクションがある場合に、ビット値が配列に沿って急激に変化する十分に大きなデータ領域があることを前提として、オプションで、データDA1の部分を符号化される新規セクションに単に分割することによって粗い方式で、データ圧縮が実施される。オプションで、データDA1の幾つかのセクションは、例えば個々の異なるビットが比較的少ない、相互に類似のビットの長いランが存在する場合、直接ODelta演算を利用することなく符号化される。このような場合、直接ODelta演算は、データ圧縮目的には有意な利益をもたらさない。
データDA1をより小さいセクションに分割することは、符号化データDA2にデータを付与する更なるオーバーヘッドを生成するという欠点を有する。このようなオーバーヘッドは、例えば、全ての新しいセクションに関連するデータビット量又はデータバイト量を示す情報を含む。しかしながら、少なくとも特定量のオーバーヘッドデータ値を伝達する必要があると常に認められ、従って、所与のデータが2つのデータセクションに分割された場合には、追加のオーバーヘッドデータ値が1つのみ存在することになる。
後に復号され得る符号化ビットストリームを達成するためには、エントロピー符号化が、直接ODelta演算、例えばVLC、ハフマン符号化、算術符号化、レンジ符号化、RLE、SRLE、EM等の後に有利に実施される。実際のデータ符号化と比較して、算出エントロピーE及び最小ビット見積値に基づいて最適化計算を実行する方がより簡単であり、かつ計算上より効率的である。このような順番で実行することにより、顕著な速度の最適化が可能となり、しばしば、符号化データDA2において最適なデータ圧縮の結果が達成される。或は、元のビット、アルファベット、数字、バイト及びワードのデータ、即ちデータDA1にあるものが、何らかの他の方法で最初に符号化されることにより、エントロピー最適化ビットストリームが生成され、その後、直接ODelta演算を用いてエントロピー最適化ビットストリームを変更し、対応符号化データ、即ちデータDA2を提供するように、エントロピー最適化を実行することも可能である。さらに、このODelta演算データは、データDA2から、さらに他の符号化方法を用いて符号化し、データDA3を生成することもできる。
一般化された直接ODelta演算は、データDA1において用いられる様々な値を記述するパラメータ、即ち、その様々な値を提示するのに必要とされるビットの値又は数を利用する。さらに、ODelta演算は、正及び負のオフセット値、言い換えると正及び負の「ペデスタル(基礎)」値の使用を可能にする方法において利用される。例えば、データDA1が7個のビットを用いて提示され場合であって、即ち使用可能な「0」〜「127」の値を有するが、「60」〜「115」の範囲の値のみを含む場合において、−60のオフセット値がデータDA1に適用されると、これによって、6個のビットのみを含む値として表すこともできる、「0」〜「55」の範囲の値を有する変換データが生成され、つまりある程度のデータ圧縮が、これによって達成可能となる。従って、この一般化直接ODelta演算は、全範囲のデータ値が、即ち7個のビットにおいて表され、かつ8ビットバイトによって従来表されるデータ値がデータDA1に存在する場合に、結果を向上させる。
本開示によれば、直接ODelta値、即ち方法1は、正の値(lowValue=MIN=0かつhighValue=MAX=127、wrapValue=127−0+1=128)のみを有するデータに関する、以下の例示ソフトウェアコードの抜粋によって記述される手順を用いて容易に計算可能である。

wrapValue = power(2, bits) = power(2, 7) = 128
prediction Value(予測値) = (lowValue + highValue + 1) div 2 = (wrapValue + 1) div 2 + lowValue = 64
for all pixels(全てのピクセルについて)

begin
if(originalValue >= predictionValue) then
ODeltaValue = originalValue - predictionValue
else
ODeltaValue = wrapValue + originalValue - predictionValue
predictionValue = originalValue
End
さらに上記ODelta演算を説明するために一例を以下に提供する。値の元配列は、式11のとおりである。
[式11]
65, 80, 126, 1, 62, 45, 89, 54, 66
対応する従来の差分符号化値は式12のとおりである。
[式12]
65, 15, 46, -125, 61, -17, 44, -35, 12
対応直接ODelta符号化値は式13のとおりである。
[式13]
1, 15, 46, 3, 61, 111, 44, 93, 12
ここで、パラメータwrapValue内のラップアラウンドが利用される。
逆ODelta演算、即ち方法1が、逆ODelta値を生成するために使用可能であり、例えば以下の例示ソフトウェアコードによって実施される。

wrapValue = power(2, bits) = power(2, 7) = 128
predictionValue(予測値) = (wrapValue + 1) div 2 + lowValue = 64
for all pixels(全てのピクセルについて)

begin
ODeltaValue = originalValue + predictionValue
if (ODeltaValue >= wrapValue) then
ODeltaValue = ODeltaValue - wrapValue
predictionValue = ODeltaValue
end
このソフトウェアコードが、式13に対して実行、適用された場合、式14で与えられる値が生成される。
[式14]
65, 80, 126, 1, 62, 45, 89, 54, 66
本例では、wrapValueが2の冪乗の値として用いられる。これは必須ではなく、負の値がまた利用可能であるか、所与のデータ列においてプリオフセットによって範囲が変更される場合、wrapValueが、データの最高値より大きい任意の値、又は用いられる範囲よりも大きい値であってもよい。この特徴を示す更なる例を以下に示す。
図6を参照した上述の説明を要約すると、本開示は、エンコーダ1010及びデコーダ1020に関連するものである。オプションで、エンコーダ1010及びデコーダ1020は、30によって全体が示されているコーデック装置と組合せて利用される。エンコーダ1010は、元入力データDA1を受信するように動作可能であり、元入力データDA1は、例えば直接ODelta法を用いて符号化されることにより、対応符号化データDA2又はDA3が生成される。符号化データDA2又はDA3は、オプションで、通信ネットワーク1040を介して伝達されるか、又はデータ記憶媒体1050、例えば光ディスク読取専用メモリ(ROM)等のデータ媒体に記憶される。デコーダ1020は、例えば通信ネットワーク1040を介してストリーム配信される符号化データDA2又はDA3、又はデータ記憶媒体1050に提供される符号化データDA2又はDA3を受信し、かつ逆の方法、例えば逆ODelta法を適用することにより、例えば元データDA1に実質的に類似する対応復号データDA5を生成するように動作可能である。エンコーダ1010及びデコーダ1020は、例えば本明細書における例示実施形態として提供されるコードのように、1つ又は複数のソフトウェア製品を実行するように動作可能である、デジタルハードウェア、例えばコンピュータハードウェアを用いて実施されるという利点を持つ。或は、エンコーダ1010及び/又はデコーダ1020は、専用デジタルハードウェアを用いて実施される。
エンコーダ1010において実行されるODelta法は、図7に記載される工程を利用するものである。任意の第1工程1100において、入力データDA1が処理され、そのデータ要素の値の範囲が見出される。任意の第2工程1110において、データ要素を正のレジームに変換することにより変換要素の対応セットを生成するために、その値の範囲から、オフセット、即ちプリオフセットが計算される。第3工程1120においては、第2工程1110において任意に変換された要素が、次いで、直接ODelta符号化を受けることにより、対応ODelta符号化値が生成される。第4工程1130においては、ODelta符号化値、並びに任意のオフセット値、最小値(lowValue)、及び/又は最大値(highValue)が、次いで、例えばランレングス符号化(RLE)、レンジ符号化、又はハフマン符号化を用いて別々に符号化され、データDA2からデータDA3が生成される。オフセット値、最小値(lowValue)、及び/又は最大値(highValue)は、常に圧縮可能であるという訳ではなく、従って、それらはエンコーダ1010からデコーダ1020に適切なビット量を用いて伝達されることを要する。さらに、オフセット値、最小値(lowValue)、及び/又は最大値(highValue)は、直接ODelta演算に関する任意の特徴であり、例えば、オフセット値は、特定の状況では、値「0」を有し、lowValueは、値MINを有し、highValueは、値MAXを有する。即ち、変換は全く適用されずに、全範囲が用いられる。特に、直接ODelta演算が、1ビットデータ、即ちビット単位の符号化のために実施される場合、オフセット値を必要とすることは全くなく、そのため、工程1100及び110は常に無視される。オフセット値が、工程1110においてもまた用いられる場合には、最高値と最低値を提示する範囲値は、その中で更新されなければならない。異なる値の数、即ちwrapValueは、デコーダ1020によってまた識別されなければならず、或は、さもなければエンコーダ1010は、圧縮データ内においてそれをデコーダ1020に伝達しなければならない。オプションで、デフォルトwrapValue(=highValue−lowValue+1)が、エンコーダ及びデコーダにおいて用いられる。オプションで、エンコーダ1010及びデコーダ1020の少なくとも1つが、例えば入力データDA1を符号化のためのセクションに分割してデータDA1の最適な圧縮を提供し、符号化データDA2を生成する最適な方式を見出すために、再帰的な方式で動作する。
デコーダ1020において実行される逆ODelta法は、図8に記載される工程を利用する。第1工程1200において、データDA2/DA3又はDA4は、上述の工程1130において利用されるものとは逆の符号化を受けることにより、復号ODeltaデータが生成され、復号ODeltaデータは、ODelta符号化値を有し、かつ任意の別のオフセット値を有する。第2工程1210においては、ODelta符号化値は、復号され、データ要素列が生成される。第3工程1220においては、データ要素列が、最適プリオフセット値を用いて変換され、復号データDA5が生成される。特定の状況においては、このような変換は値「0」に設定され、つまり、有効な変換が適用されることはない。この場合も、例えば1ビット符号化、即ちビット単位の符号化を実行する場合、オフセット値を利用する必要なく、上記方法を実行することが可能であり、それによって、工程1220を無視することが可能になる。さらに、デコーダ1020は、受信したデータ要素を適切な方式で復号することを可能にするためにwrapValueを識別することも要する。
上記オフセットを利用し、正の値のみを取得することによって、データDA2又はDA3におけるより効率的なデータ圧縮が達成可能となる。すべてのデータ値が、既に正の値である場合、如何なるオフセット値を追加する必要はない。勿論、以下の例に示すとおり、負のオフセット値は、利用可能な範囲を小さくするために任意に利用されるが、必須ではない。
図7及び図8の方法は、オプションで、ODelta符号化を受ける利用可能な値のみを用いることによって更に最適化され得る。このような最適化には、用いる値が既知であることが必要とされる。例えば、上述の例においては、1(=元の最小値)〜126(=元の最大値)の値のみが元データセットDA1に存在する。このため、オフセット値は、1である(->lowValue=元の最小値−オフセット=1−1=0かつhighValue=元の最大値−オフセット=126−1=125)。プリオフセット値が元データDA1から引かれた場合、結果として式15にある次の値が得られる。
[式15]
64, 79, 125, 0, 61, 44, 88, 53, 65
式15から、最大値として125が決定され(highValue=元の最大値(original max)−オフセット=126−1=125)、その結果、「数字」(=最大差分値(maximum Delta value)=highValue − lowValue)は、そうすると、125となり、即ちwrapValueは、最小で126となり得る(=数字+1=highValue−lowValue+1)。すると、これらの値を保存するか、及び/又は伝達する必要があるため、前の例は、以下のとおりプロセス値を変化させることによって変更することができる。

wrapValue = 126 (「0」〜「125」=>126個の異なる値)
prediction Value(予測値)= (highValue + lowValue + 1) div 2 = (wrapValue + 1) div 2 + lowValue = 63
対応する直接ODelta演算の値は式16で与えられている。
[式16]
1, 15, 46, 1, 61, 109, 44, 91, 12
全ての「負の差分値」が、今や、2分の1に減じられている(即ち=範囲変化=128−126)ことが理解される。同様に、デコーダ1020においても、プロセス値は以下のとおり変化させなければならない。

wrapValue = 126
predictionValue = (wrapValue + 1) div 2 + lowValue = 63
対応する逆のODelta値は、以下の式17のとおりである。
[式17]
64, 79, 125, 0, 61, 44, 88, 53, 65
プリオフセット値を式17に加算すると、式15における元データに対応して、以下の式18の結果が得られる。
[式18]
65, 80, 126, 1, 62, 45, 89, 54, 66
本例では、値の範囲はほぼ全体であり、従って、オフセット値及び最大値(highValue)を用いて直接ODelta演算を適用することにより得られる利益は比較的それほど大きいものではない。しかしながら、それら値が適切に伝達される場合には、エントロピーEの低減が依然として達成可能であり、即ち、頻度テーブル又は符号テーブルにおいて値の数を減らすことができる。この範囲がより小さい場合に最大の利益が得られる。
データを符号化及び復号する実践的な1ビットの直接及び逆ODelta法の例示実施形態、即ち、方法1又は方法3が、実行可能なコンピュータソフトウェアコードにより以下に提供される。これらの方法は、上記の直接及び逆ODelta演算、即ち方法1又は方法3を利用する。ソフトウェアコードは、コンピュータハードウェアで実行される際に動作可能であり、1つのバイトバッファから別のバイトバッファに対してビットを処理する。ソフトウェアコードでは、GetBit、SetBit、及びClearBitの関数が、常に、HeaderBits値を更新する。HeaderIndex値もまた、次のビットが次のバイトにある場合に更新される。オプションで、ソフトウェアコードは、1セットのHeaderIndex値及びHeaderBits値のみがソース及び宛先に関し用いられるように最適化することができ、その結果、所与のビットが宛先バッファに書き込まれる場合のみ値が更新される。
Figure 0006681383
Figure 0006681383
上述の直接及び逆ODelta演算、即ち方法1又は方法3は、例えばビデオデータ、画像データ、音声データ、グラフィックデータ、地震データ、医療データ、測定値、参照数字及びマスク等のデジタルフォーマットである任意の種類のデータを圧縮するのに有利に利用される。さらに、1つ又は複数のアナログ信号も、対応デジタルデータに最初に変換させる場合に、例えば圧縮前にADCを用いることによって、直接ODelta演算を用いて圧縮可能である。逆ODelta演算を用いる際、データを変換して1つ又は複数のアナログ信号に戻すことが望まれる場合には、演算の後にDACを用いることができる。しかしながら、直接ODelta演算それ自体は、データを圧縮するのに通常は効果的ではないものの、例えば可変長符号化(VLC)、算術符号化、レンジ符号化、ランレングス符号化、SRLE、エントロピー変更等の他の符号化法と組合せて利用される場合には効果的なデータ圧縮を提供できることが理解される。これらの符号化法は、直接ODelta演算がエンコーダ1010において利用された後に、データDA2に対して用いられる。生じるデータがデコーダ1020において実施される逆ODelta演算に伝達される前に、符号化データDA2は、対応的に復号されて元に戻されなければならない。ODelta演算は、他の種類のエントロピー変更演算と共に利用することもできる。特定の状況においては、直接ODelta演算は、エントロピーEの増加を生じさせることもあり、データ圧縮アルゴリズムは、データの符号化に用いるための直接ODelta演算を、それが有利なデータ圧縮性能を提供する場合のみ、選択的に利用するように有利に動作可能であり、例えば、それは圧縮されるデータの性質に基づいて選択的に利用されたり、例えば上述のとおり入力データDA1の選択部分に選択的に利用されたりする。
直接ODelta演算は、例えば、本願において援用される米国特許出願US13/584, 005に記載されるようなブロックエンコーダと組合せて利用されること等が考案されている。逆ODelta演算は、本願において援用される米国特許出願US13/584, 047に記載されるようなブロックデコーダと組合せて利用されることが考案されている。オプションで、直接ODelta演算及び逆ODelta演算は、本願において援用される米国特許出願US13/657, 382に記載されるようなマルチレベル符号化法と組合せて利用されるという利点を持つ。2進状態を含む全ての種類の1ビットデータ、例えばデータDA1に存在するもの等を1ビットバージョンの直接ODelta演算で処理されることにより対応変換データを生成し、対応変換データは、次いで、その後、実際のエントロピー符号化を受けることにより、符号化データDA2又はDA3が生成されるという利点を持つ。オプションで、上述のとおり、直接ODelta演算が、元データDA1の性質に応じて選択的に利用される。
オプションで、直接ODelta演算の前又は後に、データのエントロピーを変更する他の方法を利用することができる。例えば、一般化されたバージョンの直接ODelta演算の中でマルチビットデータに対して直接、直接ODelta演算を用いることもできる。さらに、用いられるビット全てをビットの連続配列に最初に入力した後に、上記1ビットバージョンの直接ODelta演算をマルチビットデータに対して有利に利用する。
エンコーダ1010において直接ODelta演算と組合せて複数の方法がデータ圧縮のために利用される場合、対応する逆演算が、例えば以下のとおり、デコーダ1020において逆順に実行される。
以下の処理がエンコーダ1010において利用される。
[式19]
[データDA1] =>直接ODelta(方法2)
=>VLC−
=>EM
=>算術符号化
=> [データDA3]
以下の方法の逆順がデコーダ1020において利用される。
[式20]
[データDA3] =>逆算術符号化
=>逆EM
=>逆VLC
=>逆ODelta(方法2)
=>[データ DA5]
ここで、「VLC」は可変長符号化を示し、「EM」はエントロピー変更を示す。
上記に記載したODelta演算は、可逆的であり、かつ無損失である。さらに、上記ODelta演算は、オプションで、例えばビット単位の符号化を実行する際には1ビットデータストリームに対して、さらにそれだけではなくその他データに対しても、特に実施することが容易に可能である。すべての種類のデータが、一般化バージョンの直接ODelta演算を用いて容易に処理され得るという利点を持つ。そして、直接ODelta演算はデータが圧縮される際に利用され、対応する逆ODelta演算は圧縮データを展開する際に利用されるという利点を持つ。オプションで、ODelta演算が利用される場合、直接ODelta演算と、それに対応する逆演算が、逆順に利用され、言い換えると、逆ODelta演算は、元ビットストリームに対して最初に一時的に実行され、その後直接ODelta演算が続き、元ビットストリームが再生される。一方のODelta演算はエントロピーを増やし、他方のODelta演算はエントロピーを減らす。直接ODelta演算がエントロピーを全く変更してはならず、次いで逆ODelta演算もエントロピーを変更しないというのは極めて稀有なケースである。例えば方法1のために直接ODelta演算及び逆ODelta演算が用いられる場合、これらの演算の逆順は、方法4の通常の順序と同様である。順序の同様の変更が、方法2及び方法3についても可能である。
1ビットバージョンにおいて、即ちビット単位方式でデータを符号化するために、直接ODelta演算は、予測無しで有利に開始し、即ち、デフォルトで初期値「0」の予測を仮定する。一般化バージョンにおいては、ODelta演算は、使用可能なデータ範囲の半分を表す予測を用いて開始し、例えば、5ビットがデータDA1の入力データ値に用いられる場合、即ち「0」〜「31」の範囲の32個の異なる値が用いられる場合、予測値は32/2=16である。有利には、ODelta演算には、データ要素が該演算を用いて処理されるために、使用可能なデータ範囲に関する情報が提供される必要がある。
上記に記載される開示の実施形態によれば、データDA1においてビット又は任意のデジタル値として提示されるエントロピーEを低減することが可能になる。直接ODelta演算によって、ほぼ常に、差分符号化と比較してより向上したエントロピー低減を行える。差分符号化がバイトラップアラウンドと共に用いられ、元予測を用いた差異ODelta演算(方法1)が、wrapValue=256、lowValue=MIN=0、及びhighValue=MAX=255の値を用いる場合のみ、その中で同一の出力結果を生成する。別の直接ODelta法が用いられる場合、又は入力データにおいて全データ範囲が利用可能ではない場合、ODelta演算は、選択した方法、又はlowValue及び/若しくはhighValueを送信することによってより良い結果を生成するが、即ち、これら送信されるものはwrapValueもまた自動的に変更する。エントロピーが小さいほど、より高いデータ圧縮比でデータを圧縮することが可能になる。より高いデータ圧縮比は、より小さい容量のデータ記憶媒体の利用を可能にし、また、圧縮データを伝送する場合に、より遅いデータ帯域幅の利用も可能にし、対応するエネルギー消費の低減も可能にする。
上記において、差分と合算の方式の計算がエンコーダ1010において実行され、かつ対応する逆の計算がデコーダ1020において実行されることが理解される。エンコーダ1010において用いられる他の予測方法を用いることも可能であり、対応する逆予測が次いでデコーダ1020において実行される。この事は、実際、少なくとも4つの異なる直接ODelta方法、並びに少なくとも4つの対応する逆ODelta方法が存在することを意味している。これらの方法の詳細かつ厳密な説明は以下のとおりである。オプションで、上記計算は、再帰的な方式で実行されることにより、符号化データDA2(又はDA3)において高度なデータ圧縮が得られる。このような帰納的な計算を実行する際には、変化する数の範囲が、再帰的計算が何回利用されてきたかに応じて利用される。例えば、エンコーダ1010においては、以下の順序の計算がデータDA1に対して実行され、符号化データDA2(又はDA3)が生成される。
[式21]
[データDA1] e直接ODelta (方法3)=>
e直接ODelta (方法3)=>
eEM=>
e直接ODelta (方法1)=>
eVLC [データDA3]
デコーダ1020において対応する逆演算が実行される。
[式22]
[データDA3] dVLC=>
d逆ODelta (方法1)=>
dEM=>
d逆ODelta (方法3)=>
d逆ODelta (方法3) [データDA5]
式21(方法1に対応)、式22(方法2に対応)、式23(方法3に対応)、及び式24(方法4に対応)によって示されるとおり、データがこれら4つの方法において演算処理されるたびに、任意にすべての方法を用いることを試すことが可能である。その理由は、これらの方法のうち1つが、その他の方法よりも、処理されるデータのエントロピーを減らせる可能性があるからである。エンコーダ1010及び/又はデコーダ1020内における方法の使用を最適化する上で、選択される1つの方法又は複数の方法が、必要とされるデータにおける情報量と比較してエントロピーを減少させる限り、何度も同一又は異なる方法を用いることは有利である。従って、方法1〜4は、数値を符号化するために使用可能であるが、「数値」とは、その定義において、ビット単位方式の符号化ビットストリームにあるような1ビットデータ並びに非2進数、並びにマルチビット値を包含する。
差分演算は、連続数値の余りを表し、それに対応して合算演算は、連続数値の合計を表す。エンコーダ1010において実行されるこれらの演算には、デコーダ1020におけるそれぞれ独自の対応する逆演算がある。差分又は合計は、現入力値、及び予測値として用いられる前の入力値又は結果値に基づいて計算され得る。他の予測値も用いることができ、それらは、例えば、デコーダにおいて逆を実行することが可能である限りにおいて、エンコーダにおいて以前の入力値及び出力値を用いることにより予測を作成し得る。
このような方法の何れも、エンコーダ1010及びデコーダ1020内で有意にデータを圧縮するものではないが、すべての方法は、エントロピーを低減するのに有利に利用され、その結果、他の圧縮法により、次いで、エントロピー低減データをより効率的に圧縮することができる。このような他の圧縮法は、オプションで、ハフマン符号化、算術符号化、レンジ符号化、RLE符号化、SRLE符号化、エントロピー変更符号化の少なくとも1つである。しかしながら、全ての方法に関し、例えばデータの可逆圧縮及びそれに続く可逆展開が達成し得る場合には、幾つかの数値を伝送する必要があり、その幾つかの数値を用いて上記演算とその逆演算とが常に正確に実施し得る。勿論、エンコーダ1010及びデコーダ1020は、どのような種類の数値が入力データDA1に含まれているかに関する情報を有する。有利には、数値範囲、即ちMIN及びMAXによって定義される数値範囲が認識されることが想定されている。原則、方法は、常に、直接既存のデータ範囲に基づいて機能し得る。上記演算が必要とする数値は、生じる最低値(lowValue)及び生じる最高値(highValue)であり、lowValueはMIN以上であり、highValueはMAX以下である。
これらの値に基づいて、他の必要な数値を導くことができる。これらの値は、様々な形態で伝送され、欠損値が有利に計算されるという利点を持つ。例えば、セット[「lowValue」、「highValue」、「number(数)」]からの2つの値が既知である場合、その「number(数)」は、[highValue −lowValue]であり、次いで、第3の値は、それらから計算することができる。データDA2において特定の値を省略し、次いでデコーダ1020においてそれら値を導くことは、データDA2においてより大きな程度のデータ圧縮を提供することを可能にする。
これらの値に加えて、第1の値、即ち「prediction」(「予測」)の計算において前の値として用いられ得る数Pが必要とされる。「0」と「number」(「数」)の値との間の値は、常に、数P、即ち「prediction」(「予測」)に関して選択され得る。さらに、上記演算が、エンコーダ20においてデータDA2/DA3又はDA4を復号する際に回復可能に機能するためには、つまり、演算が生成する値の範囲をできる限り小さく縮小させるためには、値「wrapValue」が上記演算に提供される必要がある。しかしながら、この「wrapValue」は、「number」(「数」)よりも大きくなければならず、有利には、それは値「number」(「数」)+1を有する。オプションで、例えばデータDA1が大きい値よりも小さい値をより多く含むと仮定した場合、データDA1の性質に応じて、第1「prediction」(「予測」)値には、上記のとおり「0」が選択され得る。或は、データDA1が小さい値よりも大きい値をより多く含むと仮定した場合、第1「prediction」「予測」値には、「number」「数」と等しい値が選択され得る。仮定が値の大きさに関して為されていない場合、「prediction」(「予測」)値には値「(wrapValue+1)÷2+lowValue」を用いることが望ましい。
本開示の実施形態を実施する際にコンピュータハードウェアにおいて実行する演算の例について以下に説明する。
エンコーダ1010において、第1直接差分演算、即ち方法1は、有利には以下のとおり実施される。全てのデータ値に関し、入力値、即ち「original」値(「元」)値に対応する出力値、即ち「result」(「結果」)がソフトウェアループにおいて計算される。

result = original - prediction
if result < lowValue then result = result + wrapValue
最終的に、次の入力に関する予測値が現入力と等しい値に設定され、即ち、以下とされる。

Prediction = original
デコーダ1020において、第1逆差分演算、即ち、方法1が、有利には、以下のとおり実施される。全てのデータ値に関し、入力値、即ち「original」(「元」)値に対応する出力値、即ち「result」(「結果」)がソフトウェアループにおいて計算される。

result = original + prediction
if result > highValue then result = result - wrapValue
最終的に、次の入力に関する予測値が、現結果と等しい値に設定され、即ち、以下のとおりとされる。

prediction = result
エンコーダ1010において、第2直接差分演算、即ち方法2が、有利には以下のとおり実施される。全てのデータ値に関し、入力値、即ち「original」(「元」)値に対応する出力値、即ち「result」(「結果」)がソフトウェアループにおいて計算される。

result = original - prediction
if result < lowValue then result = result + wrapValue
最終的に、次の入力に関する予測値が、現結果と等しい値に設定され、即ち、以下のとおりとされる。

prediction = result
デコーダ1020において、第2逆差分演算、即ち方法2が、有利には以下のとおり実施される。全てのデータ値に関し、入力値、即ち「original」(「元」)値に対応する出力値、即ち「result」(「結果」)がソフトウェアループにおいて計算される。

result = original + prediction
if result > highValue then result = result - wrapValue
最終的に、次の入力に関する予測値が、現入力と等しい値に設定され、即ち、以下のとおりとされる。

prediction = original
エンコーダ1010において、第1直接合算演算、即ち方法3が、有利には以下のとおり実施される。全てのデータ値に関し、入力値、即ち「original」(「元」)値に対応する入力値、即ち「result」(「結果」)がソフトウェアループにおいて計算される。

result = original + prediction
if result > highValue then result = result - wrapValue
最終的に、次の入力に関する予測値が、現入力と等しい値に設定され、即ち、以下のとおりとされる。

prediction = original
デコーダ1020において、第1逆合算演算、即ち方法3が、有利には以下のとおり実施される。全てのデータ値に関し、入力値、即ち「original」(「元」)値に対応する入力値、即ち「result」(「結果」)がソフトウェアループにおいて以下のとおり計算される。

result = original - prediction
if result < lowValue then result = result + wrapValue
最終的に、次の入力に関する予測値が、現結果と等しい値に設定され、即ち、以下のとおりとされる。

prediction = original
エンコーダ1010において、第2直接合算演算、即ち方法4が、有利には以下のとおり実施される。全てのデータ値に関し、入力値、即ち「original」(「元」)値に対応する入力値、即ち「result」(「結果」)がソフトウェアループにおいて以下のとおり計算される。

result = original + prediction
if result > highValue then result = result - wrapValue
最終的に、次の入力に関する予測値が、現結果と等しい値に設定され、即ち、以下のとおりとされる。

prediction = original
デコーダ1020において、第2逆合算演算、即ち方法4が、有利には以下のとおり実施される。全てのデータ値に関し、入力値、即ち「original」(「元」)値に対応する出力値、即ち「result」(「結果」)がソフトウェアループにおいて以下のとおり計算される。

result = original - prediction
if result < lowValue then result = result + wrapValue
最終的に、次の入力に関する予測値が、現結果と等しい値に設定され、即ち、以下のとおりとされる。

prediction = original
このような合算及び差分の演算、4つの方法すべてが、即ちODeltaバージョンのエンコーダ1010及びデコーダ1020を実施する際に、1ビットデータ、即ちビット単位で適用可能でもある。1ビットデータの状況においては、次の値は、エンコーダ1010及びデコーダ1020の両方によって既知であり、つまり、MIN=0、MAX=1である。さらに、有利には、lowValue=MIN=0かつhighValue=MAX=1と仮定される。さらに、このような場合、「number」(「数」)は、従って、[highValue−lowValue=1−0=1]であり、wrapValueについては、「number」(「数」)+1=1+1=2が選択されるという利点を持つ。その理由は、lowValue=MIN=0から開始する正の値のみを有し得ると考慮される1ビットデータのみ存在するからである。1ビットデータに関し、方法1及び方法3は、相互に類似の符号化結果を算出する。同様に、方法2及び方法4は、相互に類似の符号化結果を算出する。このような知識を有することは、様々なデフォルトが仮定され得るので、データDA2に送信される必要のある情報を有利に簡素化する。即ち、差分演算、つまり方法1又は方法2の実行回数の数、及び選択された予測(入力値(方法1)又は結果値(方法2))についての情報を送信する必要があるだけで、その結果、デコーダ1020は、データDA2、DA3又はDA4を復号して復号データDA5を生成する際に、正しい逆差分演算を必要回数、実行し得る。
同様の出力を作成する方法1又は方法3を用いることによって作成された第1の例は、やはり同様の出力を作成する方法2又は方法4を用いることによっても処理され得る。以下に示す結果は、それら方法をデータ式1に適用した場合に取得され得るものである。

0 1 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1
この時、処理データは、24個の「1」と13個の「0」とを有し、即ちそのエントロピーは第1の例のものと同じであるが、「1」及び「0」のカウントは位置を変える。これは常に生じる訳ではなく、その代わり、しばしば、これら異なる方法の間でエントロピーが同様に変化する。例えば、データの最初の4つの要素の後、方法1及び/又は方法3は、3個の「1」と1個の「0」を生成するのに対し、元データと、方法2及び/又は方法4を用いて処理されたデータは、2個の「1」と2個の「0」とを有する。従って、このような場合の方法1及び/又は方法3は、方法2及び/又は方法4より小さいエントロピーを生成し、また、元のものよりも小さいエントロピーを生成する。
マルチビットによる実施においては、データDA1が−64〜+63の範囲の値を含む場合、MIN=−64かつMAX=63である。lowValue=MINかつhighValue=MAXと仮定することによって、 「number」(「数」)=127であり、wrapValueには、有利に128が選択される。しかしながら、データDA1がランダムに変化する場合、「prediction」(「予測」)値は、有利には、値[(wrapValue+1)÷2+lowValue=64+−64=0]に設定される。
第1値が例えば−1である場合、直接ODelta方法1及び/又は方法2を用いた第1符号化値は−1−0=−1となり、これに対応して、直接ODelta方法3及び/又は方法4を用いた第1符号化値は−1+0=−1となるであろう。次の値は、次いで、どのようにデータが進行するかに応じて変化し、例えば第2値が5となる場合、直接ODelta方法1は5−(−1)=6を生成し、直接ODelta方法2は5−(−1)=6を生成し、直接ODelta方法3は5+(−1)=4を生成し、直接ODelta方法4は5+(−1)=4を生成するだろう。デコーダ1020は、この場合、逆ODelta方法1及び/又は方法2を用いた場合に第1値として−1+0=−1を生成することが可能であり、逆ODelta方法3及び/又は方法4を用いて、−1−0=−1を生成することが可能であるだろう。これに対応して、逆ODelta方法1を用いた第2値は6+(−1)=5となり、逆ODelta方法2を用いた第2値は6+(−1)=5となり、逆ODelta方法3を用いた第2値は4−(−1)=5となり逆ODelta方法4を用いた第2値は4−(−1)=5となるであろう。
この解決手段は、数の範囲が実際に−20〜+27の値のみを含む場合には、次いで最適化され得る。本例の場合、例えば、lowValue=−20及びhighValue=27を伝達することが可能である。両方が伝達される場合は、number=47と計算可能であり、wrapValueには、次いで、有利には48が選択される。すると、predictionについて、値48÷2+ −20=4を計算可能である。次いで、以前の例により、ODelta方法1又は方法2が用いられる場合、例えば、値−1に関して−1−4=−5が生成され、ODelta方法3又は方法4が用いられる場合には、−1+4=3が生成される。同様に、第2値は、ODelta方法については、(5−(−1))=6、(5−(−5))=10、(5+(−1))=4、及び(5+3)=8となるであろう。デコーダ1020は、再び正常に機能し、方法1及び/又は方法2に関して第1値を−5+4=−1と生成し、方法3及び/又は方法4に関して3−4=−1を生成する。対応して、各種方法に関する第2値は、(6+(−1))=5、(10+(−5))=5、(4−(−1))=5、及び(8−3)=5として復号されるだろう。
上記のこれら例における値は、上記範囲、即ち−64〜+63又は−20〜+27の内にあることが解り、従って、これらの例による値の内で補正項を実行する必要はないが、任意の負又は正の変化が十分に大きいものである場合には、データ値に対する補正が、与えられる式21〜24によって為され、上記範囲内に結果値を維持する必要がある。ここで補正項はラップアラウンド値を指していることに留意されたい。
lowValueが既知である場合、エントロピー符号化データDA3と共にエンコーダ1010からデコーダ1020に送信されなければならない符号化テーブルを簡素化するために、符号化値は、有利には、0で開始し、かつ値「number」(「数」)で終了するように構成される。この演算は、ポストオフセットと呼ばれ、このポストオフセット値は、エントロピー符号化の後、かつデータDA4に対する逆ODelta演算の前に、符号化データ値から削除されなければならない。
当初述べたとおり、pre−offset(プリオフセット)機能を用いてオフセットを実施することも可能であり、この場合、元入力データ(DA1)は、ODelta方法の実際の実行の前に既に0から「number」(「数」)までの値を含み得る正の要素に変換される。また、この状況においては、 「プリオフセット」及びODelta法が繰り返し同じ情報を伝達しないように、又は何らかの他の方法の結果、既知であることを無視するように、この演算が要する情報伝達が実行されるのが有利である。適切なDA5出力データを作成するためには、このプリオフセットによる効果は、逆ODelta演算の後に復号データから削除されなければならない。
Figure 0006681383
〔付属書類2:ブロックエンコーダの概要〕
ブロックエンコーダは、英国特許出願公開2503295号公報に開示されている。この公報の内容は本願明細書の一部を成すものと考えられたい。
入力データを符号化して対応する符号化出力データを生成する方法が開示されているが、この方法は、
(a)前記入力データを複数のブロックまたはパケットに分割することであって、前記ブロックまたはパケットはそれらのコンテンツに応じた、一つ以上のサイズを有する、分割することと;
(b)対応する変換データを生成するために、前記ブロックまたはパケットのコンテンツに対して複数の変換を適用することと;
(c)前記変換データの表現の品質が一つ以上の品質基準を満たすかどうかを決定するために、前記変換データの表現の品質を、変換を適用する前のブロックまたはパケットのコンテンツと比較して調べることと;
(d)一つ以上のブロックまたはパケットに対応する変換データの表現の品質が前記一つ以上の品質基準を満たさない場合、前記一つ以上のブロックまたはパケットをさらに分割および/または結合し、ステップ(b)を繰り返すことと;
(e)一つ以上のブロックまたはパケットに対応する変換データの表現の品質が前記一つ以上の品質基準を満たす場合、符号化される前記入力データを表わす符号化出力データを提供するために、変換データを出力することと;
を含むことを特徴とする。
また、入力データを符号化して対応する符号化出力データを生成するエンコーダが開示されているが、このエンコーダは、以下の処理:
(a)前記入力データを複数のブロックまたはパケットに分割することであって、前記ブロックまたはパケットはそれらのコンテンツに応じた、一つ以上のサイズを有する、分割することと;
(b)対応する変換データを生成するために、前記ブロックまたはパケットのコンテンツに対して複数の変換を適用することと;
(c)前記変換データの表現の品質が一つ以上の品質基準を満たすかどうかを決定するために、前記変換データの表現の品質を、変換を適用する前のブロックまたはパケットのコンテンツと比較して調べることと;
(d)一つ以上のブロックまたはパケットに対応する変換データの表現の品質が前記一つ以上の品質基準を満たさない場合、前記一つ以上のブロックまたはパケットをさらに分割および/または結合し、ステップ(b)を繰り返すことと;
(e)一つ以上のブロックまたはパケットに対応する変換データの表現の品質が前記一つ以上の品質基準を満たす場合、符号化される前記入力データを表わす符号化出力データを提供するために、変換データを出力することと;
を実行するデータ処理ハードウェアを備える。
〔付属書類3:ブロックデコーダの概要〕
ブロックデコーダは、英国特許出願公開2505169公報に開示されている。この公報の内容は本願明細書の一部を成すものと考えられたい。
符号化入力データを復号して対応する復号出力データを生成する方法が開示されているが、この方法は、以下のステップ:
(a)前記符号化入力データを処理することであって、前記符号化入力データからヘッダ情報を抽出し、前記ヘッダ情報は、前記符号化入力データに含まれるブロックおよび/またはパケットに関する符号化データを示し、かつ、前記ブロックおよび/またはパケットに関する符号化データとして含めるために、元のブロックおよび/またはパケットを圧縮符号化するのに使用された一つ以上の変換を示す、前記処理することと;
(b)復号ブロックおよび/またはパケットコンテンツを受信するために、データ記憶構成のデータフィールドを用意することと;
(c)前記一つ以上の変換を記述する情報を読み出し、圧縮符号化された元のブロックおよび/またはパケットデータを復号するための、前記一つ以上の変換の逆変換を適用することであって、前記データフィールドに入力するための、対応する復号ブロックおよび/またはパケットコンテンツを生成する、前記読み出し・適用することと;
(d)前記符号化入力データの分割・結合情報に従って、前記データフィールドのブロックおよび/またはパケットを分割および/または結合することと;
(e)前記符号化入力データが少なくとも部分的に復号されると、前記データフィールドから復号出力データとしてデータを出力することと;
を含む。
また、入力データを復号して対応する復号出力データを生成するように動作するデコーダが開示されているが、このデコーダは、以下の処理:
(a)前記符号化入力データを処理することであって、前記符号化入力データからヘッダ情報を抽出し、前記ヘッダ情報は、前記符号化入力データに含まれるブロックおよび/またはパケットに関する符号化データを示し、かつ、前記ブロックおよび/またはパケットに関する符号化データとして含めるために、元のブロックおよび/またはパケットを圧縮符号化するのに使用された一つ以上の変換を示す、前記処理することと;
(b)復号ブロックおよび/またはパケットコンテンツを受信するために、データ記憶構成のデータフィールドを用意することと;
(c)一つ以上の変換を記述する情報を読み出し、圧縮符号化された元のブロックおよび/またはパケットデータを復号するための、一つ以上の変換の逆変換を適用することであって、データフィールドに入力するための、対応する復号ブロックおよび/またはパケットコンテンツを生成する、前記読み出し・適用することと;
(d)符号化入力データの分割・結合情報に従って、データフィールドのブロックおよび/またはパケットを分割および/または結合することと;
(e)符号化入力データが少なくとも部分的に復号されると、データフィールドから復号出力データとしてデータを出力することと;
を実行するデータ処理ハードウェアを備える。

Claims (30)

  1. 入力データを符号化して対応する符号化データを生成するエンコーダ(100)であって、前記入力データを処理し、少なくとも1つのDelta符号化アルゴリズムを用いて、前記入力データの少なくとも一部の元の値を、元の値の値範囲に比して拡大していない値範囲で表現されたデルタ値へと符号化し、前記入力データの後続の1つ以上の部分の符号化に用いる1つ以上の予測子を生成するように動作し、さらに、少なくとも1つのエントロピー符号化アルゴリズムを利用することによって、前記少なくとも1つのDelta符号化アルゴリズムおよび前記1つ以上の予測子によって生成されたデータを符号化して、前記符号化データを生成するように動作し、
    前記少なくとも1つのDelta符号化アルゴリズムは、ODelta,DDelta,IDelta,PDeltaのいずれかの型のDelta符号化アルゴリズムであり、
    前記少なくとも1つのDelta符号化アルゴリズムの選択肢を示す情報が前記符号化データに含まれ、
    前記1つ以上の予測子は、
    (i) 1つ以上の時間的予測子、
    (ii) 量子化の対象となる、1つ以上のローカル空間的予測子、
    (iii)事前計算された値を用いる、1つ以上のローカル空間的予測子、
    のうち少なくとも1つを含む、
    ことを特徴とするエンコーダ(100)。
  2. 前記ODelta型のDelta符号化アルゴリズムは、
    (a) データ処理構成を用いて、前記入力データに、任意の形式の差分符号化および/または合算符号化を適用し、1つ以上の対応する符号化列を生成することと、
    (b) 前記データ処理構成を用いて、前記1つ以上の対応する符号化列に最大値のラップアラウンドおよび/または最小値のラップアラウンドを適用することと、
    を含む、請求項1に記載のエンコーダ(100)。
  3. 前記DDelta型のDelta符号化アルゴリズムは、Delta値が負の値しか含まない場合にDelta値を符号なしで表現することを含み、
    前記IDelta型のDelta符号化アルゴリズムは、Delta値が正の値しか含まない場合にDelta値を符号なしで表現することを含み、
    前記PDelta型のDelta符号化アルゴリズムは、元の値の値範囲内でDelta値を表現するためにオフセットを使用することを含む、
    請求項1または2に記載のエンコーダ(100)。
  4. 前記入力データを符号化して前記符号化データを生成する際に、少なくとも1つの量子化アルゴリズムを利用するように動作し、前記少なくとも1つの量子化アルゴリズムによって、前記入力データの非可逆的符号化を実行することを特徴とする、請求項1からのいずれかに記載のエンコーダ(100)。
  5. 前記入力データに存在する、異なるデータ構造を持つデータを符号化するために、異なるアルゴリズムを利用するように動作することを特徴とする、請求項1からのいずれかに記載のエンコーダ(100)。
  6. 前記入力データをブロック単位で符号化する際に、レート歪み(rate distortion:RD)最適化を利用するように動作することを特徴とする、請求項1からのいずれかに記載のエンコーダ(100)。
  7. 前記RD最適化は前記エンコーダ(100)内で計算され、以下の式の値Vを最小化し、
    V=D+λ*R
    ここで歪み(D)は、前記入力データと、前記符号化データに符号化されて復号データに復号された前記入力データの表現との二乗誤差の和であり、量(R)は、ビットとして測定される符号化データの量であることを特徴とする、請求項6に記載のエンコーダ(100)。
  8. 前記少なくとも1つのDelta符号化アルゴリズムおよび/または前記少なくとも1つのエントロピー符号化アルゴリズムは、DC法、スライド法、マルチレベル法、離散コサイン変換(discrete cosine transform:DCT)法、ライン法、スケール法、データベース法、レンジ符号化、ハフマン符号化、連長(run-length encoding:RLE)符号化、順次連長(serial run-length encoding:SRLE)符号化のうち少なくとも1つを利用するように動作することを特徴とする、請求項1からのいずれかに記載のエンコーダ(100)。
  9. YUVチャネルとBGRチャネルとの少なくとも1つに対応するデータ構造を含む前記入力データを符号化するように動作することを特徴とする、請求項1からのいずれかに記載のエンコーダ(100)。
  10. 前記チャネルのデータをY、U、V、またはG、B、Rの順序で符号化するように動作することを特徴とする、請求項に記載のエンコーダ(100)。
  11. エンコーダ(100)を用いて入力データを符号化し、対応する符号化データを生成する方法であって、
    (i) 前記エンコーダ(100)を用いて前記入力データを処理し、前記入力データの少なくとも一部の元の値を、少なくとも1つのDelta符号化アルゴリズムを用いて、元の値の値範囲に比して拡大していない値範囲で表現されたデルタ値へと符号化することと、
    (ii) 前記エンコーダ(100)を用いて、前記入力データの後続の1つ以上の部分の符号化に用いる1つ以上の予測子を生成することと、
    (iii)前記エンコーダ(100)を用いて、少なくとも1つのエントロピー符号化アルゴリズムを利用することによって、前記少なくとも1つのDelta符号化アルゴリズムおよび前記1つ以上の予測子によって生成されたデータを符号化して、前記符号化データを生成することとを含み、
    前記少なくとも1つのDelta符号化アルゴリズムは、ODelta,DDelta,IDelta,PDeltaのいずれかの型のDelta符号化アルゴリズムであり、
    前記少なくとも1つのDelta符号化アルゴリズムの選択肢を示す情報が前記符号化データに含まれ、
    前記1つ以上の予測子は、
    (i) 1つ以上の時間的予測子、
    (ii) 量子化の対象となる、1つ以上のローカル空間的予測子、
    (iii)事前計算された値を用いる、1つ以上のローカル空間的予測子、
    のうち少なくとも1つを含む、
    ことを特徴とする方法。
  12. 前記ODelta型のDelta符号化アルゴリズムは、
    (a) データ処理構成を用いて、前記入力データに、任意の形式の差分符号化および/または合算符号化を適用し、1つ以上の対応する符号化列を生成することと、
    (b) 前記データ処理構成を用いて、前記1つ以上の対応する符号化列に最大値のラップアラウンドおよび/または最小値のラップアラウンドを適用することと、
    を含む、請求項11に記載の方法。
  13. 前記DDelta型のDelta符号化アルゴリズムは、Delta値が負の値しか含まない場合にDelta値を符号なしで表現することを含み、
    前記IDelta型のDelta符号化アルゴリズムは、Delta値が正の値しか含まない場合にDelta値を符号なしで表現することを含み、
    前記PDelta型のDelta符号化アルゴリズムは、元の値の値範囲内でDelta値を表現するためにオフセットを使用することを含む、
    請求項11に記載の方法。
  14. 前記入力データを符号化して前記符号化データを生成する際に、前記エンコーダ(100)に少なくとも1つの量子化アルゴリズムを利用させ、前記少なくとも1つの量子化アルゴリズムによって、前記入力データの非可逆的符号化を前記エンコーダ(100)に実行させる構成を含むことを特徴とする、請求項11から13のいずれかに記載の方法。
  15. 前記入力データに存在する、異なるデータ構造を持つデータを符号化するために、前記エンコーダ(100)に異なるアルゴリズムを利用させる構成を含むことを特徴とする、請求項11から14のいずれかに記載の方法。
  16. 前記入力データをブロック単位で符号化する際に、前記エンコーダ(100)にレート歪み(rate distortion:RD)最適化を利用させる構成を含むことを特徴とする、請求項11から15のいずれかに記載の方法。
  17. 前記RD最適化は前記エンコーダ(100)内で計算され、以下の式の値Vを最小化し、
    V=D+λ*R
    ここで歪み(D)は、前記入力データと、前記符号化データに符号化されて復号データに復号された前記入力データの表現との二乗誤差の和であり、量(R)は、ビットとして測定される符号化データの量である、
    ことを特徴とする、請求項16に記載の方法。
  18. 前記少なくとも1つのDelta符号化アルゴリズムおよび/または前記少なくとも1つのエントロピー符号化アルゴリズムは、DC法、スライド法、マルチレベル法、離散コサイン変換(discrete cosine transform:DCT)法、ライン法、スケール法、データベース法、レンジ符号化、ハフマン符号化、連長(run-length encoding:RLE)符号化、順次連長(serial run-length encoding:SRLE)符号化のうち少なくとも1つを利用するように動作することを特徴とする、請求項11から17のいずれかに記載の方法。
  19. 前記エンコーダ(100)に、YUVチャネルとBGRチャネルとの少なくとも1つに対応するデータ構造を含む前記入力データを符号化させる構成を含むことを特徴とする、請求項11から18のいずれかに記載の方法。
  20. 前記エンコーダ(100)に、前記チャネルのデータをY、U、V、またはG、B、Rの順序で符号化させる構成を含むことを特徴とする、請求項19に記載の方法。
  21. 符号化データを復号して対応する復号データを生成するデコーダ(120)であって、少なくとも1つのエントロピー復号アルゴリズムを前記符号化データに適用して処理して、処理済みデータを生成し、少なくとも1つのDelta復号アルゴリズムと共に1つ以上の予測子を用いて、前記処理済みデータを復号して、前記復号データを生成するように動作し、前記処理されたデータは、前記符号化データが生成される元のデータの値範囲に比して拡大していない値範囲で表現されたデルタ値を含み、
    前記少なくとも1つのDelta復号アルゴリズムは、逆ODelta,逆DDelta,逆IDelta,逆PDeltaのいずれかの型のDelta復号アルゴリズムであり、
    前記少なくとも1つのDelta復号アルゴリズムの選択肢を示す情報が前記符号化データに含まれ、
    前記1つ以上の予測子は、
    (i) 1つ以上の時間的予測子、
    (ii) 量子化の対象となる、1つ以上のローカル空間的予測子、
    (iii)事前計算された値を用いる、1つ以上のローカル空間的予測子、
    のうち少なくとも1つを含む、
    ことを特徴とするデコーダ(120)。
  22. 前記逆ODelta型のDelta復号アルゴリズムは、
    (a) データ処理構成を用いて、前記符号化データに、任意の形式の差分復号および/または合算復号を適用し、1つ以上の対応する復号列を生成することと、
    (b) 前記データ処理構成を用いて、前記1つ以上の対応する復号列に最大値のラップアラウンドおよび/または最小値のラップアラウンドを適用することと、を含む、請求項21に記載のデコーダ(120)。
  23. 前記逆DDelta型のDelta復号アルゴリズムは、Delta値が負の値しか含まない場合にDelta値を復号することを含み、
    前記逆IDelta型のDelta復号アルゴリズムは、Delta値が正の値しか含まない場合にDelta値を復号することを含み、
    前記逆PDelta型のDelta復号アルゴリズムは、前記元の値の値範囲内で表現されたDelta値を復号するためにオフセットを使用することを含む、
    請求項21または22に記載のデコーダ(120)。
  24. 前記符号化データを復号して前記復号データを生成する際に、少なくとも1つの量子化アルゴリズムを利用するように動作し、前記少なくとも1つの量子化アルゴリズムによって、前記符号化データの非可逆的復号を実行することを特徴とする、請求項21から23のいずれかに記載のデコーダ(120)。
  25. 前記符号化データに存在する、異なるデータ構造を持つデータを復号するために、異なるアルゴリズムを利用するように動作することを特徴とする、請求項21から24のいずれかに記載のデコーダ(120)。
  26. 前記少なくとも1つのDelta復号アルゴリズムおよび/または前記少なくとも1つのエントロピー復号アルゴリズムは、DC法、スライド法、マルチレベル法、離散コサイン変換(discrete cosine transform:DCT)法、ライン法、スケール法、データベース法、レンジ符号化、ハフマン符号化、連長(run-length encoding:RLE)符号化、順次連長(serial run-length encoding:SRLE)符号化のうち少なくとも1つを利用するように動作することを特徴とする、請求項21から25のいずれかに記載のデコーダ(120)。
  27. YUVチャネルとBGRチャネルとの少なくとも1つに対応するデータ構造を含む前記符号化データを復号するように動作することを特徴とする、請求項21から26のいずれかに記載のデコーダ(120)。
  28. 前記チャネルのデータをY、U、V、またはG、B、Rの順序で復号するように動作することを特徴とする、請求項27に記載のデコーダ(120)。
  29. デコーダ(120)において符号化データを復号して対応するデータを生成する方法であって、少なくとも1つのエントロピー復号アルゴリズムを前記符号化データに適用して処理して、処理済みデータを生成し、少なくとも1つのDelta復号アルゴリズムと共に1つ以上の予測子を用いて、前記処理済みデータを復号して、復号データを生成することを含み、前記処理されたデータは、前記符号化データが生成される元のデータの値範囲に比して拡大していない値範囲で表現されたデルタ値を含み、
    前記少なくとも1つのDelta復号アルゴリズムは、逆ODelta,逆DDelta,逆IDelta,逆PDeltaのいずれかの型のDelta復号アルゴリズムであり、
    前記少なくとも1つのDelta復号アルゴリズムの選択肢を示す情報が前記符号化データに含まれ、
    前記1つ以上の予測子は、
    (i) 1つ以上の時間的予測子、
    (ii) 量子化の対象となる、1つ以上のローカル空間的予測子、
    (iii)事前計算された値を用いる、1つ以上のローカル空間的予測子、
    のうち少なくとも1つを含む、
    ことを特徴とする方法。
  30. 装置の処理手段に実行されると、前記装置に、請求項112029のいずれか1項に記載の方法を遂行させるように構成されるプログラム命令を備える、コンピュータプログラム。
JP2017501351A 2014-07-21 2015-07-21 エンコーダ、デコーダ、および方法 Active JP6681383B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1412937.3A GB2528460B (en) 2014-07-21 2014-07-21 Encoder, decoder and method
GB1412937.3 2014-07-21
PCT/EP2015/025053 WO2016012105A1 (en) 2014-07-21 2015-07-21 Encoder, decoder and method

Publications (2)

Publication Number Publication Date
JP2017526252A JP2017526252A (ja) 2017-09-07
JP6681383B2 true JP6681383B2 (ja) 2020-04-15

Family

ID=51494918

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017501351A Active JP6681383B2 (ja) 2014-07-21 2015-07-21 エンコーダ、デコーダ、および方法

Country Status (7)

Country Link
US (1) US10531110B2 (ja)
EP (1) EP3172897A1 (ja)
JP (1) JP6681383B2 (ja)
KR (1) KR102238058B1 (ja)
GB (1) GB2528460B (ja)
RU (1) RU2693902C2 (ja)
WO (1) WO2016012105A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2527607B (en) 2014-06-27 2016-10-05 Gurulogic Microsystems Oy Encoder, decoder and method
GB2539488B8 (en) 2015-06-18 2020-08-19 Gurulogic Microsystems Oy Encoder, decoder and method employing palette utilization and compression
CA3040057A1 (en) 2016-10-11 2018-04-19 Genomsys Sa Method and apparatus for the access to bioinformatics data structured in access units
EP3526706A4 (en) * 2016-10-11 2020-08-12 Genomsys SA METHOD AND DEVICE FOR ACCESS TO BIOINFORMATICS DATA STRUCTURED IN ACCESS UNITS
US10938415B2 (en) * 2017-07-14 2021-03-02 Gottfried Wilhelm Leibniz Universität Hannover Method for encoding and decoding of quality values of a data structure
US11442910B2 (en) * 2017-09-28 2022-09-13 Intel Corporation Multiple order delta compression
GB2567427B (en) 2017-10-06 2020-10-07 Imagination Tech Ltd Data compression
WO2021194307A1 (ko) * 2020-03-26 2021-09-30 엘지전자 주식회사 랩-어라운드 움직임 보상에 기반하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4223577B2 (ja) 1996-11-06 2009-02-12 ソニー株式会社 画像符号化装置とその方法、および、画像復号化装置とその方法
US6978236B1 (en) 1999-10-01 2005-12-20 Coding Technologies Ab Efficient spectral envelope coding using variable time/frequency resolution and time/frequency switching
US9357219B2 (en) * 2009-04-08 2016-05-31 Sharp Kabushiki Kaisha Video encoding apparatus and video decoding apparatus
US20120195515A1 (en) 2009-08-26 2012-08-02 Tomohiro Ikai Image encoding device and image decoding device
US8362931B2 (en) * 2010-11-30 2013-01-29 Microsoft Corporation Compression and decompression of mass spectrometry data
EP2611158B1 (en) * 2011-12-29 2019-12-18 Swisscom AG Method and system for optimized delta encoding
EP2670139A1 (en) 2012-06-01 2013-12-04 Alcatel Lucent Method and apparatus for encoding a video stream having a transparency information channel
GB2505169B (en) 2012-08-13 2016-03-16 Gurulogic Microsystems Oy decoder and method
US8675731B2 (en) 2012-08-13 2014-03-18 Gurulogic Microsystems Oy Encoder and method
GB2507127B (en) * 2012-10-22 2014-10-08 Gurulogic Microsystems Oy Encoder, decoder and method
US9264749B2 (en) * 2012-12-13 2016-02-16 Microsoft Technology Licensing, Llc Server GPU assistance for mobile GPU applications
US8849064B2 (en) * 2013-02-14 2014-09-30 Fotonation Limited Method and apparatus for viewing images
US8810439B1 (en) * 2013-03-01 2014-08-19 Gurulogic Microsystems Oy Encoder, decoder and method
WO2014187988A2 (en) 2013-05-24 2014-11-27 Dolby International Ab Audio encoder and decoder
US9319576B2 (en) * 2014-01-29 2016-04-19 Google Technology Holdings LLC Multi-processor support for array imagers

Also Published As

Publication number Publication date
GB2528460B (en) 2018-05-30
RU2016152660A3 (ja) 2018-12-25
KR20170036683A (ko) 2017-04-03
US10531110B2 (en) 2020-01-07
GB201412937D0 (en) 2014-09-03
WO2016012105A1 (en) 2016-01-28
GB2528460A (en) 2016-01-27
US20180213248A1 (en) 2018-07-26
RU2693902C2 (ru) 2019-07-05
EP3172897A1 (en) 2017-05-31
KR102238058B1 (ko) 2021-04-08
RU2016152660A (ru) 2018-08-22
JP2017526252A (ja) 2017-09-07

Similar Documents

Publication Publication Date Title
JP6681383B2 (ja) エンコーダ、デコーダ、および方法
JP6195997B2 (ja) シンボル圧縮を伴うデータのソース符号化・復号方法及び装置
US10045034B2 (en) System and method for using pattern vectors for video and image coding and decoding
TWI658702B (zh) 資料編碼及解碼
JP2017507590A5 (ja)
JP2016528789A (ja) データ符号化及び復号化
JP2009130931A (ja) 映像の解像度の調整を通じて動画を効率的に符号化/復号化する方法及び装置
KR101610610B1 (ko) 인코더, 디코더 및 방법
JP7046325B2 (ja) デジタルデータ圧縮のための方法及びデバイス
KR20120096541A (ko) 디지털 신호의 압축 또는 압축해제를 위한 방법, 시스템 및 장치
TW201724852A (zh) 平行算術寫碼技術
JP2015515812A (ja) ビデオ符号化のための量子化係数を提供するための機器および方法
US11265544B2 (en) Apparatus and method for image compression based on optimal sequential encoding scheme
JP6564315B2 (ja) 符号化装置、復号装置、及びプログラム
JP4241517B2 (ja) 画像符号化装置及び画像復号装置
JP2006157531A (ja) 動画像符号化復号化装置
JP2005151312A (ja) 画像符号化、復号化装置
JP6495834B2 (ja) 映像符号化方法、映像符号化装置及び映像符号化プログラム
JP2007028531A (ja) 画像符号化装置及び画像符号化方法
US10805635B1 (en) Apparatus and method for coding tree unit bit size limit management
JP2004007778A (ja) 動き補償復号化方法
TW201334427A (zh) 上下文適應資料編碼
KR101659377B1 (ko) 인코딩 방법 및 그 시스템
JP2002344753A (ja) 画像符号化装置、画像復号装置および画像符号化復号装置ならびにそれらの方法
JP2004007775A (ja) 動き補償復号化装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170313

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180510

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190702

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190926

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200323

R150 Certificate of patent or registration of utility model

Ref document number: 6681383

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250