JP5303659B2 - イントラコード化された画像またはフレームのインループ非ブロック化 - Google Patents

イントラコード化された画像またはフレームのインループ非ブロック化 Download PDF

Info

Publication number
JP5303659B2
JP5303659B2 JP2011549407A JP2011549407A JP5303659B2 JP 5303659 B2 JP5303659 B2 JP 5303659B2 JP 2011549407 A JP2011549407 A JP 2011549407A JP 2011549407 A JP2011549407 A JP 2011549407A JP 5303659 B2 JP5303659 B2 JP 5303659B2
Authority
JP
Japan
Prior art keywords
block
data
image
blocks
encoder
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.)
Expired - Fee Related
Application number
JP2011549407A
Other languages
English (en)
Other versions
JP2012517752A (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.)
BlackBerry Ltd
Original Assignee
Research in Motion 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
Application filed by Research in Motion Ltd filed Critical Research in Motion Ltd
Publication of JP2012517752A publication Critical patent/JP2012517752A/ja
Application granted granted Critical
Publication of JP5303659B2 publication Critical patent/JP5303659B2/ja
Expired - Fee Related 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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • 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

Description

(分野)
本願は、概して、画像またはビデオのコーディングおよび復号に関し、具体的には、イントラコード化された画像またはフレームのインループ非ブロック化(deblocking)を行う方法、エンコーダ、およびデコーダに関する。
ビデオ符号化のための現在の最先端技術は、ITU−T H.264/AVCビデオコーディング規格である。それは、主要プロファイル、基準プロファイル、およびその他を含む、異なる用途に対するいくつかの異なるプロファイルを定義する。
ブロックベースのコーディングプロセスを使用するH.264を含む、画像およびビデオを符号化/復号するためのいくつかの規格がある。これらのプロセスでは、画像またはフレームが、一般的には4×4または8×8のブロックに分けられ、ブロックが係数にスペクトル的に変換され、量子化され、エントロピー符号化される。多くの場合、変換されているデータは、実際のピクセルデータではないが、予測演算後の残余データである。予測は、フレーム内、すなわち、フレーム/画像内のブロック間(空間予測とも呼ばれる)、またはフレーム間、すなわち、フレームの間(動き予測とも呼ばれる)となり得る。
符号化および復号との関連で生じる問題は、イントラコード化された空間予測が、画像内の隣接ブロックの中の再構築されたピクセルに依存することである。結果として、イントラコード化されたブロックの再構築された値の誤差は、速度ひずみ性能に悪影響を及ぼす。
改良型のエンコーダ、デコーダ、および符号化または復号する方法を提供することが有利となるであろう。
本願は、画像およびビデオ符号化/復号の改良を達成する方法およびエンコーダ/デコーダを説明する。具体的には、本願は、変換領域係数を適合量子化する方法を説明する。各ブロックがN個の係数を有する、いくつかのブロックを有する画像について、各係数に対する量子化ステップサイズが動的に選択され、したがって、異なるステップサイズを異なる係数に適用してもよい、量子化器をもたらす。選択されたステップサイズは、画像/フレーム内の全てのブロックに使用される。一側面では、ステップサイズは、画像/フレームが復号されるときにピクセル領域ひずみの平衡を保つことに基づいて選択される。
本願はさらに、インループ非ブロック化をイントラコード化された画像/フレームに適用するように構成される、方法およびエンコーダ/デコーダを説明する。一側面では、非ブロック化シーケンスで後続のブロックを復号する前に、非ブロック化フィルタが、イントラコード化されたブロックの復号されたピクセルに適用される。
本願はさらに、改訂コンテキストモデルを使用して、画像/フレームデータをエントロピー符号化するように構成される、方法およびエンコーダ/デコーダを説明する。一側面では、量子化された係数のブロックが、係数を量子化する際に使用される、増大する量子化ステップサイズに基づいて動的に決定される、コーディング順で符号化される。また、または代替として、他の要因も、コーディング順を動的に調整するために使用されてもよい。
一側面では、本願は、エンコーダを使用して画像を符号化するための方法を説明し、エンコーダは、ブロックベースのコーディングを画像に適用するように構成される。方法は、変換領域係数を生成するように、スペクトル変換をブロックに適用するステップと、係数のそれぞれに対する量子化ステップサイズを選択するステップであって、選択は、復号されるときにブロック内で所定の平均ピクセル領域ひずみを実現することに基づく、ステップと、選択された量子化ステップサイズを使用して、変換領域係数のそれぞれを量子化するステップと、画像データのビットストリームを生成するように、量子化された係数を符号化するステップと、ビットストリームを出力するステップとを含む。
さらなる側面では、本願は、画像を符号化するためのエンコーダを説明する。エンコーダは、プロセッサと、画像を記憶するメモリと、符号化された画像データのビットストリームを出力するための通信システムと、メモリに記憶され、ブロックベースのコーディングを画像に適用するようにプロセッサを構成するための命令を含有する、符号化アプリケーションとを含む。符号化アプリケーションは、スペクトル変換をブロックに適用して変換領域係数を生成するように構成される、変換プロセッサと、係数のそれぞれに対する量子化ステップサイズを選択するように構成される、適合量子化器モジュールであって、選択は、復号されるときにブロック内で所定の平均ピクセル領域ひずみを実現することに基づく、適合量子化器モジュールと、そのそれぞれの選択された量子化ステップサイズを使用して、変換領域係数のそれぞれを量子化するように構成される、量子化器と、量子化された係数を符号化して、符号化された画像データのビットストリームを生成するように構成される、エントロピーエンコーダとを含む。
別の側面では、本願は、エンコーダを使用して画像を符号化するための方法を説明し、エンコーダは、ブロックベースのコーディングを画像に適用するように構成される。方法は、画像のブロックについて、係数の変換領域行列を生成するように、スペクトル変換をブロックに適用するステップと、量子化行列を使用して係数を量子化するステップであって、量子化行列の要素は、ピクセル領域中で復号されるブロック内の所定の均一なひずみ分布に基づいて選択される、ステップと、量子化された係数を符号化するステップとを含む。
別の側面では、本願は、デコーダを使用してイントラコード化された画像を復号するための方法を開示し、画像は、複数のブロックを有する。方法は、イントラコード化された画像を符号化するデータのビットストリームを受信するステップと、データのビットストリームからの画像のブロックに対するピクセルデータを再構築するステップと、非ブロック化された再構築ブロックを生じるように、非ブロック化フィルタをブロックに対する再構築されたピクセルデータに適用するステップと、非ブロック化された再構築ブロックからの少なくとも1つの非ブロック化されたピクセルに基づいて、データのビットストリームからの画像の後続のブロックおよび予測計算に対するピクセルデータを再構築するステップとを含む。
さらに別の側面では、本願は、エンコーダを使用して画像を符号化するための方法を説明する。画像は、複数のブロックを有し、エンコーダは、コーディング順でブロックベースのコーディングを画像のブロックに適用するように構成され、画像内のブロックの再構築は、画像内でコーディング順に後続のブロックをコード化するときに予測計算で使用される。方法は、ブロックの非ブロック化が、後続のブロックの予測計算の前に発生するように、イントラコーディングループ内で、非ブロック化フィルタを画像の再構築されたブロックに適用するステップを含む。
別の側面では、本願は、画像を符号化するためのエンコーダを説明し、画像は、複数のブロックを有する。エンコーダは、プロセッサと、画像を記憶するメモリと、符号化された画像データのビットストリームを出力するための通信システムと、メモリに記憶され、コーディング順でブロックベースのコーディングを画像のブロックに適用するようにプロセッサを構成するための命令を含有する、符号化アプリケーションとを含み、画像内のブロックの再構築は、画像内でコーディング順に後続のブロックをコード化するときに予測計算で使用される。符号化アプリケーションは、再構築されたブロックの非ブロック化が、後続のブロックの予測計算の前に発生するように、イントラコーディングループ内で、非ブロック化フィルタを画像の再構築されたブロックに適用するように構成される、非ブロック化構成要素を含む。
さらなる側面では、本願は、イントラコード化された画像を復号するためのデコーダを提供し、画像は、複数のブロックを有する。デコーダは、プロセッサと、イントラコード化された画像を符号化するデータのビットストリームを受信し、復号された画像を出力するための通信システムと、メモリに記憶され、ブロックベースの復号を適用して、ビットストリームからの画像のブロックに対するピクセルデータを再構築するようにプロセッサを構成するための命令を含有する、復号アプリケーションとを含む。復号アプリケーションは、非ブロック化フィルタをブロックに対する再構築されたピクセルデータに適用して、非ブロック化された再構築ブロックを生じるように構成される、非ブロック化モジュールを含む。復号アプリケーションは、非ブロック化された再構築ブロックからの少なくとも1つの非ブロック化されたピクセルに基づいて、データのビットストリームからの画像の後続のブロックおよび予測計算に対するピクセルデータを再構築するように構成される。
なおもさらなる側面では、本願は、エンコーダにおいて画像をエントロピー符号化するための方法を提供し、画像は、複数のピクセルのブロックを含有し、エンコーダは、ブロックのそれぞれを、予測および量子化された変換領域係数のブロックに変換する。方法は、量子化された変換領域係数のブロックに対するコーディング順を決定するステップであって、コーディング順は、量子化された変換領域係数の少なくとも1つの特性に基づいて決定される、ステップと、符号化された画像データのビットストリームを生成するように、画像に対して決定されるコーディング順で、量子化された変換領域係数のブロックのそれぞれをエントロピー符号化するステップと、ビットストリームを出力するステップとを含む。
さらに別の側面では、本願は、画像を符号化するためのエンコーダを提供し、画像は、複数のピクセルのブロックを含有する。エンコーダは、プロセッサと、画像を記憶するメモリと、符号化された画像データのビットストリームを出力するための通信システムと、メモリに記憶され、ブロックのそれぞれを、予測および量子化された変換領域係数のブロックに変換するようにプロセッサを構成するための命令を含有する、符号化アプリケーションとを含む。符号化アプリケーションは、量子化された変換領域係数のブロックに対するコーディング順を決定するように構成される、コーディング順モジュールを含み、コーディング順は、量子化された変換領域係数の少なくとも1つの特性に基づいて決定され、符号化アプリケーションは、ビットストリームを生成するように、コーディング順モジュールによって画像に対して決定されるコーディング順で、量子化された変換領域係数のブロックのそれぞれをエントロピー符号化するように構成される。
一側面では、本願は、複数のピクセルのブロックを有する画像のブロックベースの符号化のための方法を提供する。方法は、ブロックベースの変換の各係数位置に対する量子化ステップサイズを選択するステップであって、選択は、ピクセルのブロック当たりの所定のピクセル領域ひずみを実現することに基づく、ステップと、各ピクセルのブロックに対する一組の変換領域係数を生成するように、ブロックベースの変換をピクセルのブロックのそれぞれに適用するステップと、各一組の変換領域係数について、量子化された係数を生じるように、その変換領域係数の係数位置に対する選択された量子化ステップサイズを使用して、変換領域係数のそれぞれを量子化するステップと、符号化された画像データのビットストリームを生成するように、量子化された係数を符号化するステップとを含む。
別の側面では、本願は、複数のピクセルのブロックを有する画像を符号化するためのエンコーダを提供する。エンコーダは、プロセッサと、ピクセルのブロックを記憶するメモリと、メモリに記憶される符号化アプリケーションであって、ブロックベースの変換の各係数位置に対する量子化ステップサイズを選択することであって、選択は、復号されるときにピクセルのブロック当たりの所定のピクセル領域ひずみを実現することに基づく、選択すること、各ピクセルのブロックに対する一組の変換領域係数を生成するように、ブロックベースの変換をピクセルのブロックのそれぞれに適用すること、各一組の変換領域係数について、量子化された係数を生じるように、その変換領域係数の係数位置に対する選択された量子化ステップサイズを使用して、変換領域係数のそれぞれを量子化すること、および符号化された画像データのビットストリームを生成するように、量子化された係数を符号化することによって、画像を符号化するようにプロセッサを構成するための命令を含有する、符号化アプリケーションとを含む。
さらなる側面では、本願は、符号化されたデータを復号する方法を提供し、符号化されたデータは、ピクセルデータの複数のブロックを有する画像を含む。方法は、ピクセルデータの各ブロックに対する一組の量子化された変換領域係数を取得するように、およびブロックベースの変換の各係数位置に対する量子化ステップサイズを取得するように、符号化されたデータをエントロピー復号するステップと、各一組の量子化された変換領域係数について、変換領域係数を生じるように、その量子化された変換領域係数の係数位置に対する量子化ステップサイズを使用して、量子化された変換領域係数のそれぞれを逆量子化するステップと、ピクセルデータのブロックを再構築するように、変換領域係数を逆変換するステップとを含む。
さらなる側面では、本願は、符号化されたデータを復号するためのデコーダを説明し、符号化されたデータは、ピクセルデータの複数のブロックを有する画像を含む。デコーダは、プロセッサと、メモリと、メモリに記憶される復号アプリケーションであって、ピクセルデータの各ブロックに対する一組の量子化された変換領域係数を取得するように、およびブロックベースの変換の各係数位置に対する量子化ステップサイズを取得するように、符号化されたデータをエントロピー復号すること、各一組の量子化された変換領域係数について、変換領域係数を生じるように、その量子化された変換領域係数の係数位置に対する量子化ステップサイズを使用して、量子化された変換領域係数のそれぞれを逆量子化すること、およびピクセルデータのブロックを再構築するように、変換領域係数を逆変換することによって、符号化されたデータを復号するようにプロセッサを構成するための命令を含有する、復号アプリケーションとを含む。
さらに別の側面では、本願は、符号化されたデータを復号するための方法を説明し、符号化されたデータは、ピクセルデータの複数のブロックを有する、イントラコード化された画像を含む。方法は、符号化されたデータからの画像のブロックに対するピクセルデータを再構築するステップと、非ブロック化された再構築ブロックを生じるように、非ブロック化フィルタをブロックに対する再構築されたピクセルデータに適用するステップと、非ブロック化された再構築ブロックからの少なくとも1つの非ブロック化されたピクセルに基づいて、符号化されたデータからの画像の後続のブロックおよび予測計算に対するピクセルデータを再構築するステップとを含む。
さらなる側面では、本願は、コーディング順での複数のブロックを有する画像のブロックベースの符号化のための方法を提供し、画像内のブロックの再構築は、画像内でコーディング順に後続のブロックを符号化するときに予測計算で使用される。方法は、ブロックの非ブロック化が、後続のブロックの予測計算の前に発生するように、イントラコーディングループ内で、非ブロック化フィルタを画像の再構築されたブロックに適用するステップを含む。
別の側面では、本願は、複数のブロックを有する画像を符号化するためのエンコーダを提供する。エンコーダは、プロセッサと、画像を記憶するメモリと、メモリに記憶され、コーディング順でブロックベースの符号化を画像のブロックに適用するようにプロセッサを構成するための命令を含有する、符号化アプリケーションとを含み、画像内のブロックの再構築は、画像内でコーディング順に後続のブロックを符号化するときに予測計算で使用され、符号化アプリケーションは、再構築されたブロックの非ブロック化が、後続のブロックの予測計算の前に発生するように、イントラコーディングループ内で、非ブロック化フィルタを画像の再構築されたブロックに適用するように構成される、非ブロック化構成要素を含む。
さらに別の側面では、本願は、符号化されたデータを復号するためのデコーダを説明し、符号化されたデータは、複数のピクセルのブロックを有する、イントラコード化された画像を含む。デコーダは、プロセッサと、メモリと、メモリに記憶され、符号化されたデータからの画像のブロックに対するピクセルデータを再構築し、非ブロック化フィルタをブロックに対する再構築されたピクセルデータに適用して、非ブロック化された再構築ブロックを生じ、非ブロック化された再構築ブロックからの少なくとも1つの非ブロック化されたピクセルに基づいて、符号化されたデータからの画像の後続のブロックおよび予測計算に対するピクセルデータを再構築するように、プロセッサを構成するための命令を含有する、復号アプリケーションとを含む。
さらなる側面では、本願は、複数のピクセルのブロックを有する画像をエントロピー符号化するための方法を説明し、ブロックのそれぞれは、予測および量子化された変換領域係数のブロックに変換されている。方法は、各ブロックの量子化された変換領域係数がエントロピー符号化される、コーディング順を決定するステップであって、コーディング順は、量子化された変換領域係数の少なくとも1つの特性に基づいて決定される、ステップと、符号化された画像データのビットストリームを生成するように決定されるコーディング順で、量子化された変換領域係数をエントロピー符号化するステップとを含む。
別の側面では、本願は、複数のピクセルのブロックを有する画像を符号化するためのエンコーダを開示する。エンコーダは、プロセッサと、画像を記憶するメモリと、メモリに記憶され、ブロックのそれぞれを、予測および量子化された変換領域係数のブロックに変換し、各ブロックの量子化された変換領域係数がエントロピー符号化される、コーディング順であって、コーディング順は、量子化された変換領域係数の少なくとも1つの特性に基づいて決定される、コーディング順を決定し、符号化された画像データのビットストリームを生成するように決定されるコーディング順で、量子化された変換領域係数をエントロピー符号化するように、プロセッサを構成するための命令を含有する、復号化アプリケーションとを含む。
さらなる側面では、本願は、符号化されたデータをエントロピー復号するための方法を説明し、符号化されたデータは、予測と、画像のピクセルの各ブロックに対する量子化された変換領域係数のブロックとを含む。方法は、符号化されたデータからコーディング順データを抽出するステップと、各ブロックの量子化された変換領域係数がエントロピー符号化されたコーディング順を決定するステップであって、コーディング順は、コーディング順データに基づいて決定される、ステップと、コーディング順で量子化された変換領域係数を回収するように、符号化されたデータをエントロピー復号するステップとを含む。
さらなる側面では、本願は、画像である、符号化されたデータを復号するためのデコーダを説明し、符号化されたデータは、予測と、画像のピクセルの各ブロックに対する量子化された変換領域係数のブロックとを含む。エンコーダは、プロセッサと、画像を記憶するメモリと、メモリに記憶され、符号化されたデータからコーディング順データを抽出し、各ブロックの量子化された変換領域係数がエントロピー符号化されたコーディング順であって、コーディング順は、コーディング順データに基づいて決定される、コーディング順を決定し、コーディング順で量子化された変換領域係数を回収するように、符号化されたデータをエントロピー復号するように、プロセッサを構成するための命令を含有する、符号化アプリケーションとを含む。
本願の他の側面および特徴は、添付図面と併せて、以下の実施例の説明を検討することにより、当業者によって理解されるであろう。
本発明は、例えば、以下を提供する。
(項目1)
符号化されたデータを復号する方法であって、該符号化されたデータは、複数のピクセルのブロックを有するイントラコード化された画像を含み、該方法は、
該符号化されたデータから該画像のブロックに対してピクセルデータを再構築することと、
非ブロック化フィルタを該ブロックに対して該再構築されたピクセルデータに適用することにより、非ブロック化された再構築ブロックを生じさせることと、
該非ブロック化された再構築ブロックからの少なくとも1つの非ブロック化されたピクセルに基づいて、該符号化されたデータから該画像の後続のブロックおよび予測計算に対してピクセルデータを再構築することと
を含む、方法。
(項目2)
上記非ブロック化フィルタを適用することは、該非ブロック化フィルタを上記ブロックの左および上の境界に適用することを含む、項目1に記載の方法。
(項目3)
上記非ブロック化フィルタを適用することは、上記ブロックの少なくとも1つの境界の境界強度を評価することと、該境界強度の評価に基づいて該非ブロック化フィルタを構成することとを含む、項目1または項目2に記載の方法。
(項目4)
データのビットストリームとして上記符号化されたデータを受信することをさらに含み、ブロックに対してピクセルデータを再構築することは、該ブロックに対する量子化されたデータを取得するように該ビットストリームをエントロピー復号することと、該ブロックに対する変換領域係数を取得するように該量子化されたデータを逆量子化することと、該ブロックに対する残余を取得するように該変換領域係数を逆変換することと、該残余および隣接ブロックの少なくとも1つのピクセルから該ブロックに対して該ピクセルデータを生成することとを含む、項目1〜3のうちのいずれか一項に記載の方法。
(項目5)
上記ブロックは、4×4ピクセルである、項目1〜4のうちのいずれか一項に記載の方法。
(項目6)
上記画像は、ビデオ内にフレームを備える、項目1〜5のうちのいずれか一項に記載の方法。
(項目7)
コーディング順の複数のブロックを有する画像のブロックベースの符号化の方法であって、該画像内でのブロックの再構築は、該画像内で該コーディング順に後続のブロックを符号化するときに、予測計算において使用され、該方法は、
該ブロックの該非ブロック化が、該後続のブロックに対する該予測計算の前に発生するように、イントラコーディングループ内で、非ブロック化フィルタを該画像の該再構築されたブロックに適用することを含む、方法。
(項目8)
上記非ブロック化フィルタを適用することは、非ブロック化されたブロックを作成するように、該非ブロック化フィルタを上記再構築されたブロックの左および上の境界のみに適用することを含む、項目7に記載の方法。
(項目9)
上記非ブロック化されたブロックからの少なくとも1つの非ブロック化されたピクセルに基づいて、上記画像の上記後続のブロックを符号化するために残余データを計算することをさらに含む、項目8に記載の方法。
(項目10)
複数のブロックを有する画像を符号化するエンコーダであって、該エンコーダは、
プロセッサと、
該画像を記憶するメモリと、
メモリ内に記憶され、項目7〜9のうちのいずれか一項に記載の方法を行うように該プロセッサを構成する命令を含有する符号化アプリケーションと
を備える、エンコーダ。
(項目11)
上記符号化アプリケーションは、
空間変換を上記ブロックに適用して、変換領域係数を生成するように構成される変換プロセッサと、
該変換領域係数の各々を量子化して、量子化された係数を生じるように構成される量子化器と、
該量子化された係数を符号化して、符号化された画像データのビットストリームを生成するように構成されるエントロピーエンコーダと
をさらに備える、項目10に記載のエンコーダ。
(項目12)
符号化されたデータを復号するデコーダであって、該符号化されたデータは、複数のピクセルのブロックを有するイントラコード化された画像を含み、該デコーダは、
プロセッサと、
メモリと、
メモリ内に記憶され、項目1〜6のうちのいずれか一項に記載の方法を行うように該プロセッサを構成する命令を含有する復号アプリケーションと
を備える、デコーダ。
ここで、一例として、本願の実施形態例を示す添付図面を参照する。
図1は、ブロック図形態で、ビデオを符号化するためのエンコーダを示す。 図2は、ブロック図形態で、ビデオを復号するためのデコーダを示す。 図3は、サイズ4×4のブロックに対する予測を計算する際に使用される、隣接ピクセルを図示する。 図4は、サイズ16×16のブロックに対する予測を計算する際に使用される、隣接ピクセルを図示する。 図5は、4×4ブロック例に対する非ブロック化フィルタの影響を示す。 図6は、フローチャート形態で、復号プロセスを示す。 図7は、フローチャート形態で、ビデオを符号化するための方法例を示す。 図8は、フローチャート形態で、ビデオを符号化するための別の方法例を示す。 図9は、適合量子化器モジュールを有するエンコーダのブロック図を示す。 図10は、4×4ブロックについてH.264によって特定されるコーディング順を図示する。 図11は、動的コーディング順例を図示する。 図12は、フローチャート形態で、ビデオ符号化プロセスにおいて量子化された残余をエントロピーコード化する方法を図示する。 図13は、エンコーダの実施形態例の簡易ブロック図を示す。 図14は、デコーダの実施形態例の簡易ブロック図を示す。 図15は、フローチャート形態で、符号化されたデータを復号する方法を示す。
同様の構成要素を表すために、同様の参照数字が、異なる図で使用されていてもよい。
以下の説明では、H.264規格を参照して実施形態例を説明する。当業者であれば、本願はH.264に限定されないが、イントラコード化されたフレーム/スライスを採用する他のビデオコーディング/復号規格に適用可能であってもよいことを理解するであろう。また、本願は、必ずしもビデオコーディング/復号に限定されず、画像コーディング/復号に適用可能であってもよいことも理解されるであろう。
以下の説明では、フレームおよびスライスという用語は、いくらか交換可能に使用される。当業者であれば、H.264規格の場合、フレームが1つ以上のスライスを含有してもよいことを理解するであろう。また、適用可能なビデオコーディング規格の特定の要件に応じて、ある符号化/復号動作がフレーム毎に行われ、いくらかはスライス毎に行われることも理解されるであろう。任意の特定の実施形態では、適用可能なビデオコーディング規格は、以下で説明される動作が、場合によっては、フレームおよび/またはスライスとの関連で行われるかどうかを決定してもよい。したがって、当業者であれば、本開示に照らして、本明細書で説明される特定の動作またはプロセス、およびフレーム、スライス、または両方への言及が、所与の実施形態に対するフレーム、スライス、または両方に適用可能であるかどうかを理解するであろう。
ここで、ブロック図形態でビデオを符号化するためのエンコーダ10を示す、図1を参照する。また、ブロック図形態でビデオを復号するためのデコーダ50を示す、図2も参照する。本明細書で説明されるエンコーダ10およびデコーダ50はそれぞれ、1つ以上の処理要素およびメモリを含有する、特定用途向けまたは汎用コンピュータデバイス上で実装されてもよいことが理解されるであろう。場合によっては、エンコーダ10またはデコーダ50によって行われる動作は、例えば、特定用途向け集積回路を介して、または汎用プロセッサによって実行可能な記憶されたプログラム命令を介して、実装されてもよい。デバイスは、例えば、基本デバイス機能を制御するためのオペレーティングシステムを含む、付加的なソフトウェアを含んでもよい。その内側でエンコーダ10またはデコーダ50が実装されてもよい、デバイスおよびプラットフォームの範囲は、以下の説明を考慮すると、当業者によって理解されるであろう。
エンコーダ10は、ビデオソース12を受信し、符号化されたビットストリーム14を生じる。デコーダ50は、符号化されたビットストリーム14を受信し、復号されたビデオフレーム16を出力する。エンコーダ10およびデコーダ50は、いくつかのビデオ圧縮規格と適合して動作するように構成されてもよい。例えば、エンコーダ10およびデコーダ50は、H.264/AVC準拠であってもよい。他の実施形態では、エンコーダ10およびデコーダ50は、H.264/AVC規格の進化を含む、他のビデオ圧縮規格に適合してもよい。
エンコーダ10は、空間予測器21と、コーディングモードセレクタ20と、変換プロセッサ22と、量子化器24と、エントロピーエンコーダ26とを含む。当業者によって理解されるように、コーディングモードセレクタ20は、ビデオソースに対する適切なコーディングモード、例えば、対象フレーム/スライスがI、P、またはB型であるかどうか、およびフレーム/スライス内の特定のマクロブロックがインターまたはイントラコード化されるかどうかを決定する。変換プロセッサ22は、空間領域データに変換を行う。具体的には、変換プロセッサ22は、ブロックベースの変換を適用して、空間領域データをスペクトル成分に変換する。例えば、多くの実施形態では、離散余弦変換(DCT)が使用される。場合によっては、離散正弦変換またはその他等の他の変換が使用されてもよい。ブロックベースの変換は、マクロブロックのサイズに応じて、マクロブロックまたはサブブロック基準で行われる。H.264規格では、例えば、一般的な16×16マクロブロックは、16個の4×4変換ブロックを含有し、DCTプロセスは、図3で図式的に図示されるように、4×4ブロックで行われる。場合によっては、変換ブロックは、8×8であってもよく、マクロブロック当たり4つの変換ブロックがあることを意味する。さらに他の場合においては、変換ブロックは、他のサイズであってもよい。
ブロックベースの変換をピクセルデータのブロックに適用することにより、一組の変換領域係数をもたらす。これに関して、「一組」は、係数が係数位置を有する順序付けられた一組である。場合によっては、一組の変換領域係数は、係数の「ブロック」または行列と見なされてもよい。本明細書の説明では、「一組の変換領域係数」または「変換領域係数のブロック」という語句は、交換可能に使用され、順序付けられた一組の変換領域係数を示すように意図されている。
一組の変換領域係数は、量子化器24によって量子化される。次いで、量子化された係数および関連情報は、エントロピーエンコーダ26によって符号化される。
イントラコード化されたフレーム/スライス(すなわち、I型)は、他のフレーム/スライスを参照することなく符号化される。言い換えれば、それらは、時間予測を採用しない。しかしながら、イントラコード化されたフレームは、空間予測器21による、図1に図示されるようなフレーム/スライス内の空間予測に依存する。つまり、特定のブロックを符号化するときに、ブロックの中のデータは、そのフレーム/スライスに対してすでに符号化されているブロック内の隣接ピクセルのデータと比較されてもよい。予測アルゴリズムを使用して、ブロックのソースデータは、残余データに変換されてもよい。次いで、変換プロセッサ22は、残余データを符号化する。H.264は、例えば、4×4変換ブロックに対する9つの予測モードを規定する。いくつかの実施形態では、9つのモードのうちのそれぞれは、ブロックを独立して処理するために使用されてもよく、次いで、最良のモードを選択するために速度ひずみ最適化が使用される。
H.264規格はまた、時間予測を活用するように、動き予測/補償の使用も規定する。したがって、エンコーダ10は、逆量子化器28と、逆変換プロセッサ30と、非ブロック化プロセッサ32とを含む、フィードバックループを有する。これらの要素は、フレーム/スライスを複製するようにデコーダ50によって実装される復号プロセスを映し出す。複製されたフレームを記憶するために、フレーム記憶部34が使用される。このようにして、動き予測は、符号化/復号に関与する損失性圧縮により、再構築されたフレームとは異なってもよい、元のフレームではなく、デコーダ50における再構築されたフレームになるものに基づく。動き予測器36は、同様のブロックを識別する目的で、現在のフレームと比較するためのソースフレーム/スライスとして、フレーム記憶部34に記憶されたフレーム/スライスを使用する。したがって、動き予測が適用されるマクロブロックについて、変換プロセッサ22が符号化する「ソースデータ」は、動き予測プロセスから生じる残余データである。例えば、それは、参照フレーム、空間変位または「動きベクトル」、および参照ブロックと現在のブロックとの間の差異(もしあれば)を表す残余ピクセルデータに関する情報を含んでもよい。参照フレームおよび/または動きベクトルに関する情報は、変換プロセッサ22および/または量子化器24によって処理されなくてもよいが、代わりに、量子化された係数とともにビットストリームの一部を符号化するためのエントロピーエンコーダ26に供給されてもよい。
当業者であれば、H.264エンコーダを実装するための詳細および可能な変化例を理解するであろう。
デコーダ50は、エントロピーデコーダ52と、逆量子化器54と、逆変換プロセッサ56と、空間補償器57と、非ブロック化プロセッサ60とを含む。フレームバッファ58は、動き補償を適用する際に動き補償器62によって使用するための再構築されたフレームを供給する。空間補償器57は、以前に復号されたブロックからの特定のイントラコード化されたブロックに対するビデオデータを回収する動作を表す。
ビットストリーム14は、量子化された係数を回収するように、エントロピーデコーダ52によって受信され、復号される。サイド情報も、エントロピー復号プロセス中に回収されてもよく、そのうちのいくつかは、適用可能であれば、動き補償で使用するために動き補償ループに提供されてもよい。例えば、エントロピーデコーダ52は、インターコード化されたマクロブロックに対する動きベクトルおよび/または参照フレーム情報を回収してもよい。
次いで、量子化された係数は、「ビデオデータ」を再作成するように逆変換プロセッサ56による逆変換を受ける、変換領域係数を生じるように、逆量子化器54によって逆量子化される。イントラコード化されたマクロブロックを用いた場合等の、場合によっては、再作成された「ビデオデータ」は、フレーム内の以前に復号されたブロックに対する空間補償で使用するための残余データであることが理解されるであろう。空間補償器57は、以前に復号されたブロックからの残余データおよびピクセルデータから、ビデオデータを生成する。インターコード化されたマクロブロック等の他の場合においては、逆変換プロセッサ56からの再作成された「ビデオデータ」は、異なるフレームからの参照ブロックに対する動き補償で使用するための残余データである。
動き補償器62は、特定のインターコード化されたマイクロブロックに対して特定されるフレームバッファ58内の参照ブロックの場所を特定する。それは、インターコード化されたマイクロブロックに対して特定される参照フレーム情報および動きベクトルに基づいてそうする。次いで、それは、そのマクロブロックに対する再作成されたビデオデータに達するように、残余データと組み合わせるための参照ブロックピクセルデータを供給する。
次いで、非ブロック化プロセッサ60によって示されるように、非ブロック化プロセスが、再構築されたフレーム/スライスに適用されてもよい。非ブロック後に、フレーム/スライスは、例えば、表示デバイス上で表示するために、復号されたビデオフレーム16として出力される。コンピュータ、セットトップボックス、DVDまたはBlu−Rayプレーヤ、および/またはモバイル手持ち式デバイス等のビデオ再生機は、出力デバイス上で表示する前に、復号されたフレームをメモリにバッファリングしてもよいことが理解されるであろう。
復号との関連で生じる問題は、イントラコード化された空間予測が、隣接ブロックの中の再構築されたピクセルに依存することである。H.264は、例えば、マクロブロックまたは変換ブロックを処理するときに、上下左右コーディング順に従い、現在のブロックの左側および現在のブロックより上側のブロックのみが、復号プロセス中にピクセルデータを供給するために利用可能であることを意味する(これは、しばしばジグザグパターンを辿る、エントロピー符号化プロセス内の係数に対するコーディング順と混同されるものではなく、この係数コーディング順のさらなる考察は、以降の説明で現れる)。例えば、サイズ4×4のブロックは、図3で図示されるように、その予測を計算するために、最大13個の隣接ピクセルを使用してもよい。図3では、現在のブロック90のピクセルは、参照数字92によって示される、最大13個の隣接ピクセルのピクセル値に基づいて符号化される。図4は、16×16ブロック94を示す。参照数字96によって示される、ブロックの左端および一番上の33個のピクセルが、空間予測に使用されてもよいことが留意されるであろう。
H.264規格は、最大52個の可能なステップサイズを有する全ての4×4DCT係数に、均一な量子化を使用する。本発明者らは、DCT領域での均一な量子化の使用が、ブロックの境界においてより高くなる傾向がある再構築誤差をもたらすことに留意している。例えば、以下の行列は、36という量子化パラメータとともに主要プロファイルを使用してコード化されるときの、foreman.cifの第1のフレーム内の4×4のブロックの平均二乗誤差(MSE)を示す。
Figure 0005303659
ブロックの境界におけるピクセルは、ブロックの中央のピクセルよりも有意に高いMSEを有することが留意されるであろう。残念ながら、空間予測プロセスで使用される傾向があるのは、これらの境界ピクセルである。予測は、再構築されたピクセルデータに基づいて(エンコーダは、その予測の基礎をデコーダに利用可能な同じ再構築されたデータに置くために、復号プロセスを行う)、隣接ピクセルを再構築する際の誤差が、空間的に予測されたピクセルを再構築する能力に直接影響を及ぼさないことを意味するが、隣接ピクセルの値の誤差は、概してより大きいか、および/またはより多様な残余値につながり、これは、それらを符号化するのにより費用がかかることを意味する。結果として、イントラコード化されたブロックの境界値の誤差は、速度ひずみ性能に悪影響を及ぼす。
(インループ非ブロック化)
本願の一側面では、デコーダおよび復号プロセスは、インループ非ブロック化をイントラコード化されたブロックに適用するように構成されてもよい。
H.264準拠デコーダは、強力な非ブロック化プロセスを再構築されたフレームに適用するように構成される。非ブロック化は、フルフレームの再構築後に発生するので、空間補償がすでに発生した後に発生する。参照フレームが非ブロック化プロセス後にフレーム記憶部内に収集されるので、非ブロック化は、動き補償に関して「インループ」と見なされ、動き補償器が、インターコード化されたブロックのピクセルを再構築するときに非ブロック化された参照フレームを使用することを意味する。しかしながら、H.264空間予測で使用されるピクセルは、非ブロック化前の再構築されたピクセルである。
本願の一側面では、デコーダは、空間予測プロセス内で非ブロック化を個々のブロックに適用するように構成される。言い換えれば、フルフレームが完成した後の代わりに、ブロックが再構築されるにつれて、非ブロック化がブロック毎に適用される。インターコード化されたフレームに関して、非ブロック化は、いくつかの実施形態では、依然としてフルフレームが完成した後に適用されてもよく、またはいくつかの実施形態では、イントラコード化されたフレームに関連して以下で説明されるように、ブロック毎に行われてもよい。
ここで、4×4ブロック例100に対する非ブロック化の影響を示す図5を参照する。ブロック100は、フレーム内のごく最近に復号されたブロックである。ブロック100の上側および左側のブロックは、すでに再構築されている。所与のブロックについて、非ブロック化は、その左および上の境界にしか直接適用することができない(その右および下の境界を越えるブロックはまだ再構築されていない)が、予測計算に使用され、今後のブロックのコーディングに影響を及ぼす場合があるのは、下および右の境界であることが留意されるであろう。それでもなお、以下の説明から、ブロック100の下および右のピクセルが、後に、以降のブロックでの空間予測に使用される場合、非ブロック化をブロック100の上および左の境界に適用することは、好ましい有益性を有することが留意されるであろう。
依然として図5を参照すると、当業者であれば、例えば、H.264で規定されているもののような、いくつかの非ブロック化フィルタが、境界から奥の最大3つのピクセルを強化してもよいことを理解するであろう。例えば、H.264非ブロック化プロセス内の「モード4」は、3つのピクセル分の深さの効果を及ぼす。また、H.264で使用される境界強度モデル下では、ブロックがイントラコード化されるため、非ブロック化モードは、境界がマクロブロック境界でもあるかどうかに応じて、モード4またはモード3のいずれか一方となる。したがって、ブロック100上の境界102および左の境界104を非ブロック化することは、ブロック100内の16個のピクセルのうちの15個に影響を及ぼしてもよいことが留意されるであろう。顕著に、非ブロック化は、右の境界上の4つのピクセル108のうち3つ、および下の境界上のピクセル106のうち3つに影響を及ぼしてもよい。したがって、上の境界102および左の境界104を非ブロック化することは、隣接ブロックに対する空間予測に使用されてもよい、下および右の境界上のピクセルデータの質に影響を及ぼす。
したがって、図2を再び参照すると、空間補償器57は、イントラコード化された復号ループ内で、非ブロック化を個々の再構築されたブロックに適用するように構成される。言い換えれば、それは、ブロック毎に、かつブロックの上および左の境界のみに適用される。また、それは、フレーム内の次のブロックの再構築を進める前に、再構築される際に各ブロックに適用される。結果として、空間補償器57に利用可能なピクセルデータは、部分的に非ブロック化される(右下隅のピクセルが非ブロック化されないため、「部分的に」)。
図2に示されるように、空間補償器57は、非ブロック化モジュール64を含む。いくつかの実施形態では、非ブロック化モジュール64は、非ブロック化プロセッサ60で通常使用される、既存の非ブロック化ルーチンまたは他のソフトウェア構成要素への呼び出しを含んでもよいことが理解されるであろう。
図1を再び参照すると、本願によるエンコーダ10は、非ブロック化構成要素31を含むことが留意されるであろう。非ブロック化モジュール64(図2)のように、非ブロック化構成要素31は、フレーム内の次のブロックの再構築が発生する前に、非ブロック化を再構築されたブロックの上および左の境界に適用するためのものである。次いで、非ブロック化構成要素31からの非ブロック化されたピクセルデータは、その予測の基礎を非ブロック化されたピクセルデータに置いてもよいように、空間予測器21に利用可能である。
ここで、フローチャート形態で復号プロセス120を示す、図6を参照する。図6に図示された復号プロセス120は、ビデオのイントラコード化されたフレームを復号することを目的とするプロセス例である。ビデオのフレームは、本明細書で説明される改変、具体的には、イントラコード化されたブロックのインループ非ブロック化を受けて、H.264規格に従って符号化されてもよい。符号化プロセスは、符号化されたデータのビットストリームをもたらす。プロセス120は、ビットストリームを受信し、それを復号してビデオデータを再構築し、ビデオを表示または出力するように構成される、セットトップボックス、テレビ、コンピュータ、モバイルデバイス等のデバイスで実装されてもよい。インターコード化されたフレームに対する復号プロセスは、いくぶん同様であるが、図6では図示されていない動き補償および再構築フレーム記憶ステップを含む。
プロセス120は、ステップ122で指数iの初期化から始まる。指数iは、フレームの中のどのブロックが復号プロセス120の対象であるかを示す。左右および上下の復号プロセスに従って、各ブロックが順に処理される。受信したビットストリームのエントロピー復号は、ブロックiがエントロピー復号されるステップ124から始まる。エントロピー復号は、符号化されたデータのビットストリームを、量子化された変換領域係数に変換する。それはまた、量子化器ステップサイズ、およびビデオデータを再構築するためにデコーダによって使用される他の情報を含む、サイド情報も回収してもよい。
各ブロックiについて、プロセス120は、変換領域係数を回収するように、ステップ126で量子化された変換領域係数を逆量子化することを有する。次いで、ブロックiの変換領域係数は、各ピクセルに対する残余データを再構築するように、ステップ128で逆変換される。空間予測を使用するイントラコード化されたブロックでは、ステップ128で再構築されるピクセルデータは、隣接ブロックからの参照ピクセルに対する差を表す、「残余」データである。したがって、ステップ130では、同じフレーム内の以前に再構築されたブロックの中の隣接ピクセルからの残余データおよびピクセルデータを使用して、ピクセル値を再構築するように、空間補償が適用される。ステップ130は、ブロックiに対するピクセルビデオデータの再構築をもたらす。
ステップ140(鎖線の中に示される)は、ブロックiの左および上の境界への非ブロック化フィルタの適用である。上述のように、ブロックiの左および上の境界を非ブロック化することは、ブロックiの右側および一番下のピクセルのうちの少なくともいくつかの中のピクセルデータの質の改良をもたらしてもよい。後続のブロックで予測の基準として使用されてもよいのは、この右側および一番下のピクセルデータである。空間予測に使用されるときのこのデータの質の改良は、符号化されることが必要な残余データを低減することができ、結果として、速度ひずみ性能を向上させることができる。
一実施形態例では、ステップ140は、ステップ132、134、136、および138を含む。ステップ132および136は、それぞれ、左および上の境界に対する境界強度の評価である。境界強度評価は、どのような非ブロック化のモードが適用されるか、すなわち、どのような種類のフィルタが使用されるかを決定する。ステップ134および138では、それぞれ、左および上の境界は、境界強度評価によって示されるフィルタの種類を使用して非ブロック化される。
ブロックiの左および上の境界が非ブロック化された後、プロセス120は、ステップ142へと続き、そこで、フレームの中に処理される付加的なブロックがあるかどうかを評価する。もしそうであれば、次いで、指数がステップ144で増分され、プロセス120はステップ126に戻る。もしそうでなければ、次いで、再構築されたフレームがステップ146で出力される。
再構築ループがエントロピーエンコーダ26(図1)の前に始まるため、エントロピー復号が必要とされないことを除いて、空間予測器21(図1)によって使用されるブロックを再構築するために、プロセス120と同じまたは同様のプロセスがエンコーダ10(図1)で使用されることが理解されるであろう。
実験では、イントラコーディングへのインループ非ブロック化の適用は、foreman.cif、highway.cif、paris.cif等を含む、広範囲のビデオクリップについて、同じひずみおよび1〜5%の速度節約をもたらすことが分かっている。
(均衡ひずみ量子化)
以下の考察では、DCT係数およびDCT領域を参照するが、本願はDCTに特異的に限定されないことが理解されるであろう。本願は、より広範囲には、ブロックベースの変換に適用可能である。
DCT領域内での量子化の境界において見られる比較的大きいひずみは、内部ピクセルを回収するためよりも、境界ピクセルを再構築するための不良な加重和によって引き起こされる。具体的には、異なるDCT係数が、ピクセル領域内の再構築に異なる加重をつける。それにもかかわらず、DCT係数に適用される量子化は一様である。したがって、本願は、ピクセル領域中のサンプルの間でひずみ分布を均等にするようにDCT係数に対する量子化を適合的に適用することを提案する。
予測
Figure 0005303659
を有する所与の4×4ブロック
Figure 0005303659
について、残余は
Figure 0005303659
である。DCT領域中で実行される均一な量子化は、以下のように表され得る。
Figure 0005303659
ここで、cは、
Figure 0005303659
が4×4DCT行列である
Figure 0005303659
に等しい、
Figure 0005303659
の要素であり、uは、cの量子化出力であり、qは、量子化ステップサイズであり、δは、端数切り捨てパラメータを表す。
cの量子化出力を
Figure 0005303659
と見なす場合、量子化誤差が
Figure 0005303659
である一方で、ピクセル領域内の現在のブロックに対する再構築誤差は、
Figure 0005303659
である。ユークリッド距離によって測定される場合、DCTがユニタリ変換であるため、DCT領域中の全量子化誤差は、
Figure 0005303659
として、ピクセル領域中のものと同じになる。しかしながら、ブロック全体の中の個々のピクセルの再構築された誤差を考慮されたい。異なるピクセルの再構築誤差の統計量は、相互に極めて異なるが、同じ量子化器が全てのDCT係数に適用される。
例えば、4×4DCTを取り上げて、本願は、DCT係数位置のそれぞれに1つずつ、16個の明確に異なる量子化ステップサイズが選択されることを提案する。量子化ステップサイズの選択は、ピクセル領域内のひずみの均等な分布を達成することに基づくものである。
DCT係数は、以下のように、
Figure 0005303659
と定義され得る。
係数位置は、以降の操作を容易にするために整数を使用して指数化される。量子化ステップのサイズは、以下のような
Figure 0005303659
である対応する行列
Figure 0005303659
として定義され得る。
境界ピクセルと内部ピクセルとの間のひずみ分布を一様にするために
Figure 0005303659
を量子化する量子化器
Figure 0005303659
を設計するために、以下のように条件付きRD最適化問題を公式化することができ、
Figure 0005303659
i=1...16について、
Figure 0005303659
に従い、ここで、zおよび
Figure 0005303659
は、それぞれ、
Figure 0005303659
および
Figure 0005303659
の要素であり、
Figure 0005303659
および
Figure 0005303659
であり、E()は、標準期待値演算であり、Dは、所望の平均ひずみであり、uは、式(1.1)によるqを使用してcを量子化することの出力であり、r(・)は、量子化出力をコード化するための速度関数を表し、λは、定数であり、
Figure 0005303659
は、行列間の要素毎の乗算を意味する。
ユークリッド距離を維持するためのDCTのユニタリ特性を考慮されたい。式(1.2)を以下のように、
Figure 0005303659
と書き換えることができる。
以下の解析では、4×4DCT係数に対して独立ガウス分布を仮定する。
式(1.3)における公式は、最適化変数として量子化ステップサイズを使用することによって、スカラー量子化器を開発するという明確な論理を反映する。しかしながら、この最適化を解くことは困難である。量子化ひずみが、スカラー量子化器である量子化ステップサイズの単調関数であると考慮されたい。最適化変数として量子化ひずみを使用してもよく、具体的には、{D,...D16}に基づく16個の量子化器を設計することを目指し、Dは、そのステップサイズqを有するi番目の量子化器に対する量子化ひずみを表す。cに対するN(0,σ )を有する独立ガウス分布を仮定することによって、式(1.3)における速度関数を置換するために、ガウスソースに対する速度ひずみ関数
Figure 0005303659
をさらに使用する。
Figure 0005303659
および
Figure 0005303659
であることを考慮されたい。逆変換を以下のような1次形式で書き換えることができる。
Figure 0005303659
ここで、Aは、tに関係付けられる定数行列である。具体的には、行列Aは、逆変換の1次元版である。式(1.5)は、1次元逆変換行列Aを介して、ピクセル領域(例えば、
Figure 0005303659
)内の量子化ひずみを、DCT領域(例えば、c−u・q)内の量子化ひずみに関係付ける。
=E(c−u・qであることを考慮されたい。何らかの導出後に、式(1.4)における条件は、
Figure 0005303659
となる。
これは、{D}に対する16個の線形条件を表す。
要約すると、量子化設計問題は、
Figure 0005303659
となる。
これは、凸最小化の標準技法を使用して解くことができる凸最小化問題である。
前述の考察は、平均ピクセル領域ひずみDを指すが、しかしながら、式(1.6)から理解されるように、ひずみは、より概括的にベクトルと見なされてもよいことに留意されたい。式(1.6)は、平均ピクセル領域ひずみの特別な場合を表す。いくつかの他の場合では、所望のひずみが平均ピクセル領域ひずみとして表されなくてもよい。例えば、場合によっては、中心よりもピクセルのブロックの端で低いひずみを有することが望ましくてもよく、または別の実施例では、空間予測で使用される縁等のブロックの特定の縁で、より低いひずみを有することが望ましくてもよい。所望のピクセル領域ひずみは、式(1.6)および(1.7)の関係における状況に適合するように特定されてもよい。
式(1.7)の最適化問題とは対照的に、JPEGのような画像圧縮のため、またはH.264のようなビデオコーディングのための、DCT領域内の従来の量子化設計は、合計ひずみ制約を受ける。DCT係数が独立ガウスソースから放出されると仮定して、従来の量子化設計における解は、いわゆる逆「注水」を引き起こし、結果として生じるひずみは、Dよりも小さい分散を有するソースを除いた定数Dである。言い換えれば、結果として生じる量子化ひずみは、必ずしもピクセル領域内ではないが、DCT領域内で可能な限り一様に分布する。
しかしながら、この場合、式(1.7)の解は、それらのDCTひずみによってスカラー量子化器を特定し、各係数位置に対するDCTひずみは、ピクセル領域内で所望のひずみDを達成することに基づいて選択される。DCT領域量子化ひずみは、コーディング手順で使用されるために、量子化ステップサイズに変換される必要がある。一般に、D(q)の関数は、複雑すぎてその逆関数を導出できない場合がある。高速スカラー量子化の場合について、D(q)の単純な公式を用いたいくつかの結果がある。それにもかかわらず、必ずしも有効な高速仮定があるとは限らない。本願の一実施形態では、D(q)の単調性が、逆問題を実験的に解くために利用される。具体的には、D(q)の所与の値およびqの初期値について、D(q)を達成する方向に向かって現在のqを徐々に修正することによって、対応するqを探索するために、一般的な勾配降下アルゴリズムが使用される。量子化ステップサイズqの探索は、結果として生じるD(q)が、その係数に対する規定のDに十分近い値に達するまで、継続してもよいことが理解されるであろう。言い換えれば、量子化ステップサイズが所望のDを実現するのに「十分近い」ときを決定するために、閾値範囲が使用されてもよい。また、いくつかの実施形態では、ステップサイズが所定であってもよく、有限数の可能な選択があることを意味し、これがDを正確に実現する能力を制限することも理解されるであろう。これらの選択のうちの1つは、Dを実現するのに最も近くてもよいが、実際のひずみD(q)は、わずかにDとは異なってもよい。この説明では、計算された量子化ひずみDを「実現する」量子化ステップサイズへの言及は、Dに十分近いが正確にはDではないひずみD(q)をもたらす量子化ステップサイズを含むことが理解されるであろう。
ここで、フローチャート形式でビデオを符号化するための方法例200を示す図7を参照する。方法200は、上記で概説される原理を適用する。具体的には、ステップ202では、所望の平均ピクセル領域ひずみDが選択される。選択は、所望の信号対雑音比(SNR)またはピークSNR(PSNR)に基づいてもよい。例えば、一実施形態では、平均ピクセル領域ひずみは、既知または仮定の係数分散および所望のPSNRに基づいて選択されてもよい。一実施形態では、Dは、ユーザによって特定される調整可能な量であってもよく、またはユーザによって選択される「質」設定に基づいてもよく、またはそうでなければ特定のビデオあるいは特定のビデオエンコーダに対して特定されてもよい。
ステップ204では、4×4MBおよび16×16MBの中の各係数位置に対する量子化ステップサイズが、所望の平均ピクセル領域ひずみDを実現することに基づいて決定される。4×4MBの場合、16個の量子化ステップサイズが決定される。いくつかの係数位置に対する量子化ステップサイズは、場合によっては同じであってもよい。量子化ステップサイズの決定は、特定の符号化規格に対する利用可能なステップサイズから選択することを含んでもよい。例えば、H.264では、52個の可能な量子化ステップサイズがある。他の規格またはプロファイルが、より多くの、またはより少ない量子化ステップサイズを許容してもよい。
ビデオフレームまたはスライスに対するDCT係数を量子化するための量子化ステップサイズを選択した後で、ステップ206では、エンコーダが、符号化プロセスにおいて変換領域係数を量子化する際に、選択された量子化ステップサイズを使用して、ビデオフレームまたはスライスを処理する。符号化されたフレームは、当業者によって理解されるように、エンコーダから出力される。
ここで、フローチャート形式でビデオを符号化するための別の方法例220を示す図8を参照する。方法例220は、各マクロブロックに対する予測および残余を生成するようにビデオのフレームを処理することを有する、ステップ222から始まる。残余は、初期変換領域係数を取得するために変換される。処理は、初期量子化ステップサイズqを採用する。処理は、H.264等の所与の規格に従ってもよい。処理は、いくつかの実施形態では、図1から6に関連して上記で説明されるようなインループ非ブロック化を適用することを含んでもよい。ステップ220は、初期変換領域係数の計算においてブロック毎のRD最適化スキームを適用することを含んでもよい。
ステップ224では、係数位置における初期変換領域係数の分散(σ ...σ16 )が、ステップ222において行われた処理に基づいて計算される。いくつかの実施形態では、統計量が異なるサイズのマクロブロックについて異なってもよいので、別個の分散が、I4×4マクロブロックに対応する変換領域係数に対して、およびI16×16マクロブロックに対応する変換領域係数に対して計算されてもよいことに留意されたい。
ステップ226では、所望の平均ピクセル領域ひずみDが選択される。図7に関連して上述のように、選択は、PSRNに関する所望の視覚品質に基づいてもよい。平均ピクセル領域ひずみDは、特定のビデオに対して選択または設定され、全フレームに関連して使用されてもよい(その場合、ステップ226は、メモリからDの事前設定値を読み出すことのみを有してもよい)。平均ピクセル領域ひずみDの選択または設定は、ユーザ構成可能であってもよい。エンコーダは、特定のビデオまたはビデオの一部分を符号化するための平均ピクセル領域ひずみを設定または調整する能力を提供してもよい。いくつかの実施形態では、平均ピクセル領域ひずみは、フレームの尺度および統計量に基づいて各フレームに対して選択されてもよく、フレーム毎に異なってもよい。一例として、ユーザが、再構築されたビデオにおいてある種類の視覚品質を達成することを所望し、Dが品質に及ぼし得る影響を認識している場合、ユーザは、平均ピクセル領域ひずみDを直接特定してもよい。別の実施例では、ユーザは、コーディング速度または量子化ステップサイズ等の別のコーディングパラメータを特定する場合があり、エンコーダは、符号化プロセスを実行して、特定の結果として生じる平均ピクセル領域ひずみDを識別してもよく、次いで、ひずみを一様にしようとするために使用される実験的D因数とともに、符号化プロセスを再実行する際にそれを使用してもよい。ある意味、Dは、自由パラメータである。上述のように、いくつかの実施形態では、所望のピクセル領域ひずみは、ピクセルのブロックにわたって一様である平均ピクセル領域ひずみではなくてもよい。
ステップ228では、係数位置に対するDCT領域量子化ひずみD...D16が、これらの係数位置における係数に対する分散σ ...σ16 、および所望の平均ピクセル領域ひずみDに基づいて決定される。上述のように、量子化ひずみD...D16は、式1.6の制約および制約D<σ を受ける、式1.7で定義される凸最小化問題を解くことによって決定されてもよい。一実施形態では、一例として、凸最小化問題は、標準逐次二次計画法を使用して解かれてもよい。
所望の平均ピクセル領域ひずみDを実現するために必要とされる量子化ひずみD...D16を決定した後に、量子化ひずみD...D16は、ステップ230において量子化ステップサイズq...q16に変換される。言い換えれば、ステップ230は、ステップ228で決定される量子化ひずみDを実現するための量子化ステップサイズqを見出すか、または選択することを有する。量子化ステップサイズqは、所定の組の利用可能な量子化ステップサイズから選択されてもよい。例えば、H.264は、使用されてもよい量子化ステップサイズを特定する。H.264に対する少なくとも1つのプロファイルでは、52個の可能な量子化ステップサイズがある。したがって、量子化ステップサイズqは、適用符号化規格によって規定されるステップサイズから選択されなければならないという制約を受けて、量子化ひずみDを最も良く実現するということに基づいて選択されてもよい。上述のように、量子化ステップサイズの選択または決定は、好適な(または最適な)ステップサイズを探索するために標準勾配降下アルゴリズムを使用することを含んでもよい。上述のように、いくつかの実施形態では、別個の量子化ステップサイズ選択を有する別個の4×4量子化器が、I4×4マクロブロックおよびI16×16マクロブロックとともに使用するために作成されてもよい。この場合、取得された量子化ステップサイズは、それぞれ、qI4×4およびqI16×16’として表されてもよい。
量子化ステップサイズqと量子化ひずみDとの間の関係は、単調関数である。一実施形態では、正しいステップサイズを見出すプロセスは、初期量子化ステップサイズ値を選択し、次いで、結果として生じる量子化ひずみを評価することを含む。ステップ228において計算された所望の量子化ひずみと比較して、ひずみが小さすぎる場合には、量子化ステップサイズは、好適なひずみが生じるまで増大させられる。いくつかの実装では、二分探索が採用されてもよい。
ステップ224から230は、まとめて、均衡ピクセル領域ひずみを実現するためのフレーム特有の量子化器を作成するためのステップである。作成は、処理されているフレームの特定の統計量に基づく。言い換えれば、ビデオの特定のフレームのために設計されている量子化器は、量子化ひずみがピクセル領域内で均衡ひずみをもたらすことを確実にするように、特異的に合わせられる。
ステップ232では、ステップ224−230で作成された量子化器を使用して、ビデオのフレームが再処理される(すなわち、変換される、量子化される等)。言い換えれば、ステップ232でのフレームの再処理は、量子化ステップサイズq...q16を使用する。異なる量子化器が異なるサイズのマクロブロックに使用される場合では、ステップ232は、qI4×4およびqI16×16量子化ステップサイズを使用してフレームを再処理する。再処理は、上記で説明されるようなインループ非ブロック化を適用することを含んでもよい。
いくつかの実施形態では、方法220は、反復型であってもよく、したがって、ピクセル領域内の異なる位置におけるひずみ分散間の最大差異が、閾値量より多かったかどうかを決定するために、再処理の結果が閾値に対して評価されるステップ234を含んでもよい。もしそうであれば、次いで、量子化ステップサイズの選択を洗練するために、ステップ224から232が繰り返されてもよい。ステップ224から230の結果が準最適となり得る理由として、ブロックベースの指向性予測スキームにより、量子化器を設計するために使用されるDCTデータと、取得された量子化器が適用される実際のDCTデータとの間の不一致がある。加えて、実データ統計量は、式1.7の基礎にあるガウス仮定から逸脱する場合がある。したがって、ステップ232でのフレームの再処理に起因する分散は、量子化ステップサイズの選択を洗練するために使用されてもよい。ステップ234では、ピクセル領域中の異なる位置におけるひずみ分散間の最大差異が、事前選択された閾値よりも小さい場合には、方法220は、符号化されたフレームが出力されるステップ236へと続く。
フレームの符号化は、符号化されたビデオのビットストリームを生成するように、予測および残余データをエントロピーコード化することを含んでもよいことが理解されるであろう。また、エントロピーコーディングは、ステップ232またはステップ236で発生してもよいことも理解されるであろう。再訪算術コーディングを使用する、エントロピーコーディングのための新規のプロセスを、以下でさらに説明する。
また、ステップ236は、おそらく、有線または無線通信経路上で、エンコーダから宛先デバイスへ符号化されたビットストリームを伝送することを含んでもよいことも理解されるであろう。伝送は、ポイントツーポイント伝送または放送伝送を含んでもよい。出力されたビットストリームはまた、あるいは代替として、不揮発性メモリ等の中に、以降の伝送または出力のためにローカルに記憶されてもよい。一実施形態では、それは、磁気または光ディスク等のデコーダ可読媒体上に記憶されてもよい。
また、エンコーダによって出力されるビットストリームは、ステップ230で見出される量子化ステップサイズの行列を含むことも理解されるであろう。異なる量子化器が異なるサイズのマクロブロックに使用される場合では、量子化ステップサイズの両方の4×4行列、qI4×4およびqI16×16’が、ビットストリームに含まれる。各フレームについて、ビットストリームは、そのフレームに適用可能な量子化行列を含む。
ビットストリームの中の量子化ステップサイズの符号化は、一実施形態では、以下のように行われてもよい。この実施例でのステップサイズは、H.264によって定義される52個の利用可能なステップサイズから選択される。第1に、1ビットの符号語が、最大サイズに対して定義される。これは、高周波数成分に対して選択される量子化器が、ソース分散と同じである所望のひずみを有することが非常にあり得るためであり、量子化出力として0を生成するだけのために十分大きい量子化ステップサイズを意味する。この場合、1ビットのみが伝送され、最大ステップサイズがデコーダによって使用される。量子化ステップサイズについて、さらに4ビットがデコーダに送信される。具体的には、所与の平均ひずみ選好Dに対応する量子化ステップサイズをqと表す。q−8,...,qと表される、16個だけのステップサイズが使用され、その場合、例えば、q−8は、52個のステップサイズの順に従って、qよりも8ステップ小さいステップサイズを意味する。このコーディングスキームは、実験で試験される全てのCIFフレームの全割合の1%未満を占めて、CIFフレームをコード化するために十分機能する。
より具体的には、このコーディングスキーム例は、17個の異なるステップサイズ、qlargeおよびq−8,...,qを考慮してもよい。パラメータqlargeを、H.264によって定義される52個の利用可能なステップサイズの中の最大サイズに設定できる一方で、他の16個のステップサイズは、qに関係付けられる。本質的に、qlargeは、1ビットの符号語に一致し、q−8,...,qは、16個の5ビットの符号語、すなわち、16レベル間で区別する4ビット、およびqlargeから区別する1ビットに一致する。
このコーディングスキーム例は、多くの可能なコーディングスキームのうちの1つにすぎないことが理解されるであろう。
デコーダは、ビットストリームを受信し、ビットストリームをエントロピー復号して、量子化ステップサイズおよび量子化された変換領域係数を回収する。それは次いで、変換領域係数を回収するように、特定の係数位置に対して特定される量子化ステップサイズを使用して、量子化された変換領域係数を逆量子化する。いくつかの実施形態では、量子化ステップサイズは、スライス毎またはフレーム毎に決定される。したがって、量子化ステップサイズは、場合によっては、フレームまたはスライスにつき1回符号化されてもよい。
ここで、適合量子化器モジュール300を有するエンコーダ10のブロック図を示す、図9を参照する。適合量子化器モジュール300は、上記で説明される方法200または220を実装するように構成されてもよい。適合量子化器モジュール300は、ステップ224(図8)に関連して上記で説明されるように、フレームの初期処理に起因する各DCT係数位置に対する分散σを決定する、分散計算機302を含む。分散計算機302は、量子化ひずみDを決定するように構成される量子化ひずみ計算機304に、分散σ情報を供給する。具体的には、各係数位置に対する量子化ひずみD...D16は、各係数位置に対する分散σ ...σ16 、および所望の平均ピクセル領域ひずみDに基づいて決定される。適合量子化器モジュール300はさらに、決定された量子化ひずみD...D16を最も良く実現するための量子化ステップサイズq...q16を見出す、量子化ステップサイズセレクタ306を含む。次いで、選択された量子化ステップサイズq...q16は、ステップ232(図8)と併せて上記で説明されるように、フレームを再処理するために量子化器24によって使用される。
説明および考察を簡単にするために、別個のモジュール、構成要素、または計算機として図示されているが、エンコーダおよび符号化プロセスを実現するためのソフトウェアの構成に応じて、多くの実装が可能であることが理解されるであろう。
(算術コーディングのための改訂コンテキストモデリング)
均衡ひずみ量子化の開発は、量子化出力の異なる統計量をもたらす。加えて、H.264に対して特定されるコンテキストモデリングの基礎にある仮定のうちのいくつかは、量子化ステップサイズが4×4変換ブロック内で変化する場合において、必ずしも有効であるとは限らない。具体的には、H.264によって特定される走査またはコーディング順は、均一な量子化を使用するときのゼロ係数出力の可能性の期待された増大に基づく。「走査順」および「コーディング順」という用語は、以下の考察で交換可能に使用される。
ここで、4×4ブロックについてH.264によって特定されるコーディング順350を図示する、図10を参照する。係数位置1,...,16の番号付けは、左右上下の順に従う。番号付けされた係数位置を参照すると、H.264での規定の走査順は、1、2、5、6、3、4、7、8、9、10、13、14、11、12、15、16である。
本願の一側面によれば、コーディング順は、フレーム毎に動的に決定される。具体的には、コーディング順は、フレームについて獲得される1つ以上の特性または統計量に基づいて決定される。例えば、所与のフレームに対して選択されるコーディング順は、フレームに対する係数分散σ情報を考慮してもよい。
量子化ステップサイズが不均一である、一実施例では、コーディング順は、増大する量子化ステップサイズに基づいて決定される。2つ以上の係数が同じ量子化ステップサイズを共有する程度まで、順番は、H.264で定義され、図10で図示される元の走査順に基づいている。ここで、動的コーディング順例400を図示する、図11を参照する。この実施例では、16個の量子化ステップサイズが以下のように決定されている(下付き文字は、コーディング順ではなく左右上下順に従うことに留意されたい)。
=0.8125
=1.25
=0.8125
=1.75
=2.5
=1.25
=1.25
=4.5
=4.0
10=224
11=224
12=224
13=224
14=224
15=224
16=224
増大する量子化ステップサイズに基づいて、結果として生じるコーディング順が図11に図示されている。この実施例の最小量子化ステップサイズは、係数1および3に対して指定される、0.8125である。同じステップサイズを有するため、1が3の前に走査される、元の走査順を用いて対立が解消される。次のステップサイズは、係数2、6、および7によって共有される、1.25である。元の走査順は、2が6の前に走査され、6が7の前に走査されることを規定し、これら3つの係数が2、6、7の順で走査されることを意味する。次いで、次のステップサイズは、係数4のみに適用可能である1.75であり、よって、これが次である。このようにして処理されると、実施例に対する結果として生じる走査順は、1、3、2、6、7、4、5、9、8、10、13、14、11、12、15、16である。
量子化ステップサイズqの代わりに、またはそれに加えて、コーディング順を選択する際に、他の要因に依存してもよい。
ここで、フローチャート形態で、ビデオ符号化プロセスにおいて量子化された残余をエントロピーコード化する方法450を図示する図12を参照する。方法450は、ステップ452で、量子化された残余uの生成から始まる。ステップ454では、量子化された残余が、増大する量子化ステップサイズに基づいて順序付けられる。言い換えれば、最小量子化ステップサイズを使用して量子化された、量子化された残余が、順番の中で最初に位置付けられる一方で、最大量子化ステップサイズを使用して量子化されたものは、順番の中の最後に位置付けられる。量子化された残余のうちのいずれかが、同じ量子化ステップサイズを使用して量子化された場合には、ステップ456において、H.264等の適用符号化規格によって規定される元の走査順で、それらの相対的位置に基づいて順序付けられる。いったん順番が決定されると、次いで、ステップ458で、量子化された残余が、決定された順番を使用してエントロピー符号化される。ここで、エントロピーエンコーダ26がコーディング順モジュール500を含むことを示す、図9も参照する。コーディング順モジュール500は、例えば、図12に示された方法450を使用して、所与のフレームに対するコーディング順を選択または決定する。
重要マップおよび最終係数フラグに対するコンテキストは、位置情報の使用のほかに、3つの予測方向、すなわち、左右、上下、および全方向を含むように強化される。I4×4マクロブロックについて、左右方向が予測モード1、6、および8に一致する一方で、上下方向は予測モード0、3、5、および7用である。他のモードは、全方向と見なされる。I16×16マクロブロックについて、左右方向が予測モード1に一致する一方で、上下方向は予測モード0用であり、他の予測モードは全方向として扱われる。
レベルとも呼ばれる、非ゼロ量子化出力をコード化するためのコンテキストは、
Figure 0005303659
のように定義される、さらに2つのパラメータ、bLmaxおよびbNumLg1の組み合わせを含むように修正される。
ここで、Lg1は、大きさが1よりも大きいレベルの数であり、Lmは、全ての以前にコード化されたレベルの最大の大きさである。最終的に、所与のコンテキストを有するレベルは、多記号算術コーディングエンジンを使用してコード化される。
均衡ひずみ量子化の開発は、コンテキストモデリングの再訪の動機となったが、改訂符号化方法の使用は、均衡ひずみ量子化が採用される実施形態に限定されない。改訂コンテキストモデリングは、他の状況において適用され得ることが理解されるであろう。当業者であれば、改訂コンテキストモデリングは、特に、量子化ステップサイズが均一ではない任意の符号化プロセスに適用可能であるが、その状況に限定されないことを理解するであろう。
符号化されたデータは、符号化されたデータのビットストリームとして出力されるか、またはコンピュータ可読媒体上に記憶されてもよい。符号化されたデータは、例えば、有線または無線通信ネットワーク上で、遠隔の場所に伝送されてもよい。
上記で説明されるエントロピー符号化方法に従って符号化されたビデオまたは画像データは、対応する復号方法を適用するように構成されるデコーダによって復号される。エンコーダが上記で説明されるような適合コーディング順を使用した場合、デコーダは、データを復号し、後続の逆量子化および逆変換のための正しい順番で量子化された変換領域係数を配設するために、コーディング順を知る必要がある。したがって、デコーダは、データをコード化するためのコーディング順を決定する。コーディング順がフレーム毎にエンコーダによって決定された程度まで、デコーダは、フレーム毎にデータを復号するための同じコーディング順を識別/決定し、適用する。
デコーダがコーディング順を決定するために、コーディング順に関するエンコーダからの何らかのデータ、すなわち、コーディング順データを受信する。一実施形態例では、エンコーダは、コーディング順データを、符号化されたデータのビットストリームに追加するか、または埋め込む。別の実施形態例では、コーディング順データは、ビットストリーム外のサイド情報として送信されるが、この実施形態では、デコーダはまた、コーディング順データを適用して、符号化されたデータの正しい部分に対するコーディング順を決定するように、デコーダがコーディング順データを符号化されたデータに相関させることを可能にする相関情報も受信する。第1の実施形態の場合、コーディング順データは、符号化されたデータの各フレームまたはスライスを送信する前にビットストリーム内に埋め込まれてもよく、それにより、デコーダが、ビットストリームからコーディング順データを回収または抽出し、対応するフレームまたはスライスに対する符号化されたデータのエントロピー復号を試行する前に、適用コーディング順を決定することを可能にする。
コーディング順データは、コーディング順自体を特定する情報を含んでもよい。例えば、コーディング順データは、順方向または逆方向のいずれか一方で、4×4変換ブロックの16個の係数がどの順番で符号化されたかを示すデータを含んでもよい。別の実施例では、コーディング順データは、そこからデコーダがコーディング順を決定することができる、データを含んでもよい。そのような実施例では、デコーダは、コーディング順を決定する際にエンコーダによって行われるものと同一のプロセスを行う。
エンコーダが、それぞれの係数に適用される量子化ステップサイズに基づいてコーディング順を決定する、一実施形態例では、コーディング順データは、それぞれの係数に対する量子化ステップサイズ情報を含んでもよい。この点に関して、コーディング順データは、データが量子化された変換領域係数を正しく逆量子化することを可能にするように、ビットストリームの中で送信される量子化ステップサイズデータである。デコーダは、量子化された変換領域係数をエントロピー符号化するために使用されるコーディング順を決定するために、量子化ステップサイズ情報を使用する。
ここで、符号化されたデータを復号する方法500を示す図15を参照する。符号化されたデータは、フレーム毎またはスライス毎に動的に決定されるコーディング順を使用してエントロピー符号化される、量子化された変換領域係数を含む。符号化されたデータは、符号化されたデータに挿入されたコーディング順データを含む。ステップ502では、デコーダが符号化されたデータを受信する。これは、通信システムを介した、符号化されたデータの受信の結果として発生してもよい。符号化されたデータは、有線または無線ネットワーク上で伝送されるビットストリームの形態であってもよい。別の実施例では、符号化されたデータは、磁気または光ディスク等のコンピュータ可読媒体上に記憶されてもよく、ステップ502でデコーダによって媒体から読み出されてもよい。
ステップ504では、デコーダが、符号化されたデータからコーディング順データを抽出する。コーディング順データは、いくつかの実施形態では、量子化された変換領域係数をエントロピー符号化するために使用されるコーディング順を詳述する、明確な情報を含んでもよい。他の実施形態では、コーディング順データは、そこからデコーダが使用されるコーディング順を判定してもよい、データを含んでもよい。例えば、コーディング順データは、量子化された変換領域係数のブロックのそれぞれの係数に使用される量子化ステップサイズを含んでもよく、コーディング順は、量子化ステップサイズに基づいて決定されてもよい。1つの場合では、コーディング順は、増大する量子化ステップサイズに基づいてもよい。ステップ506は、コーディング順を決定する動作を示す。
ステップ508では、デコーダが、続けて、符号化されたデータをエントロピー復号し、ステップ506で決定されたコーディング順によって特定される順番で、量子化された変換領域係数を回収する。
ステップ510では、デコーダが、続けて、例えば、再構築された残余データを作成するように、量子化された変換領域係数を逆量子化および逆変換し、必要に応じて空間または動き補償を適用し、再構築されたフレーム/スライスを出力することによって、ビデオのピクセルデータの再構築を完了する。
ここで、エンコーダ900の実施形態例の簡易ブロック図を示す、図13を参照する。エンコーダ900は、プロセッサ902と、メモリ904と、符号化アプリケーション904とを含む。符号化アプリケーション906は、メモリ904に記憶され、本明細書で説明されるもの等のステップまたは動作を行うようにプロセッサ902を構成するための命令を含有する、コンピュータプログラムまたはアプリケーションを含んでもよい。例えば、符号化アプリケーション906は、H.264規格を使用して符号化される、ビデオビットストリームを符号化し、出力してもよい。符号化アプリケーション906は、フィードバックループ内でイントラコード化されたブロックのインループ非ブロック化を行うように構成される、インループ非ブロック化構成要素またはモジュール908を含んでもよい。符号化アプリケーション906は、本明細書で説明されるように、フレーム毎に係数に対する量子化ステップサイズを適合的に選択するように構成される、適合量子化器モジュール300を含んでもよい。符号化アプリケーション906は、本明細書で説明されるように、改訂コンテキストモデルを使用して、量子化された残余および他のデータをエントロピー符号化するように構成される、エントロピーエンコーダ26を含んでもよい。符号化アプリケーション906、非ブロック化モジュール908、適合量子化器モジュール300、および/またはエントロピーエンコーダ26は、コンパクトディスク、フラッシュメモリデバイス、ランダムアクセスメモリ、ハードドライブ等のコンピュータ可読媒体上に記憶されてもよいことが理解されるであろう。
ここで、デコーダ1000の実施形態例の簡易ブロック図を示す、図14も参照されたい。デコーダ1000は、プロセッサ1002と、メモリ1004と、復号アプリケーション1006とを含む。復号アプリケーション1006は、メモリ1004に記憶され、本明細書で説明されるもの等のステップまたは動作を行うようにプロセッサ1002を構成する命令を含有する、コンピュータプログラムまたはアプリケーションを含んでもよい。例えば、復号アプリケーション1006は、H.264規格を使用して符号化される、ビデオビットストリームを復号化し、表示してもよい。復号アプリケーション1006は、イントラコード化されたブロックのインループ非ブロック化を行うように構成される、インループ非ブロック化構成要素またはモジュール1008を含んでもよい。復号アプリケーション1006および/または非ブロック化モジュール1008は、コンパクトディスク、フラッシュメモリデバイス、ランダムアクセスメモリ、ハードドライブ等のコンピュータ可読媒体上に記憶されてもよいことが理解されるであろう。
本願によるデコーダおよび/またはエンコーダは、サーバ、好適にプログラムされた汎用コンピュータ、セットトップテレビボックス、テレビ放送機器、およびモバイルデバイスを無制限に含む、いくつかのコンピュータデバイスに実装されてもよいことが理解されるであろう。デコーダまたはエンコーダは、本明細書で説明される機能を実行するようにプロセッサを構成するための命令を含有する、ソフトウェアを介して実装されてもよい。ソフトウェア命令は、CD、RAM、ROM、フラッシュメモリ等を含む、任意の好適なコンピュータ可読メモリ上に記憶されてもよい。
本明細書で説明されるエンコーダ、ならびにエンコーダを構成するための説明された方法/プロセスを実装する、モジュール、ルーチン、プロセス、スレッド、または他のソフトウェア構成要素は、標準コンピュータプログラミング技法および言語を使用して実現されてもよいことが理解されるであろう。本願は、特定のプロセッサ、コンピュータ言語、コンピュータプログラミング慣例、データ構造、他のそのような実装詳細に限定されない。当業者であれば、説明されたプロセスは、特定用途向け集積チップ(ASIC)として揮発性または不揮発性メモリに記憶される、コンピュータ実行可能コードの一部として実装されてもよいことを認識するであろう。
説明された実施形態のある適合および修正を行うことができる。したがって、上記で論議された実施形態は、限定的ではなく例示的と見なされる。

Claims (12)

  1. 符号化されたデータを復号する方法であって、該符号化されたデータは、複数のピクセルのブロックを有するイントラコード化された画像を含み、該方法は、
    該符号化されたデータから該画像のブロックに対してピクセルデータを再構築することと、
    非ブロック化フィルタを該ブロックに対して該再構築されたピクセルデータに適用することにより、非ブロック化された再構築ブロックを生じさせることと、
    該非ブロック化された再構築ブロックからの少なくとも1つの非ブロック化されたピクセルに基づいて、該符号化されたデータおよび予測計算から該画像の後続のブロックに対するピクセルデータを再構築することと
    を含む、方法。
  2. 前記非ブロック化フィルタを適用することは、該非ブロック化フィルタを前記ブロックの左および上の境界に適用することを含む、請求項1に記載の方法。
  3. 前記非ブロック化フィルタを適用することは、前記ブロックの少なくとも1つの境界の境界強度を評価することと、該境界強度の評価に基づいて該非ブロック化フィルタを構成することとを含む、請求項1または請求項2に記載の方法。
  4. データのビットストリームとして前記符号化されたデータを受信することをさらに含み、ブロックに対してピクセルデータを再構築することは、該ブロックに対する量子化されたデータを取得するように該ビットストリームをエントロピー復号することと、該ブロックに対する変換領域係数を取得するように該量子化されたデータを逆量子化することと、該ブロックに対する残余を取得するように該変換領域係数を逆変換することと、該残余および隣接ブロックの少なくとも1つのピクセルから該ブロックに対して該ピクセルデータを生成することとを含む、請求項1〜3のうちのいずれか一項に記載の方法。
  5. 前記ブロックは、4×4ピクセルである、請求項1〜4のうちのいずれか一項に記載の方法。
  6. 前記画像は、ビデオ内にフレームを備える、請求項1〜5のうちのいずれか一項に記載の方法。
  7. コーディング順の複数のブロックを有する画像のブロックベースの符号化の方法であって、該画像内でのブロックの再構築は、該画像内で該コーディング順に後続のブロックを符号化するときに、予測計算において使用され、該方法は、
    該ブロックの該非ブロック化が、該後続のブロックに対する該予測計算の前に発生するように、イントラコーディングループ内で、非ブロック化フィルタを該画像の該再構築されたブロックに適用することを含む、方法。
  8. 前記非ブロック化フィルタを適用することは、非ブロック化されたブロックを作成するように、該非ブロック化フィルタを前記再構築されたブロックの左および上の境界のみに適用することを含む、請求項7に記載の方法。
  9. 前記非ブロック化されたブロックからの少なくとも1つの非ブロック化されたピクセルに基づいて、前記画像の前記後続のブロックを符号化するために残余データを計算することをさらに含む、請求項8に記載の方法。
  10. 複数のブロックを有する画像を符号化するエンコーダであって、該エンコーダは、
    プロセッサと、
    該画像を記憶するメモリと、
    メモリ内に記憶され、請求項7〜9のうちのいずれか一項に記載の方法を行うように該プロセッサを構成する命令を含有する符号化アプリケーションと
    を備える、エンコーダ。
  11. 前記エンコーダは、
    スペクトル変換を前記ブロックに適用して、変換領域係数を生成するように構成される変換プロセッサと、
    該変換領域係数の各々を量子化して、量子化された係数を生じるように構成される量子化器と、
    該量子化された係数を符号化して、符号化された画像データのビットストリームを生成するように構成されるエントロピーエンコーダと
    をさらに備える、請求項10に記載のエンコーダ。
  12. 符号化されたデータを復号するデコーダであって、該符号化されたデータは、複数のピクセルのブロックを有するイントラコード化された画像を含み、該デコーダは、
    プロセッサと、
    メモリと、
    メモリ内に記憶され、請求項1〜6のうちのいずれか一項に記載の方法を行うように該プロセッサを構成する命令を含有する復号アプリケーションと
    を備える、デコーダ。
JP2011549407A 2009-02-13 2010-02-12 イントラコード化された画像またはフレームのインループ非ブロック化 Expired - Fee Related JP5303659B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15242309P 2009-02-13 2009-02-13
US61/152,423 2009-02-13
PCT/CA2010/000180 WO2010091504A1 (en) 2009-02-13 2010-02-12 In-loop deblocking for intra-coded images or frames

Publications (2)

Publication Number Publication Date
JP2012517752A JP2012517752A (ja) 2012-08-02
JP5303659B2 true JP5303659B2 (ja) 2013-10-02

Family

ID=42559897

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011549407A Expired - Fee Related JP5303659B2 (ja) 2009-02-13 2010-02-12 イントラコード化された画像またはフレームのインループ非ブロック化

Country Status (6)

Country Link
US (2) US8311109B2 (ja)
EP (1) EP2396771A4 (ja)
JP (1) JP5303659B2 (ja)
KR (1) KR101260157B1 (ja)
CA (1) CA2751802A1 (ja)
WO (1) WO2010091504A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7456760B2 (en) * 2006-09-11 2008-11-25 Apple Inc. Complexity-aware encoding
TWI375470B (en) * 2007-08-03 2012-10-21 Via Tech Inc Method for determining boundary strength
KR20100095992A (ko) 2009-02-23 2010-09-01 한국과학기술원 비디오 부호화에서의 분할 블록 부호화 방법, 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체
US8792740B2 (en) * 2010-02-02 2014-07-29 Humax Holdings Co., Ltd. Image encoding/decoding method for rate-distortion optimization and apparatus for performing same
KR20110123651A (ko) 2010-05-07 2011-11-15 한국전자통신연구원 생략 부호화를 이용한 영상 부호화 및 복호화 장치 및 그 방법
US8976856B2 (en) 2010-09-30 2015-03-10 Apple Inc. Optimized deblocking filters
JP5884313B2 (ja) * 2011-01-18 2016-03-15 ソニー株式会社 画像処理装置、画像処理方法、プログラム及び記録媒体
US8442338B2 (en) * 2011-02-28 2013-05-14 Sony Corporation Visually optimized quantization
KR101215152B1 (ko) * 2011-04-21 2012-12-24 한양대학교 산학협력단 인루프 필터링을 적용한 예측 방법을 이용한 영상 부호화/복호화 방법 및 장치
KR101855951B1 (ko) * 2011-04-25 2018-05-09 엘지전자 주식회사 인트라 예측 방법과 이를 이용한 부호화기 및 복호화기
CN104025589B (zh) * 2011-11-03 2018-01-12 汤姆逊许可公司 基于图像细化的视频编码和解码
CN108040255A (zh) * 2011-11-21 2018-05-15 松下知识产权经营株式会社 图像处理装置以及图像处理方法
US9749633B2 (en) * 2012-01-19 2017-08-29 Vid Scale, Inc. System and method of video coding quantization and dynamic range control
US9008184B2 (en) * 2012-01-20 2015-04-14 Blackberry Limited Multiple sign bit hiding within a transform unit
US11818341B2 (en) * 2020-03-25 2023-11-14 Lg Electronics Inc. Method and apparatus for encoding/decoding image, for performing deblocking filtering by determining boundary strength, and method for transmitting bitstream

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2737931B1 (fr) * 1995-08-17 1998-10-02 Siemens Ag Procede destine au traitement de blocs d'images decodes d'un procede de codage d'images a base de blocs
US5993541A (en) * 1996-07-31 1999-11-30 Geo Centers Inc Process for nucleation of ceramics and product thereof
FI117534B (fi) * 2000-01-21 2006-11-15 Nokia Corp Menetelmä digitaalisten kuvien suodattamiseksi ja suodatin
US6968091B2 (en) * 2001-09-18 2005-11-22 Emc Corporation Insertion of noise for reduction in the number of bits for variable-length coding of (run, level) pairs
DE10158658A1 (de) * 2001-11-30 2003-06-12 Bosch Gmbh Robert Verfahren zur gerichteten Prädiktion eines Bildblockes
US6807317B2 (en) * 2002-10-25 2004-10-19 Motorola, Inc. Method and decoder system for reducing quantization effects of a decoded image
EP1604530A4 (en) * 2003-03-03 2010-04-14 Agency Science Tech & Res FAST-DECISION ALGORITHM FOR INTRAPRADICTION FOR ADVANCED VIDEO CODING
US20060002468A1 (en) * 2004-06-22 2006-01-05 Minhua Zhou Frame storage method
US20060029135A1 (en) * 2004-06-22 2006-02-09 Minhua Zhou In-loop deblocking filter
KR100624426B1 (ko) * 2004-07-06 2006-09-19 삼성전자주식회사 파이프 라인 방식의 복호화 장치 및 방법과, 이 장치를제어하는 컴퓨터 프로그램을 저장하는 컴퓨터로 읽을 수있는 기록 매체
US8116379B2 (en) 2004-10-08 2012-02-14 Stmicroelectronics, Inc. Method and apparatus for parallel processing of in-loop deblocking filter for H.264 video compression standard
JP4501631B2 (ja) * 2004-10-26 2010-07-14 日本電気株式会社 画像符号化装置及び方法、画像符号化装置のコンピュータ・プログラム、並びに携帯端末
JP4317814B2 (ja) * 2004-12-06 2009-08-19 株式会社ルネサステクノロジ 動画像情報の符号化装置及び符号化方法
US8311119B2 (en) 2004-12-31 2012-11-13 Microsoft Corporation Adaptive coefficient scan order
WO2006118288A1 (ja) * 2005-05-03 2006-11-09 Matsushita Electric Industrial Co., Ltd. 動画像符号化方法、動画像復号化方法およびその装置
US7242328B1 (en) * 2006-02-03 2007-07-10 Cisco Technology, Inc. Variable length coding for sparse coefficients
US7873224B2 (en) * 2006-03-01 2011-01-18 Qualcomm Incorporated Enhanced image/video quality through artifact evaluation
US8059721B2 (en) * 2006-04-07 2011-11-15 Microsoft Corporation Estimating sample-domain distortion in the transform domain with rounding compensation
US8275045B2 (en) * 2006-07-12 2012-09-25 Qualcomm Incorporated Video compression using adaptive variable length codes
WO2008111744A1 (en) 2007-03-13 2008-09-18 Industry-Academia Cooperation Group Of Sejong University Method and apparatus for encoding and decoding image in pixel domain
EP1983759A1 (en) * 2007-04-19 2008-10-22 Matsushita Electric Industrial Co., Ltd. Estimation of separable adaptive interpolation filters for hybrid video coding
JP4650461B2 (ja) * 2007-07-13 2011-03-16 ソニー株式会社 符号化装置、符号化方法、プログラム、及び記録媒体
JP2011501555A (ja) * 2007-10-16 2011-01-06 エルジー エレクトロニクス インコーポレイティド ビデオ信号処理方法及び装置
CN101971632B (zh) * 2008-01-08 2013-10-16 艾利森电话股份有限公司 自适应滤波
US8902972B2 (en) * 2008-04-11 2014-12-02 Qualcomm Incorporated Rate-distortion quantization for context-adaptive variable length coding (CAVLC)
US8611435B2 (en) * 2008-12-22 2013-12-17 Qualcomm, Incorporated Combined scheme for interpolation filtering, in-loop filtering and post-loop filtering in video coding

Also Published As

Publication number Publication date
EP2396771A4 (en) 2012-12-12
KR20110113774A (ko) 2011-10-18
US20120093220A1 (en) 2012-04-19
EP2396771A1 (en) 2011-12-21
US20100208806A1 (en) 2010-08-19
CA2751802A1 (en) 2010-08-19
KR101260157B1 (ko) 2013-05-06
JP2012517752A (ja) 2012-08-02
WO2010091504A1 (en) 2010-08-19
US8311109B2 (en) 2012-11-13

Similar Documents

Publication Publication Date Title
JP5334070B2 (ja) 画像処理における均衡ピクセル領域ひずみ分布を有する適合量子化
JP5303659B2 (ja) イントラコード化された画像またはフレームのインループ非ブロック化
US9282329B2 (en) Methods and devices for data compression using offset-based adaptive reconstruction levels
US20100208804A1 (en) Modified entropy encoding for images and videos
US9445094B2 (en) Image coding apparatus, image coding method, and program, and image decoding apparatus, image decoding method, and program, relating to use of an image quality control parameter
JP5590133B2 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化用コンピュータプログラム、動画像復号装置及び動画像復号方法ならびに動画像復号用コンピュータプログラム
US8582898B2 (en) Method and apparatus for encoding and decoding image based on code table selection adapted to residual value distribution
US8582639B2 (en) Methods and devices for data compression using adaptive reconstruction levels
KR102228577B1 (ko) 양자화 행렬의 부호화 방법 및 복호화 방법과 이를 이용하는 장치
EP2405656B1 (en) Methods and devices for data compression using adaptive reconstruction levels
US20180070109A1 (en) Encoding of images by vector quantization
JP2016146602A (ja) 映像符号化装置、方法及びプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121227

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130322

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130624

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees