JP2021177628A - 変換係数処理方法 - Google Patents

変換係数処理方法 Download PDF

Info

Publication number
JP2021177628A
JP2021177628A JP2021078493A JP2021078493A JP2021177628A JP 2021177628 A JP2021177628 A JP 2021177628A JP 2021078493 A JP2021078493 A JP 2021078493A JP 2021078493 A JP2021078493 A JP 2021078493A JP 2021177628 A JP2021177628 A JP 2021177628A
Authority
JP
Japan
Prior art keywords
coefficients
image
subsequence
codeword
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021078493A
Other languages
English (en)
Other versions
JP2021177628A5 (ja
Inventor
ビュットナー カルステン
Buettner Carsten
ブルース オーウェン スタンホープ デイヴィッド
Bruce Owen Stanhope David
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.)
Blackmagic Design Pty Ltd
Original Assignee
Blackmagic Design Pty Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from AU2020901460A external-priority patent/AU2020901460A0/en
Application filed by Blackmagic Design Pty Ltd filed Critical Blackmagic Design Pty Ltd
Publication of JP2021177628A publication Critical patent/JP2021177628A/ja
Publication of JP2021177628A5 publication Critical patent/JP2021177628A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00007Time or data compression or expansion
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/1887Methods 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 variable length codeword
    • 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/19Methods 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 using optimisation based on Lagrange multipliers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00007Time or data compression or expansion
    • G11B2020/00072Time or data compression or expansion the compressed signal including a video signal
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/10537Audio or video recording

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

【課題】変換係数のセットを処理する、方法、ソフトウェアプロダクト、デジタルカメラ及びその他の画像処理システムを提供する。【解決手段】方法は、画像を表す変換係数のブロック毎に、ブロックの係数をシーケンスに配列することと、配列された係数を符号化して、各コードワードが1又は複数の符号化された係数を含むコードワードのシーケンスを生成することと、コードワードのシーケンスを2以上のサブシーケンスに分割することと、を含む。【選択図】なし

Description

