JP6465955B2 - 符号化ビデオデータの変換単位のサブブロックを符号化又は復号するための方法、装置、及び、プログラム - Google Patents

符号化ビデオデータの変換単位のサブブロックを符号化又は復号するための方法、装置、及び、プログラム Download PDF

Info

Publication number
JP6465955B2
JP6465955B2 JP2017248474A JP2017248474A JP6465955B2 JP 6465955 B2 JP6465955 B2 JP 6465955B2 JP 2017248474 A JP2017248474 A JP 2017248474A JP 2017248474 A JP2017248474 A JP 2017248474A JP 6465955 B2 JP6465955 B2 JP 6465955B2
Authority
JP
Japan
Prior art keywords
sub
block
initial value
encoded
encoding
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
JP2017248474A
Other languages
English (en)
Other versions
JP2018078625A (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.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from AU2012202182A external-priority patent/AU2012202182B2/en
Application filed by Canon Inc filed Critical Canon Inc
Publication of JP2018078625A publication Critical patent/JP2018078625A/ja
Application granted granted Critical
Publication of JP6465955B2 publication Critical patent/JP6465955B2/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform 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/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4031Fixed length to variable length coding
    • H03M7/4037Prefix coding
    • H03M7/4043Adaptive prefix coding
    • H03M7/4068Parameterized codes
    • H03M7/4075Golomb codes
    • 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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

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

Description

本発明は、全体的にはデジタルビデオ信号処理に関し、特に、符号化ビデオデータの変換単位のサブブロックを符号化又は復号するための技術に関する。
現在、ビデオ符号化のための様々な応用例、例えば、ビデオデータの送信及び記憶のための応用例が存在する。また、多くのビデオ符号化規格が開発されてきており、さらなる規格も現在開発中である。ビデオ符号化の標準化における最近の開発により、「Joint Collaborative Team on Video Coding (ビデオ符号化における統合共同チーム)」(JCT−VC)と呼ばれるグループが設立されるに至った。Joint Collaborative Team on Video Coding (JCT−VC)には、Video Coding Experts Group(ビデオ符号化専門家グループ)(VCEG)として知られている、International Telecommunication Union(国際電気通信連合)(ITU)のTelecommunication Standardisation Sector(電気通信標準化部門)(ITU−T)のStudy Group 16,Question 6(第16研究会、課題6)(SG16/Q6)のメンバー、及びMoving Picture Experts Group(動画専門家集団)(MPEG)として知られている、International Organisations for Standardisation/International Electrotechnical Comission Joint Technical Comitte 1 / Subcomittee 29 / Working Group 11(国際標準化機構と国際電気標準会議の第一合同技術委員会/第29小委員会/第11作業部会)(ISO/IEC JTC1/SC29/WG11)のメンバーが含まれている。
Joint Collaborative Team on Video Coding (JCT−VC)は、「H.264/MPEG−4 AVC」として知られている既存のビデオ符号化規格よりもかなり高機能な新たなビデオ符号化規格を作成することを目標としている。H.264/MPEG−4 AVC規格それ自体も、MPEG−4やITU−T H.263のようなかつてのビデオ符号化規格についてかなりの改良を加えたものである。開発中の新たなビデオ符号化規格は、「high efficiency video coding(高効率ビデオ符号化)(HEVC)」と名付けられている。また、Joint Collaborative Team on Video Coding (JCT−VC)は、high efficiency video coding(HEVC)のために提案された技術に起因し当該規格を高解像度又は高フレームレートで動作するように実施範囲を広げることを困難にする実施課題についても検討している。
H.264/MPEG−4 AVCビデオ符号化規格では、残差係数を符号化してビデオデータを表す際に高圧縮効率を達成するのが困難になる。
ビデオデータは、一連のフレームで構成され、各フレームは、二次元配列のサンプル値を有している。一般的に、フレームは、1つの輝度(luma)チャネルと2つの色度(chroma)チャネルを有している。色情報は、一般的には、YUV(Yは、輝度チャネル、UVは、2つの色度チャネル)のような色空間を用いて表現される。YUVのような色空間では、フレーム内容の大部分は輝度チャネルに含まれ、UVチャネルに保存される比較的少量の内容でもカラーフレームを再構成するのに十分であるという利点がある。また、色度チャネルは、視覚上無視できるほど小さい品質低下を伴うより低い空間分解能にダウンサンプリングすることができる。
4:2:0のような一般的に使用される色度フォーマットでは、各色度チャネルは半分の垂直及び水平解像度を持つようになる。各フレームは、最大符号化単位(LCU)の配列に分解される。最大符号化単位(LCU)は、サイズが固定であり、各エッジ寸法は64輝度サンプルのように2の累乗でありかつ等しい幅と高さを有する。符号化ツリーは、各最大符号化単位(LCU)を4個の符号化単位(CU)に細分割するのを可能にし、各符号化単位(CU)は、親の(もとの)最大符号化単位(LCU)の幅と高さの半分の幅と高さを有する。各々の符号化単位(CU)は、さらに4個の等サイズの符号化単位(CU)に細分割してもよい。そのような細分割工程は、最小符号化単位(SCU)サイズに到達するまで再帰的に実行され、符号化単位(CU)が最小対応サイズになるようにすることができる。最大符号化単位を符号化単位階層へ再帰的に細分割したものは、四分木構造を有し、符号化ツリーと呼ばれる。当該細分割工程は、2値数として符号化された一連のフラグとして通信ビットストリームにおいて符号化されていく。符号化単位は、それ故、正方形を有する。
それ以上細分割されることがない一群の符号化単位が、符号化ツリーの中に存在し、符号化ツリーの葉節点を占めている。各符号化単位には、変換ツリーが存在する。変換ツリーにより、符号化単位を符号化ツリーに用いられる四分木構造を用いてさらに分解してもよい。変換ツリーの各葉節点において、残差データが変換単位(TU)を用いて符号化される。符号化ツリーとは対照的に、変換ツリーは、符号化単位を正方形でない変換単位にさらに細分割することができる。なお、変換ツリーにおいては、変換単位(TU)が親符号化単位によって供給される範囲のすべてを占めている必要はない。
符号化ツリーの葉節点における各符号化単位は、一つ又は複数の予測データサンプル配列に細分割され、それらは各々、予測単位(PU)として知られている。各予測単位(PU)は、イントラ予測(フレーム内予測)処理又はインター予測(フレーム間予測)処理を行うことによって得られる、入力ビデオフレームデータの一部分の予測を含む。
さまざまな方法が、符号化単位(CU)内で予測単位(PU)を符号化するのに用いられる。単一の予測単位(PU)が符号化単位(CU)の全域を占めてもよいし、符号化単位(CU)は垂直方向又は水平方向に2個の等サイズの矩形状の予測単位(PU)に分割してもよい。さらに、符号化単位(CU)は、4個の等サイズの正方形の予測単位(PU)に分割してもよい。
ビデオエンコーダは、ビデオデータをシンタックス要素の配列に変換することによってビデオデータをビットストリームに圧縮する。context adaptive binary arithmetic coding(コンテキスト適応2値算術符号化)(CABAC)手法は、開発中のhigh efficiency video coding(高効率ビデオ符号化)(HEVC)規格内で規定され、MPEG4−AVC/H.264ビデオ圧縮規格に規定されているのと同一な算術符号化手法を用いている。開発中のhigh efficiency video coding(HEVC)規格においては、context adaptive binary arithmetic coding(CABAC)が用いられているとき、各シンタックス要素は、2値数の配列として表される。各2値数は、バイパス符号化又は算術符号化される。バイパス符号化は、2値数が一様に0又は1である可能性が高い場合に用いられる。この場合、さらに圧縮することはあり得ない。算術符号化は、2値数が不均一な確率分布を有する場合に用いられる。算術符号化された各2値数は、「コンテキスト」として知られている情報と関連付けられている。コンテキストは、見込み2値数値(「valMPS」)と確率状態を含んでおり、確率状態は、見込み2値数値の推定確率を示す整数値である。シンタックス要素からそのような、バイパス符号化2値数値と算術符号化2値数値の組み合わせからなる2値数の配列を作成することは、シンタックス要素を「2値化する」こととして知られている。
ビデオエンコーダやビデオデコーダにおいて、各2値数には別々のコンテキスト情報が使用できるので、2値数に応じてコンテキストを選択することにより、符号化効率を高める手段が得られる。特に、関連するコンテキスト情報が用いられた2値数の前回の統計的特性が当該2値数の今回の統計的特性と相関性があるように特定の2値数を選択することで、符号化効率を高めることができる。そのようなコンテキストの選択には、しばしば、空間的局所情報が最適なコンテキストを決定するために用いられる。
開発中のhigh efficiency video coding(HEVC)規格や、H.264/MPEG4−AVCにおいて、現在のブロックについての予測は、他のフレームや現在のブロック内の以前に復号された周辺領域から得られる基準サンプルデータから導き出される。当該予測と所望サンプルデータとの差異は、残差として知られている。残差の周波数領域表現は、残差係数の2次元配列である。通例、この2次元配列の左上角は、低周波情報を表す残差係数を含んでいる。
一般的なビデオデータにおいては、サンプル値の変化の大部分は、穏やかなものであり、残差内において低周波情報が優勢になる。これは、2次元配列の左上角に位置する残差係数がより重要であることを意味する。
本発明は、従来構成における一つ又は複数の不都合な点を実質的に解消し、又は少なくとも改善することを目的とする。
本開示のある態様によれば、ゴロム・ライス符号化を用いて符号化された符号化ビデオデータにおける変換単位のサブブロックを復号する復号方法であって、前記変換単位に含まれる複数のサブブロックの内の復号対象のサブブロックにおけるライスパラメータの初期値を、前記復号対象のサブブロックと同じ変換単位における、前記復号対象のサブブロックより前のサブブロックにおいて導出された情報を用いて決定する決定工程と、前記決定工程において決定された初期値を、ライスパラメータの初期値として用いて、前記復号対象のサブブロックを復号する復号工程とを有し、前記ライスパラメータの初期値は、輝度と色差のそれぞれにおいて決定され、前記決定工程において、前記復号対象のサブブロックにおけるライスパラメータの初期値を、有意残差係数を用いて決定する
また、ゴロム・ライス符号化を用いて符号化された符号化ビデオデータにおける変換単位のサブブロックを復号する復号方法であって、前記変換単位に含まれる複数のサブブロックの内の復号対象のサブブロックにおけるライスパラメータの初期値を、前記復号対象のサブブロックと同じ変換単位における、前記復号対象のサブブロックより前のサブブロックにおいて導出された情報を用いて決定する決定工程と、前記決定工程において決定された初期値を、ライスパラメータの初期値として用いて、前記復号対象のサブブロックを復号する復号工程とを有し、前記ライスパラメータの初期値は、輝度と色差のそれぞれにおいて決定され、前記決定工程において、前記復号対象のサブブロックを復号するために用いる量子化パラメータが所定の閾値よりも小さい場合、前記ライスパラメータの初期値を、ゼロ設定としない。
また、ゴロム・ライス符号化を用いて符号化された符号化ビデオデータにおける変換単位のサブブロックを復号する復号方法であって、前記変換単位に含まれる複数のサブブロックの内の復号対象のサブブロックにおけるライスパラメータの初期値を、前記復号対象のサブブロックと同じ変換単位における、前記復号対象のサブブロックより前のサブブロックにおいて導出された情報を用いて決定する決定工程と、前記決定工程において決定された初期値を、ライスパラメータの初期値として用いて、前記復号対象のサブブロックを復号する復号工程とを有し、前記ライスパラメータの初期値は、輝度と色差のそれぞれにおいて決定され、前記決定工程において、前記復号対象のサブブロックにおけるライスパラメータの初期値を、前記復号対象のサブブロックのために復号された情報を更に用いて決定し、前記決定工程において、前記復号対象のサブブロックにおける有意残差係数が所定の閾値よりも多い場合、前記ライスパラメータの初期値を、ゼロ設定としない。
また、ゴロム・ライス符号化を用いてビデオデータにおける変換単位のサブブロックを符号化する符号化方法であって、前記変換単位に含まれる複数のサブブロックの内の符号化対象のサブブロックにおけるライスパラメータの初期値を、前記符号化対象のサブブロックと同じ変換単位における、前記符号化対象のサブブロックより前のサブブロックにおいて導出された情報を用いて決定する決定工程と、前記決定工程において決定された初期値を、ライスパラメータの初期値として用いて、前記符号化対象のサブブロックを符号化する符号化工程とを有し、前記ライスパラメータの初期値は、輝度と色差のそれぞれにおいて決定され、前記決定工程において、前記符号化対象のサブブロックにおけるライスパラメータの初期値を、有意残差係数を用いて決定する
また、ゴロム・ライス符号化を用いてビデオデータにおける変換単位のサブブロックを符号化する符号化方法であって、前記変換単位に含まれる複数のサブブロックの内の符号化対象のサブブロックにおけるライスパラメータの初期値を、前記符号化対象のサブブロックと同じ変換単位における、前記符号化対象のサブブロックより前のサブブロックにおいて導出された情報を用いて決定する決定工程と、前記決定工程において決定された初期値を、ライスパラメータの初期値として用いて、前記符号化対象のサブブロックを符号化する符号化工程とを有し、前記ライスパラメータの初期値は、輝度と色差のそれぞれにおいて決定され、前記決定工程において、前記符号化対象のサブブロックを符号化するために用いる量子化パラメータが所定の閾値よりも小さい場合、前記ライスパラメータの初期値を、ゼロ設定としない。
また、ゴロム・ライス符号化を用いてビデオデータにおける変換単位のサブブロックを符号化する符号化方法であって、前記変換単位に含まれる複数のサブブロックの内の符号化対象のサブブロックにおけるライスパラメータの初期値を、前記符号化対象のサブブロックと同じ変換単位における、前記符号化対象のサブブロックより前のサブブロックにおいて導出された情報を用いて決定する決定工程と、前記決定工程において決定された初期値を、ライスパラメータの初期値として用いて、前記符号化対象のサブブロックを符号化する符号化工程とを有し、前記ライスパラメータの初期値は、輝度と色差のそれぞれにおいて決定され、前記決定工程において、前記符号化対象のサブブロックにおけるライスパラメータの初期値を、前記符号化対象のサブブロックのために符号化された情報を更に用いて決定し、前記決定工程において、前記符号化対象のサブブロックにおける有意残差係数が所定の閾値よりも多い場合、前記ライスパラメータの初期値を、ゼロ設定としない
本開示の別の態様によれば、ゴロム・ライス復号(Golomb−Rice deco
ding)を用いて符号化ビデオデータの変換単位を復号する方法であって、前記変換単位のサブセット用の有意な残差係数を決定し、前記変換単位の前記サブセットのゴロム・ライス復号用の所定のライス(Rice)パラメータであって、前記決定された有意な残差係数の数が所定の閾値よりも大きいときはゼロ設定からオフセットされている所定のライスパラメータを選択し、前記所定のライスパラメータを前記ゴロム・ライス復号用の初期パラメータとして使用して前記変換単位の前記サブセットを復号することを特徴とする方法が提供される。
本開示の別の態様によれば、ゴロム・ライス復号(Golomb−Rice decoding)を用いて符号化ビデオデータの変換単位を復号する方法であって、前記変換単位のサブセット用の有意な残差係数を決定し、前記変換単位の前記サブセットのゴロム・ライス復号用の所定のライス(Rice)パラメータであって、前記決定された有意な残差係数の数が所定の閾値よりも大きいときはゼロ設定からオフセットされている所定のライスパラメータを選択し、前記所定のライスパラメータを前記ゴロム・ライス復号用の初期パラメータとして使用して前記変換単位の前記サブセットを復号することを特徴とする方法が提供される。
本開示の別の態様によれば、ゴロム・ライス復号を用いて符号化ビデオデータの変換単位を復号するための装置であって、前記変換単位のサブセット用の有意な残差係数を決定するための手段と、前記変換単位の前記サブセットのゴロム・ライス復号用の所定のライスパラメータであって、前記決定された有意な残差係数の数が所定の閾値よりも大きいときはゼロ設定からオフセットされている所定のライスパラメータを選択するための手段と、前記所定のライスパラメータを前記ゴロム・ライス復号用の初期パラメータとして使用して前記変換単位の前記サブセットを復号するための手段とを具備することを特徴とする装置が提供される。
本開示の別の態様によれば、ゴロム・ライス復号を用いて符号化ビデオデータの変換単位を復号するためのシステムであって、データ及びコンピュータプログラムを記憶するためのメモリと、前記メモリに接続され前記コンピュータプログラムを実行するためのプロセッサとを具備し、前記コンピュータプログラムは、前記変換単位のサブセット用の有意な残差係数を決定し、前記変換単位の前記サブセットのゴロム・ライス復号用の所定のライスパラメータであって、前記決定された有意な残差係数の数が所定の閾値よりも大きいときはゼロ設定からオフセットされている所定のライスパラメータを選択し、前記所定のライスパラメータを前記ゴロム・ライス復号用の初期パラメータとして使用して前記変換単位の前記サブセットを復号するための命令を含むことを特徴とするシステムが提供される。
本開示の別の態様によれば、ゴロム・ライス復号を用いて符号化ビデオデータの変換単位を復号するためのコンピュータプログラムを記録したコンピュータ読み取り可能な媒体であって、前記プログラムは、前記変換単位のサブセット用の有意な残差係数を決定するためのコードと、前記変換単位の前記サブセットのゴロム・ライス復号用の所定のライスパラメータであって、前記決定された有意な残差係数の数が所定の閾値よりも大きいときはゼロ設定からオフセットされている所定のライスパラメータを選択するためのコードと、前記所定のライスパラメータを前記ゴロム・ライス復号用の初期パラメータとして使用して前記変換単位の前記サブセットを復号するためのコードとを含むことを特徴とするコンピュータ読み取り可能な媒体が提供される。
本開示の別の態様によれば、ビデオデータのストリームを復号してビデオデータの復号ストリームにおける現在の残差係数の値を決定する方法であって、前記ビデオデータのストリームから残差係数の変換単位を受け取り、前記変換単位の現在の残差係数の位置を決定し、前記変換単位における前記現在の残差係数の位置が所定の閾値よりも大きいときは、所定のゴロム・ライス値を使用する無依存型ゴロム・ライス復号を用いて前記現在の残差係数を復号し、前記変換単位における前記現在の残差係数の位置が前記所定の閾値よりも小さいときは、以前に復号された残差係数値を使用してゴロム・ライス値を選択する現在の係数の依存型ゴロム・ライス復号を用いて前記現在の残差係数を復号し、前記選択されたゴロム・ライス復号値を使用して前記現在の残差係数の値を決定することを特徴とする方法が提供される。
本開示の別の態様によれば、ゴロム・ライス復号を用いて符号化ビデオデータの変換単位を復号する方法であって、前記変換単位用の量子化パラメータを決定し、前記変換単位のサブセット用の有意な残差係数を決定し、前記変換単位の前記サブセットのゴロム・ライス復号用の所定のライスパラメータであって、前記決定された量子化パラメータが所定の閾値よりも低いときはゼロ設定からオフセットされている所定のライスパラメータを選択し、前記所定のライスパラメータを前記ゴロム・ライス復号用の初期パラメータとして使用して前記変換単位の前記サブセットを復号することを特徴とする方法が提供される。
本開示の別の態様によれば、ゴロム・ライス復号を用いて符号化ビデオデータの変換単位を復号するための装置であって、前記変換単位のサブセット用の有意な残差係数を決定するための手段と、前記変換単位用の量子化パラメータを決定するための手段と、前記変換単位の前記サブセットのゴロム・ライス復号用の所定のライスパラメータであって、前記決定された量子化パラメータが所定の閾値よりも低いときはゼロ設定からオフセットされている所定のライスパラメータを選択するための手段と、前記所定のライスパラメータを前記ゴロム・ライス復号用の初期パラメータとして使用して前記変換単位の前記サブセットを復号するための手段とを具備することを特徴とする装置が提供される。
本開示の別の態様によれば、ゴロム・ライス復号を用いて符号化ビデオデータの変換単位を復号するためのシステムであって、データ及びコンピュータプログラムを記憶するためのメモリと、前記メモリに接続され前記コンピュータプログラムを実行するためのプロセッサとを具備し、前記コンピュータプログラムは、前記変換単位のサブセット用の有意な残差係数を決定し、前記変換単位用の量子化パラメータを決定し、前記変換単位の前記サブセットのゴロム・ライス復号用の所定のライスパラメータであって、前記決定された量子化パラメータが所定の閾値よりも低いときはゼロ設定からオフセットされている所定のライスパラメータを選択し、前記所定のライスパラメータを前記ゴロム・ライス復号用の初期パラメータとして使用して前記変換単位の前記サブセットを復号するための命令を含むことを特徴とするシステムが提供される。
本開示の別の態様によれば、ゴロム・ライス復号を用いて符号化ビデオデータの変換単位を復号するためのコンピュータプログラムを記録したコンピュータ読み取り可能な媒体であって、前記プログラムは、前記変換単位のサブセット用の有意な残差係数を決定するためのコードと、前記変換単位用の量子化パラメータを決定するためのコードと、前記変換単位の前記サブセットのゴロム・ライス復号用の所定のライスパラメータであって、前記決定された量子化パラメータが所定の閾値よりも低いときはゼロ設定からオフセットされている所定のライスパラメータを選択するためのコードと、前記所定のライスパラメータを前記ゴロム・ライス復号用の初期パラメータとして使用して前記変換単位の前記サブセットを復号するためのコードとを含むことを特徴とするコンピュータ読み取り可能な媒体が提供される。
本開示の別の態様によれば、ゴロム・ライス復号を用いて符号化ビデオデータの変換単位を復号する方法であって、前記変換単位用の量子化パラメータを決定し、前記変換単位用の幅及び高さを決定し、前記変換単位のサブセット用の有意な残差係数を決定し、前記変換単位の前記サブセットのゴロム・ライス復号用の所定のライスパラメータであって、前記決定された量子化パラメータが所定の閾値よりも低いか又は等しく、前記幅が所定の閾値よりも大きく、かつ前記高さが所定の閾値よりも大きいときはゼロ設定からオフセットされている所定のライスパラメータを選択し、前記所定のライスパラメータを前記ゴロム・ライス復号用の初期パラメータとして使用して前記変換単位の前記サブセットを復号することを特徴とする方法が提供される。
本開示の別の態様によれば、ゴロム・ライス復号を用いて符号化ビデオデータの変換単位を復号するための装置であって、前記変換単位のサブセット用の有意な残差係数を決定するための手段と、前記変換単位用の量子化パラメータを決定するための手段と、前記変換単位用の幅及び高さを決定するための手段と、前記変換単位の前記サブセットのゴロム・ライス復号用の所定のライスパラメータであって、前記決定された量子化パラメータが所定の閾値よりも低いか又は等しく、前記幅が所定の閾値よりも大きく、かつ前記高さが所定の閾値よりも大きいときはゼロ設定からオフセットされている所定のライスパラメータを選択するための手段と、前記所定のライスパラメータを前記ゴロム・ライス復号用の初期パラメータとして使用して前記変換単位の前記サブセットを復号するための手段とを具備することを特徴とする装置が提供される。
本開示の別の態様によれば、ゴロム・ライス復号を用いて符号化ビデオデータの変換単位を復号するためのシステムであって、データ及びコンピュータプログラムを記憶するためのメモリと、前記メモリに接続され前記コンピュータプログラムを実行するためのプロセッサとを具備し、前記コンピュータプログラムは、前記変換単位のサブセット用の有意な残差係数を決定し、前記変換単位用の量子化パラメータを決定し、前記変換単位用の幅及び高さを決定し、前記変換単位の前記サブセットのゴロム・ライス復号用の所定のライスパラメータであって、前記決定された量子化パラメータが所定の閾値よりも低いか又は等しく、前記幅が所定の閾値よりも大きく、かつ前記高さが所定の閾値よりも大きいときはゼロ設定からオフセットされている所定のライスパラメータを選択し、前記所定のライスパラメータを前記ゴロム・ライス復号用の初期パラメータとして使用して前記変換単位の前記サブセットを復号するための命令を含むことを特徴とするシステムが提供される。
本開示の別の態様によれば、ゴロム・ライス復号を用いて符号化ビデオデータの変換単位を復号するためのコンピュータプログラムを記録したコンピュータ読み取り可能な媒体であって、前記プログラムは、前記変換単位のサブセット用の有意な残差係数を決定するためのコードと、前記変換単位用の量子化パラメータを決定するためのコードと、前記変換単位用の幅及び高さを決定するためのコードと、前記変換単位の前記サブセットのゴロム・ライス復号用の所定のライスパラメータであって、前記決定された量子化パラメータが所定の閾値よりも低いか又は等しく、前記幅が所定の閾値よりも大きく、かつ前記高さが所定の閾値よりも大きいときはゼロ設定からオフセットされている所定のライスパラメータを選択するためのコードと、前記所定のライスパラメータを前記ゴロム・ライス復号用の初期パラメータとして使用して前記変換単位の前記サブセットを復号するためのコードとを含むことを特徴とするコンピュータ読み取り可能な媒体が提供される。
また、その他の態様も開示する。
以後、次に示す図面を参照して、本発明の少なくとも一つの実施形態を説明する。
ビデオエンコーダの機能モジュールを示す概略ブロック図である。 ビデオデコーダの機能モジュールを示す概略ブロック図である。 図1のエンコーダが実施される汎用コンピュータシステムの概略ブロック図を示す。 図2のデコーダが実施される汎用コンピュータシステムの概略ブロック図を示す。 変換単位の一例の空間的構造を示す。 変換単位の一例の空間的構造を示す。 変換単位の一例のシンタックス要素構造を示す概略ブロック図である。 変換単位(TU)を符号化する方法を示す概略ブロック図である。 変換単位(TU)を復号する方法を示す概略フローダイヤグラムである。 図5の変換単位の一例のサブセットのシンタックス要素構造を示す概略ブロック図である。 変換単位のサブセットを符号化する方法を示す概略フローダイヤグラムである。 変換単位のサブセットを復号する方法を示す概略フローダイヤグラムである。 ゴロム・ライス符号語を用いた残差係数の2進法表示を示す表である。 ゼロ次の指数ゴロム符号語を用いた残差係数の2進法表示を示す表である。 ゴロム・ライスパラメータの現在値と前回の残差係数の値に基づいてゴロム・ライスパラメータの値を決定するためのルックアップテーブルを示す表である。 残差係数を符号化する方法を示す概略フローダイヤグラムである。 残差係数を復号する方法を示す概略フローダイヤグラムである。 ゴロム・ライス復号を用いて残差係数を復号するための方法により用いられるパラメータKの値を決定するための方法を示す概略フローダイヤグラムである。 変換単位(TU)のサブセット用の残存残差係数強度値を復号するための2値化器を示す。 変換単位(TU)のサブセット用の残存残差係数強度値を復号するための別の2値化器を示す。 変換単位の他の例を示す。
添付図面の一つ又は複数の図においてそれぞれ同じ参照数字を有するステップや特徴部分を参照する際には、特に別の意図が示されていない限り、それらのステップや特徴部分は本明細書の記述に関してはそれぞれ同様な機能又は動作を有しているものとする。
残差係数の2次元配列の左上角において優勢であるという低周波情報の特性は、2値化手法により、ビットストリームにおける残差係数のサイズを最小化するために利用することができる。
2値化の一態様として、各々のフラグに対応するシンタックス要素を符号化するために使用するコンテキストを選択する。1つのフラグが複数のコンテキストを使用してもよい。あるフラグの特定のインスタンスにどのコンテキストを用いるべきかを決定することは、他のすでに有用である情報次第であり、「コンテキストモデリング(モデル化)」として知られている。コンテキストモデリングは、フラグの現在のインスタンスの統計的特性を最も正確に表現するコンテキストが選択されることになる過程である。例えば、しばしば、フラグの値は当該フラグの周辺のインスタンスの値により影響を受け、その場合、当該フラグの周辺のインスタンスの値に基づいてコンテキストが選択されることになる。フレーム情報の大部分は輝度チャネルに含まれていることから、コンテキストモデリングはしばしば輝度チャネルと色度チャネルとで別々のコンテキストを使用する。しかしながら、2つの色度チャネルの統計的特性は比較的似ているので、コンテキストは一般的には色度チャネル間で共用される。
high efficiency video coding(HEVC)テストモデルの第6版(「HM−6.0」)は、変換単位(TU)を複数のサブセットに分割し、各サブセットにおける残差係数を2つのパスで走査する。第1のパスは、残差係数の状況が非ゼロ値(有意)であるかゼロ値(非有意)であるかを示す各フラグを符号化する。このデータは、有意性マップとして知られている。第2のパスは、有意な残差係数の大きさと符号を符号化するものであり、係数レベルとして知られている。
走査パターンを設けることにより、残差係数の2次元配列の1次元配列への走査が可能となる。HM−6.0においては、設けられた走査パターンは、有意性マップと係数レベルの双方を処理するのに使用される。設けられた走査パターンを用いて有意性マップを走査することで、2次元有意性マップにおける最後の有意の係数の位置を決定してもよい。走査パターンは、水平方向、垂直方向、斜め方向(対角線方向)のいずれでもよい。
HM−6.0は、正方形であったり非正方形であったりする変換単位(TU)としても知られている残差ブロックへのサポートを行う。各変換単位(TU)は、一群の残差係数を含んでいる。等サイズの側辺寸法を有する残差ブロックは、正方形変換単位(TU)として知られており、等サイズでない側辺寸法を有する残差ブロックは、非正方形変換単位(TU)として知られている。
HM−6.0においてサポートされている変換単位(TU)サイズは、4x4、8x8、16x16、32x32、4x16、16x4、8x32及び32x8である。変換単位(TU)サイズは、一般的には輝度サンプル値に関して記述される。しかしながら、4:2:0の色度フォーマットが使用される際は、各色度サンプルは2x2輝度サンプル値の範囲を占める。したがって、色度残差データを符号化するために変換単位(TU)を走査するには、半分の水平方向及び垂直方向寸法を有する走査パターン、例えば、4x4輝度残差ブロックに対して2x2のサイズのものを使用することになる。残差係数を走査し符号化するために、16x16、32x32、4x16、16x4、8x32及び32x8変換単位(TU)は、HM−6.0内に対応するマップが存在し、4x4のサイズを有する複数のサブブロック、即ち、変換単位(TU)の下層に分割される。
HM−6.0において、上記の変換単位(TU)サイズに対応するサブブロックは、変換単位(TU)におけるサブセットと同一の場所に配置される。別の実施形態では、サブセットは、サブセットのサイズとは異なるサイズを有するサブブロックとは同一の場所に配置しなくてもよい。1つのサブブロック内の同一の場所に配置された有意性マップの一部分内に設定された有意な係数フラグを、有意な係数グループと称する。
16x16、32x32、4x16、16x4、8x32及び32x8変換単位(TU)に関しては、有意性マップ符号化は、2レベル走査を利用する。上位レベルの走査では、後方斜め左下方向走査のような、各サブブロックの有意係数グループを表すフラグを符号化し又は推測する走査を実行する。サブブロック内においては、後方斜め左下方向走査のような走査が行われ、一価の有意な係数グループフラグを有するサブブロック用の有意な係数フラグを符号化する。16x16変換単位(TU)については、4x4上位レベル走査が用いられる。32x32変換単位(TU)については、8x8上位レベル走査が用いられる。16x4、4x16、32x8及び8x32変換単位(TU)については、4x1、1x4、8x2及び2x8上位レベル走査がそれぞれ用いられる。
各変換単位(TU)において、残差係数データはビットストリームに符号化してもよい。各「残差係数」は、周波数(DCT)領域における変換単位内の画像特性を表し、かつその変換単位内で独自の位置を占める数字である。変換単位は、空間領域と周波数領域との間で変換することができる残差データサンプルのブロックである。周波数領域においては、変換単位(TU)は、残差データサンプルを残差係数データとして符号化する。変換単位の側辺の寸法は、2の累乗の大きさとなっており、「輝度」チャネルについいては4サンプルから32サンプルの範囲にあり、「色度」チャネルについいては2サンプルから16サンプルの範囲にある。変換単位(TU)ツリーの葉節点は、残差係数データが必要でない場合は、一つの変換単位(TU)を含むかそれとも全く変換単位(TU)を含まないかのいずれかになる。
変換単位(TU)の空間表現は、残差データサンプルの2次元配列であるから、後に詳述するように、修正離散コサイン変換(DCT)のような変換に起因する周波数領域表現もまた、残差係数の2次元配列である。変換単位(TU)内の代表的なサンプルデータの空間的特徴は、周波数領域表現が空間表現に比してよりコンパクトであるということである。また、変換単位(TU)において代表的な低周波スペクトル情報が優勢になると、より大きな値の残差係数が変換単位(TU)の左上に群がることになり、そこでは低周波残差係数が表現されている。
修正離散コサイン変換(DCT)や修正離散サイン変換(DST)は、残差変換を実施するために用いることができる。残差変換の実施は、各々必要な変換単位(TU)サイズに対応するように構成されている。ビデオエンコーダにおいて、残差変換から得られる残差係数がスケーリングされ、かつ量子化される。このスケーリング及び量子化は、残差係数の大きさを減少させ、その結果、画質を犠牲にしてビットストリームに符号化されたデータのサイズを減少させる。
残差変換を実行した後、量子化処理を行う。量子化処理は、残差係数の大きさの精度を減少させることでより高い圧縮率を達成することを目的としている。この大きさ精度の減少は、情報の損失を伴う処理であり、それ故、見栄えに影響を及ぼす。精度減少のレベルは、量子化パラメータ(QP)により制御される。このパラメータの値が高いほど、見栄えがより多く影響を受ける。量子化パラメータは、後述のdelta(デルタ)−qpシンタックス要素を用いることにより、変換単位(TU)レベルで変更することができる。
開発中のhigh efficiency video coding(HEVC)規格は、ビデオデータの高効率圧縮を達成することを目指している。ビデオデータの高効率圧縮の達成には、推定や統計的データ解析を用いることができる。また、開発中のhigh efficiency video coding(HEVC)規格は、ビデオデータを高ビットレートで符号化又は復号することを目指している。開発中のhigh efficiency video coding(HEVC)規格において採用されているcontext adaptive binary arithmetic coding(CABAC)手法は、「バイパス符号化」と称される「等確率」動作モードをサポートしている。このモードにおいては、2値数はコンテキストモデルからのコンテキストに関連付けられておらず、それ故、コンテキストモデル更新ステップは無い。そのようなモードでは、各2値数がスループットを増大させるバイパス符号化されるという条件で、複数の隣接2値数をビットストリームから並行して読み出すことができる。例えば、ハードウェア実装により、隣接するバイパス符号化データのグループを並行して書き込み又は読み出し、ビットストリームを符号化又は復号するスループットを増大させることができる。
図1は、ビデオエンコーダ100の機能モジュールを示す概略ブロック図である。図2は、対応するビデオデコーダ200の機能モジュールを示す概略ブロック図である。ビデオエンコーダ100及びビデオデコーダ200は、図3A及び3Bに示す汎用のコンピュータシステム300を用いて構成することができる。図3A及び3Bにおいて、種々の機能モジュールは、コンピュータシステム300内の専用ハードウェアによって構成し、又はコンピュータシステム300内で実行可能なソフトウェアによって構成し、あるいはコンピュータシステム300内の専用ハードウェアとコンピュータシステム300内で実行可能なソフトウェアとの組み合わせによって構成してもよい。
図3Aに示すように、コンピュータシステム300は、コンピュータモジュール301;キーボード302、マウスポインタ装置303、スキャナ326、カメラ327及びマイクロフォン380などの各種入力装置;並びにプリンタ315、ディスプレイ装置314及びラウドスピーカ317を含む各種出力装置を具備する。外部変復調装置(モデム)トランシーバ装置316は、コンピュータモジュール301が接続部321を介して通信ネットワーク320と通信を行うために用いることができる。通信ネットワーク320は、インターネットのような広域ネットワーク(WAN)でもよいし、携帯電話通信ネットワークでもよいし、プライベートWANでもよい。接続部321が電話回線である場合、モデム316は、従来の「ダイアルアップ」モデムでもよい。また、接続部321が大容量の(すなわち、ケーブル)接続部である場合、モデム316は、ブロードバンドモデムでもよい。無線モデムも通信ネットワーク320との無線通信に使用することができる。
コンピュータモジュール301は、一般的には、少なくとも一つのプロセッサ部305及びメモリ部306を具備する。例えば、メモリ部306は、半導体ランダム・アクセス・メモリ(RAM)及び半導体リード・オンリー・メモリ(ROM)を備えていたりする。コンピュータモジュール301は、さらに、ビデオディスプレイ314、ラウドスピーカ317及びマイクロフォン380に連結するオーディオ・ビデオインターフェース307;キーボード302、マウス303、スキャナ326、カメラ327及び任意でジョイスティックや他のヒューマンインターフェース装置(不図示)に連結する入出力(I/O)インターフェース313;並びに外部モデム316とプリンタ315用のインターフェース308を具備する。実施態様によっては、モデム316は、コンピュータモジュール301内、例えば、インターフェース308内に組み込んでもよい。コンピュータモジュール301は、さらに、ローカル・ネットワーク・インターフェース311を具備しており、ローカル・ネットワーク・インターフェース311は、コンピュータシステム300がローカル・エリア・ネットワーク(LAN)として知られているローカルエリア通信ネットワーク322に接続部323を介して連結することを可能にする。図3Aに示すように、ローカルエリア通信ネットワーク322は、さらに、広域ネットワーク320に接続部324を介して連結することができる。接続部324は、多くの場合、いわゆる「ファイアウォール」装置や同様な機能を持つ装置を備えている。ローカル・ネットワーク・インターフェース311は、イーサネット(登録商標)回路カード、ブルートゥース(登録商標)無線装置、又はIEEE802.1無線装置を包含するが、その他複数のタイプのインターフェースをインターフェース311として利用することができる。
I/Oインターフェース308と313は,直列接続と並列接続の一方又は双方を利用可能にすることができ、前者は、一般的にはユニバーサル・シリアル・バス(Universal Serial Bus)(USB)規格に従って構成され、対応するUSBコネクタ(不図示)を有する。記憶装置309が設けられており、一般的には、ハードディスクドライブ(HDD)310が内蔵されている。フロッピーディスクドライブや磁気テープドライブ(不図示)などのその他の記憶装置を用いることもできる。不揮発性のデータソースとして機能する光ディスクドライブ312が一般的に設けられている。光ディスク(例えば、CD−ROM、DVD、ブルーレイ(Blu−ray)ディスク(登録商標))、USB−RAM、携帯型外部ハードドライブ及びフロッピーディスクなどの携帯型メモリ装置をシステム300への好適なデータソースとして利用可能である。一般的には、HDD310、光ドライブ312、ネットワーク320と322又はカメラ327のうち、いずれも符号化すべきビデオデータのソースとして用いることができ、あるいはディスプレイ314とともに記憶又は再生すべき復号ビデオデータの移動先として用いることができる。
コンピュータモジュール301の各部305〜313は、通例、相互接続バス304を介して、当業者に周知のコンピュータシステム300の従来の動作モードになるような態様で通信を行う。例えば、プロセッサ305は、接続部318を用いてシステムバス304に接続されている。同じように、メモリ306及び光ディスクドライブ312は、接続部319によりシステムバス304に接続されている。上述の各部が実施されているコンピュータの例としては、IBM−PCやその互換機、サン・スパークステーション(Sun Sparcstations)、アップル・マック(Apple Mac(登録商標))やその他の類似のコンピュータシステムが挙げられる。
適切な場合又は所望の場合には、エンコーダ100とデコーダ200は、以下に説明する方法とともに、コンピュータシステム300を用いて構成することができ、エンコーダ100、デコーダ200及び後述の処理は、コンピュータシステム300内で実行可能な一つ又は複数のソフトウェア・アプリケーション・プログラム333として構成することができる。特に、エンコーダ100、デコーダ200及び後述の方法の各ステップは、コンピュータシステム300内で実行されるソフトウェア333における命令331(図3B参照)により実現される。ソフトウェア命令331は、一つ又は複数の符号モジュールとして形成され、その各々は一つ又は複数の特定なタスクを実行するために用いられる。このソフトウェアは、2つの別々な部分に分割してもよく、第1の部分及びその対応する符号モジュールは、後述の方法を実行し、第2の部分及びその対応する符号モジュールは、当該第1の部分とユーザとの間のユーザーインターフェースを管理する。
当該ソフトウェアは、例えば、後述の記憶装置を含むコンピュータ読み出し可能な媒体に記憶することができる。当該ソフトウェアは、コンピュータ読み出し可能な媒体からコンピュータシステム300にロードされ、コンピュータシステム300によって実行される。そのようなソフトウェアを有するコンピュータ読み出し可能な媒体やコンピュータ読み出し可能な媒体に記録されたコンピュータプログラムは、コンピュータプログラム製品である。コンピュータシステム300における当該コンピュータプログラム製品の使用は、エンコーダ100、デコーダ200及び後述の方法を実施するのに好都合の装置を望ましい形で実現することになる。
ソフトウェア333は、通常はHDD310やメモリ306に記憶されている。当該ソフトウェアは、コンピュータ読み出し可能な媒体からコンピュータシステム300にロードされ、コンピュータシステム300によって実行される。従って、例えば、ソフトウェア333は、光ディスクドライブ312により読み取られる光学的に読み出し可能なディスク記憶媒体(例えば、CD−ROM)に記憶することができる。
場合によっては、アプリケーションプログラム333は、一つ又は複数のCD−ROM325上で符号化されてユーザに供給され、対応するドライブ312によって読み込まれるようにしてもよいし、あるいはネットワーク320又は322からユーザによって読み込まれるようにしてもよい。さらに、当該ソフトウェアは、他のコンピュータ読み出し可能な媒体からコンピュータシステム300にロードすることもできる。コンピュータ読み出し可能な媒体とは、記録された命令及び/又はデータを実行及び/又は処理するためにコンピュータシステム300に提供する任意の非一時性有形記憶媒体のことである。そのような記憶媒体の例としては、フロッピーディスク、磁気テープ、CD−ROM、DVD、ブルーレイディスク、又はハードディスク・ドライブ、ROMや集積回路、USBメモリ、光磁気ディスク、PCMIAカードやその類似物などのコンピュータ読み出し可能なカードが挙げられるが、それらの装置は、コンピュータモジュール301の内部にあろうと外部にあろうと構わない。コンピュータモジュール301へのソフトウェア、アプリケーションプログラム、命令及び/又はビデオデータ若しくは符号化ビデオデータの提供にさらに関与することができる一時性又は非有形のコンピュータ読み出し可能な伝送媒体の例としては、無線又は赤外線伝送チャネルのほかに他のコンピュータやネットワーク装置へのネットワーク接続部、さらに、電子メール送信及びウエブサイト等に記録されている情報を含むインターネットやイントラネットが挙げられる。
アプリケーションプログラム333及びその対応する符号モジュールの前述の第2の部分を実行して、一つ又は複数のグラフィカル・ユーザー・インターフェース(GUI)を構成し、ディスプレイ314上に描画又は表現することができる。通常、キーボード302とマウス303を操作することで、コンピュータシステム300及びアプリケーションのユーザは、インターフェースを機能的に適合した方法で操作し、当該GUIに関連したアプリケーションへのコマンド及び/又は入力を制御することができる。機能的に適合したユーザーインターフェースの他の形態、例えば、ラウドスピーカ317を介して出力される音声プロンプトを利用する音声インターフェースやマイクロフォン380を介して入力されるユーザ音声コマンドなども実施することができる。
図3Bは、プロセッサ305と「メモリ」334の詳細な概略ブロック図である。メモリ334は、図3Aのコンピュータモジュール301がアクセスできるすべてのメモリモジュール(HDD309及び半導体メモリ306を含む)の論理的集合体である。
コンピュータモジュール301の電源が最初にONされると、電源ON自己診断(POST)プログラム350が起動する。通常、POSTプログラム350は、図3Aの半導体メモリ306のROM349に記憶されている。ソフトウェアを記憶するROM349のようなハードウェア装置は、時には、ファームウェアと称する。POSTプログラム350は、コンピュータモジュール301内のハードウェアを検査して正常に機能していることを確かめ、通常はプロセッサ305、メモリ334(309、306)、及び同様にROM349に通常は記憶されている基本入出力システム(basic input−output system)(BIOS)モジュール351を正確に動作するかに関して点検する。POSTプログラム350が正常に起動したならば、BIOS351は、図3Aのハードディスク・ドライブ310を作動させる。ハードディスク・ドライブ310の作動により、ハードディスク・ドライブ310に常駐するブートストラップ・ローダー・プログラム352がプロセッサ305を介して起動する。これにより、オペレーティングシステム353がRAMメモリ306にロードされ、RAMメモリ306上でオペレーティングシステム353が動作を開始する。オペレーティングシステム353は、プロセッサ305により実行可能であり、プロセッサ管理、メモリ管理、装置管理、記憶管理、ソフトウェア・アプリケーション・インターフェース及び汎用ユーザーインターフェースを含む様々な高レベルの機能を果たすシステム・レベル・アプリケーションである。
オペレーティングシステム353は、メモリ334(309、306)を管理し、コンピュータモジュール301上で動作している各処理やアプリケーションが他の処理に割り当てられたメモリと衝突することなく実行されるのに十分なメモリを有していることを確かなものにする。さらに、図3Aのシステム300において使用できるさまざまなメモリは、各処理が効果的に動作するように適切に使用されることが必要である。従って、集合体であるメモリ334は、どのようにメモリの特定のセグメントが割り当てられるかを説明するためにあるのではなく(別段の説明がない限り)、むしろ、コンピュータシステム300がアクセスできるメモリの一般的概念とそれがどのように使用されるのかの説明を提供するためにあるものである。
図3Bに示すように、プロセッサ305は、制御部339、算術論理演算部(ALU)340、及び時にはキャッシュメモリと呼ばれる局部又は内部メモリ348を含む複数の機能モジュールを具備する。キャッシュメモリ348は、通常、レジスタ部に複数のレジスタ344〜346を有している。一つ又は複数の内部バス341は、これらの機能モジュールを相互接続している。プロセッサ305は、通常さらに、接続部318を用いてシステムバス304を介して外部装置と通信を行うための一つ又は複数のインターフェース342を具備する。メモリ334は、接続部319を用いてバス304と連結している。
アプリケーションプログラム333は、条件付き分岐とループ命令とを含むことがある一連の命令331を含んでいる。プログラム333は、さらに、プログラム333の実行に用いるデータ332を含むことがある。命令331及びデータ332は、記憶域328、329及び220並びに記憶域335、336及び237にそれぞれ記憶されている。命令331と記憶領域328〜330の相対的サイズ次第で、特定の命令は、記憶域330内に示される命令により描かれるような単一の記憶域に記憶してもよい。あるいは、1個の命令を複数の部分に分けて、各部分を記憶領域328及び329に示す命令部分により描かれるような別々の記憶域に記憶してもよい。
一般的に、プロセッサ305には、そこで実行される一連の命令が与えられる。プロセッサ305は、次の入力を待ち、他の一連の命令を実行することによってその入力に反応する。各入力は、多数のソースのうちの一つ又は複数から提供され、それらは、例えば、入力装置302及び303のうちの一つ又は複数により生成されたデータ、ネットワーク320及び302のうちの一つを介して外部ソースから受信したデータ、記憶装置306及び309のうちの一つから受信したデータ、又は対応するリーダ312に挿入された記憶媒体325から受信したデータ(いずれも図3Aに描かれている)である。それらの一連の命令を実行することにより、場合によっては、データが出力されることになる。実行により、データや変数をメモリ334に記憶することになることもある。
エンコーダ100、デコーダ200及び後述の方法では、メモリ334の対応する記憶域355、356及び357に記憶されている入力変数354を使用する。また、エンコーダ100、デコーダ200及び後述の方法では、メモリ334の対応する記憶域362、363及び364に記憶されている入力変数361を生成する。記憶域359、360、366及び367には中間媒介変数358を記憶することができる。
図3Bのプロセッサ305に関して、レジスタ344、345及び346、算術論理演算部(ALU)340並びに制御部339は、共働して、プログラム333を構成する命令群における各命令に対して「取り出し、解読及び実行」サイクルを行うのに必要なマイクロ動作列を実行する。各取り出し、解読及び実行サイクルは、
(a)記憶域328、329又は330から命令331を取り出す取り出し動作と、
(b)制御部339がどの命令が取り出されたのかを判定する解読動作と、
(c)制御部339及び/又はALU340が当該命令を実行する実行動作とを有する。
その後に、次の命令に対してさらなる取り出し、解読及び実行サイクルを実行することができる。同様に、制御部339がある値を記憶域332に記憶する又は書き込む記憶動作を実行することができる。
後述するプロセスにおける各ステップ又はサブプロセスは、プログラム333の一つ又は複数の部分と関連付けられており、通常は、プログラム333の注目部分用の命令群における各命令に対して取り出し、解読及び実行サイクルを共働して実行するプロセッサ305中のレジスタ部分344、345及び347、ALU340並びに制御部339により実行される。
エンコーダ100、デコーダ200及び後述の方法は、後述の方法の機能や副次機能を実行する一つ又は複数の集積回路などの専用のハードウエアにおいて選択的に構成してもよい。そのような専用のハードウエアとしては、グラフィックプロセッサ、デジタル信号プロセッサ、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)又は一つ又は複数のマイクロプロセッサ及び関連メモリを挙げることができる。
上述のように、ビデオエンコーダ100は、ハードディスク・ドライブ310に常駐しプロセッサ305によりその実行を制御されるソフトウェア・アプリケーション・プログラム333の一つ又は複数のソフトウェア符号モジュールとして構成することができる。特に、ビデオエンコーダ100は、各々ソフトウェア・アプリケーション・プログラム333の一つ又は複数のソフトウェア符号モジュールとして構成することができるモジュール102〜112、114及び115を含んでいる。
図1のビデオエンコーダ100は、high efficiency video coding(HEVC)ビデオ復号パイプラインの一例であるが、モジュール102〜112、114及び115によって実行される処理段階は、VC−1やH.264/MPEG−4 AVCなどの他のビデオコーデックと共通である。ビデオエンコーダ100は、符号化されていないフレームデータ101を輝度及び色度サンプルを有する一連のフレームとして受信する。ビデオエンコーダ100は、フレームデータ101の各フレームを、例えば、符号化単位(CU)ツリーとして表すことができる階層的な変換単位(TU)群に分割する。
ビデオエンコーダ100は、予測単位(PU)120として知られている予測データサンプルの列をマルチプレクサーモジュール110から出力するように動作する。差分モジュール115は、予測単位(PU)120とフレームデータ101からの対応するデータサンプル列との差分を出力する。この差分は、残差データサンプル122として知られている。
変換モジュール102は、差分モジュール115からの残差データサンプル122を受信し、当該差分を空間表現から周波数領域表現に変換して変換ツリー中の各変換単位(TU)についての変換係数124を生成する。開発中のhigh efficiency video coding(HEVC)規格においては、周波数領域表現への変換は、修正離散コサイン変換(DCT)を用いて実施される。修正DCTは、従来のDCTをシフトと加算を用いて実施するように変形したものである。次に、変換係数124は、スケーリング及び量子化モジュール103に入力され、スケーリング及び量子化され、残差係数126が生成される。スケーリング及び量子化処理は、精度の損失を招くことになる。
残差係数126は、逆スケーリングモジュール105への入力となる。逆スケーリングモジュール105は、スケーリング及び量子化モジュール103により実行されたスケーリングを逆転し、残差係数126を再スケーリングしたバージョンである再スケーリング変換係数128を生成する。また、残差係数126は、残差係数を符号化ビットストリーム113に符号化するエントロピー・エンコーダ・モジュール104への入力となる。スケーリング及び量子化モジュール103に起因する精度の損失のせいで、再スケーリング変換係数128は、元の変換係数124と同一のものではない。次に、逆スケーリングモジュール105からの再スケーリング変換係数128は、逆変換モジュール106に出力される。逆変換モジュール106は、周波数領域から空間領域への逆変換を行い、デコーダで生成される空間領域表現と同一の再スケーリング変換係数128の空間領域表現130を生成する。
動き推定モジュール107は、フレームデータ101をメモリ306内に構成されたフレーム・バッファ・モジュール112に記憶されている直前のフレームデータと比較することにより、動きベクトル132を生成する。次に、動きベクトル132は、動き補償モジュール108に入力される。動き補償モジュール108は、動きベクトル132から導かれる空間的オフセットを考慮に入れながら、フレーム・バッファ・モジュール112に記憶されているサンプルをフィルタリングすることによって、インター予測基準サンプル134を生成する。図1には示していないが、動きベクトル132は、また、シンタックス要素として、符号化ビットストリーム113に符号化するエントロピー・エンコーダ・モジュール104へ供給される。イントラフレーム予測モジュール109は、加算モジュール114から得られたサンプル138を用いてイントラ予測基準サンプル136を生成する。加算モジュール114は、マルチプレクサーモジュール110の出力120と逆変換モジュール106からの出力130とを加算する。
予測単位(PU)は、イントラ予測方法又はインター予測方法を用いて符号化することができる。イントラ予測とインター予測のどちらを使用すべきかは、処理の結果得られた符号化ビットストリーム113の所望のビットレートとイントラ予測方法又はインター予測方法のいずれかによってもたらされた画質ひずみ量との間のレート―ひずみトレードオフに応じて決定される。もしイントラ予測を用いる場合、使用可能なモード群の中から一つのイントラ予測モードが同じくレート―ひずみトレードオフに応じて選択される。各予測単位ごとに一つのイントラ予測モードが選択される。
マルチプレクサーモジュール110は、イントラフレーム予測モジュール109からのイントラ予測基準サンプル136と動き補償ブロック108からのインター予測基準サンプル134のいずれかを、図示してはいないが当技術分野で周知である制御論理によって決定される現在の予測モード142に応じて選択する。現在の予測モード142は、エントロピー・エンコーダ・モジュール104にも供給され、後述するように、変換単位の走査順序を決定し、又は確定するために使用される。インター予測は斜め方向走査順序のみを用いるが、イントラ予測は斜め方向走査順序、水平方向走査順序又は垂直方向走査順序を用いる。
加算モジュール114は、非ブロック化フィルタモジュール111への入力となる和138を生成する。非ブロック化フィルタモジュール111は、ブロック境界に沿ってフィルタリングを行い、メモリ306内に構成されているフレーム・バッファ・モジュール112に書き込まれる非ブロック化サンプル140を生成する。フレーム・バッファ・モジュール112は、複数の過去のフレームからのデータを後の参照用に保持するために十分な容量を有するバッファである。
ビデオエンコーダ100において、1個の変換単位(TU)内の残差データサンプル122は、入力フレームデータ101のデータサンプルと入力フレームデータ101のデータサンプルの予測120との間の差分を求めることによって決定される。当該差分は、変換単位(TU)の残差係数の空間表現を示す。変換単位(TU)の残差係数は、2次元有意性マップに変換される。
変換単位(TU)における残差係数の有意性マップは、次に、走査順序として知られている特定の順序で走査され、有意係数フラグのリストと呼ばれるフラグ値の1次元リストを作成する。走査順序は、イントラ予測モジュール109から予測モード142と共に受信するような走査パターンにより記述され、又は特定されることになる。走査パターンは、水平方向、垂直方向、斜め方向又はジグザグのいずれでもよい。
high efficiency video coding(HEVC)テストモデル第6版(すなわち、「HM_6.0」)は、逆方向の走査を実行する。しかしながら、順方向の走査も可能である。HEVC参照モデル第6版(すなわち、「HM_6.0」)においては、走査動作は、最後の有意係数から残差係数1個後に開始し(「後に」とは、残差係数の逆方向走査の方向においての意味)、有意性マップの左上位置に到達するまで進行する。この特性を有しHEVC参照モデル第6版に依拠する走査動作は、「逆方向走査」として知られている。HEVC参照ソフトウェア第6版(すなわち、「HM_6.0」)においては、
最後の有意係数の位置は、変換単位(TU)における係数の座標を符号化することによって信号として伝えられる。本明細書における形容詞「最後の」は、走査の特定の順序に依存して使用されている。ある走査パターンによる「最後の」非ゼロ残差係数又は対応する一価有意係数フラグは、他の走査パターンによれば「最後の」ものではないことがあり得る。
最後の有意係数に先立って各残差係数の有意性を示す有意係数フラグのリストは、ビットストリームに符号化される。最後の有意係数フラグ値は、積極的にビットストリームに符号化する必要はない。何故なら、最後の有意係数フラグの位置の先行符号化は、この残差係数が有意であったことを暗黙に示すからである。
より大きな値の残差係数を変換単位(TU)の左上に向かってクラスタリングすると、リストにおけるより早い方のほとんどの有意性フラグは有意であることになり、リストにおけるより遅い有意性フラグはほとんどないという結果になる。
上述したように、ビデオエンコーダ100は、さらに、エントロピー符号化方法を実施するエントロピー・エンコーダ・モジュール104を具備している。エントロピー・エンコーダ・モジュール104は、スケーリング及び量子化モジュール103から受信した入力残差係数データ(又は残差係数)126からシンタックス要素を生成する。エントロピー・エンコーダ・モジュール104は、符号化ビットストリーム113を出力するが、詳細は後述する。開発中のhigh efficiency video coding(HEVC)規格においては、符号化ビットストリーム113は、ネットワーク抽象化層(network abstraction layer)(NAL)単位に線引き区分される。フレームの各スライスは、1個のNAL単位に含まれている。
エントロピー・エンコーダ・モジュール104において実施されるエントロピー符号化方法には様々な別の方法がある。開発中のhigh efficiency video coding(HEVC)規格は、H.264/MPEG−4 AVCに記載されているcontext adaptive binary arithmetic coding(CABAC)の変型であるcontext adaptive binary arithmetic coding(CABAC)、をサポートしている。別のエントロピー符号化手法は、probability interval partitioning entropy(確率区間区分エントロピー)(PIPE)符号化器として知られている。
複数のビデオエンコーダ符号化方法をサポートしているビデオエンコーダ100に関しては、サポートされているエントロピー符号化方法のうちの一つがエンコーダ100の構成に応じて選択される。さらに、各フレームから符号化単位(CU)を符号化する際、エントロピー・エンコーダ・モジュール104は、各フレームが1フレームあたり一つ又は複数のスライスを有し、各スライスがフレームの一部分についての画像データを含むように符号化ビットストリーム113を書き込む。1フレームあたり1個のスライスを生成することにより、各スライス境界を線引きすることに付随するオーバーヘッドを削減する。しかしながら、フレームを複数のスライスに分割することも可能である。
図2のビデオデコーダ200は、ハードディスク・ドライブ310に常駐しプロセッサ305によりその実行を制御されるソフトウェア・アプリケーション・プログラム333の一つ又は複数のソフトウェア符号モジュールとして構成することができる。特に、ビデオデコーダ200は、各々ソフトウェア・アプリケーション・プログラム333の一つ又は複数のソフトウェア符号モジュールとして構成することができるモジュール202〜208及び210を含んでいる。ビデオデコーダ200は、high efficiency video coding(HEVC)ビデオ復号パイプラインに関して説明していくが、モジュール202〜208及び210によって実行される処理段階は、H.264/MPEG−4 AVC、MPEG−2及びVC−1などのエントロピー符号化を採用するビデオコーデックと共通である。
符号化ビットストリーム113のような符号化ビットストリームは、ビデオデコーダ200により受信される。符号化ビットストリーム113は、メモリ306、ハードディスク・ドライブ310、CD−ROM、ブルーレイディスク(登録商標)又は他のコンピュータ読み出し可能な記憶媒体から読み出すことができる。あるいは、符号化ビットストリーム113は、通信ネットワーク320に接続されたサーバなどの外部装置や無線受信機から受信してもよい。符号化ビットストリーム113は、復号すべきフレームデータを表すシンタックス要素を含んでいる。
符号化ビットストリーム113は、シンタックス要素を符号化ビットストリーム113から抽出しシンタックス要素の各値をビデオデコーダ200中の他のブロックに供給するエントロピーデコーダ202に入力される。エントロピー・エンコーダ・モジュール104に関して説明したものと同様に、エントロピーデコーダ202において実施されるエントロピー復号方法には様々な方法がある。残差係数データを表すシンタックス要素データ220は逆スケーリング及び変換モジュール203に供給され、動きベクトル情報を表すシンタックス要素データ222は動き補償モジュール204に供給される。逆スケーリング及び変換モジュール203は、残差係数データに逆スケーリングを施し、再構成変換係数を作成する。次に、モジュール203は、逆変換を行い、再構成変換係数を周波数領域表現から空間領域表現に変換し、逆変換モジュール106に関して説明した逆変換のような残差サンプル224を生成する。
動き補償モジュール204は、エントロピー・デコーダ・モジュール202からの動きベクトルデータ222を、メモリ306内に構成されているフレーム・バッファ・ブロック208からの直前のフレームデータ226との組み合わせで使用し、出力復号フレームデータの予測である予測単位(PU)についてインター予測基準サンプル228を生成する。シンタックス要素が現在の変換単位はイントラ予測を用いて符号化されたものであることを示しているときには、イントラフレーム予測モジュール205は、予測単位(PU)に空間的に隣接しているサンプルを用いて予測単位(PU)についてイントラ予測基準サンプル230を生成する。空間的に隣接しているサンプルは、加算モジュール210から出力される和232から得られる。マルチプレクサモジュール206は、符号化ビットストリーム113におけるシンタックス要素により示される現在の予測モードに従って、予測単位(PU)についてイントラ予測基準サンプル又はインター予測基準サンプルを選択する。マルチプレクサモジュール206から出力されるサンプル234の列は、逆スケーリング及び変換モジュール203からの残差サンプル224に、加算モジュール210により加算され、非ブロック化フィルタモジュール207とイントラフレーム予測モジュール205の各々に入力される和232を生成する。エンコーダ100とは対照的に、イントラフレーム予測モジュール205は、予測モード236をエントロピーデコーダ202から受信する。マルチプレクサ206は、エントロピーデコーダ202からイントラフレーム予測/インターフレーム予測選択信号を受信する。非ブロック化フィルタモジュール207は、データブロック境界に沿って現れるアーチファクトを滑らかにする。非ブロック化フィルタモジュール207の出力は、メモリ306内に構成されているフレーム・バッファ・モジュール208に書き込まれる。フレーム・バッファ・モジュール208は、複数の復号フレームを後の参照用に保持するのに十分な、記憶場所を提供する。また、復号フレーム209は、フレーム・バッファ・モジュール208から出力される。
変換単位(TU)400の一例の空間的構造を図4A及び図4Bを参照して説明する。
図4Aは、変換単位(TU)400の一例を示す。変換単位400は、矩形の空間的構造を有し、サイズは4x4から32x32までさまざまであり得る。変換単位(TU)400の幅及び高さは、2の累乗の整数である値をとる。
上述したように、変換単位(TU)は、残差係数を保持する。変換単位(TU)400を一つ又は複数のサブセット401の組に分割する2レベル走査を規定することができる。各サブセットは、走査順序403における16個の連続した残差係数からなるが、走査順序において最初のサブセットは、例外であり、最後の有意係数の位置次第では16個よりも少ない残差係数を含むこともあり得る。図4Bに示すように、変換単位例400は、走査順序403に関して最後の有意係数位置451を有している。
図4Aに示すように、変換単位400の上位レベルにおいて、走査は一つのスキャンで各下位レベルを走査すること、例えば、逆方向斜め方向左下走査で実行される。「サブセットレベル」とも呼ばれる変換単位400の下位レベルにおいて、走査は逆方向斜め方向左下走査などのスキャンを用いて実行される。変換単位400の上位レベルスキャンにおいては、もし次のサブセットがいかなる有意残差係数も含んでいない場合は、次のサブセットの下位レベル走査は行わないように決定してもよい。
変換単位400は、有意残差係数が全くないサブセット452を含んでいる。この場合には、下位レベル走査ステップはサブセット452については省略してもよく、上位レベル走査は走査順序403における次のサブセットに進む。変換単位400の左上のサブセット405は、サブセット指数がゼロである。その他のサブセットは、走査順序とは逆の順序で増加する指数を有する。
変換単位(TU)400のような変換単位(TU)のシンタックス要素構造を図5及び図7を参照して説明する。ビットストリーム113のビットストリーム部分501は、変換単位(TU)400のシンタックス要素を含み、次に列挙するシンタックス要素(i)〜(iii)からなる。
(i)delta_qp502: delta_qpシンタックス要素502は、変換単位(TU)400を量子化するのに使用される量子化パラメータ値と所定の量子化パラメータ値との間の差分についての情報を含む。
(ii)last_significant_xy503: last_significant_xyシンタックス要素503は、変換単位(TU)400における最後の有意残差係数の位置についての情報を含む。
(iii)サブセット残差係数データ504: サブセット残差係数データは、0個以上のブロック701からなり、変換単位(TU)400の残差係数の値についての情報を含む。
図7に示すように、ブロック701は、変換単位(TU)の単一のサブセットの残差係数の値についての情報を含み、次に列挙するシンタックス要素(i)〜(vi)からなる。
(i)significant_coeff_group_flag702: significant_coeff_group_flagシンタックス要素702は、1個のサブセットにつき1回符号化され、それが偽の場合、サブセット中のすべての残差係数がゼロであると推測され、残差係数データ703、704、705、706及び707はブロック701には存在しない。そうでない場合は(significant_coeff_group_flagシンタックス要素702が真のときは)、サブセット中の少なくとも1個の残差係数はゼロではない値を有し、残差係数データ703、704、705、706及び707のうちの何らかの組み合わせがブロック701中に存在する。
(ii)0個以上のsignificant_coeff_flag値のブロック703: ブロック703は、significant_coeff_group_flag702がブロック703の存在を示している場合に存在する。significant_coeff_group_flag702の値は、最後の有意残差係数を除いてサブセットのあらゆる残差係数についてブロック703中に存在し、ある残差係数の大きさがゼロよりも大きいかどうかを示す。
(iii)0個以上のcoeff_abs_level_greater1_flag値のブロック704: ブロック704は、significant_coeff_group_flag702がブロック704の存在を示している場合に存在する。coeff_abs_level_greater1_flag値は、大きさがゼロよりも大きいと示されたサブセットのあらゆる残差係数についてブロック703中に存在し、ある残差係数の大きさが1よりも大きいかどうかを示す。
(iv)0個以上のcoeff_abs_level_greater2_flag値のブロック705: ブロック705は、significant_coeff_group_flag702がブロック705の存在を示している場合に存在する。coeff_abs_level_greater2_flag値は、大きさが1よりも大きいと示されたサブセットのあらゆる残差係数についてブロック705中に存在し、ある残差係数の大きさが2よりも大きいかどうかを示す。
(v)0個以上のcoeff_sign_flag値のブロック706: ブロック706は、significant_coeff_group_flag702がブロック706の存在を示している場合に存在する。coeff_sign_flag値は、大きさがゼロよりも大きいと示されたあらゆる残差係数についてブロック706中に存在し、ある残差係数の演算符号を示す。
(vi)0個以上のcoeff_abs_level_remaining値のブロック707: ブロック707の各coeff_abs_level_remaining値は、残差係数の大きさマイナス3のある値についてのゴロム・ライス符号語(すなわち、残存残差係数大きさ)である。ブロック707は、significant_coeff_group_flag702がブロック707の存在を示している場合に存在する。coeff_abs_level_remaining値は、大きさが2よりも大きいと示されたあらゆる残差係数についてブロック707中に存在する。coeff_abs_level_remaining値は、ある残差係数の残存残差係数の大きさについてのゴロム・ライス符号語の値を指定する。
以下、変換単位(TU)を符号化する方法650を図6Aを参照して説明する。方法650は、エンコーダ100のエントロピー・エンコーダ・モジュール104の一部分として実施することができる。上述したように、エンコーダ100を構成するソフトウェア符号モジュール102〜112、114及び115は、ハードディスク・ドライブ310に常駐しており、その実行をプロセッサ305により制御される。
方法650を、一例として図5のビットストリーム部分501を参照して説明する。方法650は、delta_qp502、last_significant_xy503及びデータ504をビットストリーム部分501に符号化する。
方法650は、「delta_qp値を符号化」ステップ651において動作を開始し、delta_qp値は、プロセッサ305による実行の下で、エンコーダモジュール104により符号化され、メモリ306に記憶される。
次に、「最後の有意位置を符号化」ステップ652において、最後の有意残差係数の位置は、プロセッサ305による実行の下で、エンコーダモジュール104によりビットストリーム部分501に符号化される。ビットストリーム部分501は、メモリ306に記憶することができる。最後の有意残差係数の位置、変換単位の幅と高さ及び走査順序403についての情報は、変換単位(TU)において符号化されるサブセットの数を決定するために用いられる。
方法650は、「サブセットを符号化」ステップ653に進み、サブセットデータ504は、エンコーダモジュール104により符号化され、メモリ306に記憶される。
次に、決定ステップ654において、エンコーダモジュール104は、変換単位(TU)における最後の有意残差係数の位置及び用いられている走査順序403についての情報に基づいて、さらに他のサブセット504をビットストリーム部分501に符号化すべきかを判断する。エンコーダモジュール104が符号化すべきサブセット504がさらにあると判断した場合は、方法650は「サブセットを符号化」ステップ653に戻る。このように、方法650は、最後の有意係数を含むサブセットから最初のサブセットまでのすべてのサブセットが処理されるまでステップ653と654を反復する。そうでない場合は、方法650は終了する。
変換単位(TU)を復号する方法600を図6Bを参照して説明する。方法600は、デコーダ200のエントロピー・デコーダ・モジュール202の一部分として実施することができる。上述したように、デコーダ200を構成するソフトウェア符号モジュール202〜208及び210は、ハードディスク・ドライブ310に常駐しており、その実行をプロセッサ305により制御される。
さらに、方法600を、一例として、方法650に従って符号化された図5のビットストリーム部分501を参照して説明する。方法600は、データブロック502、503及び504をビットストリーム部分501から復号する。
当該方法は、「delta_qp値を復号」ステップ601において動作を開始し、delta_qpフラグの値は、プロセッサ305による実行の下で、デコーダモジュール202により決定される。delta_qpフラグ値は、メモリ306に記憶しておくことができる。
次に、「最後の有意位置を復号」ステップ602において、変換単位(TU)における最後の有意残差係数の位置は、デコーダモジュール202により決定される。最後の有意残差係数の位置、変換単位の幅と高さ及び走査順序403についての情報は、変換単位(TU)において復号されるサブセットの数を決定するために用いられる。
方法600は、「サブセットを復号」ステップ603に進み、サブセットデータ504は、プロセッサ305による実行の下で、デコーダモジュール202により復号される。復号されたサブセットデータは、メモリ306内に記憶しておくことができる。
次に、決定ステップ604において、デコーダモジュール202は、変換単位(TU)における最後の有意残差係数の位置及び用いられている走査順序403についての情報に基づいて、さらに他のサブセット504をビットストリーム部分501から復号すべきかを判断する。
デコーダモジュール202が復号すべきサブセット504がさらにあると判断した場合は、方法600は「サブセット」ステップ603に戻る。そうでない場合は、方法600は終了する。
以下、変換単位(TU)のサブセットを符号化する方法850を図8Aを参照して説明する。方法850は、エンコーダ100のエントロピー・エンコーダ・モジュール104の一部分として実施することができる。上述したように、エンコーダ100を構成するソフトウェア符号モジュール102〜112、114及び115は、ハードディスク・ドライブ310に常駐しており、その実行をプロセッサ305により制御される。
方法850を、一例として図7のブロック701を参照して説明する。方法850は、ブロック702、703、704、705、706及び707をビットストリーム部分501に符号化する。
方法850は、「有意グループフラグを符号化」ステップ851において動作を開始し、エンコーダモジュール104は、プロセッサ305による実行の下で、significant_coeff_group_flag702の値を符号化し、符号化された値をメモリ306に記憶する。
次に、ステップ852において、significant_coeff_group_flag702の値がサブセットがブロック703、704、705、706及び707について符号化すべきデータを含んでいるということを示している場合、方法850は、ステップ853に進む。そうでない場合は、方法850は終了する。
符号化ステップ853において、エンコーダモジュール104は、プロセッサ305による実行の下で、significant_coeff_flag値のブロック703を符号化する。エンコーダモジュール104は、変換単位(TU)の最後の有意残差係数を除いてサブセットの各残差係数について一つのsignificant_coeff_flag値を決定する。significant_coeff_flag値は、メモリ306に記憶することができる。
次に、符号化ステップ854において、エンコーダモジュール104は、coeff_abs_level_greater1_flag値のブロック704を符号化する。エンコーダモジュール104は、大きさがゼロよりも大きいサブセットの各残差係数について一つのcoeff_abs_level_greater1_flag値を決定する。符号化されたcoeff_abs_level_greater1_flag値は、メモリ306に記憶することができる。
符号化ステップ855において、エンコーダモジュール104は、coeff_abs_level_greater2_flag値のブロック705を符号化する。エンコーダモジュール104は、大きさが1よりも大きいサブセットの各残差係数について一つのcoeff_abs_level_greater2_flag値を決定する。符号化されたcoeff_abs_level_greater2_flag値は、メモリ306に記憶することができる。
次に、符号化ステップ856において、エンコーダモジュール104は、プロセッサ305による実行の下で、coeff_sign_flag値のブロック706を符号化する。エンコーダモジュール104は、大きさがゼロよりも大きいサブセットの各残差係数について一つのcoeff_sign_flag値を決定する。符号化されたcoeff_sign_flag値は、メモリ306に記憶することができる。
符号化ステップ857において、エンコーダモジュール104は、coeff_abs_level_remaining値のブロック707を符号化する。エンコーダモジュール104は、大きさが2よりも大きいサブセットの各残差係数について一つのcoeff_abs_level_remaining値を決定する。符号化されたcoeff_abs_level_remaining値は、メモリ306に記憶することができる。ステップ857の後で、方法850は終了する。
変換単位(TU)のサブセットを復号する方法800を図8Bを参照して説明する。方法800は、デコーダ200のエントロピー・デコーダ・モジュール202の一部分として実施することができる。上述したように、デコーダ200を構成するソフトウェア符号モジュール202〜208及び210は、ハードディスク・ドライブ310に常駐しており、その実行をプロセッサ305により制御される。
方法800を、一例として図7のブロック701を参照して説明する。方法800は、ブロック702、703、704、705、706及び707をビットストリーム部分501から復号する。
方法800は、「有意グループフラグを復号」ステップ801において動作を開始し、デコーダモジュール202は、significant_coeff_group_flag702の値を復号する。復号されたsignificant_coeff_group_flag702の値は、メモリ306に記憶することができる。
次に、ステップ802において、デコーダモジュール202がsignificant_coeff_group_flag702の値はサブセットが残差係数データブロック703、704、705、706及び707を含んでいるということを示していると判定した場合、方法800は、ステップ803に進む。そうでない場合は、方法800は終了する。
復号ステップ803において、デコーダモジュール202は、プロセッサ305による実行の下で、significant_coeff_flag値のブロック703を復号する。デコーダモジュール202は、変換単位(TU)の最後の有意残差係数を除いてサブセットの各残差係数について一つのsignificant_coeff_flag値を決定する。復号されたsignificant_coeff_flag値は、メモリ306に記憶することができる。
次に、復号ステップ804において、デコーダモジュール202は、coeff_abs_level_greater1_flag値のブロック704を復号する。デコーダモジュール202は、ステップ803で大きさがゼロよりも大きいと判定されたサブセットの各残差係数について一つのcoeff_abs_level_greater1_flag値を決定する。復号されたcoeff_abs_level_greater1_flag値は、メモリ306に記憶することができる。
復号ステップ805において、デコーダモジュール202は、プロセッサ305による実行の下で、coeff_abs_level_greater2_flag値のブロック705を復号する。デコーダモジュール202は、ステップ804で大きさが1よりも大きいと判定されたサブセットの各残差係数について一つのcoeff_abs_level_greater2_flag値を決定する。復号されたcoeff_abs_level_greater2_flag値は、メモリ306に記憶することができる。
次に、復号ステップ806において、デコーダモジュール202は、coeff_sign_flag値のブロック706を復号する。デコーダモジュール202は、ステップ803で大きさがゼロよりも大きいと判定されたサブセットの各残差係数について一つのcoeff_sign_flag値を決定する。復号されたcoeff_sign_flag値は、メモリ306に記憶することができる。
方法800は、ステップ807において終了するが、そこにおいてデコーダモジュール202は、coeff_abs_level_remaining値のブロック707を復号する。デコーダモジュール202は、ステップ805で大きさが2よりも大きいと判定されたサブセットの各残差係数について一つのcoeff_abs_level_remaining値を決定する。さらにステップ807において、デコーダモジュール202は、ある残差係数の残存残差係数大きさについてゴロム・ライス符号語の値を決定する。
ステップ807の後で、方法800は終了する。
以下、HEVC基準モデル第6版におけるパラメータ化されたゴロム・ライス符号及びその利用法を、図9、図10、図14A及び図14Bを参照して説明する。
パラメータ化されたゴロム・ライス符号は、変換単位(TU)の残差係数の残存残差係数大きさ値を表すために用いられるある種の汎用接頭2進コードである。接頭2進コードは、あらゆる2進符号語が固有の接頭辞を有する2進値表現である。そのような固有の接頭辞は、特定の符号語をその他の符号語と区別するのを可能にするものであり、符号語により表される値を一意的に特定するために必要なものである。
パラメータ化されたゴロム・ライス符号の各符号語は、2つの部分、すなわち、パラメータ化された切り捨てライス接頭辞部分及びおそらく空の次数ゼロ指数ゴロム接尾辞部分からなる。切り捨てライス接頭辞部分は、0、1、2、3、4の値をとり得るパラメータKによって決まる。パラメータKの各値ごとに閾値が規定されている。残差係数残存大きさの符号化値が閾値よりも小さければ、当該符号化値は、指数ゴロム接尾辞を持たない切り捨てライス符号で符号化されている。
残差係数残存大きさの符号化値が閾値に等しいか又はそれよりも大きければ、所定の切り捨てライス符号語が、当該符号化値がその閾値に等しいか又は大きいことを示すように符号化される。さらに、元の符号化値マイナス閾値に等しい値が次数ゼロ指数ゴロム符号を用いて符号化される。
表900には、図9に示すように、符号化値0〜15とパラメータKの値0及び1に対する切り捨てライス符号語の例が記載されている。
表1000には、図10に示すように、次数ゼロ指数ゴロム符号語の例が記載されている。例えば、パラメータK=0を有するゴロム・ライス符号を用いると、値「10」は、切り捨てライス接頭辞「11111111」及びゴロム・ライス符号語「11111111110」を形成する次数ゼロ指数ゴロム接尾辞「110」で表されることになる。パラメータKの値が既知のときは、ゴロム・ライス符号語は、既定の2進数列から一意的に特定することができる。
パラメータ化されたゴロム・ライス符号の各符号語は、パラメータKと符号化値とによって決まる固定長を有している。限られた個数の符号語は、所定の長さを持つこともあり得る。このように、一連の符号化値については、比較的短い符号語で表される符号化値もあるし、比較的長い符号語で表される符号化値もある。ビデオデータ符号化においては、符号語は、ビットストリーム113に符号化されたすべての符号語の全長を最小限に抑えるように符号化値に割り当てられる。異なる残存残差係数大きさの値は、変換単位(TU)データにおいて異なる出現頻度を有する。符号語全長の削減は、符号語の長さが符号化値の出現頻度に対応するように各符号語を各符号化値に割り当てることによって達成することができる。例えば、残差係数残存大きさの比較的頻出する値は、比較的短い符号語が割り当てられ、同じ頻度を有する残差係数残存大きさの値は、同じ長さの符号語が割り当てられる。
パラメータ化されたゴロム・ライス符号のパラメータKは、符号語間で符号語長を分布させるのを制御可能にする。パラメータKの値が小さいほど小さい大きさを有する値に、より最適な符号語を割り当て、パラメータKの値が大きいほど大きい大きさを有する値に、より最適な符号語を割り当てる。それ故、一般に最適な符号語を割り当てるためには、上記の方法は、残差係数残存大きさの所定の値の出現頻度に応じてパラメータKの値を決定する。
開発中のHEVC規格においては、残存残差係数大きさの値のような残差係数残存大きさ値の本当の頻度は、前もっては分らないので、パラメータKの値の推定がサブセット内で行われる。パラメータ化されたゴロム・ライス符号語の正確な復号を確かなものにするために、エンコーダ100とデコーダ200は、特定の符号語を復号するためにはパラメータKの同じ値を使用するように構成することができる。このように、頻度値の推定は、デコーダ200で入手可能な情報に限られる。
頻度値の推定は、2つの段階、すなわち、初期推定と適応とからなるものとすることができる。
初期推定段階は、パラメータKに対して初期の推定値を与えるものである。適応段階は、残差係数残存大きさの値を復号していき分析用にさらに多くの情報が入手可能になるにつれて、パラメータKの値にさらなる修正を施すものである。
初期推定は、より最適な符号語割り当てを確かなものにする。他方、復号の前では残存残差係数大きさの値についての情報は入手不可能なので、通例、初期推定は効率的な方法で実施するのは困難である。初期にパラメータKの推定値を決定する効率的な方法であれば、符号化効率に相当な改良を施すことができる。
パラメータKの初期推定中において、その後の適応がパラメータKの値に重大な影響を与えず、それ故、省略することができる場合を検出することができる。適応段階は、通例、符号化効率を改善するものである。しかしながら、多くの実際的な場合においては、初期推定がパラメータKの最適な値をもたらすことからその後の適応は必要でないので、適応は余分なものである。適応段階の不都合な一つの点は、coeff_abs_level_remaining値の連続した値が並列に復号できないことである。何故なら、前回のcoeff_abs_level_remaining値の復号の後で適応的に推定されるパラメータKの値を知らずして各値を復号することができないからである。
以下、変換単位(TU)のサブセットのcoeff_abs_level_remaining値のブロックを符号化する方法1250を図11及び図12Aを参照して説明する。
方法1250は、エンコーダ100のエントロピー・エンコーダ・モジュール104の一部分として実施することができる。上述したように、エンコーダ100を構成するソフトウェア符号モジュール102〜112、114及び115は、ハードディスク・ドライブ310に常駐しており、その実行をプロセッサ305により制御される。
方法1250を、一例として図7のcoeff_abs_level_remaining値のブロック707を参照して説明する。方法1250は、0個以上のcoeff_abs_level_remaining値をストリーム部分501のブロック707に符号化する。
方法1250は、初期化ステップ1251において動作を開始し、ゴロム・ライス・パラメータKは、プロセッサ305による実行の下で、エンコーダモジュール104により、初期に推定される。Kの初期値は、メモリ306に記憶することができる。さらに、ステップ1251において、エンコーダモジュール104は、符号化中におけるパラメータKに対する適応の必要性を判定する。
次に、決定ステップ1257において、エンコーダモジュール104が適応が必要であると判定した場合は、方法1250は、ステップ1252に進む。適応決定ステップ1257の詳細は、後述する。そうでない場合は、方法1250は、ステップ1255に進む。
決定ステップ1252において、エンコーダモジュール104が符号化すべきcoeff_abs_level_remaining値がさらに有ると判定した場合は、方法1250は、ステップ1253に進む。そうでない場合は、方法1250は、終了する。
符号化ステップ1253において、エンコーダモジュール104は、表900及び1000を参照して上述したようにゴロム・ライス・パラメータKの初期値に従ってゴロム・ライス符号語のブロック707への符号化を実行する。
次に、更新ステップ1254において、エンコーダモジュール104は、次のcoeff_abs_level_remaining値を符号化するのに用いるパラメータKの値の適応を実行する。パラメータKの次の値Kn+1は、ステップ1254において、2つのパラメータ、すなわち、パラメータの現在値K及び最後の復号coeff_abs_level_remaining値に基づいて決定される。ステップ1254は、図11に示すようなルックアップテーブル1100を用いて決定してもよい。ルックアップテーブル1100は、メモリ306及び/又はハードディスク・ドライブ310に記憶することができる。ルックアップテーブル1100は、値Kを列に、残差係数大きさを行に用いて、Kn+1に対する値を提供する。例えば、もしパラメータKの現在値が1であり、かつ最後の復号coeff_abs_level_remaining値が12であれば、パラメータKの次の値は3である。
決定ステップ1255において、エンコーダモジュール104が符号化すべきcoeff_abs_level_remaining値がさらに有ると判定した場合は、方法1250は、ステップ1256に進む。そうでない場合は、方法1250は、終了する。
符号化ステップ1256において、エンコーダモジュール104は、ゴロム・ライス符号語のブロック707への符号化を実行し、符号化ゴロム・ライス符号語をメモリ306に記憶する。
以下、変換単位(TU)のサブセットのcoeff_abs_level_remaining値のブロックを復号する方法1200を図11及び図12Bを参照して説明する。復号は、ゴロム・ライス復号を利用して方法1200に従って実行する。方法1200は、デコーダ200のエントロピー・デコーダ・モジュール202〜208の一部分として実施することができる。上述したように、デコーダ200を構成するソフトウェア符号モジュール202〜208及び210は、ハードディスク・ドライブ310に常駐しており、その実行をプロセッサ305により制御される。
方法1200を、一例として図7のcoeff_abs_level_remaining値のブロック707を参照して説明する。方法1200は、0個以上のcoeff_abs_level_remaining値(すなわち、残差係数残存大きさの値)をビットストリーム部分501のブロック707から復号する。
方法1200は、初期化ステップ1201において動作を開始し、ゴロム・ライス・パラメータKは、プロセッサ305による実行の下で、デコーダモジュール202により、初期に決定される。さらに、ステップ1201において、デコーダモジュール202は、復号中におけるパラメータKに対する適応の必要性を判定する。ステップ1201は、ステップ1251と同様である。
次に、決定ステップ1207において、デコーダモジュール202が適応が必要であると判定した場合は、後述するように、方法1200は、ステップ1202に進む。そうでない場合は、方法1200は、ステップ1205に進む。
次に、決定ステップ1202において、デコーダモジュール202が復号すべきcoeff_abs_level_remaining値がさらに有ると判定した場合は、方法1200は、ステップ1203に進む。そうでない場合は、方法1200は、終了する。
復号ステップ1203において、デコーダモジュール202は、メモリ306に記憶されているブロック707からのゴロム・ライス符号語の復号を実行する。
次に、更新ステップ1204において、デコーダモジュール202は、サブセットの次のcoeff_abs_level_remaining値のボロム・ライス復号に用いるパラメータKの値の適応を実行する。テップ1204において実行される適応の手順は、上述のステップ1254において用いられるものと同様である。
決定ステップ1205において、デコーダモジュール202が復号すべきcoeff_abs_level_remaining値がさらに有ると判定した場合は、方法1200は、ステップ1206に進む。そうでない場合は、方法1200は、終了する。
復号ステップ1206において、デコーダモジュール202は、ゴロム・ライス復号を用いて、ブロック707からのゴロム・ライス符号語の復号を実行する。復号ゴロム・ライス符号語は、メモリ306に記憶することができる。
以下、残存残差係数大きさ値の適応復号及び非適応復号を、図14A及び図14Bを参照して説明する。
図14Aは、coeff_abs_level_remaining2値化器1400を示す。2値化器モジュール1400は、コンピュータシステム300内で実行可能なソフトウェアにより様々な機能モジュール1414、1413、1406、1407及び1410を実施することのできるコンピュータシステム300を用いて実施することができる。あるいは、2値化器1400は、コンピュータシステム300内の専用ハードウエアにより実施することができる。さらに別の方法として、2値化器1400は、コンピュータシステム300内の専用ハードウエアとコンピュータシステム300内で実行可能なソフトウェアとの組み合わせにより実施することができる。
2値化器1400は、デコーダ200のデコーダモジュール202の一部分として構成することができる。あるいは、2値化器1400は、デコーダ100のエンコーダモジュール104の一部分として構成してもよい。
2値化器1400は、変換単位(TU)のサブセットの残存残差係数大きさ値を復号する。2値化器1400は、パラメータKの適応的推定を利用する。2値化器1400は、パラメータKの初期推定を上述のように実行する「Kの初期推定」モジュール1414を含む。
モジュール1413は、残存残差係数大きさVを復号する。モジュール1414は、入力ゴロム・ライス符号語1402及びパラメータKの初期推定値1401を受け入れる。モジュール1413が復号を完了するとすぐに、復号残存残差係数大きさ値1412が、図14Aに示すように出力される。
モジュール1406は、パラメータKの初期推定値1401及び上述のようにモジュール1403により復号された値1404に基づいてパラメータKの値の適応を実行する。
モジュール1407は、残存残差係数大きさVを復号する。モジュール1407は、入力としてゴロム・ライス符号語1403及びパラメータKの推定値1405を受け入れる。モジュール1407が復号を完了するとすぐに、復号残存残差係数大きさ値1411が、出力される。
モジュール1410は、パラメータKの前回の値1405及びモジュール1407により復号された値1408に基づいてパラメータKの値の適応を実行する。
パラメータKの推定値1409は、次のゴロム・ライス復号及び適応モジュール1415により使用することができる。モジュール1410はモジュール1407により提供されるデータに依存し、モジュール1407はモジュール1406により提供されるデータに依存し、モジュール1406はモジュール1413により提供されるデータに依存する。このように、復号モジュール1413及び1410の並列実行は、困難である。さらに、復号及び適応モジュール1415も、パラメータKの前回の推定値と共に入力データ1416に依存する。しかしながら、ステップ1406及び1410のような適応ステップは、もしパラメータKの値がすでに最適になっている場合は、パラメータKの実際の値には影響を及ぼさない。不要な場合に適応ステップを避けることにより、符号化効率にあまり影響を与えることなく復号スループットを改善することができる。
図14Bは、別のcoeff_abs_level_remaining2値化器1450を示す。また、2値化器モジュール1450は、コンピュータシステム300内で実行可能なソフトウェアにより様々な機能モジュール1414、1413、1406、1407及び1410を実施することのできるコンピュータシステム300を用いて実施することができる。あるいは、2値化器1450は、コンピュータシステム300内の専用ハードウエアにより実施することができる。さらに別の方法として、2値化器1450は、コンピュータシステム300内の専用ハードウエアとコンピュータシステム300内で実行可能なソフトウェアとの組み合わせにより実施することができる。
また、2値化器1450は、デコーダ200のデコーダモジュール202の一部分として構成することができる。あるいは、2値化器1450は、デコーダ100のエンコーダモジュール104の一部分として構成してもよい。
2値化器1450は、パラメータKの適応的推定を利用しない。2値化器1450は、1クロックサイクルあたり複数の残差係数を復号することによって並列処理を達成する。
モジュール1458は、上述のようにパラメータKの初期推定を行う。
モジュール1454は、上述のように、残存残差係数大きさVを復号する。
そして、モジュール1454は、入力ゴロム・ライス符号語1452及びパラメータKの初期推定値1451を受け入れる。モジュール1456は、残存残差係数大きさVを復号する。モジュール1456は、入力として、ゴロム・ライス符号語1453及びパラメータKの初期推定値1451を受け入れる。
さらなる復号モジュール1460もまた、その対応する入力ゴロム・ライス符号語1459及びパラメータKの初期推定値1451を受け入れることになる。
モジュール1454、1456及びすべてのさらなるデコーダモジュール1460は、データ依存性は無く、並列に実行することができる。
以下、変換単位(TU)のサブセットのcoeff_abs_level_remaining値のブロックを復号するためのパラメータKの値を決定する方法1300を図13を参照して説明する。
方法1300は、エンコーダ100とデコーダ200の両方により用いられ、データの正確な復号を保証するものである。このように、方法1300は、エンコーダ100のエントロピー・エンコーダ・モジュール104の一部分として実施することができる。さらに、方法1300は、デコーダ200のエントロピー・デコーダ・モジュール202の一部分として実施することができる。
方法1300を、一例として、デコーダ200に関して説明する。
方法1300は、ステップ1301において動作を開始し、デコーダモジュール202は、プロセッサ305による実行の下で、変換単位(TU)の現在のサブセット及び前回に復号されたサブセットの,前回に復号済みの情報を分析する。現在のサブセットの復号済みの情報は、メモリ306からアクセスすることができる。ステップ1301の詳細は後述する。
次に、ステップ1302において、デコーダモジュール202は、復号が適応を使用するかどうかを判定し、かつパラメータKの値を決定する。ステップ1302の詳細は後述する。
ステップ1303において、ステップ1302で推定されたパラメータKの値は、デコーダモジュール202によって、パラメータKを保持するメモリ306内に設定されている変数に割り当てられる。ステップ1303の後で、方法1300は終了する。
ある実施態様においては、ステップ1301は、現在のサブセット中の非ゼロ残差係数の個数が所定の閾値Tよりも大きいかどうかを分析することができる。非ゼロ(有意)残差係数の個数が所定の閾値Tよりも大きい場合は、パラメータKは、オフセット値Koffsetが割り当てられる。このオフセット値により、パラメータKが、0からKoffsetの値だけオフセットしている非ゼロ値を有することになる。Koffsetの値は、所定値として1に設定することができる。そうでない場合は、パラメータKは、ゼロ設定値Kzeroが割り当てられる。
HEVCテストモデル6.0(「HM−6.0」)においては、上記決定をするために用いられる閾値Tは、14になると思われる。パラメータKのオフセット値Koffsetは、1になると思われ、ゼロ設定値Kzeroは、0になると思われる。
別の実施態様においては、量子化パラメータQの値と現在のサブセットIの指数は、ステップ1301において分析されることになる。そのような実施態様においては、量子化パラメータQの値が所定の閾値Tよりも小さく、かつサブセット指数Iの値が所定の閾値Isubsetよりも小さい場合、パラメータKは、オフセット値Koffsetが割り当てられる。そうでない場合は、パラメータKは、ゼロ設定値Kzeroが割り当てられる。
HEVCテストモデル6.0(「HM−6.0」)においては、上記決定をするために用いられる量子化パラメータの閾値Tは、10になると思われ、上記決定をするために用いられるサブセット指数の値Isubsetは、1になると思われる。パラメータKのオフセット値Koffsetは、1になると思われ、ゼロ設定値Kzeroは、0になると思われる。
変換単位の幅と高さの値は、ステップ1301においてさらに分析される。そのような実施態様においては、変換単位の幅と高さの値が所定の閾値Twidth及びTheightよりも大きい場合、パラメータKは、オフセット値Koffsetが割り当てられる。そうでない場合は、パラメータKは、ゼロ設定値Kzeroが割り当てられる。
HEVCテストモデル6.0(「HM−6.0」)においては、上記決定をするために用いられる変換単位の幅と高さの閾値Twidth及びTheightは、8及び8になると思われる。パラメータKのオフセット値Koffsetは、1になると思われ、ゼロ設定値Kzeroは、0になると思われる。
サブセットの符号化又は復号中に適応を使用することについての決定は、ステップ1302においてサブセットの指数に基づいて行うことができる。当該指数が所定の値Imaxに等しいか又は大きい場合、エンコーダ方法1250のステップ1257及びデコーダ方法1200のステップ1207において、当該方法は、デコーダのステップ1205とエンコーダのステップ1255に進み、パラメータKの適応を使用しない。固定のライスパラメータKを有することは、依存性のないゴロム・ライス符号化又は復号として考えることができる。そうでない場合は、当該方法は、方法1200のステップ1202と方法1250のステップ1252に進み、パラメータKの適応を使用する。適応的ライスパラメータKを有することは、依存型ゴロム・ライス符号化又は復号として考えることができる。
HEVCテストモデル6.0(「HM−6.0」)においては、指数の閾値Imaxは、6になると思われる。図15は、6である指数の閾値Imaxが、ステップ1302においてサブセットの符号化又は復号中に適応を使用することについての決定をするために用いられる変換単位の例1500を示す。図15の例においては、後方斜め方向走査パターンを想定する。変換単位1500は、サブセット1510のように16個のサブセットに分割されている。図15における各サブセットは、文字「A」又は文字「F」で印が付けられており、文字「A」で印が付けられたサブセットは、適応的ライスパラメータKを用いて符号化及び復号されるサブセットを示す。他方、文字「F」で印が付けられたサブセットは、ステップ1302において6である指数の閾値Imaxを用いたとき、固定のライスパラメータKを用いるサブセットを示す。指数の閾値Imaxが6であるということは、「A」のサブセットはサブセット内で適応的ライスパラメータKを使用するという結果になる。文字「F」で印が付けられたサブセットは、指数の閾値Imaxが6であるということが、サブセットが固定のライスパラメータを使用するという結果になる、TU1500内の位置に存在するサブセットを示す。指数の閾値Imaxは、TU1500内のすべてのサブセットに関して同一であり、TU1500内のサブセットの位置を閾値と比較することによって、適応的ライスパラメータを符号化及び復号に使用すべきかどうかを決定する。閾値Imaxは、図15における適応的サブセットと固定サブセットとの間の境界を選択するために用いられる。サブセットの順序は、左上のサブセット1520における0から始まり、サブセット1530を1とし、サブセット1540を2とするように逆走査順序で進行する。
他の実施態様においては、サブセットの符号化又は復号中において適応を使用するかどうかの決定を、ステップ1302において、前回に符号化され又は復号されたサブセットにおいて1よりも大きい残差係数の個数G及び2よりも大きい残差係数の個数Gに基づいて行う。しかしながら、そのような方法は、前回に符号化され又は復号されたサブセットがない場合には当てはまらない。前回に符号化され又は復号されたサブセットがある場合、値(G−G)が所定の閾値T21よりも大きいとき、エンコーダ方法1250のステップ1257(又はデコーダ方法1200のステップ1207)において、方法1250は、エンコーダ方法1250のステップ1255(又はデコーダ方法1200のステップ1205)に進み、パラメータKの適応を使用しない。そうでない場合は、方法1250は、エンコーダ方法1250のステップ1252に進み(又は方法1200は、デコーダ方法1200のステップ1202に進み)、パラメータKの適応を使用する。
HEVCテストモデル6.0においては、指数の閾値T21は、4になると思われる。
ビデオエンコーダ100に適用されるときの方法1250及び1300並びにビデオデコーダ200に適用されるときの方法1200及び1300により、フレームデータ101のようなフレームデータのより効率的な圧縮を実現することが可能になる。さらに、上述した方法により、符号化ビットストリーム113のような符号化ビットストリームを解析するスループットの増大を実現することが可能になる。フレームデータのより効率的な圧縮は、より短い符号語が符号化記号に割り当てられるのを可能にするゴロム・ライス・パラメータKの良好な推定を使用することによって生じる。より高いスループットは、符号語間のデータ依存性を除去することにより2個以上の符号語を復号することができるゴロム・ライス符号語を復号する上述の方法を用いることを実施可能にすることにより達成することができる。
上述した構成は、コンピュータ及びデータ処理産業に適用可能であり、特に、ビデオ信号のような信号の符号化及び復号のためのデジタル信号処理に適用可能である。
前述の説明は、本発明のいくつかの実施形態についてのみの説明であり、本発明の範囲と精神を逸脱しない限り各実施形態を変形及び/又は変更することが可能であり、各実施形態は、一例であって、限定的なものではない。
本明細書の文脈において、単語「comprising(具備する、包含する、含む)」は、「主に含むであり、必ずしもそれのみということでなく含む」、「有する」又は「含む」を意味し、「〜のみからなる」ということを意味しない。単語「comprising」の変形、例えば「comprise」や「comprises」、は、それ相応に変更した意味を有する。

Claims (26)

  1. ゴロム・ライス符号化を用いて符号化された符号化ビデオデータにおける変換単位のサブブロックを復号する復号方法であって、
    前記変換単位に含まれる複数のサブブロックの内の復号対象のサブブロックにおけるライスパラメータの初期値を、前記復号対象のサブブロックと同じ変換単位における、前記復号対象のサブブロックより前のサブブロックにおいて導出された情報を用いて決定する決定工程と、
    前記決定工程において決定された初期値を、ライスパラメータの初期値として用いて、前記復号対象のサブブロックを復号する復号工程と
    を有し、
    前記ライスパラメータの初期値は、輝度と色差のそれぞれにおいて決定され
    前記決定工程において、前記復号対象のサブブロックにおけるライスパラメータの初期値を、有意残差係数を用いて決定する
    ことを特徴とする復号方法。
  2. ゴロム・ライス符号化を用いて符号化された符号化ビデオデータにおける変換単位のサブブロックを復号する復号方法であって、
    前記変換単位に含まれる複数のサブブロックの内の復号対象のサブブロックにおけるライスパラメータの初期値を、前記復号対象のサブブロックと同じ変換単位における、前記復号対象のサブブロックより前のサブブロックにおいて導出された情報を用いて決定する決定工程と、
    前記決定工程において決定された初期値を、ライスパラメータの初期値として用いて、前記復号対象のサブブロックを復号する復号工程と
    を有し、
    前記ライスパラメータの初期値は、輝度と色差のそれぞれにおいて決定され、
    前記決定工程において、前記復号対象のサブブロックを復号するために用いる量子化パラメータが所定の閾値よりも小さい場合、前記ライスパラメータの初期値を、ゼロ設定としない
    ことを特徴とする復号方法。
  3. ゴロム・ライス符号化を用いて符号化された符号化ビデオデータにおける変換単位のサブブロックを復号する復号方法であって、
    前記変換単位に含まれる複数のサブブロックの内の復号対象のサブブロックにおけるライスパラメータの初期値を、前記復号対象のサブブロックと同じ変換単位における、前記復号対象のサブブロックより前のサブブロックにおいて導出された情報を用いて決定する決定工程と、
    前記決定工程において決定された初期値を、ライスパラメータの初期値として用いて、前記復号対象のサブブロックを復号する復号工程と
    を有し、
    前記ライスパラメータの初期値は、輝度と色差のそれぞれにおいて決定され、
    前記決定工程において、前記復号対象のサブブロックにおけるライスパラメータの初期値を、前記復号対象のサブブロックのために復号された情報を更に用いて決定し、
    前記決定工程において、前記復号対象のサブブロックにおける有意残差係数が所定の閾値よりも多い場合、前記ライスパラメータの初期値を、ゼロ設定としない
    ことを特徴とする復号方法。
  4. 前記復号対象のサブブロックより前のサブブロックにおいて導出された情報は、前記復号対象のサブブロックより前に復号されたサブブロックのために復号された情報である
    ことを特徴とする請求項1〜3のいずれか1項に記載の復号方法。
  5. 前記ライスパラメータの初期値は、輝度と色差とで独立して決定される
    ことを特徴とする請求項1〜のいずれか1項に記載の復号方法。
  6. 前記前のサブブロックにおいて導出された情報は、前記前のサブブロックにおける残差係数に係る情報である
    ことを特徴とする請求項1〜のいずれか1項に記載の復号方法。
  7. 前記復号対象のサブブロックが前記変換単位における右上のサブブロックである場合、前記前のサブブロックは前記変換単位における右下のサブブロックである
    ことを特徴とする請求項1〜のいずれか1項に記載の復号方法。
  8. 前記復号対象のサブブロックが前記変換単位における左下のサブブロックである場合、前記前のサブブロックは前記変換単位における右上のサブブロックである
    ことを特徴とする請求項1〜のいずれか1項に記載の復号方法。
  9. 前記復号対象のサブブロックが前記変換単位における左上のサブブロックである場合、前記前のサブブロックは前記変換単位における左下のサブブロックである
    ことを特徴とする請求項1〜のいずれか1項に記載の復号方法。
  10. ゴロム・ライス符号化を用いてビデオデータにおける変換単位のサブブロックを符号化する符号化方法であって、
    前記変換単位に含まれる複数のサブブロックの内の符号化対象のサブブロックにおけるライスパラメータの初期値を、前記符号化対象のサブブロックと同じ変換単位における、前記符号化対象のサブブロックより前のサブブロックにおいて導出された情報を用いて決定する決定工程と、
    前記決定工程において決定された初期値を、ライスパラメータの初期値として用いて、前記符号化対象のサブブロックを符号化する符号化工程と
    を有し、
    前記ライスパラメータの初期値は、輝度と色差のそれぞれにおいて決定され
    前記決定工程において、前記符号化対象のサブブロックにおけるライスパラメータの初期値を、有意残差係数を用いて決定する
    ことを特徴とする符号化方法。
  11. ゴロム・ライス符号化を用いてビデオデータにおける変換単位のサブブロックを符号化する符号化方法であって、
    前記変換単位に含まれる複数のサブブロックの内の符号化対象のサブブロックにおけるライスパラメータの初期値を、前記符号化対象のサブブロックと同じ変換単位における、前記符号化対象のサブブロックより前のサブブロックにおいて導出された情報を用いて決定する決定工程と、
    前記決定工程において決定された初期値を、ライスパラメータの初期値として用いて、前記符号化対象のサブブロックを符号化する符号化工程と
    を有し、
    前記ライスパラメータの初期値は、輝度と色差のそれぞれにおいて決定され、
    前記決定工程において、前記符号化対象のサブブロックを符号化するために用いる量子化パラメータが所定の閾値よりも小さい場合、前記ライスパラメータの初期値を、ゼロ設定としない
    ことを特徴とする符号化方法。
  12. ゴロム・ライス符号化を用いてビデオデータにおける変換単位のサブブロックを符号化する符号化方法であって、
    前記変換単位に含まれる複数のサブブロックの内の符号化対象のサブブロックにおけるライスパラメータの初期値を、前記符号化対象のサブブロックと同じ変換単位における、前記符号化対象のサブブロックより前のサブブロックにおいて導出された情報を用いて決定する決定工程と、
    前記決定工程において決定された初期値を、ライスパラメータの初期値として用いて、前記符号化対象のサブブロックを符号化する符号化工程と
    を有し、
    前記ライスパラメータの初期値は、輝度と色差のそれぞれにおいて決定され、
    前記決定工程において、前記符号化対象のサブブロックにおけるライスパラメータの初期値を、前記符号化対象のサブブロックのために符号化された情報を更に用いて決定し、
    前記決定工程において、前記符号化対象のサブブロックにおける有意残差係数が所定の閾値よりも多い場合、前記ライスパラメータの初期値を、ゼロ設定としない
    ことを特徴とする符号化方法。
  13. 前記符号化対象のサブブロックより前のサブブロックにおいて導出された情報は、前記符号化対象のサブブロックより前に符号化されたサブブロックのために符号化される情報である、
    ことを特徴とする請求項10〜12のいずれか1項に記載の符号化方法。
  14. 前記ライスパラメータの初期値は、輝度と色差とで独立して決定される
    ことを特徴とする請求項1〜1のいずれか1項に記載の符号化方法。
  15. 前記前のサブブロックにおいて導出された情報は、前記前のサブブロックにおける残差係数に係る情報である
    ことを特徴とする請求項1〜1のいずれか1項に記載の符号化方法。
  16. 前記符号化対象のサブブロックが前記変換単位における右上のサブブロックである場合、前記前のサブブロックは前記変換単位における右下のサブブロックである
    ことを特徴とする請求項1〜1のいずれか1項に記載の符号化方法。
  17. 前記符号化対象のサブブロックが前記変換単位における左下のサブブロックである場合、前記前のサブブロックは前記変換単位における右上のサブブロックである
    ことを特徴とする請求項116のいずれか1項に記載の符号化方法。
  18. 前記符号化対象のサブブロックが前記変換単位における左上のサブブロックである場合、前記前のサブブロックは前記変換単位における左下のサブブロックである
    ことを特徴とする請求項117のいずれか1項に記載の符号化方法。
  19. ゴロム・ライス符号化を用いて符号化された符号化ビデオデータにおける変換単位のサブブロックを復号する復号装置であって、
    前記変換単位に含まれる複数のサブブロックの内の復号対象のサブブロックにおけるライスパラメータの初期値を、前記復号対象のサブブロックと同じ変換単位における、前記復号対象のサブブロックより前のサブブロックにおいて導出された情報を用いて決定する決定手段と、
    前記決定手段によって決定された初期値を、ライスパラメータの初期値として用いて、前記復号対象のサブブロックを復号する復号手段と
    を有し、
    前記ライスパラメータの初期値は、輝度と色差のそれぞれにおいて決定され
    前記決定手段は、前記復号対象のサブブロックにおけるライスパラメータの初期値を、有意残差係数を用いて決定する
    ことを特徴とする復号装置。
  20. ゴロム・ライス符号化を用いて符号化された符号化ビデオデータにおける変換単位のサブブロックを復号する復号装置であって、
    前記変換単位に含まれる複数のサブブロックの内の復号対象のサブブロックにおけるライスパラメータの初期値を、前記復号対象のサブブロックと同じ変換単位における、前記復号対象のサブブロックより前のサブブロックにおいて導出された情報を用いて決定する決定手段と、
    前記決定手段によって決定された初期値を、ライスパラメータの初期値として用いて、前記復号対象のサブブロックを復号する復号手段と
    を有し、
    前記ライスパラメータの初期値は、輝度と色差のそれぞれにおいて決定され、
    前記決定手段は、前記復号対象のサブブロックを復号するために用いる量子化パラメータが所定の閾値よりも小さい場合、前記ライスパラメータの初期値を、ゼロ設定としない
    ことを特徴とする復号装置。
  21. ゴロム・ライス符号化を用いて符号化された符号化ビデオデータにおける変換単位のサブブロックを復号する復号装置であって、
    前記変換単位に含まれる複数のサブブロックの内の復号対象のサブブロックにおけるライスパラメータの初期値を、前記復号対象のサブブロックと同じ変換単位における、前記復号対象のサブブロックより前のサブブロックにおいて導出された情報を用いて決定する決定手段と、
    前記決定手段によって決定された初期値を、ライスパラメータの初期値として用いて、前記復号対象のサブブロックを復号する復号手段と
    を有し、
    前記ライスパラメータの初期値は、輝度と色差のそれぞれにおいて決定され、
    前記決定手段は、前記復号対象のサブブロックにおけるライスパラメータの初期値を、前記復号対象のサブブロックのために復号された情報を更に用いて決定し、
    前記決定手段は、前記復号対象のサブブロックにおける有意残差係数が所定の閾値よりも多い場合、前記ライスパラメータの初期値を、ゼロ設定としない
    ことを特徴とする復号装置。
  22. ゴロム・ライス符号化を用いてビデオデータにおける変換単位のサブブロックを符号化する符号化装置であって、
    前記変換単位に含まれる複数のサブブロックの内の符号化対象のサブブロックにおけるライスパラメータの初期値を、前記符号化対象のサブブロックと同じ変換単位における、前記符号化対象のサブブロックより前のサブブロックにおいて導出された情報を用いて決定する決定手段と、
    前記決定手段によって決定された初期値を、ライスパラメータの初期値として用いて前記符号化対象のサブブロックを符号化する符号化手段と
    を有し、
    前記ライスパラメータの初期値は、輝度と色差のそれぞれにおいて決定され
    前記決定手段は、符号化対象のサブブロックにおけるライスパラメータの初期値を、有意残差係数を用いて決定する
    ことを特徴とする符号化装置。
  23. ゴロム・ライス符号化を用いてビデオデータにおける変換単位のサブブロックを符号化する符号化装置であって、
    前記変換単位に含まれる複数のサブブロックの内の符号化対象のサブブロックにおけるライスパラメータの初期値を、前記符号化対象のサブブロックと同じ変換単位における、前記符号化対象のサブブロックより前のサブブロックにおいて導出された情報を用いて決定する決定手段と、
    前記決定手段によって決定された初期値を、ライスパラメータの初期値として用いて前記符号化対象のサブブロックを符号化する符号化手段と
    を有し、
    前記ライスパラメータの初期値は、輝度と色差のそれぞれにおいて決定され、
    前記決定手段は、前記符号化対象のサブブロックを符号化するために用いる量子化パラメータが所定の閾値よりも小さい場合、前記ライスパラメータの初期値を、ゼロ設定としない
    ことを特徴とする符号化装置。
  24. ゴロム・ライス符号化を用いてビデオデータにおける変換単位のサブブロックを符号化する符号化装置であって、
    前記変換単位に含まれる複数のサブブロックの内の符号化対象のサブブロックにおけるライスパラメータの初期値を、前記符号化対象のサブブロックと同じ変換単位における、前記符号化対象のサブブロックより前のサブブロックにおいて導出された情報を用いて決定する決定手段と、
    前記決定手段によって決定された初期値を、ライスパラメータの初期値として用いて、前記符号化対象のサブブロックを符号化する符号化手段と
    を有し、
    前記ライスパラメータの初期値は、輝度と色差のそれぞれにおいて決定され、
    前記決定手段は、符号化対象のサブブロックにおけるライスパラメータの初期値を、前記符号化対象のサブブロックのために符号化された情報を更に用いて決定し、
    前記決定手段は、前記符号化対象のサブブロックにおける有意残差係数が所定の閾値よりも多い場合、前記ライスパラメータの初期値を、ゼロ設定としない
    ことを特徴とする符号化装置。
  25. 請求項1〜のいずれか項に記載の復号方法の各工程を、コンピュータに実行させることを特徴とするプログラム。
  26. 請求項118のいずれか項に記載の符号化方法の各工程を、コンピュータに実行させることを特徴とするプログラム。