本発明は空間ドメイン画像データを周波数ドメインへ変換することで得られる離散コサイン変換(DCT)係数等の変換係数処理方法、システム、及びソフトウェアプロダクトに関する。より具体的には、本発明は、特に元の空間ドメイン画像データのダウンスケールされたバージョンの効率的な復号と記憶を容易にするように変換係数を符号化する方法、システム、及びソフトウェアプロダクトに関する。さらに画像データを復号し、それにより画像を生成する方法及びシステムも開示する。
本明細書に記載のいかなる従来技術であってもそれを参照することが、その従来技術が共通の一般的知識の一部を形成することを、どの裁判管轄においても承認又は示唆するものではなく、あるいはその従来技術が当業者によって他の従来技術とともに理解され、他の従来技術と関連すると見なされ、及び/又は他の従来技術と組み合わされると合理的に予測され得ることを承認又は示唆するものではない。
最も専門的な及び一般消費者向けのデジタルカメラは、カラーフィルタアレイ(CFA)により入射光を光学的にフィルタリングすることでカラー画像を捕捉する、単一のイメージセンサを用いる。CFAはイメージセンサの各フォトサイトで3色(通常は赤、緑、青)のうち一つの色の光を捕捉するように構成される。各フォトサイトは単一色についての情報しか持たないので、各フォトサイトに2つの「不足する」カラーチャネルを供給するために補間処理(即ちデモザイク処理)が必要になる。この処理は、3色画像の取得を実行する際に、一般的に画像データ量を3倍に増加させる。それに加えて、画像が目視可能な形でディスプレイに描画されるまでに、通常はホワイトバランス、色変換、ノイズ低減、及びトーンマッピングを含む処理がさらに必要である。
上記処理フローは、記憶及び/又はその後の再生のための処理データの圧縮に先立って、カメラのハードウェア上で直接実行される。MPEGやH.26X標準、及び出願人によって開発された“Blackmagic RAW”フォーマットを含む、様々な圧縮技術が開発されている。これらの技術は、入力画像を固定サイズの空間ドメイン画像データブロック(例えばNxN、MxN画素ブロック)に分割して各ブロックの画像データを変換係数のブロックに変換することに基づいている。一つの共通する方法は、離散コサイン変換(DCT)を使って対応する空間ドメインブロック(例えばNxN、MxNのDCT係数ブロック)と同じ数の係数を有する対応する周波数ドメインブロックデータを生成することである。DCT変換後、各周波数ドメインブロックのデータは量子化されエントロピー符号化されて、空間周波数の圧縮されたブロックを表す一連のコードワードを生成する。全てのブロックのコードワードは全体画像を表すコードワードのシーケンスに連結され、それは記憶されるか又は次に続く復号のために転送される。
プロ仕様のカメラは画像データを”RAW”の形で(即ち、デモザイク処理されていないイメージセンサからのデータとして)記憶することも珍しくない。これにより、特定の処理の決定(使用される特定のデモザイク処理アルゴリズム等の)を例えば撮影後の時間まで引き延ばすことができる。しかしこのような場合でも、同様の符号化処理を行うことができる。
撮影後のワークフロー(編集やカラーグレーディング等)のいくつかの態様は、画像がイメージセンサで捕捉されたときのフル解像度で表示されることを必ずしも必要としない。しかしながら、画像は(主として画像データを圧縮するために)必ず符号化された形で記憶されるので、低い解像度の画像のみ必要な場合であっても画像が開かれダウンスケールされて低解像度で表示される前にフル解像度の復号を実行する必要が依然としてある。この問題は最新のデジタルカメラの高解像度画像捕捉機能とともにますます顕著になっている。
ダウンスケーリング(即ち、低解像度画像の生成)の一例は、変換係数のブロックのサイズを符号化中に使用されたブロックサイズより小さく低減することに関わる。このブロックサイズの低減は、通常は復号フェーズ中に、少なくとも何らかの形の解凍が行われたデータに適用される。表示可能な形式にデータをさらに復号するために、サイズが低減されたブロックに逆変換(例えば、逆DCT)が実行され、それに応じてサイズが低減された空間データのブロックを生成する。このことが図1に示されており、図1は周波数ドメインブロックのサイズとそれに対応する逆DCT変換を適用した後に結果として得られる空間データブロックのサイズ間の対応関係をそれぞれ示している。図1は:
・NxN周波数ドメインブロック(3)からフルスケールのNxN空間ドメインブロック(2)の生成;
・対応するハーフスケールのN/2 x N/2周波数ドメインブロック(5)からハーフスケールのN/2 x N/2空間ドメインブロック(4)の生成;及び
・対応するクオータースケールのN/4 x N/4周波数ドメインブロック(7)からクオータースケールのN/4 x N/4空間ドメインブロック(6)の生成;を示す。
各ケースにおいて、フルスケールのDCTブロック(3)に対してダウンスケールされたDCTブロック(5、7)が示され、スケールを相対的に示している。
米国特許出願第20040114812号には、マトリクス変換形式において、逆DCTから出力された変換係数のセットからダウンスケールされた画像の画素データを直接生成する、ダウンスケーリングの代替アプローチが記載されている。
本発明は、DCT変換前の元の画像データのダウンスケールされたバージョンを記憶および/または生成する目的を含み、変換係数の処理に対し代替のアプローチを用いることを目的とする。
本発明の第1態様によれば、変換係数のセットを処理する方法が提供され、該方法は:
変換係数を複数のブロックに分割すること;及び
ブロックごとに:
ブロックの係数をシーケンスに配列すること;
配列された係数を符号化して各コードワードが1又は複数の符号化された係数を含むコードワードのシーケンスを生成すること;
コードワードのシーケンスを2以上のサブシーケンスに分割することを含む。
変換係数は、画像の個別の空間領域、即ち、符号化される画像に定義された空間ブロックやタイルから、それに対応する分割された変換係数のブロックを生成することにより、複数のブロックに分割できる。各コードワードが1つ又は複数の符号化された変換係数を含む、コードワードのシーケンスを個々のコードワードのサブシーケンス(即ち「サブストリーム」)に分割するアプローチを用いて、本発明は(少なくとも好ましい実施形態において)、符号化された形式の変換係数から、低解像度画像を効率的に生成することを可能にする。上記の従来技術の手法とは異なり、本発明は低解像度の画像を生成するために必ずしも全体画像を復号する必要がない。
さらに、コードワードのシーケンスを個々のサブシーケンスに分割するアプローチを用いることで、元の画像データをそのままシングルパスで符号化できる。一形態において、本発明は、単一のエントロピーエンコーダを使って、余分な演算量を加えることなく実施できる。さらに本発明は、サブブロックの個別のグループを符号化するのではなく、単一のブロックとして係数を符号化することに関連して、圧縮効率を保持する。
好ましくは、各サブシーケンスのコードワードの数、及び各コードワードに含まれる符号化された係数の数は、少なくとも部分的にダウンスケーリング比によって決定される。換言すれば、特定のダウンスケーリング比で低解像度画像を生成するために必要な係数は、個々のサブシーケンス即ち複数のサブシーケンスに割り当てられる。例えば、1/2のダウンスケーリング比に対して、係数の約25%が第1サブシーケンスに割り当てられ、係数の残り75%が、エントロピー復号が必要ではない第2サブシーケンスに割り当てられる。したがって、ダウンスケーリング比1/2又はそれより小さい(即ち、1/4、1/8等の)比率で画像を生成するダウンスケーリングプロセスは第2サブシーケンスを復号する必要がない。
いくつかの実施形態において、ブロックの係数のシーケンスの配列は、並べ替え領域とジグザグ配列領域を含む修正ジグザク配列である。修正ジグザク配列(ジグザグはエントロピー符号化に使われる標準的配列)を使用することで基本的には係数をより効率的にグループ化する。係数はジグザグパターンの配列に従って連続的に符号化され、かつ選択されたダウンスケーリング比に対応する(変換係数の)サブブロックを定義する係数が一緒に符号化されるように、修正ジグザグパターンは変換係数のシーケンスへの配置を有利に行う。これにより、復号中にダウンスケールされた画像を生成する必要のない係数を復号することが少なくなるという利点がある。さらに、このことは、不要の復号オペレーション(エントロピー復号及び逆DCTオペレーション等)を実行するために費やされるパフォーマンスのボトルネックを削減もしくは除去する。
いくつかの実施形態によれば、各ブロックはNxNサイズであり、ジグザグ配列領域は各ブロックの対角線及び対角線の下の係数を含む。
本発明の第2態様によれば、本発明の第1態様の実施形態を用いて生成された、符号化された画像ファイルを復号する方法が提供される。該方法は:
画像解像度を選択すること;
選択された解像度で画像を生成するのに適した1又は複数のサブシーケンスを選択すること;及び
選択されたサブシーケンスを復号すること;を含む。
本発明の第3態様によれば、本発明の第1態様の実施形態を実行することにより、プロセッサーによって実行されるときに該プロセッサーに変換係数のセットを処理させる命令を含むコンピュータソフトウェアプロダクトが提供される。
本発明の第4態様によれば、画像データのフレームを記憶する方法が提供され、該方法は:
画像データのフレームを変換係数のセットに変換すること;本発明の第1態様の実施形態を使用して変換係数を処理すること;及びサブシーケンスの選択されたものを記憶することを含む。
サブシーケンスの全て(又はサブシーケンスの全てより少ない数)を記憶することができる。
好ましくは、記憶するために選択されるサブシーケンスはダウンスケーリング比に基づいて選択される。換言すれば、復号時望ましい比率のダウンスケールされた画像を生成する係数のみを含むサブシーケンスが、記憶のために選択される。復号時に生成される他のサブシーケンスは廃棄されてもよい。
さらに本発明は、プロセッサーによって実行されるときに該プロセッサーに本発明のこの態様に従った方法を実行させる命令を含むコンピュータソフトウェアを提供する。
本発明の第5態様において、変換係数を処理する方法が提供され、前記変換係数は複数のブロックに配置され、各ブロックは画像の空間領域を表し、該方法は:
ブロックごとに:
ブロックの係数を係数のシーケンスに配列すること;
配列された係数のシーケンスを符号化して、各コードワードが1又は複数の符号化された係数を含む、コードワードのシーケンスを生成すること;及び
コードワードのシーケンスを2以上のコードワードのサブシーケンスに分割することを含む。
各サブシーケンスの係数の数は少なくとも部分的にダウンスケーリング比によって決定される。
コードワードのシーケンスを2以上のサブシーケンスに分割することは、第1ダウンスケーリング比に基づいて変換係数の第1サブブロックを定義すること、及び、コードワードの第1サブシーケンスが、コードワードの第1サブシーケンスを復号することで変換係数の第1サブブロックを再現するのに必要な全てのコードワードを含むまで、コードワードをコードワードの第1サブシーケンスに割り当てることを含む。
コードワードのシーケンスを2以上のコードワードのサブシーケンスに分割することは、さらに、第2ダウンスケーリング比に基づいて変換係数の第2サブブロックを定義すること、及び、コードワードの第2サブシーケンスとコードワードの第1サブシーケンスの組合せが、コードワードの前記組合せを復号することで変換係数の第2サブブロックを再現するのに必要な全てのコードワードを含むまで、コードワードのうち第1サブシーケンスに存在しないコードワードをコードワードの第2サブシーケンスに割り当てることを含む。
該方法は、対応のダウンスケーリング比に基づいて変換係数の第1サブブロックを定義すること、及びコードワードのシーケンスを分割して変換係数の第1サブブロックを復号するのに必要なコードワードを含むコードワードの第1サブシーケンスを形成すること、をさらに含む。該方法は、対応のダウンスケーリング比に基づいて変換係数の第2サブブロックを定義すること、及び、コードワードのシーケンスを分割して、コードワードの第1サブシーケンスに含まれるコードワードと組み合わされるとき、変換係数の第2サブブロックを復号するのに必要なコードワードを含むコードワードの第2サブシーケンスを形成すること、をさらに含む。該方法は、対応のダウンスケーリング比に基づいて変換係数の第3サブブロックを定義すること、及び、コードワードのシーケンスを分割して、コードワードの第1及び第2サブシーケンスに含まれるコードワードと組み合わされるとき、変換係数の第3サブブロックを復号するのに必要なコードワードを含むコードワードの第3サブシーケンスを形成すること,をさらに含む。これらの実施形態のいずれにおいても、該方法は、コードワードのシーケンスを分割して、コードワードの第1及び第2サブシーケンスに含まれるコードワードと組み合わされるとき、変換係数の第3サブブロックを復号するのに必要なコードワードを含む、コードワードの第3サブシーケンスを形成することを含む。上記いずれの方法を実施しても、コードワードのシーケンスを2以上のコードワードのサブシーケンスに分割することは、ブロックに対応する残りのコードワードをコードワードのうち少なくともさらに1つのサブシーケンスに割り当てることをさらに含む。
本発明の第5態様の上記実施形態の全てにおいて、変換係数のブロックは、NがMに等しくても等しくなくてもよいMxN変換係数のアレイを含み;コードワードの前記サブシーケンスの少なくとも1つは、1/Dが該サブブロックのダウンスケーリング比であるN/D x N/D変換係数のアレイを含む変換係数のサブブロックを表す。
いくつかの実施形態では、コードワードのシーケンスを2以上のコードワードのサブシーケンスに分割することは:
1/Dがサブブロックのダウンスケーリング比である、N/D x N/D変換係数を含む変換係数のサブブロックを再生するのに十分なコードワードを含むコードワードのサブシーケンスを生成することを含む。
各ブロックの係数の前記係数のシーケンスへの配列は、並べ替え領域とジグザグ配列領域とを含む修正ジグザグ配列となり得る。この場合、各ブロックがNxNサイズであれば、ジグザグ配列領域は各ブロックの対角線及び対角線の下の係数を含むことが好ましい。
上記いずれの実施形態であってもその方法は、複数のブロックに対する対応のサブシーケンスを共通のサブシーケンスに配置することをさらに含む。この場合、該方法は1又は複数の前記共通サブシーケンスを含む画像ファイルを記憶することを含んでもよい。該方法は前記画像ファイルに複数の共通のサブシーケンスを記憶することをさらに含み、それぞれの共通のサブシーケンスに対応する少なくとも1つの予め定めたダウンスケーリング比でダウンスケールされた画像の生成を可能にする。
本発明の第6態様において、本発明の第5態様の実施形態に従った方法を用いて生成された符号化画像を復号する方法が提供される。この方法は:
画像解像度を選択すること;
選択された画像解像度で画像を生成するのに適した1又は複数のコードワードのサブシーケンスを選択すること;及び
選択されたサブシーケンスを復号することを含んでもよい。
画像の空間領域を表すブロックごとに、該方法は、サブシーケンスの全てより少ないサブシーケンスを復号して復号前のブロックより少ない変換係数を有する変換係数のサブブロックを生成する。
本発明のさらなる態様において、本発明の第1又は第5態様の実施形態に従った方法によって生成された符号化された画像データからダウンスケールされた画像を生成する方法が提供される。該方法は:
画像解像度を選択すること;
画像の空間領域を表すブロックごとに:
コードワードのサブシーケンスの全てより少ないサブシーケンスを復号して復号前のブロックより少ない変換係数を有する変換係数のサブブロックを生成すること;
選択された画像解像度に対応する空間ドメイン画像データを生成するサイズの逆変換を使って変換係数のサブブロックに逆変換を実行すること;
サブブロックごとに空間ドメイン画像を処理して選択された画像解像度でダウンスケールされた画像を生成すること;を含む。
変換係数のサブブロックは、選択された画像解像度に対応する数の係数を有する。
上記実施形態では、該方法は、逆変換を実行する前に変換係数のサブブロックを再配列することを含み、再配列された変換係数のサブブロックが、ジグザグパターンであってもよい。
本発明のさらなる態様は、プロセッサーによって実行されるときに該プロセッサーに本明細書に開示される方法の実施形態を実行させる命令を含むコンピュータソフトウェアプロダクトに関する。
本発明のさらなる態様は、画像データのフレームを記憶する方法に関し、該方法は:
画像データのフレームを変換係数のセットに変換すること;
上記第1又は第5のいずれかの態様の実施形態に従った符号化方法を実行すること;及び
1又は複数のコードワードのサブシーケンスを記憶することを含む。
コードワードの1又は複数のサブシーケンスは、好ましくは前記コードワードのサブシーケンスのうち選択されたサブシーケンスの検索を容易にするように記憶される。しかし、いくつかの実施形態においては、全てのサブシーケンスがフル解像度で復号されるように記憶されることも可能である。
文脈からそれ以外の意味を必要とする場合を除き、ここに使用する用語である“comprise”、及びその用語の“comprising”、“comprises”、“comprised”等の変化形は、さらなる付加や、コンポーネント、整数又はステップを除外することを意図しない。
本発明のさらなる態様、及び先行するパラグラフに記載された態様のさらなる実施形態は、実施例を通して及び添付する図面を参照して提供される以下の説明から明らかになるだろう。
周波数ドメイン(DCTドメイン)の画像のダウンスケーリングを行う従来技術のアプローチを示すブロックダイアグラムである。 デジタルカメラの概略図である。 本発明の実施形態に従った方法の符号化フェーズのフローチャートであある。 本発明の実施形態で使用可能な8x8及び12x12DCT係数マトリクスの修正ジグザグパターンの一例である。 本発明の実施形態で使用可能な8x8及び12x12DCT係数マトリクスの修正ジグザグパターンの一例である。 8x8及び12x12DCT係数マトリクスの修正ジグザグパターンの一例を示し、本発明の実施形態でそれらがいかに使用されるかを示す。 8x8及び12x12DCT係数マトリクスの修正ジグザグパターンの一例を示し、本発明の実施形態でそれらがいかに使用されるかを示す。 様々なサブシーケンスの生成の手法を示すブロックダイアグラムである。 本明細書に記載の方法を用いて、単一の空間ブロック及びシリーズの空間ブロックをそれぞれ符号化するプロセスの概略図である。 本明細書に記載の方法を用いて、単一の空間ブロック及びシリーズの空間ブロックをそれぞれ符号化するプロセスの概略図である。 本発明の実施形態に従った方法の復号フェーズのフローチャートである。 本明細書に記載の方法を用いて、フル解像度画像、低解像度画像、及び中間解像度画像のそれぞれを生成する画像データの復号処理を表す概略図である。 本明細書に記載の方法を用いて、フル解像度画像、低解像度画像、及び中間解像度画像のそれぞれを生成する画像データの復号処理を表す概略図である。 本明細書に記載の方法を用いて、フル解像度画像、低解像度画像、及び中間解像度画像のそれぞれを生成する画像データの復号処理を表す概略図である。 本発明の実施形態に従って配列された変換係数の2つのブロックを示す図である。
具体的な実施例を参照して本発明の実施形態をこれから説明するが、本発明の範囲はそのような実施例に限定されると考慮されるべきではない。
図2は本発明に従った方法を実施可能なカメラ10の概略図である。しかし、当業者は、本発明に従った方法(符号化及び復号オペレーションを含む)が汎用及び専用のコンピュータハードウェア上で動作するソフトウェアにより実現できることを理解するだろう。例えば、本発明に従った方法は、ビデオや画像の編集ソフトウェアに容易に組み込むことができる。
カメラ10は受光した光を画像データに変換するように構成された画像捕捉システム12を含む。本実施例では、画像捕捉システム12はイメージセンサ12A(例えばCCD又はCMOS画像センシングチップ等)及び関連する光学フィルタ12B(例えばIRカットフィルタ又は光学ローパスフィルタ)を含む。光学システム14、例えばレンズがイメージセンサ上に画像を形成するために提供される。通常イメージセンサは、(モノクロカメラでなければ)カラーフィルタの空間アレイとしてカラーフィルタアレイ(CFA)を含み、それはイメージセンサチップの前方に配置されてカラー画像の捕捉を可能にする。CFAのフィルタは単一のイメージセンサのフォトサイトと空間的に相互に関係づけられ、各フォトサイトは対応する、スペクトル選択されたフィルタを有する。本実施例で使用するCFAはレッド、グリーン、ブルーのカラーフィルタが交互に配列されたベイヤーCFAだが、本発明の技術はいかなる特定の光学システムやCFAの使用にも限定されず、モノクロの撮像システムにも用いることができる。
画像捕捉システム12により生成された画像データはイメージセンサ12Aの各フォトサイトが受光した光のレベルに対応する画素値のアレイを含む。画像データは画像処理サブシステム18へ送られる。画像処理サブシステム18はASIC又はFPGA又は関連するソフトウェアを備えたマイクロプロセッサー等の1又は複数のデータプロセッサーを含み、様々な画像処理タスクを実行するように構成される。ワーキングメモリ20は画像処理や他のタスクを実行中にデータやソフトウェア等を一時的に記憶できるように設けられる。
画像処理サブシステム18はさらにビデオエンコードシステム22を含む。ビデオエンコードシステム22は、通常、プロセッサー(又はFPGA又はASIC)に1又は複数のビデオコーデックを実行させるように構成されたソフトウェアを供給することにより動作する。このシステムは、本発明に従った方法を含め、画像データを符号化し任意のフォーマットに圧縮するために使用することができる。
画像処理サブシステム18はさらにフォーマット変換システム24を有し、フォーマット変換システム24は、画像データを、ビデオ送信システム26を介して送信することにさらに適した、あるいは下流で処理するためにより都合の良い、(Y’CbCr等の)フォーマットに変換する。フォーマット変換システム24は、ビデオ送信システム26へ送られる前に画像を前記ビデオ送信フォーマットの1つにフォーマット化して送信を可能にするするために設けられる。このことは画像データを元のフォーマットからビデオ送信システム26の適切なビデオ送信フォーマット(の1つ)へコード変換することを含んでもよい。
ビデオ送信システムは、少なくともビデオ出力ポートを有するビデオインターフェイスを介して(外部ビデオレコーダ又はレコーダ/モニタ等へ)ビデオ出力データを送信(及びオプションとして受信)することができる。ビデオインターフェイスは双方向であってもよく従ってビデオ入力ポートを含むこともできる。一例としてビデオインターフェィスはSDIインターフェイスであり、もしくは他の同様のインターフェイスであってもよい。
カメラは、メモリコントロールサブシステム28の形でデータ記憶システムを有し、それはビデオデータ(及び他の任意のデータ)をローカル不揮発性メモリ30に永続記憶させることを制御するように構成される。ローカルメモリ30としてメモリカードまたは着脱式ハードドライブのような着脱式メモリを使用しても良い。しかし一般的には、メモリコントロールサブシステム28は、ローカルメモリ30との間で制御信号を送受信し、メモリ30へのビデオデータの記憶とその検索を制御し,さらに記憶のためにデータを符号化又はフォーマット化するために配置される。メモリ30はシリアルATAプロトコルに従って動作するソリッドステートドライブとすることができ、その場合、メモリコントロールサブシステムは、SATAドライブの動作を制御し、SATAドライブのデータの読出しと書き込みを管理する。
画像データの符号化と復号に関わる態様を含む本発明の実施形態は、多様なデバイス上で実行され、それらは例えば:
画像又はビデオを処理又は表示し、以下に限定されないが、画像/ビデオ再生、非線形編集システムなどの画像/ビデオ編集、画像/ビデオカラー修正、コンピュータゲーム、コンピュータゲーム作成、AR及びVRシステムを含むソフトウェアを実行する、(例えば、ラップトップ、デスクトップコンピュータ、サーバー又はクラウドコンピューティングプラットホーム等の)コンピューティングシステムであり;
ビデオトランスコーダ、カメラ、ビデオ記憶装置、ビデオスイッチ等のビデオ処理ハードウェアである。
本発明の実施形態に従った画像データの処理方法が図3のフローチャートに示される。該方法は、ステップ40で空間ドメイン画像データをビデオ符号化しステム22等の画像バッファに取り込むことによりスタートする。画像データは画像フレームを表す一連の画素値を含む。各画素値は所定のビット深度で表される。画素値のビット深度は、受光した光レベルがイメージセンサのダイナミックレンジ内で表される場合の精度を決定する。
空間ドメイン画像データは様々なフォーマットで配置される。例えば、空間ドメイン画像データは:
例えばイメージセンサから読み出される配列に並べられたビットストリームに配置され;
同一のCFAフィルタカラーの画素(即ち、同一カラーの画素)に対応する画素値がまとめてグループ化される、カラープレーンに分離され;
デモザイク処理され、及びフル解像度のカラープレーン画像に配置され;
カラースペースのYCbCr系の要素等のカラースペースの定義に準拠するかしないかに関わらず、1又は複数の輝度画像及びクロミナンス画像に処理される。
本実施例において、入力バッファ40に入る画像データは、出願人の公開された米国特許出願第2018/0367775号に記載されるBlackmagic RAWフォーマットである。Blackmagic RAWの場合、画像データはイメージセンサ12Aのフル解像度の輝度画像と2つの低解像度のクロミナンス画像を表す画像データを含む。当業者は、他のRAWフォーマット等の他のフォーマットの画像データ及びRGB又はYUVデータについても本発明の方法を実施できることを理解するだろう。
ステップ50では、輝度画像及びクロミナンス画像の画像データが離散コサイン変換(DCT)を使って変換(ステップ50)される。そのような変換は輝度画像と2つのクロミナンス画像のそれぞれを適切な空間サイズ(8x8等)のブロックに分割することに関わる。ほとんどの場合、空間ドメインブロックは以下のサイズから選択されたサイズを有するが、他のサイズも使うことができる:
8x8画素;12x12画素;4x8画素;及び6x12画素。
使用される特定のブロックのサイズと形は、イメージセンサのサイズ;画像の予測される周波数成分;画像を処理するデバイスの処理の特性(例えば、処理及び/又は記憶容量);処理スピードの要求;所望の画質;等の要件の範囲に応じて選択される。
各ブロックはその後DCT等の適切な変換技術を使って周波数ドメイン表現に変換される。各ブロックのDCTを演算する前に、その数値はゼロを中心とする範囲を確保するためにシフトされてもよい。DCTを適用することで、ブロックの基本的な強度レベルを定義する、大抵比較的大きな左上隅入力(即ちDC係数)を有するブロックを生成する。ブロックの残りの係数はAC係数として知られる。
DCTブロックは次に適切な量子化マトリクスを参照して量子化される(ステップ60)。量子化動作は、ブロック内の各DCT係数を割り当てられた定数値で除算しその結果を最も近い整数値に丸める。量子化された係数のブロックは通常その大きさにおいて量子化前の係数のブロックより小さい。通常、高い周波数の係数の多くはゼロに丸められる(即ち、量子化マトリクスの割り当てられた定数値によって除算された後、ゼロが入力された係数に対し最も近い整数となる)。
量子化の後、各ブロックの量子化された係数は指定された配列で配置される(ステップ70)。好ましい実施形態によれば、修正ジグザグ配列が使われる。8x8ブロック及び12/12ブロックの修正ジグザグ配列の一例が図4A及び4Bにそれぞれ示されている。両方の図において、ジグザグ配列は左上隅のDC係数(1)から始まり、数字で示される配列の係数を通って進む。ジグザグ配列の視覚化を支援するために、配列の経路を図4A、4Bの実線で示す。
従来技術のジグザクパターン(図4Cの8x8ブロック及び図4Dの12x12ブロックで示される)はDC係数で始まり、その後、反対方向の対角線の経路に沿った連続する隣接の一連の係数に沿って進行する。最初の対角線の経路はDC係数に水平に隣接する係数から始まる。パターンが係数マトリクスのエッジに達すると、係数マトリクスのエッジにある最も近い隣接する係数へと進み、その後向きを変え係数の次の対角線に沿って連続する係数を進む。
従来技術のジグザクパターン(図4C及び図4D)とは異なり、修正ジグザグパターン(図4A及び図4B)は以下のうちの一方又は両方が生じると途切れる。
ジグザグパターンが非隣接係数へ進む;
ジグザグパターンが係数マトリクスのエッジではない係数で進行方向を変える。
こうして、図4A及び図4Bの修正ジグザグパターンは一連のサブブロックを生成する。該ジグザグパターンはDC係数で共通の原点を有する係数の一連のスクエアを横切るように出現する。ネスト化されたスクエアはそのサイズを2x2スクエアから4x4スクエアに、その後8x8スクエア等に増加させる。この実施例の各サブブロックは、連続するスクエア間のこれらの変換係数、即ち、前のサブブロックに既に割り当てられたものを除いた、スクエア内のすべての係数を含む。そのようなネスト化されたスクエアの様々の数が定義される。ジグザクパターンの不連続は、これにより、(図4A、4Bの係数4乃至5、16乃至17、及び図4Bの係数64乃至65の点線の矢印で示されるように)ジグザクに新たなスクエアを開始するジャンプとなり、あるいは(図4A、4Bの係数5乃至6、17乃至18、20乃至21等の破線の矢印で示されるように)同じ対角線の経路に沿って存在するがジグザクパターンの前のスクエア内に既に出現した係数をスキップする不連続となる。
例えば、図5のブロック65のサブシーケンスS2に対応するサブブロックのように他形状のサブブロックの形も可能であり;画像を分割するために使われるブロックが四角形(即ち、ブロックがMxNかつM≠Nのサイズを有する)の実施形態では、サブブロックも同じ形を有するのが好ましい。
図4A及び4Bから明らかなように、修正ジグザグ配列は並べ替え領域と標準ジグザグ配列を有する領域を含む。図4Aに示される8x8ブロックのケースでは、ブロックの左下(係数36)と右上(係数30)の間に伸びる係数の対角線とその下にある対角線は標準ジグザグ配列され、ブロックの残りは並べ替え領域によって構成される。並べ替え領域は、上記のネスト化されたスクエアの係数、及び同じ対角線に存在するそれらを囲むいずれの係数も含む。
ステップ80では、配列された係数のシーケンス内の各係数が符号化される。ハフマン符号化が好ましいが、他の符号化技術を使ってもよい。ハフマン符号化の前にランレングス符号化を係数シーケンスに適用してもよい。ランレングス符号化は、同じ値の複数の入力を、回数(即ち同じ値の繰り返し回数)とその値自体とを記憶することで圧縮比率を向上できる。ランレングス符号化の実施を高周波AC係数の量子化から結果として生じるゼロランに限定することが望ましい。さらに、ランレングス符号化は記憶を必要とするデータ量を増やすことがあるので(即ち繰り返される値のロングランがない場合)、それを符号化プロセスから除外することが適切な場合がある。
配列された係数のシーケンスをハフマン符号化することは、入力された各非ゼロ係数に固有のコードワードを割り当てることに関わる。ゼロ値の係数のランは、通常、次が非ゼロ係数の(又はブロックの終わりのコードワードによって)示される。ハフマン符号化により生成されるコードワードは各係数の発生の確率に従って可変長となる。結果として得られる符号は、一意復号可能であるとともに瞬時復号可能(即ち、接頭符号)である。
配列されたシーケンスの各非ゼロ係数へコードワードを割り当てることによって配列されたコードワードのストリームをもたらす。
RAW画像データを効率よく符号化するにはハフマン符号化が適していることが分かっている。
ステップ90では、このコードワードのシリアルストリームが(ビデオ符号化システム22で実行する)ストリームデマルチプレクサによって多数の分離されたサブストリームに分割される。ストリームデマルチプレクシング機能は、ハフマンエンコーダや出力バッファ等のエンコーダの他の機能ユニットに統合されてもよい。
別の実施形態では、係数は、符号化の前にストリームデマルチプレクサによって分離サブストリームに分割される(図3のステップ80と90の順序が入れ替わる)。この実施形態によれば、ストリームデマルチプレクサが、別々に処理及び/又は符号化されるサブシーケンスに、係数を分離する。そのような実施形態では複数の係数のサブシーケンスを符号化するために多数のエンコーダを必要とする。しかし、エンコーダの数は、比較的短いサブシーケンスがエンコーダを共用するとともに、少なくとも1つの比較的長いサブシーケンスが専用のエンコーダを有すれば、デマルチプレクサによって生成されるサブシーケンスの全数にマッチする数のエンコーダを必要としない。
通常、ストリームデマルチプレクサは、1又は複数のダウンスケーリング比を参照することで個々のサブシーケンスを構成するよう動作する。ダウンスケーリング比は画像のダウンスケールされたバージョンを生成するうえで復号効率の向上を容易にするように選択されることが好ましい。
ブロック内の変換係数がどのように異なるサブシーケンスに対応付けできるかについて、3つの実施例が図5に示される。3つの実施例を以下に示す:
実施例45は、8x8変換係数ブロックを有する画像の3つのサブシーケンスを定義し;
実施例65は、8x8変換係数ブロックを有する画像の4つのサブシーケンスを定義し;及び
実施例55は、12x12変換係数ブロックを有する画像の4つのサブシーケンスを定義する。
しかし、他のブロックサイズやサブシーケンスの数も本発明の他の実施形態で使うことができる。
最初に8x8ブロック(45)のケースを説明する。この実施例では、第1サブシーケンス(S0)が、第1DCT係数(即ちDC係数)と予め決定されたダウンスケーリング比に対応するブロックサイズを生成するのに必要な数のAC係数を符号化する。係数の8x8ブロックに対する1/4のダウンスケーリング比は、サブシーケンスS0において係数の2x2サブブロックが符号化されなければならないことを意味し、従って最小3個のAC係数とDC係数がサブシーケンスS0に必要となる。
次のサブシーケンス(S1)は低いダウンスケーリング比(例えば、ダウンスケーリング比1/2)に対応し、ダウンスケーリング比に対応するサイズを有するサブブロックを生成するために必要とされる数の追加のAC DCT係数を符号化するコードワードを含む。1/2にダウンスケールされた画像を生成するのに適したサブブロックを生成するために、4x4係数サブブロックがS1に符号化される。この実施例では、S0のコードワードが12個の係数を符号化し、S0のコードワードと組み合わされる場合、必要とされる16個の係数を復号できる。
残りの48個の係数は第3サブシーケンスS2に割り当てられる。図5はさらに12x12ブロック(55)に適用されるサブシーケンス構成方法を示す。この場合、サブシーケンスS0は、DCT係数の2x2ブロックとなるように、1/6のダウンスケーリング比に対応するブロックサイズを生成ための十分な係数を符号化する。S1は、S0と組み合わされると、1/3のダウンスケーリング比に対応するブロックサイズの生成が可能となる十分な係数を符号化し、DCT係数の4x4ブロックとなり;S2は、S0及びS1と組み合わされると、2/3のダウンスケーリング比に対応するブロックサイズを復号できる十分な係数を符号化し、DCT係数の8x8ブロックとなる。S3は係数の12x12ブロックを生成するために必要な残りの係数の全てを含みフル解像度画像の再生を可能にする。
図5は、4つのサブシーケンスを生成する8x8ブロック(65)に適用される別のサブシーケンスの構成方法をさらに示す。この実施例では、サブシーケンスS0及びS1はブロック45の実施例の通りである。この場合、サブシーケンスS2には、S0及びS1と組合わされると、8x8係数ブロックの主対角線より上の少なくとも全てのDCT係数を再現できるまで十分な係数が割り当てられる。従って、S2は16個の係数を含み、サブシーケンスS3は32個の係数を含む。
このサブシーケンス割り当て方法は、偶数のコードワードを多く備えたサブシーケンスを有利に生成し、処理効率を最大にすることができる。この方法は、最も大きいサブシーケンス(即ちサブストリームS3)が各ブロックの係数の半分を超えないことを保証するので、リアルタイムで実施する場合に処理速度を2倍にできる。
図5に関連して説明されるサブシーケンスは、DCT係数(それらは任意の適切な変換から生じるが)に関して説明されている。しかし、図3の実施形態のステップ90によって生成されたサブシーケンスは、実際にはコードワードのシーケンスを含む。
以下に例示するように、ランレングス符号化を実施することは、次のサブシーケンスに該当するものとして指定された変換係数を、前のサブシーケンスが符号化することを意味する。したがって、所定のサブシーケンスは、(すべての前の(通常低周波成分の)サブシーケンスと組み合わされる場合には)、予め定めたサイズの変換係数ブロックを再現するのに(コードワードまたは符号化がまだなされていない場合はDCT係数のうちいずれかの)十分なデータを含む。そのサイズは特定のダウンスケーリング比に対応するのが好ましい。符号化される所定のブロックについて、適切な符号化スキームが、前のサブシーケンスの符号化の効率を落とすことなく、サブシーケンスのコンテンツ全体をより小さな番号のサブシーケンスに符号化できる場合、該サブシーケンスを空にできる。例えば、サブブロック全体に広がるのに十分な長さのゼロ値係数のランが存在すると、ランレングス符号化により、そのサブブロックは、前のサブシーケンスに出現するシンボルに効果的に符号化されて、そのブロックについてサブシーケンスは効果的に空になる。EOBマーカーは、最後に符号化された非ゼロ係数を含む同じサブシーケンスに割り当てることができる。その結果、後のサブシーケンスを復号するには、常にすべての前のサブシーケンスを復号する必要があるので、空のサブシーケンス即ち「欠落した」係数は、復号中に問題を生じない。
図3に戻って、ストリームデマルチプレクサによって生成されたサブシーケンスは出力バッファに記憶される(ステップ95)。各サブシーケンスは通常不揮発性メモリの指定されたブロックに記憶され、デコーダが、解像度が低減された特定の復号に必要となる特別に符号化されたサブシーケンスのみを読み取って復号できるようにする。サブシーケンスの数、開始位置、アドレスオフセット、及び符号化された係数のポインタなどのストリーム特性も、DCTや量子化マトリクス、ブロックサイズや復号フェーズで必要な他の情報などその他のメタデータとともに、符号化されたブロックのフレームヘッダーに記憶される。
ランレングス符号化、エントロピー符号化、およびブロックの終わり(EOB)マーカーの位置を組み合わせることにより、例示された符号化方法は、圧縮効率を維持しながら、広範囲のダウンスケーリング比を管理するのに適している。それに加えて、フルブロックサイズと標準ジグザグ配列が使用されているかのようにランレングス符号化を実行できる。この点、ランレングスで符号化された値は、ほとんど例外なくランが開始するサブシーケンスに含まれるが、長さは次の高次のサブシーケンスに、あるいは複数のサブシーケンスにさえまたがって伸びることがある。
符号化方法の効率は、フル画像で実行した場合と同じ圧縮率を達成するという事実からも生じるが、解像度が低減された部分的な復号を目に見えて高速で行うことを可能にする。
図6A及び6Bは、図3の方法の態様の理解をさらに助けるために提供される。最初に、画像の画素の単一ブロックについて代表的方法の工程を示す、図6Aを参照する。画像900は空間ブロック(例えば901)に分割される。これはその後DCT905を使用して周波数ドメインに変換され、画像900内のブロック901を表す複数のDCT係数を含むブロック910を生成する。ブロック910はブロック901(画素単位)と(係数単位で)同じサイズを持つ。DCT係数は図3のステップ60に示されるように量子化される。該DCT係数は、ステップ80でエントロピー符号化を実行するエンコーダにシリアルに読み込まれる。係数のシリアルストリームが符号化ステージに読み込まれる配列は、ステップ700で設定される。好ましくは、係数の配列が、DCTブロック900の各サブブロックS0、S1、S2内にある係数がそれぞれ切れ目なく連続し、最も好ましくは、図4A又は4Bに示されるジグザグパターンに沿って形成されることである。シリアルに符号化されたストリーム915は、(前から後へ)ES0、ES1、ES2の順に流れるコードワードを含む(ここで留意すべきは、図6A及び6Bでは、コードワードのストリームは、右端のコードワード(図6AのES0)が最初に処理されるように先入れ先出しで右に移動するキューとして表される)。ステップ90(図3)で、このシーケンスは(ES0を最初に)デマルチプレクサ920へ送られ、そこでシリアルに符号化されたストリームは3つのサブシーケンスである、ストリーム0、ストリーム1、ストリーム2に分割される。次に、各サブシーケンスのコードワードは(後続のブロックから対応するサブシーケンスのコードワードが続くように)個別にバッファリングされ、必要に応じて個別に処理できるように、その後の処理または記憶のために送られる。
図6Bは、いくつかのブロック1000(ブロック1…ブロックN)の同じ処理を示すことにより、図6Aを拡張する。ブロック1…Nは、同じ画像内の異なる空間ブロック、または異なる画像内の空間ブロックを表してもよい。例えば、連続的に処理されたブロックは、Y、Cb、Cr成分画像のセット内の各画像からの、あるいは他の任意のカラー符号化スキームの成分画像からのブロックを表してもよい。DCT係数の各ブロックは、配列ステップ70によってサブブロックに配置された各ブロックの係数を有し、ブロックiは:DC係数を含む2x2ブロックからなる係数S0のサブブロック;次の12個の係数を持ち、ブロックS0と組み合わせると4x4アレイを完成させるサブブロックS1;及び8x8ブロックを完成させる残り48個の係数のサブブロックを有する。ブロック1…Nは、シリアルに配置されたコードワード1010のシーケンスを生成するように符号化される。図6Aのようにブロック1が最初に符号化され、それに続いてブロック2からブロックNまで符号化され、その結果、シリアルに配置されたコードワード1010のシーケンスは、(最初から最後までを通して)ES0、ES1、ES2、ES0、ES1、ES2、…ES0、ES1、ES2、ES0、ES1、ES2のように符号化されたサブブロックを有する。ここで、上付き文字はブロック番号を示し、最後の数字はサブブロック番号を表す。上記のように、図6Bでは、コードワードのシーケンスは、キュー(ES0)内の最初のコードワードが最初に処理されるように、マルチプレクサに向かって(すなわち、右および下へ)移動する先入れ先出しキューとして示されている。次に、コードワード1010のシーケンスは、逆多重化されて、3つのサブシーケンス(ブロック内の配列された係数の3つのサブブロックに対応する)に形成される。サブシーケンス0は、S0のサブブロックS0、S0…S0…S0の各係数を表すコードワードを含む。サブシーケンス1は、サブシーケンス0に加えて、S1のサブブロックS1、S1…S1…S1の各係数を表すために必要なコードワードを含む。ストリーム3は、サブシーケンス1と0に加えて、S2のサブブロックS2、S2…S2…S2の各係数を表すために必要なコードワードを含む。
本発明のいくつかの実施形態は、より低い解像度の画像(選択されたサブシーケンスのみを記憶することによって達成される)を記憶することに適用され、それにより、より多くの画像またはより長いビデオシーケンスを同じメモリ容量に記憶することができる。
本発明の実施形態に従った方法の復号フェーズ110が図7のフローチャートによって示されている。復号は、本明細書に記載の符号化フェーズ中に生成された符号化画像ファイルに対して実行される。
ステップ510で、復号される画像の解像度が選択される。この選択は、ユーザーが、画像を生成する際の解像度を選択するアクティブな選択の場合もあれば、あるいは、例えば低解像度のモニタに表示するために画像を復号することなど、あるダウンストリームプロセスが単にある解像度の画像の使用を必要とする、または許可するという意味で、パッシブな選択の場合もある。上記のように、所望の解像度で画像を生成するために必要とされる画像データのみが復号されるという点で、画像データは向上した復号を容易に行うように符号化され記憶されている。例えば、画像データは、1/2のダウンスケーリング比で復号でき、8x8のブロックサイズに対しては、単に4x4のより小さいサイズのブロックを復号すれば済む。同様に、1/2のスケール比率で12x12のブロックサイズを復号する場合には、単に6x6の縮減されたブロックサイズを復号すれば済む。
一般的に、k/Nの任意の固定整数比をダウンスケーリング比として使用できる。ここで、Nは画像データの符号化に使用されるブロックサイズであり、kは1...Nの範囲の整数を示す。
解像度を選択後、選択された解像度を達成するために必要なサブシーケンスがアクセスされ(例えば、メモリから読みだされ)、ストリームマルチプレクサを介して送られて(ステップ520)、選択された解像度の画像を復号できるコードワードのシリアルストリームが生成される。例えば、8x8ブロックを使用して符号化された画像45(図5)を1/2のダウンスケーリング比で復号するために、サブシーケンスS0とS1が選択される。上記のように、これらのサブシーケンスは、4x4サブブロックの、まとめて16個の符号化された係数を含む。
同様に、8x8ブロックを1/4のスケール比率で復号するためには、サブシーケンスS0(2x2グリッドに4つの符号化されたシンボルを含む)のみが選択される必要がある。
ステップ530で、検索されたサブシーケンスがエントロピー復号される。ハフマン符号化されたデータの復号は、コードブックを参照することにより、通常ワード単位で行われる。これが必要であるのは、個々のビットレベルで復号することによってのみ、それぞれが固有のコードワードを符号アルファベットの他のワードから区別できるためである。符号化スキームのこれらの特性のため、通常、符号化されたビットストリーム内の任意の場所で復号を開始することはできない。符号化されたビットストリーム自体は、前のブロックが完全に復号されない限り、復号を開始する場所や次のブロックに移動するタイミングに関する情報を提供しない。従って、復号開始ポイントは、通常は画像メタデータから検索され、それによってその後逐次復号を開始する。
追加の復号開始ポイントなど、符号化されたストリームについての追加情報を(メタデータまたはストリーム自体のいずれかに)記憶することは技術的に実現可能だが、これは符号化されたビットストリームのサイズを増大させることになりかねず、したがって圧縮効率に悪影響を及ぼす。
ハフマン符号化の前にデータに適用されたランレングス符号化は、復号ステップ中に反転される。エントロピー復号530は、それぞれが量子化されたDCT係数のマトリクスを含む、低減された解像度のDCTブロックの集合を生成する。
ステップ535で、各ブロックの量子化されたDCT係数は、符号化中に非標準のジグザグパターンが使用された場合、上記ステップ70を実行する前の元の配列に再配列(即ち、「デジグザグ」)される。
その後、逆量子化(ステップ540)が量子化されたDCT係数の各ブロックに対して実行される。逆量子化は、符号化フェーズの量子化ステップ(ステップ60)を、できる限り逆に実行することに関わる。これは、量子化(ステップ60)で使用するために選択された同じ量子化マトリクスを参照して実行される。このように生成された、逆量子化されたDCTブロックは、元のDCT係数マトリクス、つまりDCTステップ(ステップ50)中に生成されたマトリクスに(厳密に同じではないが)非常に近い。そして、そのDCT係数マトリクスは、周波数ドメインの元の画像ファイルの表現である。
復号後、DCT係数マトリクスは逆DCTが適用される(ステップ550)。このプロセスは、最初にマトリクスの2次元逆DCTを実行し、結果を整数値に丸め、該整数値をシフトさせて元のデータ範囲を復元することにより進行する。
逆DCTに続いて、逆DCT中に生成されたデータから画像が再生される(ステップ560)。上記のように、この復号された画像は、上記ステップ510で選択されたスケール比率で解像度が低下している。しかしながら、この画像は必要な変換係数のみを復号することで生成されている。換言すれば、選択された解像度で画像を生成するために必要とされないサブシーケンスの係数は復号されない。画像が、所望のダウンスケーリング比に正確に対応するサブシーケンスで表現されない場合でも、本発明の実施形態は従来の画像復号をしのぐ利点を提供できる。従来のスキームでは、画像全体を復号する必要があるが、本発明の実施形態では、所望の変換係数の数(及びパターン)を復号するために必要なコードワードのサブシーケンスのみを復号すればよい。
一連の3つの例が図8Aから8Cに示されており、それらは、フル解像度の画像の生成(図8A)、低解像度の画像の生成(図8B)、及び中間解像度の画像の生成(図8C)を行う、実施形態を示す。
生成される画像は、8x8画素ブロックを使用して符号化され、Nブロックの画素が作成された。空間ドメインの画素ブロックを符号化中に、8x8DCTを使用して周波数領域のブロックに変換され、結果として得られた係数ブロックは、その係数が図4Aの修正ジグザグパターンに従って配列された。図4Aに配置されたサブブロックは符号化され、上記のように符号化データの対応するサブシーケンス(ストリーム0、ストリーム1、ストリーム2)に配置され、右に移動するコードワードのキューとして示される。符号化されたデータの3つのサブシーケンスは、一緒に記憶することも、互いに別々に記憶することもできる。さらに、各サブシーケンスは、異なるデータ送信チャネルを介して受信することも、単一のチャネルでシリアルに受信することもできる。
初めに図8Aを参照すると、フル解像度の画像が生成される(つまり、選択された解像度がフル解像度である)ためには、符号化されたデータのすべてのサブシーケンス(ストリーム0、ストリーム1、ストリーム2)を処理する必要がある。従って、方法1100は、3つのサブシーケンス、ストリーム0、ストリーム1、ストリーム2の全てが(例えば、送信チャネルを介して受信されるか、メモリから取得されるか、またはバッファから読み取られるなどして)取得されることから始まる。これらは、(好ましくは、右端のコードワードが最初に処理されるようにキューが右に移動する、図に示されるコードワードのキューとして)ストリームマルチプレクサ1110に送られ、コードワードがシリアルに配置されたシーケンス1120を生成する。ストリームマルチプレクサ1110は、好ましくはES0、ES1、ES2、ES0、ES1、ES2、…ES0、ES1、ES2、ES0、ES1、ES2のように(最初から最後まで配列された)コードワードのシリアルシーケンスを出力する。ここで、上付き文字はブロック番号を表し、最後の数字はサブブロック番号を表す。前述のように、このシーケンスは、最初にES0が処理されるように、ストリームマルチプレクサから遠ざかるキューとして図8Aから8Cに示されている。
次に、コードワードのシーケンスは、DCT係数の複数のブロック1140に復号1130される。係数のブロックは、フル解像度の画像が生成されるようにサイズ設定され、このことは、符号化するときの画素アレイのサイズに一致するDCTブロックを必要とする。DCTブロック1140は、符号化中に選択された配列のDCT係数を含む。この例では、それらは図4の修正ジグザグ配列45に従って配置されている。その後、それらは逆変換を適用できる配列に配置される。次に、逆DCT1150が各ブロック1140に適用されて、対応する8x8画素ブロック1155を作成する。そして、再現された画素ブロック1155が組み立てられ、フル解像度1160の最終画像に処理することができる。
次に、図8Aと同様の図であるが、低解像度の画像の再現が望まれる状況について図8Bを参照する。低解像度の画像が生成されるため、符号化されたデータの全てのサブシーケンスよりも少ない処理で済む。この実施例では、1/4解像度の画像が生成されることを想定しており、したがって、方法1200は、サブシーケンスのストリーム0のみを(例えば、送信チャネルを介して受信されるか、メモリから取得されるか、バッファから読み取られるなどして)取得することで開始する。コードワードは、ストリームマルチプレクサ1110に送られ、コードワードがシリアルに配置されたシーケンス1120を生成する。しかしながら、この実施例では実際には多重化が行われないことを考えると、ストリームマルチプレクサ1110は省いてもよい。結果として生じるコードワード1220のストリームは、その後1130で復号されて、図4AのS0ブロックと同じサイズ、即ち2x2の一連のDCTブロック1240を作成する。DCT係数は、必要に応じ標準的配列に再配置され、逆DCTが各ブロック1240に適用されて、対応する2x2画素ブロック1255を作成する。DCT係数のブロック1240は、フル解像度ブロックのサイズの1/4であるため、各2x2画素のサブ画像1255を生成するには単に2x2の逆DCTを適用すれば済む。その後、再現された画素ブロック1155は、組み立てられて元の1/4解像度の最終画像1260に処理される。
次に、図11、12と同様の図であるが、中間解像度の画像の再現が望まれる状況について図8Cを参照する。中間解像度の画像が生成されるため、符号化されたデータの全てのサブシーケンスよりも少ない処理で済む。この実施例では、1/2解像度の画像が生成されることを想定しており、したがって、方法1300は、サブシーケンスのストリーム0とストリーム1の2つのみを(例えば、送信チャネルを介して受信されるか、メモリから取得されるか、バッファから読み取られるなどして)取得することで開始する。コードワードは、ストリームマルチプレクサ1110に送られ、コードワードがシリアルに配置されたシーケンス1320を生成する。1/2解像度画像を生成する上で必要がないので、ストリーム2を(例えば読み取ったり受信したりして)取得する必要がない。結果として生じるコードワード1320のストリームは、その後1130で復号されて、図4Aの組み合わされたS0+S1ブロックと同じサイズ、即ち4x4の一連のDCTブロック1340を生成する。次に、逆DCTが各ブロック1340に適用されて、対応する4x4画素ブロック1355を生成する。DCT係数のブロック1340は、フル解像度ブロックのサイズの1/2であるため、各4x4画素のサブ画像1355を生成するには単に4x4の逆DCTを適用すれば済む。その後、再現された画素ブロック1355は、組み立てられて元の1/2解像度の最終画像1360に処理される。
図4C及び4Dは、標準的なジグザグパターンを使用する実施形態を示す。図4C及び4Dでは、ブロック400C及び400Dは、ブロックの係数の番号付けおよび図示された経路に示されるように、標準のジグザグパターンを使用してステップ70で配列される。これらは、図3に示すように、ステップ80で符号化され、その後ストリームデマルチプレクサによっていくつかのストリームに逆多重化される。図4Cのブロック400Cは、次の3つのサブシーケンスに分割される:
サブストリームS0−係数1から5を表すコードワード;
サブストリームS1−係数6から25を表すコードワード;
サブストリームS2−係数26から64を表すコードワード。
符号化されたデータストリームを逆多重化するためにこれらのサブシーケンスを選択することにより、画像のバージョンを以下の解像度で適宜復号できる:
サブストリームS0のみにアクセスして復号することによる、最大1/4までのダウンスケーリング比;
さらにサブストリームS1にアクセスして復号することによる、最大1/2までのダウンスケーリング比;
さらにサブストリームS2にアクセスして復号することによる、フル解像度までのダウンスケーリング比。
図4Dのブロック400Dは、以下に示す4つのサブシーケンスに分割される:
サブストリームS0−係数1から5を表すコードワード;
サブストリームS1−係数6から25を表すコードワード;
サブストリームS2−係数26から104を表すコードワード;
サブストリームS3−係数105から114を表すコードワード。
符号化されたデータストリームを逆多重化するためにこれらのサブシーケンスを選択することにより、画像のバージョンを以下の解像度で適宜復号できる:
サブストリームS0のみにアクセスして復号することによる、フル解像度の最大1/6までのダウンスケーリング比;
さらにサブストリームS1にアクセスして復号することによる、フル解像度の最大1/3までのダウンスケーリング比;
さらにサブストリームS2にアクセスして復号することによる、フル解像度の最大2/3までのダウンスケーリング比;
さらにサブストリームS2にアクセスして復号することによる、フル解像度までのダウンスケーリング比。
この実施例では、DCT係数に従来のジグザグ配列を使用しているが、データを、個別にアクセスされ復号される3つのサブシーケンスに分割することにより、この実施形態は、ダウンスケーリングの前の符号化されたストリームの全てをアクセスして復号する必要がある標準復号プロセスよりもより経済的に、符号化された画像の低解像度バージョンを生成することを可能にする。
本発明の実施形態に従った符号化方法の実施例を、図9を参照して説明する。第1のブロック505および第2のブロック520は、それぞれ8x8サイズで示されている。各ブロック505及び520は、左上隅にDC係数「dc0」を含み、ブロックの残りを構成する63個のAC係数「ac1」…「ac63」を含む。AC係数は、上記の修正されたジグザグ配列で配列される;即ち、対角525(ac28−ac35)とそれより下のエレメントは標準のジグザグ配列であり、残りのエレメントは並べ替えられている。ブロック505及び520は、同じ画像内の異なる空間ブロックまたは異なる画像内の空間ブロック、例えば、関連する彩度画像および輝度画像内の対応する空間ブロックを表してもよい。
8x8マトリクスのエレメントの並べ替えは、図4Aで説明される以下の配列図によって定義される。
上記のように、ハフマン符号化は係数を符号化するために展開され、非ゼロの各係数にはバイナリコードワードが割り当てられる。ゼロ値の係数のランは、通常、次の非ゼロの係数のコードワードによって(またはブロックの終わりのコードワードによって)示される。
図示の実施形態では、図4に示す8x8のブロックジェネレータ45を使用して3つのサブシーケンスが生成される。ブロック505のエレメントac1に割り当てられたコードワードはY0_ac1_cwと命名され、ブロック520に割り当てられたコードワードはY1_ac1_cwと命名される。2つのブロック505及び520の他のエレメントは、同様に命名される。ゼロ値のパディングは、各ブロック、ブロック群、または各サブシーケンスの終わりなど、出力の適切なポイントに挿入できる。
3つのサブシーケンスは任意の配列で出力できる。
係数のすべてが非ゼロのシナリオでは、ストリームマルチプレクサによって生成される各サブシーケンスの内容は以下のようになる:
サブストリーム0:Y0_dc0_cw,Y0_ac1_cw,Y0_ac2_cw,Y0_ac3_cw,Y1_dc0_cw,Y1_ac1_cw,Y1_ac2_cw,Y1_ac3_cw
サブストリーム1:Y0_ac4_cw,Y0_ac5_cw,Y0_ac6_cw,Y0_ac7_cw,Y0_ac8_cw,Y0_ac9_cw,Y0_ac10_cw,Y0_ac11_cw,Y0_ac12_cw,Y0_ac13_cw,Y0_ac14_cw,Y0_ac15_cw,Y1_ac4_cw,Y1_ac5_cw,Y1_ac6_cw,Y1_ac7_cw,Y1_ac8_cw,Y1_ac9_cw,Y1_ac10_cw,Y1_ac11_cw,Y1_ac12_cw,Y1_ac13_cw,Y1_ac14_cw,Y1_ac15_cw
サブストリーム2:Y0_ac16_cw,Y0_ac17_cw,Y0_ac18_cw,…Y0_ac62_cw,Y0_ac63_cw,Y1_ac16_cw,Y1_ac17_cw,Y1_ac18_cw,…Y1_ac62_cw,Y1_ac63_cw
上記のように、サブシーケンスは任意の配列で出力することができ、従って、圧縮されたデータストリームまたはファイルは、例えば、サブストリーム0、次にサブストリーム1、次にサブストリーム2を含むことができる。
実施例のシナリオでは、ブロックY0(505)のac2、ac3、ac4、ac5を除く係数のすべてが非ゼロの場合、標準のハフマン符号化に従って、ゼロ係数にはコードワードが割り当てられないが、これらゼロ係数は代わりにゼロラン情報を含むac6のコードワードで示される。各サブシーケンスのデータコンテンツを以下に示す:
サブストリーム0:Y0_dc0_cw,Y0_ac1_cw,Y0_ac6_cw,Y1_dc0_cw,Y1_ac1_cw,Y1_ac2_cw,Y1_ac3_cw
サブストリーム1:Y0_ac7_cw,Y0_ac8_cw,Y0_ac9_cw,Y0_ac10_cw,Y0_ac11_cw,Y0_ac12_cw,Y0_ac13_cw,Y0_ac14_cw,Y0_ac15_cw,Y1_ac4_cw,Y1_ac5_cw,Y1_ac6_cw,Y1_ac7_cw,Y1_ac8_cw,Y1_ac9_cw,Y1_ac10_cw,Y1_ac11_cw,Y1_ac12_cw,Y1_ac13_cw,Y1_ac14_cw,Y1_ac15_cw
サブストリーム2:Y0_ac16_cw,Y0_ac17_cw,Y0_ac18_cw,…Y0_ac62_cw,Y0_ac63_cw,Y1_ac16_cw,Y1_ac17_cw,Y1_ac18_cw,…Y1_ac62_cw,Y1_ac63_cw
このシナリオでは、コードワードY0_ac6_cwがサブストリームS0に「プロモート」されている。これには、復号時に、デコーダがサブストリームS0のデータのみを使用してDCTブロックY0の最初の4つの係数を復号できるという利点がある。
圧縮されたデータストリーム又はファイルは、この場合、サブストリームS0、その後のサブストリームS1、その後のサブストリームS2で構成される。
本発明の様々な態様および実施形態は、以下の項に定義される:
項1.変換係数のセットを処理する方法であって、前記変換係数は複数のブロックに配置され、各ブロックは画像の空間領域を表し;
ブロックごとに:
ブロックの係数を係数のシーケンスに配列すること;
配列された係数のシーケンスを符号化して、各コードワードが1又は複数の符号化された係数を含む、コードワードのシーケンスを生成すること;
コードワードのシーケンスを2以上のコードワードのサブシーケンスに分割すること;を含む方法。
項2.各サブシーケンスの係数の数は、少なくとも部分的にダウンスケーリング比によって決定される、項1に記載の方法。
項3.コードワードのシーケンスを2以上のコードワードのサブシーケンスに分割することは:
第1のダウンスケーリング比に基づいて変換係数の第1サブブロックを定義すること、及び、コードワードの第1サブシーケンスが、コードワードの第1サブシーケンスを復号することで変換係数の第1サブブロックを再現するのに必要な全てのコードワードを含むまで、コードワードの第1サブシーケンスにコードワードを割り当てることを含む、項1又は2のいずれかに記載の方法。
項4.コードワードのシーケンスを2以上のコードワードのサブシーケンスに分割することは、:
第2のダウンスケーリング比に基づいて変換係数の第2サブブロックを定義すること、及び、コードワードの第2サブシーケンスとコードワードの第1サブシーケンスの組合せが、コードワードの前記組合せを復号することで変換係数の第2サブブロックを再現するのに必要な全てのコードワードを含むまで、コードワードの第1サブシーケンスに存在しないコードワードをコードワードの第2サブシーケンスに割り当てることをさらに含む、項3に記載の方法。
項5.対応のダウンスケーリング比に基づいて変換係数の第1サブブロックを定義すること、及びコードワードのシーケンスを分割して変換係数の第1サブブロックを復号するのに必要なコードワードを含むコードワードの第1サブシーケンスを形成することをさらに含む、項1又は2のいずれかに記載の方法。
項6.対応のダウンスケーリング比に基づいて変換係数の第2サブブロックを定義すること、及び、コードワードのシーケンスを分割して、コードワードの第1サブシーケンスに含まれるコードワードと組み合わされるとき、変換係数の第2サブブロックを復号するのに必要なコードワードを含む、コードワードの第2サブシーケンスを形成すること、をさらに含む、項5に記載の方法。
項7.対応のダウンスケーリング比に基づいて変換係数の第3サブブロックを定義すること、及び、コードワードのシーケンスを分割して、コードワードの第1及び第2サブシーケンスに含まれるコードワードと組み合わされるとき、変換係数の第3サブブロックを復号するのに必要なコードワードを含むコードワードの第3サブシーケンスを形成すること,をさらに含む、項6に記載の方法。
項8.コードワードのシーケンスを分割して、コードワードの第1及び第2サブシーケンスに含まれるコードワードと組み合わされるとき、変換係数の第3サブブロックを復号するのに必要なコードワードを含むコードワードの第3サブシーケンスを形成することを含む、項5乃至7のいずれかに記載の方法。
項9.コードワードのシーケンスを2以上のコードワードのサブシーケンスに分割することは、ブロックに対応する残りのコードワードをコードワードの少なくともさらに1つのサブシーケンスに割り当てることをさらに含む、項3乃至8のいずれかに記載の方法。
項10.変換係数のブロックは、NがMに等しいか又は等しくないMxN変換係数のアレイを含み;コードワードの前記サブシーケンスの少なくとも1つは、1/Dがサブブロックのダウンスケーリング比であるN/D x N/D変換係数のアレイを含む変換係数のサブブロックを表す、項1乃至9のいずれかに記載の方法。
項11.コードワードのシーケンスを2以上のコードワードのサブシーケンスに分割することは:
1/Dがサブブロックのダウンスケーリング比である、N/D x N/D変換係数を含む変換係数のサブブロックを再生するのに十分なコードワードを含むコードワードのサブシーケンスを生成することを含む、項10に記載の方法。
項12.各ブロックの係数の前記係数のシーケンスへの配列は、並び替え領域とジグザク配列領域とを含む修正ジグザグ配列である、先行する項のいずれかに記載の方法。
項13.各ブロックはNxNサイズであり、ジグザグ配列領域は各ブロックの対角線及び対角線の下の係数を含む、項3に記載の方法。
項14.複数のブロックに対して、対応するサブシーケンスを共通のサブシーケンスへ配置することをさらに含む、任意の先行する項に記載の方法。
項15.1又は複数の前記共通のサブシーケンスを含む画像ファイルを記憶することを含む、項14に記載の方法。
項16.該方法は、前記画像ファイルの複数の共通のサブシーケンスを記憶することを含み、それぞれの共通のサブシーケンスに対応する少なくとも1つの予め定めたダウンスケーリング比でダウンスケールされた画像の生成を可能にする、項15に記載の方法。
項17.先行する項のいずれかに記載の方法を使って生成された符号化された画像を復号する方法であって、該方法は:
画像解像度を選択すること;
選択された画像解像度で画像を生成するのに適した1又は複数のコードワードのサブシーケンスを選択すること;
選択されサブシーケンスを復号すること;を含む方法。
項18.画像の空間領域を表すブロックごとに、該方法は:
全てのサブシーケンスよりも少ないサブシーケンスを復号して符号化前のブロックよりも少ない変換係数を有する変換係数のサブブロックを生成することを含む、項17に記載の方法。
項19.項1乃至17のいずれかに記載の方法により生成された、符号化された画像データからダウンスケールされた画像を生成する方法であって;
画像解像度を選択すること;
画像の空間領域を表すブロックごとに:
コードワードの全てのサブシーケンスよりも少ないサブシーケンスを復号して符号化前のブロックよりも少ない変換係数を有する変換係数のサブブロックを生成すること;
選択された画像解像度に対応する空間ドメイン画像データを生成するサイズの逆変換を使って変換係数のサブブロックに逆変換を実行すること;
各サブブロックの空間ドメイン画像データを処理して、選択された画像解像度でダウンスケールされた画像を生成すること;を含む方法。
項20.変換係数のサブブロックは選択された画像解像度に対応する数の係数を有する、項18又は19のいずれかに記載の方法。
項21.逆変換を実行する前に変換係数のサブブロックを再配列することを含み、再配列された変換係数のサブブロックがジグザグパターンである項19又は20のいずれかに記載の方法。
項22.項1乃至16のいずれかに記載の方法を使用して、プロセッサーによって実行されるときプロセッサーに変換係数のセットを処理させる命令、を含むコンピュータソフトウェアプロダクト。
項23.項17乃至21のいずれかに記載の方法を使用して、プロセッサーによって実行されるときプロセッサーに画像を処理させる命令、を含むコンピュータソフトウェアプロダクト。
項24.画像データのフレームを変換係数のセットに変換すること;
項1乃至16のいずれかの方法を実行すること;及び
1又は複数のコードワードのサブシーケンスを記憶すること;を含む、画像データのフレームを記憶する方法。
項25.1又は複数のコードワードのサブシーケンスは、前記コードワードのサブシーケンスから選択されたサブシーケンスの検索を容易にするように記憶される、項24のいずれかに記載の方法。
項26.画像処理システムとデータ記憶媒体を有するカメラで、画像データのフレームのシーケンスを捕捉すること;
複数の画像データのフレームについて、画像処理システムが項24又は25に記載の方法を実行すること;を含む動画を記録する方法。
項27.項1乃至21、24又は25のいずれかに記載の方法を実行するように構成された画像処理システムを含むカメラ。
項28.項1乃至21、24又は25のいずれかに記載の方法を実行するように構成された画像処理システム。
説明された本発明の実施形態は、複数のサブシーケンスを生成することによって、エントロピー符号化されたDCT係数の形式で圧縮画像データを記憶する新規方法を提供する。この方法は、様々なDCTブロックサイズ、望ましいダウンスケーリング比に応じた、およびエントロピー符号化の様々な方法と組み合わされた、様々の係数のグルーピングに適用される。
本明細書で開示され限定された発明は、テキストや図面に記載され又はそこから明白な、個々の特徴の2つ以上の全ての代替されうる組み合わせに及ぶことが理解されるだろう。これらの異なる組み合わせの全てが本発明の様々の代替されうる態様を構成する。

Claims (20)

  1. 変換係数のセットを処理する方法であって、前記変換係数は複数のブロックに配置され、各ブロックは画像の空間領域を表し;
    ブロックごとに:
    ブロックの係数を係数のシーケンスに配列すること;
    配列された係数のシーケンスを符号化して、各コードワードが1又は複数の符号化された係数を含む、コードワードのシーケンスを生成すること;及び
    コードワードのシーケンスを2以上のコードワードのサブシーケンスに分割すること;
    を含む方法。
  2. 各サブシーケンスの係数の数は、少なくとも部分的にダウンスケーリング比によって決定される、請求項1に記載の方法。
  3. コードワードのシーケンスを2以上のコードワードのサブシーケンスに分割することは:
    第1のダウンスケーリング比に基づいて変換係数の第1サブブロックを定義すること;及び
    コードワードの第1サブシーケンスが、コードワードの第1サブシーケンスを復号することで変換係数の第1サブブロックを再現するのに必要な全てのコードワードを含むまで、コードワードの第1サブシーケンスにコードワードを割り当てること
    を含む、請求項1に記載の方法。
  4. 第2のダウンスケーリング比に基づいて変換係数の第2サブブロックを定義すること;及び
    コードワードの第2サブシーケンスとコードワードの第1サブシーケンスの組合せが、コードワードの前記組合せを復号することで変換係数の第2サブブロックを再現するのに必要な全てのコードワードを含むまで、コードワードの第1サブシーケンスに存在しないコードワードをコードワードの第2サブシーケンスに割り当てること
    をさらに含む、請求項3に記載の方法。
  5. コードワードのシーケンスを2以上のコードワードのサブシーケンスに分割することは、ブロックに対応する残りのコードワードをコードワードの少なくともさらに1つのサブシーケンスに割り当てることをさらに含む、請求項3に記載の方法。
  6. 変換係数のブロックは、NがMに等しいか又は等しくないMxN変換係数のアレイを含み;コードワードの前記サブシーケンスの少なくとも1つは、1/Dがサブブロックのダウンスケーリング比であるN/D x N/D変換係数のアレイを含む変換係数のサブブロックを表す、請求項1乃至4のいずれかに記載の方法。
  7. 各ブロックの係数の前記係数のシーケンスへの配列は、並び替え領域とジグザク配列領域とを含む修正ジグザグ配列である、請求項1乃至4のいずれかに記載の方法。
  8. 複数のブロックに対して、対応するサブシーケンスを共通のサブシーケンスへ配置することをさらに含む、請求項1乃至4のいずれかに記載の方法。
  9. 画像ファイルの複数の共通のサブシーケンスを記憶することをさらに含み、それぞれの共通のサブシーケンスに対応する少なくとも1つの予め定めたダウンスケーリング比でダウンスケールされた画像の生成を可能にする、請求項8に記載の方法。
  10. 請求項1乃至4のいずれかに記載の方法を使って生成された、符号化された画像を復号する方法であって:
    画像解像度を選択すること;
    選択された画像解像度で画像を生成するのに適した1又は複数のコードワードのサブシーケンスを選択すること;及び
    選択されたサブシーケンスを復号すること;
    を含む方法。
  11. 画像の空間領域を表すブロックごとに:
    全てのサブシーケンスよりも少ないサブシーケンスを復号して符号化前のブロックよりも少ない変換係数を有する変換係数のサブブロックを生成することを含む、請求項10に記載の方法。
  12. 請求項1乃至4のいずれかに記載の方法を使って処理された変換係数のセットを表す符号化された画像データからダウンスケールされた画像を生成する方法であって;
    画像解像度を選択すること;
    画像の空間領域を表すブロックごとに:
    コードワードの全てのサブシーケンスよりも少ないサブシーケンスを復号して符号化前のブロックよりも少ない変換係数を有する変換係数のサブブロックを生成すること;
    選択された画像解像度に対応する空間ドメイン画像データを生成するサイズの逆変換を使って変換係数のサブブロックに逆変換を実行すること;及び
    各サブブロックの空間ドメイン画像データを処理して、選択された画像解像度でダウンスケールされた画像を生成すること;
    を含む方法。
  13. 変換係数のサブブロックは選択された画像解像度に対応する数の係数を有する、請求項12に記載の方法。
  14. 再配列された変換係数のサブブロックがジグザグパターンであるように、逆変換を実行する前に変換係数のサブブロックを再配列することをさらに含む、請求項12に記載の方法。
  15. 画像データのフレームを変換係数のセットに変換すること;
    請求項1乃至4のいずれかに記載の方法を実行すること;及び
    1又は複数のコードワードのサブシーケンスを記憶すること;
    を含む、画像データのフレームを記憶する方法。
  16. 1又は複数のコードワードのサブシーケンスは、前記コードワードのサブシーケンスから選択されたサブシーケンスの検索を容易にするように記憶される、請求項12に記載の方法。
  17. 画像処理システムとデータ記憶媒体を有するカメラで、画像データのフレームのシーケンスを捕捉すること;及び
    複数の画像データのフレームについて、画像処理システムが請求項15又は請求項16に記載の方法を実行すること;
    を含む、動画を記録する方法。
  18. 請求項1乃至4のいずれかに記載の方法を実行するように構成された画像処理システムを含むカメラ。
  19. 請求項1乃至4のいずれかに記載の方法を実行するように構成された画像処理システム。
  20. プロセッサーによって実行されるときに該プロセッサーに請求項1乃至4のいずれかに記載の方法を実行させる命令を含むコンピュータソフトウェアプロダクト。