JP2017248474A 2012-04-13 2017-12-25 符号化ビデオデータの変換単位のサブブロックを符号化又は復号するための方法、装置、及び、プログラム Active JP6465955B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AU2012202182A AU2012202182B2 (en) 2012-04-13 Method, apparatus and system for encoding and decoding a subset of transform units of encoded video data
AU2012202182 2012-04-13

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2015504820A Division JP2015516745A (ja) 2012-04-13 2013-04-12 符号化ビデオデータの変換単位のサブセットを符号化及び復号するための方法、装置及びシステム

Publications (2)

Publication Number Publication Date
JP2018078625A JP2018078625A (ja) 2018-05-17
JP6465955B2 true JP6465955B2 (ja) 2019-02-06

Family

ID=49326956

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2015504820A Pending JP2015516745A (ja) 2012-04-13 2013-04-12 符号化ビデオデータの変換単位のサブセットを符号化及び復号するための方法、装置及びシステム
JP2017248474A Active JP6465955B2 (ja) 2012-04-13 2017-12-25 符号化ビデオデータの変換単位のサブブロックを符号化又は復号するための方法、装置、及び、プログラム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2015504820A Pending JP2015516745A (ja) 2012-04-13 2013-04-12 符号化ビデオデータの変換単位のサブセットを符号化及び復号するための方法、装置及びシステム