JP2021078493A 2020-05-07 2021-05-06 変換係数処理方法 Pending JP2021177628A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AU2020901460A AU2020901460A0 (en) 2020-05-07 Method for processing transform coefficients
AU2020901460 2020-05-07

Publications (2)

Publication Number Publication Date
JP2021177628A true JP2021177628A (ja) 2021-11-11
JP2021177628A5 JP2021177628A5 (ja) 2024-04-19

Family

ID=75870502

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021078493A Pending JP2021177628A (ja) 2020-05-07 2021-05-06 変換係数処理方法

Country Status (4)

Country Link
US (1) US11765366B2 (ja)
EP (1) EP3907994A3 (ja)
JP (1) JP2021177628A (ja)
CN (1) CN113630598A (ja)

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6263021B1 (en) 1998-09-18 2001-07-17 Sarnoff Corporation Treating non-zero quantized transform coefficients as zeros during video compression processing
US7403564B2 (en) 2001-11-21 2008-07-22 Vixs Systems, Inc. System and method for multiple channel video transcoding
KR101030903B1 (ko) * 2001-11-22 2011-04-22 파나소닉 주식회사 부호화 방법 및 부호화 장치
US7042942B2 (en) 2001-12-21 2006-05-09 Intel Corporation Zigzag in-order for image/video encoder and decoder
US7050656B2 (en) 2002-12-11 2006-05-23 Seiko Epson Corporation Image scaling in the compressed domain
US8121428B2 (en) 2005-05-31 2012-02-21 Microsoft Corporation Accelerated image rendering
US20070058713A1 (en) 2005-09-14 2007-03-15 Microsoft Corporation Arbitrary resolution change downsizing decoder
US8582656B2 (en) 2007-04-13 2013-11-12 Apple Inc. Method and system for video encoding and decoding
US8126280B2 (en) 2007-09-21 2012-02-28 Adobe Systems Incorporated Enhanced decompression of compressed data
US8045810B2 (en) 2008-02-28 2011-10-25 Research In Motion Limited Method and system for decoding encoded images and reducing the size of said images
US8179974B2 (en) * 2008-05-02 2012-05-15 Microsoft Corporation Multi-level representation of reordered transform coefficients
US8340448B2 (en) 2009-10-06 2012-12-25 Cisco Technology, Inc. Locally variable quantization and hybrid variable length coding for image and video compression
US8315310B2 (en) * 2010-01-08 2012-11-20 Research In Motion Limited Method and device for motion vector prediction in video transcoding using full resolution residuals
US9445132B2 (en) * 2013-09-09 2016-09-13 Qualcomm Incorporated Two level last significant coefficient (LSC) position coding
WO2015038156A1 (en) 2013-09-16 2015-03-19 Entropic Communications, Inc. An efficient progressive jpeg decode method
US11153594B2 (en) * 2016-08-29 2021-10-19 Apple Inc. Multidimensional quantization techniques for video coding/decoding systems
JP7182907B2 (ja) 2017-06-15 2022-12-05 ブラックマジック デザイン ピーティーワイ リミテッド カメラの画像データ処理方法およびカメラ
JP7349806B2 (ja) 2018-03-28 2023-09-25 ブラックマジック デザイン ピーティーワイ リミテッド 画像処理方法及びフィルタアレイ