Country Status (11)

Country Link
US (1) US10873761B2 (ja)
EP (1) EP2837185B1 (ja)
JP (2) JP2015516745A (ja)
KR (2) KR101974320B1 (ja)
CN (5) CN107071420B (ja)
AU (2) AU2016202272B2 (ja)
BR (1) BR112014021436B1 (ja)
ES (1) ES2746961T3 (ja)
PL (1) PL2837185T3 (ja)
RU (3) RU2634214C1 (ja)
WO (1) WO2013152401A1 (ja)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9978156B2 (en) * 2012-10-03 2018-05-22 Avago Technologies General Ip (Singapore) Pte. Ltd. High-throughput image and video compression
US9654777B2 (en) 2013-04-05 2017-05-16 Qualcomm Incorporated Determining palette indices in palette-based video coding
US9936200B2 (en) * 2013-04-12 2018-04-03 Qualcomm Incorporated Rice parameter update for coefficient level coding in video coding process
US9396249B1 (en) * 2013-06-19 2016-07-19 Amazon Technologies, Inc. Methods and systems for encoding parent-child map tile relationships
US10021419B2 (en) * 2013-07-12 2018-07-10 Qualcomm Incorported Rice parameter initialization for coefficient level coding in video coding process
US9558567B2 (en) * 2013-07-12 2017-01-31 Qualcomm Incorporated Palette prediction in palette-based video coding
EP3090543A4 (en) * 2013-12-30 2017-08-02 QUALCOMM Incorporated Simplification of delta dc residual coding in 3d video coding
CN106716999B (zh) * 2014-06-20 2019-08-09 寰发股份有限公司 用于视频编码的调色板预测器信令的方法
CN104469366B (zh) * 2014-12-18 2017-10-03 中国科学院自动化研究所 一种0阶指数哥伦布码解码器及解码方法
US10382768B2 (en) 2015-06-23 2019-08-13 Mediatek Singapore Pte. Ltd. Method and apparatus for transform coefficient coding of non-square blocks
WO2017000222A1 (en) * 2015-06-30 2017-01-05 Mediatek Singapore Pte. Ltd. Grouping bypass bins and improved sign data hiding for residual coding
US20170311003A1 (en) * 2016-04-20 2017-10-26 Mediatek Inc. Method and apparatus for performing entropy encoding with sign data removal and associated method and apparatus for performing entropy decoding with sign data recovery
AU2016231584A1 (en) * 2016-09-22 2018-04-05 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding video data
CN116886908A (zh) * 2016-10-14 2023-10-13 世宗大学校产学协力团 影像编码方法、影像解码方法以及传送比特流的方法
KR102416804B1 (ko) 2016-10-14 2022-07-05 세종대학교산학협력단 영상 부호화 방법/장치, 영상 복호화 방법/장치 및 비트스트림을 저장한 기록 매체
CN108259896B (zh) * 2016-12-29 2021-10-08 四川大学 一种利用系数分布特性的哥伦布-莱斯初始参数自适应决策方法
CN110546957A (zh) * 2017-06-22 2019-12-06 华为技术有限公司 一种帧内预测的方法及装置
JP7198268B2 (ja) * 2017-07-31 2022-12-28 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート 画像復号化方法、画像符号化方法及びコンピュータ可読記録媒体
EP3744093A4 (en) * 2018-01-25 2022-01-26 LG Electronics Inc. VIDEO DECODER AND RELATED CONTROL METHOD
KR20210002506A (ko) * 2018-05-02 2021-01-08 인터디지털 브이씨 홀딩스 인코포레이티드 비디오의 인코딩 및 디코딩
CN110662050B (zh) * 2018-06-29 2022-06-14 北京字节跳动网络技术有限公司 处理视频数据的方法、装置及存储介质
US11336918B2 (en) 2018-09-05 2022-05-17 Qualcomm Incorporated Regular coded bin reduction for coefficient coding
CN114374839B (zh) * 2018-11-12 2023-06-20 Lg电子株式会社 图像解码方法、图像编码方法和数据发送方法
US10904548B2 (en) 2018-12-06 2021-01-26 Qualcomm Incorporated Coefficient processing for video encoding and decoding
WO2020141855A1 (ko) * 2019-01-01 2020-07-09 엘지전자 주식회사 영상 코딩 시스템에서 레지듀얼 부호 관련 정보를 사용하는 영상 디코딩 방법 및 그 장치
US11134273B2 (en) * 2019-02-14 2021-09-28 Qualcomm Incorporated Regular coded bin reduction for coefficient coding
US10939107B2 (en) * 2019-03-01 2021-03-02 Sony Corporation Embedded codec circuitry for sub-block based allocation of refinement bits
WO2020216380A1 (en) * 2019-04-26 2020-10-29 Beijing Bytedance Network Technology Co., Ltd. Prediction of parameters for in-loop reshaping
CN112118456B (zh) * 2019-06-20 2022-03-25 腾讯美国有限责任公司 莱斯参数选择方法、装置、计算机设备及存储介质
KR20220024500A (ko) 2019-07-12 2022-03-03 엘지전자 주식회사 변환에 기반한 영상 코딩 방법 및 그 장치
US11677984B2 (en) * 2019-08-20 2023-06-13 Qualcomm Incorporated Low-frequency non-separable transform (LFNST) signaling
WO2021040319A1 (ko) * 2019-08-23 2021-03-04 엘지전자 주식회사 비디오/영상 코딩 시스템에서 라이스 파라미터 도출 방법 및 장치
US11470334B2 (en) * 2019-09-23 2022-10-11 Qualcomm Incorporated Rice parameter derivation for lossless/lossy coding modes for video coding
US11265536B2 (en) * 2019-09-23 2022-03-01 Tencent America LLC Method to extend the range of rice parameter for residual coding in transform skip mode
US20220377345A1 (en) * 2019-10-07 2022-11-24 Lg Electronics Inc. Method and apparatus for deriving rice parameter in video/image coding system
WO2021071188A1 (ko) * 2019-10-07 2021-04-15 엘지전자 주식회사 비디오/영상 코딩 시스템에서 엔트로피 코딩 방법 및 장치
US11336891B2 (en) * 2019-11-25 2022-05-17 Tencent America LLC Coding method and system with improved transform domain coefficient computation
US11368715B2 (en) * 2019-12-27 2022-06-21 Qualcomm Incorporated Block-based delta pulse code modulation for video coding
EP4205400A4 (en) * 2020-09-23 2024-01-17 Beijing Dajia Internet Information Tech Co Ltd RESIDUAL AND COEFFICIENT CODING FOR VIDEO CODING
GB2601184A (en) * 2020-11-23 2022-05-25 Sony Group Corp Image data encoding and decoding
WO2022182208A1 (ko) * 2021-02-25 2022-09-01 주식회사 케이티 비디오 신호 부호화/복호화 방법 및 상기 부호화 방법에 의해 생성된 데이터 스트림을 저장하는 기록 매체
CN113315968B (zh) * 2021-07-29 2021-12-03 杭州博雅鸿图视频技术有限公司 提高码率计算效率的电路设计方法、装置、设备及介质
CN117354534B (zh) * 2023-12-04 2024-02-02 上海方诚光电科技有限公司 一种自适应图像无损压缩方法、设备及存储介质

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0940994B1 (en) 1998-03-06 2014-04-16 Canon Kabushiki Kaisha Image processing apparatus and method and storage medium storing steps realizing such method
JP2000115783A (ja) * 1998-10-06 2000-04-21 Canon Inc 復号化装置及び方法
JP4181699B2 (ja) 1999-07-27 2008-11-19 キヤノン株式会社 符号化装置及び方法及び記憶媒体
US6735254B2 (en) * 2001-06-29 2004-05-11 Qualcomm, Inc. DCT compression using Golomb-Rice coding
CN100566419C (zh) * 2001-07-02 2009-12-02 高通股份有限公司 以无损的方式编码数字图像数据的设备和方法
US7689051B2 (en) * 2004-04-15 2010-03-30 Microsoft Corporation Predictive lossless coding of images and video
US7580585B2 (en) * 2004-10-29 2009-08-25 Microsoft Corporation Lossless adaptive Golomb/Rice encoding and decoding of integer data using backward-adaptive rules
US6987468B1 (en) * 2004-10-29 2006-01-17 Microsoft Corporation Lossless adaptive encoding and decoding of integer data
JP4427003B2 (ja) * 2005-05-23 2010-03-03 オリンパスイメージング株式会社 データ符号化装置、データ復号化装置、データ符号化方法、データ復号化方法、プログラム
DE102007017254B4 (de) 2006-11-16 2009-06-25 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung zum Kodieren und Dekodieren
JP4831372B2 (ja) * 2006-11-24 2011-12-07 日本電気株式会社 符号化および復号装置、符号化および復号方法ならびにプログラム
US7486211B2 (en) * 2007-04-13 2009-02-03 Apple Inc. Method and system for entropy coding
WO2009044346A1 (en) 2007-10-05 2009-04-09 Nokia Corporation System and method for combining adaptive golomb coding with fixed rate quantization
EP2290985B1 (en) * 2008-06-10 2017-05-03 Panasonic Intellectual Property Management Co., Ltd. Image decoding apparatus and image coding apparatus
CN102282770B (zh) * 2009-01-23 2014-04-16 日本电信电话株式会社 一种参数选择方法、参数选择装置
WO2011013192A1 (ja) * 2009-07-27 2011-02-03 株式会社東芝 画像符号化方法および画像復号方法
US8410959B2 (en) * 2010-04-09 2013-04-02 Qualcomm, Incorporated Variable length codes for coding of video data
WO2012025215A1 (en) 2010-08-23 2012-03-01 Panasonic Corporation Adaptive golomb codes to code filter coefficients
CN102238387B (zh) * 2011-05-25 2017-07-18 深圳市云宙多媒体技术有限公司 一种视频熵编码、熵解码方法、装置
CN102368385B (zh) * 2011-09-07 2013-08-14 中科开元信息技术(北京)有限公司 后向块自适应Golomb-Rice编解码方法及装置
US9743116B2 (en) 2012-01-19 2017-08-22 Huawei Technologies Co., Ltd. High throughput coding for CABAC in HEVC
US9635358B2 (en) * 2012-01-21 2017-04-25 Google Technology Holdings LLC Method of determining binary codewords for transform coefficients

Also Published As

Publication number Publication date
CN107071420A (zh) 2017-08-18
US10873761B2 (en) 2020-12-22
PL2837185T3 (pl) 2020-03-31
CN107105248A (zh) 2017-08-29
KR20180006495A (ko) 2018-01-17
CN104221288A (zh) 2014-12-17
CN107071420B (zh) 2021-07-16
US20150078443A1 (en) 2015-03-19
CN106851277B (zh) 2021-05-07
CN107105247A (zh) 2017-08-29
CN107105248B (zh) 2021-05-07
EP2837185A1 (en) 2015-02-18
RU2667715C1 (ru) 2018-09-24
BR112014021436B1 (pt) 2023-03-07
KR101974320B1 (ko) 2019-04-30
BR112014021436A2 (ja) 2017-06-20
AU2016202272B2 (en) 2017-09-28
RU2634214C1 (ru) 2017-10-24
EP2837185B1 (en) 2019-09-04
KR20140126370A (ko) 2014-10-30
AU2012202182A1 (en) 2013-10-31
RU2014141168A (ru) 2016-06-10
CN106851277A (zh) 2017-06-13
EP2837185A4 (en) 2016-03-16
WO2013152401A1 (en) 2013-10-17
CN107105247B (zh) 2021-05-07
KR101818102B1 (ko) 2018-01-12
JP2015516745A (ja) 2015-06-11
ES2746961T3 (es) 2020-03-09
AU2017279640B2 (en) 2019-08-01
AU2017279640A1 (en) 2018-01-18
JP2018078625A (ja) 2018-05-17

Similar Documents

Publication Publication Date Title
JP6465955B2 (ja) 符号化ビデオデータの変換単位のサブブロックを符号化又は復号するための方法、装置、及び、プログラム
JP6608504B2 (ja) 動画データを復号する方法
KR101628793B1 (ko) 변환 유닛의 잔차 계수에 대한 유효도 맵을 인코딩 및 디코딩하기 위한 방법, 장치 및 시스템

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181002

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180928

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181122

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190108

R151 Written notification of patent or utility model registration

Ref document number: 6465955

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151