Also Published As

Publication number Publication date
EP3907994A2 (en) 2021-11-10
EP3907994A3 (en) 2022-03-02
US20210352303A1 (en) 2021-11-11
CN113630598A (zh) 2021-11-09
US11765366B2 (en) 2023-09-19

Similar Documents

Publication Publication Date Title
JP6471786B2 (ja) 画像処理装置及び画像処理方法
JP5520122B2 (ja) データ変換装置
JP2008527789A (ja) エントロピー符号化方法
US7302105B2 (en) Moving image coding apparatus, moving image decoding apparatus, and methods therefor
JP2017085247A (ja) 符号化方法及び符号化装置、撮像装置及びプログラム
JP4541896B2 (ja) 多重記述符合化のための装置及び方法
KR20220019285A (ko) 프레임들의 시퀀스를 인코딩하는 방법 및 인코더
CN110868603A (zh) 一种Bayer图像压缩方法
JP3469438B2 (ja) 画像信号の処理方法及び装置、記録媒体
JP2021177628A (ja) 変換係数処理方法
US20090304073A1 (en) Systems and Methods for the Bandwidth Efficient Processing of Data
JP3401762B2 (ja) 画像圧縮符号化・復号化方法、画像圧縮符号化・復号化装置、画像圧縮符号化伝送方法、画像圧縮符号化伝送システムおよび画像圧縮符号化・復号化プログラムを記録した記録媒体
JP2006340300A (ja) 信号処理方法及び信号処理装置、並びに信号処理プログラム及び情報記録媒体
KR20060056558A (ko) 영상의 인코딩 및 디코딩 방법
JP2935320B2 (ja) 画像圧縮伸長装置
JP7242246B2 (ja) 画像符号化装置、及びこれらの制御方法、並びにプログラム
KR0160616B1 (ko) 디지탈 영상 압축방법 및 그 장치
JP3703728B2 (ja) 映像信号符号化装置、映像信号符号化方法
JP6382728B2 (ja) 復号方法及び復号装置
JPH06113140A (ja) 画像処理装置
JP5186820B2 (ja) 符号化装置、符号化方法および符号化プログラム
JP2005217896A (ja) 画像符号化装置
JPH06178121A (ja) 圧縮方法
JP2004056575A (ja) 動画像符号化装置及び動画像復号装置並びにそれらの方法
JP2002077912A (ja) 画像符号化装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240411

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240411