JP2018531556A6 - 非4:4:4クロマサブサンプリングのディスプレイストリーム圧縮(dsc)のためのエントロピーコーディング技法 - Google Patents
非4:4:4クロマサブサンプリングのディスプレイストリーム圧縮(dsc)のためのエントロピーコーディング技法 Download PDFInfo
- Publication number
- JP2018531556A6 JP2018531556A6 JP2018520112A JP2018520112A JP2018531556A6 JP 2018531556 A6 JP2018531556 A6 JP 2018531556A6 JP 2018520112 A JP2018520112 A JP 2018520112A JP 2018520112 A JP2018520112 A JP 2018520112A JP 2018531556 A6 JP2018531556 A6 JP 2018531556A6
- Authority
- JP
- Japan
- Prior art keywords
- block
- samples
- groups
- group
- sample
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title description 99
- 238000007906 compression Methods 0.000 title description 24
- 230000004044 response Effects 0.000 claims abstract description 18
- 230000000875 corresponding Effects 0.000 claims description 62
- 238000000638 solvent extraction Methods 0.000 claims description 30
- 241000023320 Luma <angiosperm> Species 0.000 claims description 28
- 238000005070 sampling Methods 0.000 claims description 12
- 230000011664 signaling Effects 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 15
- 239000000203 mixture Substances 0.000 description 15
- 230000000007 visual effect Effects 0.000 description 10
- 238000005192 partition Methods 0.000 description 9
- 230000001131 transforming Effects 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 7
- 230000003044 adaptive Effects 0.000 description 6
- 241000209094 Oryza Species 0.000 description 5
- 235000007164 Oryza sativa Nutrition 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 5
- 235000009566 rice Nutrition 0.000 description 5
- 238000000844 transformation Methods 0.000 description 4
- 230000000051 modifying Effects 0.000 description 3
- 230000000295 complement Effects 0.000 description 2
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 235000019525 fullness Nutrition 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000003287 optical Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 230000001413 cellular Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000006249 magnetic particle Substances 0.000 description 1
- 239000005022 packaging material Substances 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000000644 propagated Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000001360 synchronised Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000001702 transmitter Effects 0.000 description 1
Images
Abstract
ビデオデータをエントロピー符号化するためのシステムおよび方法が提供される。ビデオデータのブロックの複数のサンプルが、ブロックのコーディングモードと、サンプルのクロマサブサンプリング画像フォーマットとに基づいて、サンプルの1つまたは複数のグループに区分される。1つまたは複数のグループのうちの少なくとも1つのグループ中のサンプルのすべてが所定の値に等しい値を有することに応答して、少なくとも1つのグループに対してグループ単位スキップを実行することを介して、ブロックに対してエントロピーコーディングが実行され、グループ単位スキップは、少なくとも1つのグループに関連するサンプルを符号化することを控えることを備える。
【選択図】図13A
【選択図】図13A
Description
[0001]本開示は、ビデオコーディングおよび圧縮の分野に関し、詳細には、ディスプレイストリーム圧縮(DSC:display stream compression)など、ディスプレイリンクを介した送信のためのビデオ圧縮に関する。
[0002]デジタルビデオ機能は、デジタルテレビジョン、携帯情報端末(PDA)、ラップトップコンピュータ、デスクトップモニタ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるディスプレイに組み込まれ得る。適切なソースデバイスにディスプレイを接続するために、ディスプレイリンクが使用される。ディスプレイリンクの帯域幅要件はディスプレイの解像度に比例し、したがって、高解像度ディスプレイは、大きい帯域幅のディスプレイリンクを必要とする。いくつかのディスプレイリンクは、高解像度ディスプレイをサポートするための帯域幅を有しない。高解像度ディスプレイにデジタルビデオを与えるためにより低い帯域幅のディスプレイリンクが使用され得るように帯域幅要件を低減するために、ビデオ圧縮が使用され得る。
[0003]他のものが、ピクセルデータに対して画像圧縮を利用することを試みた。しかしながら、そのような方式は、時々視覚的ロスレスでないか、または従来のディスプレイデバイスにおいて実装することが困難で費用がかかることがある。
[0004]ビデオエレクトロニクス規格協会(VESA:Video Electronics Standards Association)は、ディスプレイリンクビデオ圧縮のための規格として、ディスプレイストリーム圧縮(DSC)を開発した。DSCなど、ディスプレイリンクビデオ圧縮技法は、特に、視覚的ロスレスであるピクチャ品質(すなわち、圧縮がアクティブであることをユーザがわからないような品質のレベルを有するピクチャ)を与えるべきである。ディスプレイリンクビデオ圧縮技法はまた、従来のハードウェアを用いてリアルタイムに実装することが容易で費用がかからない方式を与えるべきである。
[0005]本開示のシステム、方法およびデバイスは、それぞれいくつかの発明的態様を有し、それらのうちの単一の態様が、本明細書で開示される望ましい属性を単独で担当するとは限らない。
[0006]一態様では、ビデオデータをエントロピー符号化する方法は、ビデオデータのブロックのクロマサブサンプリング画像フォーマットを決定することを伴い得る。本方法は、ブロックのコーディングモードと、サンプルのクロマサブサンプリング画像フォーマットとに少なくとも部分的に基づいて、ビデオデータのブロックをサンプルの1つまたは複数のグループに区分することを伴い得る。本方法は、1つまたは複数のグループのうちの少なくとも1つのグループ中のサンプルのすべてが所定の値に等しい値を有することに応答して、少なくとも1つのグループに対してグループ単位スキップを実行することを介してブロックをエントロピー符号化することを伴い得、グループ単位スキップは、少なくとも1つのグループに関連するサンプルを符号化することを控えることを備える。また、本方法のいくつかの態様を実行するためのデバイスが提供される。
[0007]別の態様では、ビデオデータをエントロピー復号する方法は、ビデオデータのブロックを表すビットストリームを受信することを伴い得、ブロックは、サンプルの1つまたは複数のグループを備え、ビットストリームは、ブロックのサンプルの対応するグループがビットストリーム中に含まれないことを示す少なくとも1つのグループ単位スキップ値を含む。本方法は、グループ単位スキップ値に少なくとも部分的に基づいてビットストリームをエントロピー復号することを介してサンプルの1つまたは複数のグループを生成することを伴い得る。本方法は、サンプルのクロマサブサンプリング画像フォーマットを決定することを伴い得る。本方法は、サンプルの1つまたは複数のグループと、ブロックのコーディングモードと、クロマサブサンプリング画像フォーマットとに少なくとも部分的に基づいて、ブロックを再構成することを伴い得る。また、本方法のいくつかの態様を実行するためのデバイスが提供される。
[0008]別の態様では、ビデオデータをエントロピー符号化する方法が提供される。本方法は、ビデオデータのブロックの色成分に関連する複数のサンプルを受信することを備える。本方法は、サンプルがブロック単位スキップを使用して符号化されるべきであるかどうかを決定することをさらに備え得る。その決定は、色成分に対応するすべてのサンプルが所定の値に等しい値を有するかどうかを決定することを備え得、ブロック単位スキップは、複数のサンプルを符号化することを控えることを備える。本方法は、サンプルがブロック単位スキップを使用して符号化されるべきでないと決定したことに応答して、ブロックのクロマサブサンプリング画像フォーマットを決定することをさらに備え得る。本方法は、ビデオデータのブロックをサンプルの1つまたは複数のグループに区分することをさらに備え得、ここにおいて、1つまたは複数のグループのグループの数が、ブロックのコーディングモードと、サンプルのクロマサブサンプリング画像フォーマットと、サンプルに関連する色成分とに少なくとも部分的に基づく。本方法は、サンプルの1つまたは複数のグループをエントロピー符号化することをさらに備え得る。
[0009]別の態様では、ビデオデータをエントロピー符号化するためのデバイスが提供される。本デバイスは、ビデオデータを記憶するように構成されたメモリを備える。本デバイスは、メモリと通信しているプロセッサをさらに備える。プロセッサは、ビデオデータのブロックの色成分に関連する複数のサンプルを受信するように構成される。プロセッサは、サンプルがブロック単位スキップを使用して符号化されるべきであるかどうかを決定するようにさらに構成され、ブロック単位スキップは、複数のサンプルを符号化することを控えることを備える。その決定は、色成分に対応するすべてのサンプルが所定の値に等しい値を有するかどうかを決定することを備える。プロセッサは、サンプルがブロック単位スキップを使用して符号化されるべきでないという決定に応答して、ビデオデータのブロックのクロマサブサンプリング画像フォーマットを決定するようにさらに構成される。プロセッサは、ビデオデータのブロックをサンプルの1つまたは複数のグループに区分するようにさらに構成される。1つまたは複数のグループのグループの数が、ブロックのコーディングモードと、サンプルのクロマサブサンプリング画像フォーマットと、サンプルに関連する色成分とに少なくとも部分的に基づく。プロセッサは、サンプルの1つまたは複数のグループをエントロピー符号化するようにさらに構成される。
[0010]別の態様では、ビデオデータをエントロピー復号する方法が提供される。本方法は、ビデオデータのブロックを表すビットストリームを受信することを備える。本方法は、ブロックの色成分に対応するサンプルがビットストリーム中に含まれないことを示す、ブロックの色成分のためのブロック単位スキップフラグが示されたかどうかを決定することをさらに備える。本方法は、ブロック単位スキップフラグが示されなかったという決定に応答して、サンプルのクロマサブサンプリング画像フォーマットを決定することをさらに備える。本方法は、ビットストリームをエントロピー復号することを介してサンプルの1つまたは複数のグループを生成することをさらに備える。1つまたは複数のグループの数が、クロマサブサンプリング画像フォーマットと、サンプルに関連する色成分とに基づく。本方法は、サンプルの1つまたは複数のグループと、ブロックのコーディングモードと、クロマサブサンプリング画像フォーマットとに少なくとも部分的に基づいて、ブロックを再構成することをさらに備える。
[0011]別の態様では、ビデオデータをエントロピー復号するためのデバイスが提供される。本デバイスは、ビデオデータのブロックを表すビットストリームの少なくとも一部分を記憶するように構成されたメモリを備える。本デバイスは、メモリと通信しているプロセッサをさらに備える。プロセッサは、ブロックの色成分に対応するサンプルがビットストリーム中に含まれないことを示す、ブロックの色成分のためのブロック単位スキップフラグが示されたかどうかを決定するように構成される。プロセッサは、ブロック単位スキップフラグが示されなかったという決定に応答して、サンプルのクロマサブサンプリング画像フォーマットを決定するようにさらに構成される。プロセッサは、ビットストリームをエントロピー復号することを介してサンプルの1つまたは複数のグループを生成するようにさらに構成され、ここにおいて、1つまたは複数のグループの数が、クロマサブサンプリング画像フォーマットと、サンプルに関連する色成分とに基づく。プロセッサは、サンプルの1つまたは複数のグループと、ブロックのコーディングモードと、クロマサブサンプリング画像フォーマットとに少なくとも部分的に基づいて、ブロックを再構成するようにさらに構成される。
[0026]概して、本開示は、ディスプレイストリーム圧縮(DSC)などのビデオ圧縮技法を改善する方法に関する。より詳細には、本開示は、非4:4:4クロマサブサンプリング画像フォーマットを含む、ビデオデータブロックをサンプルの複数のグループに区分することを含むエントロピーコーディングのためのシステムおよび方法に関する。
[0027]いくつかの実施形態は、DSC規格のコンテキストにおいて本明細書で説明されるが、本明細書で開示されるシステムおよび方法が任意の好適なビデオコーディング規格に適用可能であり得ることを、当業者は諒解されよう。たとえば、本明細書で開示される実施形態は、以下の規格、すなわち、国際電気通信連合(ITU)電気通信標準化部門(ITU−T)H.261、国際標準化機構/国際電気標準会議(ISO/IEC)ムービングピクチャエキスパートグループ1(MPEG−1)Visual、ITU−T H.262またはISO/IEC MPEG−2 Visual、ITU−T H.263、ISO/IEC MPEG−4 Visual、(ISO/IEC MPEG−4 AVCとしても知られる)ITU−T H.264、高効率ビデオコーディング(HEVC)のうちの1つまたは複数、およびそのような規格に対する任意の拡張に適用可能であり得る。また、本開示で説明される技法は、将来開発される規格の一部になり得る。言い換えれば、本開示で説明される技法は、前に開発されたビデオコーディング規格、現在開発中のビデオコーディング規格、および次のビデオコーディング規格に適用可能であり得る。
[0028]エントロピーコーディングは、概して、情報の各一意のシンボルを可変長コードワードで表すことを含む、情報をコーディングする方法である。エントロピーコーディングでは、より一般的なシンボルは、一般に、より短いコードワードを使用して表される。したがって、より一般的なシンボルは、より短いコードワードの使用に基づいてより少数のビットを使用して表されるので、情報は圧縮され得る。
[0029]DSC規格のバージョン1.0は、デルタサイズユニット可変長コーディング(DSU−VLC:delta size unit-variable length coding)セマンティクスを提案する。DSC規格のバージョン1.0では、各DSU−VLCユニットは、プレフィックス部分とサフィックス部分とを使用して、ピクセルのグループの残差値をコーディングする。本開示の少なくとも1つの態様は、(以下では一般にDSU−VLCと互換的に呼ばれる)DSU−VLCスタイルコーディングセマンティクスへのエントロピーコーディング原理の組込みに関する。したがって、本開示の少なくとも1つの態様は、エントロピーコーディングに関連するコーディング効率をDSU−VLCセマンティクスに統合することができる。
[0030]ハフマンコード、算術コード、指数ゴロムコード、ライスコードなど、いくつかの普及しているエントロピーコーディング技法が存在する。しかしながら、これらの技法は、一般に、高解像度ディスプレイおよびパネルなど、いくつかの適用例にはあまりに低いことがある1サンプル/クロックの限られたスループットを有する。すなわち、従来のコーディングハードウェアは、DSC規格など、あるコーディング規格において望ましいように、視覚的ロスレスコーディングレートを維持しながら、普及しているエントロピーコーディング技法を利用することが可能であるほど十分なクロックレートを有しないことがある。したがって、本開示の少なくとも1つの態様は、より高いスループット、たとえば、4サンプル/クロックのスループットを有するエントロピーコーディング技法に関する。本開示の別の態様は、非4:4:4クロマサブサンプリング画像フォーマットのための高スループットエントロピーコーディング技法の拡張に関する。たとえば、本明細書で開示される技法は、4:2:2および4:2:0クロマサブサンプリングに適用可能である。
ビデオコーディング規格
ビデオコーディング規格
[0031]ビデオ画像、TV画像、静止画像、あるいはビデオレコーダまたはコンピュータによって生成された画像など、デジタル画像は、水平ラインおよび垂直ラインで構成されたピクセルまたはサンプルを含み得る。単一の画像中のピクセルの数は一般に数万個である。各ピクセルは、一般に、ルミナンス情報とクロミナンス情報とを含んでいる。圧縮がなければ、画像エンコーダから画像デコーダに搬送されるべき情報の甚だしい量は、リアルタイム画像送信を実行不可能にするであろう。送信されるべき情報の量を低減するために、JPEG、MPEGおよびH.263規格など、いくつかの異なる圧縮方法が開発された。
[0032]ビデオコーディング規格は、ITU−T H.261と、ISO/IEC MPEG−1 Visualと、ITU−T H.262またはISO/IEC MPEG−2 Visualと、ITU−T H.263と、ISO/IEC MPEG−4 Visualと、(ISO/IEC MPEG−4 AVCとしても知られる)ITU−T H.264と、そのような規格の拡張を含むHEVCとを含む。
[0033]さらに、VESAによって、あるビデオコーディング規格、すなわち、DSCが開発された。DSC規格は、ディスプレイリンクを介した送信のためにビデオを圧縮することができるビデオ圧縮規格である。ディスプレイの解像度が増加するにつれて、ディスプレイを駆動するために必要とされるビデオデータの帯域幅は、対応して増加する。いくつかのディスプレイリンクは、そのような解像度についてディスプレイにビデオデータのすべてを送信するための帯域幅を有しないことがある。したがって、DSC規格は、ディスプレイリンクを介した相互運用可能な、視覚的ロスレス圧縮のための圧縮規格を規定する。
[0034]DSC規格は、H.264およびHEVCなど、他のビデオコーディング規格とは異なる。DSCは、フレーム内圧縮を含むが、フレーム間圧縮を含まず、これは、ビデオデータをコーディングする際にDSC規格によって時間的情報が使用されないことがあることを意味する。対照的に、他のビデオコーディング規格は、それらのビデオコーディング技法においてフレーム間圧縮を採用し得る。
ビデオコーディングシステム
ビデオコーディングシステム
[0035]添付の図面を参照しながら、新規のシステム、装置、および方法の様々な態様が以下でより十分に説明される。ただし、本開示は、多くの異なる形態で実施され得、本開示全体にわたって提示される任意の特定の構造または機能に限定されるものと解釈されるべきではない。むしろ、これらの態様は、本開示が周到で完全になり、本開示の範囲を当業者に十分に伝えるように与えられる。本明細書の教示に基づいて、本開示の範囲は、本開示の他の態様とは無関係に実装されるにせよ、本開示の他の態様と組み合わせられるにせよ、本明細書で開示される新規のシステム、装置、および方法のいかなる態様をもカバーするものであることを、当業者は諒解されたい。たとえば、本明細書に記載される態様をいくつ使用しても、装置は実装され得、または方法は実施され得る。さらに、本開示の範囲は、本明細書に記載される本開示の様々な態様に加えてまたはそれらの態様以外に、他の構造、機能、または構造および機能を使用して実施されるそのような装置または方法をカバーするものとする。本明細書で開示されるいかなる態様も請求項の1つまたは複数の要素によって実施され得ることを理解されたい。
[0036]本明細書では特定の態様が説明されるが、これらの態様の多くの変形および置換は本開示の範囲内に入る。好適な態様のいくつかの利益および利点が説明されるが、本開示の範囲は特定の利益、使用、または目的に限定されるものではない。むしろ、本開示の態様は、様々なワイヤレス技術、システム構成、ネットワーク、および伝送プロトコルに広く適用可能であるものとし、それらのうちのいくつかが例として、図および好適な態様についての以下の説明において示される。発明を実施するための形態および図面は、本開示を限定するものではなく説明するものにすぎず、本開示の範囲は添付の特許請求の範囲およびそれの均等物によって定義される。
[0037]添付の図面は例を示す。添付の図面中の参照番号によって示される要素は、以下の説明における同様の参照番号によって示される要素に対応する。本開示では、序数語(たとえば、「第1の」、「第2の」、「第3の」など)で始まる名前を有する要素は、必ずしもそれらの要素が特定の順序を有することを暗示するとは限らない。むしろ、そのような序数語は、同じまたは同様のタイプの異なる要素を指すために使用されるにすぎない。
[0038]図1Aは、本開示で説明される態様による技法を利用し得る例示的なビデオコーディングシステム10を示すブロック図である。本明細書で使用され説明される「ビデオコーダ」または「コーダ」という用語は、ビデオエンコーダとビデオデコーダの両方を総称的に指す。本開示では、「ビデオコーディング」または「コーディング」という用語は、ビデオ符号化とビデオ復号とを総称的に指すことがある。ビデオエンコーダおよびビデオデコーダに加えて、本出願で説明される態様は、トランスコーダ(たとえば、ビットストリームを復号し、別のビットストリームを再符号化することができるデバイス)およびミドルボックス(たとえば、ビットストリームを変更、変換、および/または場合によっては操作することができるデバイス)など、他の関係するデバイスに拡張され得る。
[0039]図1Aに示されているように、ビデオコーディングシステム10は、宛先デバイス14によって後で復号されるべき符号化ビデオデータを生成するソースデバイス12を含む。図1Aの例では、ソースデバイス12および宛先デバイス14は、別個のデバイスを構成する。ただし、ソースデバイス12および宛先デバイス14は、図1Bの例に示されているように、同じデバイス上にあるかまたはそれの一部であり得ることに留意されたい。
[0040]もう一度図1Aを参照すると、ソースデバイス12および宛先デバイス14は、それぞれ、デスクトップコンピュータ、ノートブック(たとえば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、車内コンピュータ、ビデオストリーミングデバイス、アイウェアおよび/またはウェアラブルコンピュータなど、エンティティ(たとえば、人間、動物、および/または別の被制御デバイス)によって(に)装着可能な(または着脱自在に取付け可能な)デバイス、エンティティ内で消費、摂取、または配置され得るデバイスまたは装置などを含む、広範囲にわたるデバイスのいずれかを備え得る。様々な実施形態では、ソースデバイス12および宛先デバイス14は、ワイヤレス通信のために装備され得る。
[0041]宛先デバイス14は、復号されるべき符号化ビデオデータをリンク16を介して受信し得る。リンク16は、ソースデバイス12から宛先デバイス14に符号化ビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備え得る。図1Aの例では、リンク16は、ソースデバイス12が符号化ビデオデータをリアルタイムで宛先デバイス14に送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、無線周波数(RF)スペクトルまたは1つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス12から宛先デバイス14への通信を可能にするために有用であり得る任意の他の機器を含み得る。
[0042]図1Aの例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。いくつかの場合には、出力インターフェース22は、変調器/復調器(モデム)および/または送信機を含み得る。ソースデバイス12において、ビデオソース18は、ビデオキャプチャデバイス、たとえばビデオカメラ、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および/またはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、あるいはそのようなソースの組合せを含み得る。一例として、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、図1Bの例に示されているように、いわゆる「カメラフォン」または「ビデオフォン」を形成し得る。ただし、本開示で説明される技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび/またはワイヤード適用例に適用され得る。
[0043]キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオは、ビデオエンコーダ20によって符号化され得る。符号化ビデオデータは、ソースデバイス12の出力インターフェース22を介して宛先デバイス14に送信され得る。符号化ビデオデータは、さらに(または代替として)、復号および/または再生のための宛先デバイス14または他のデバイスによる後のアクセスのためにストレージデバイス31上に記憶され得る。図1Aおよび図1Bに示されているビデオエンコーダ20は、図2Aに示されているビデオエンコーダ20、または本明細書で説明される他のビデオエンコーダを備え得る。
[0044]図1Aの例では、宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。いくつかの場合には、入力インターフェース28は受信機および/またはモデムを含み得る。宛先デバイス14の入力インターフェース28は、リンク16を介しておよび/またはストレージデバイス31から符号化ビデオデータを受信し得る。リンク16を介して通信された、またはストレージデバイス31上に与えられた符号化ビデオデータは、ビデオデータを復号する際に、ビデオデコーダ30などのビデオデコーダが使用するための、ビデオエンコーダ20によって生成された様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信された、記憶媒体上に記憶された、またはファイルサーバに記憶された符号化ビデオデータに含まれ得る。図1Aおよび図1Bに示されているビデオデコーダ30は、図2Bに示されているビデオデコーダ30、または本明細書で説明される他のビデオデコーダを備え得る。
[0045]ディスプレイデバイス32は、宛先デバイス14と一体化されるかまたはその外部にあり得る。いくつかの例では、宛先デバイス14は、一体型ディスプレイデバイスを含み、また、外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス14はディスプレイデバイスであり得る。概して、ディスプレイデバイス32は、復号ビデオデータをユーザに表示し、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
[0046]関係する態様では、図1Bは例示的なビデオコーディングシステム10’を示し、ここにおいて、ソースデバイス12および宛先デバイス14はデバイス11上にあるかまたはそれの一部である。デバイス11は、「スマート」フォンなどの電話ハンドセットであり得る。デバイス11は、ソースデバイス12および宛先デバイス14と動作可能に通信している(随意に存在する)プロセッサ/コントローラデバイス13を含み得る。図1Bのビデオコーディングシステム10’およびそれの構成要素は、場合によっては図1Aのビデオコーディングシステム10およびそれの構成要素と同様である。
[0047]ビデオエンコーダ20およびビデオデコーダ30は、DSCなど、ビデオ圧縮規格に従って動作し得る。代替的に、ビデオエンコーダ20およびビデオデコーダ30は、代替的にMPEG−4,Part10,AVCと呼ばれるITU−T H.264規格、HEVCなど、他のプロプライエタリ規格または業界規格、あるいはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオ圧縮規格の他の例としては、MPEG−2およびITU−T H.263がある。
[0048]図1Aおよび図1Bの例には示されていないが、ビデオエンコーダ20およびビデオデコーダ30は、それぞれオーディオエンコーダおよびデコーダと統合され得、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するために、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含み得る。適用可能な場合、いくつかの例では、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
[0049]ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、またはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、ソフトウェアのための命令を好適な非一時的コンピュータ可読媒体に記憶し、本開示の技法を実行するために1つまたは複数のプロセッサを使用してハードウェアでその命令を実行し得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ/デコーダの一部として統合され得る。
ビデオコーディングプロセス
ビデオコーディングプロセス
[0050]上記で手短に述べられたように、ビデオエンコーダ20はビデオデータを符号化する。ビデオデータは1つまたは複数のピクチャを備え得る。ピクチャの各々は、ビデオの一部を形成する静止画像である。いくつかの事例では、ピクチャはビデオ「フレーム」と呼ばれることがある。ビデオエンコーダ20がビデオデータを符号化するとき、ビデオエンコーダ20はビットストリームを生成し得る。ビットストリームは、ビデオデータのコード化表現を形成するビットのシーケンスを含み得る。ビットストリームは、コード化ピクチャと関連データとを含み得る。コード化ピクチャはピクチャのコード化表現である。
[0051]ビットストリームを生成するために、ビデオエンコーダ20は、ビデオデータ中の各ピクチャに対して符号化演算を実行し得る。ビデオエンコーダ20がピクチャに対して符号化演算を実行するとき、ビデオエンコーダ20は、一連のコード化ピクチャと関連データとを生成し得る。関連データは、量子化パラメータ(QP)などのコーディングパラメータのセットを含み得る。コード化ピクチャを生成するために、ビデオエンコーダ20は、ピクチャを等しいサイズのビデオブロックに区分し得る。ビデオブロックはサンプルの2次元アレイであり得る。コーディングパラメータは、ビデオデータのあらゆるブロックについてコーディングオプション(たとえば、コーディングモード)を定義し得る。コーディングオプションは、所望のレートひずみ性能を達成するために選択され得る。
[0052]いくつかの例では、ビデオエンコーダ20はピクチャを複数のスライスに区分し得る。スライスの各々は、画像またはフレーム中の領域の残りからの情報なしに独立して復号され得る、画像(たとえば、フレーム)中の空間的に別個の領域を含み得る。各画像またはビデオフレームは単一のスライス中で符号化され得るか、あるいは各画像またはビデオフレームはいくつかのスライス中で符号化され得る。DSCでは、各スライスを符号化するために割り振られるターゲットビットは、実質的に一定であり得る。ピクチャに対して符号化演算を実行することの一部として、ビデオエンコーダ20は、ピクチャの各スライスに対して符号化演算を実行し得る。ビデオエンコーダ20がスライスに対して符号化演算を実行するとき、ビデオエンコーダ20は、スライスに関連付けられた符号化データを生成し得る。スライスに関連付けられた符号化データは「コード化スライス」と呼ばれることがある。
DSCビデオエンコーダ
DSCビデオエンコーダ
[0053]図2Aは、本開示で説明される態様による技法を実装し得るビデオエンコーダ20の一例を示すブロック図である。ビデオエンコーダ20は、本開示の技法の一部または全部を実行するように構成され得る。いくつかの例では、本開示で説明される技法は、ビデオエンコーダ20の様々な構成要素間で共有され得る。いくつかの例では、追加または代替として、プロセッサ(図示せず)が、本開示で説明される技法の一部または全部を実行するように構成され得る。
[0054]説明の目的で、本開示は、DSCコーディングのコンテキストにおいてビデオエンコーダ20について説明する。ただし、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。
[0055]図2Aの例では、ビデオエンコーダ20は複数の機能構成要素を含む。ビデオエンコーダ20の機能構成要素は、色空間変換器105と、バッファ110と、平坦度検出器115と、レートコントローラ120と、予測器、量子化器、および再構成器構成要素125と、ラインバッファ130と、インデックスカラー履歴135と、エントロピーエンコーダ140と、サブストリームマルチプレクサ145と、レートバッファ150とを含む。他の例では、ビデオエンコーダ20は、より多数の、より少数の、または異なる機能構成要素を含み得る。
[0056]色空間変換器105は、入力色空間をコーディング実装形態において使用される色空間に変換し得る。たとえば、例示的な一実施形態では、入力ビデオデータの色空間は、赤、緑、および青(RGB)色空間中にあり、コーディングは、ルミナンスY、クロミナンスグリーンCg、およびクロミナンスオレンジCo(YCgCo)色空間において実装される。色空間変換は、ビデオデータへのシフトおよび追加を含む(1つまたは複数の)方法によって実行され得る。他の色空間中の入力ビデオデータが処理され得、他の色空間への変換も実行され得ることに留意されたい。
[0057]関係する態様では、ビデオエンコーダ20は、バッファ110、ラインバッファ130、および/またはレートバッファ150を含み得る。たとえば、バッファ110は、色空間変換されたビデオデータを、ビデオエンコーダ20の他の部分によるそれの使用に先立って保持し得る。別の例では、色空間変換されたデータはより多くのビットを必要とし得るので、ビデオデータはRGB色空間中で記憶され得、色空間変換が必要に応じて実行され得る。
[0058]レートバッファ150は、ビデオエンコーダ20においてレート制御機構の一部として機能し得、このことは、レートコントローラ120に関して以下でより詳細に説明される。各ブロックを符号化することに費やされるビットは、大いに、実質的に、ブロックの性質に基づいて変動することがある。レートバッファ150は、圧縮されたビデオにおけるレート変動を平滑化することができる。いくつかの実施形態では、ビットが固定ビットレート(CBR)でバッファから取り出されるCBRバッファモデルが採用される。CBRバッファモデルでは、ビデオエンコーダ20がビットストリームにあまりに多くのビットを加えた場合、レートバッファ150はオーバーフローし得る。一方、ビデオエンコーダ20は、レートバッファ150のアンダーフローを防ぐために、十分なビットを加えなければならない。
[0059]ビデオデコーダ側では、ビットは、固定ビットレートでビデオデコーダ30のレートバッファ155(以下でさらに詳細に説明される図2Bを参照)に加えられ得、ビデオデコーダ30は、各ブロックについて可変数のビットを削除し得る。適切な復号を保証するために、ビデオデコーダ30のレートバッファ155は、圧縮されたビットストリームの復号中に「アンダーフロー」または「オーバーフロー」すべきでない。
[0060]いくつかの実施形態では、バッファフルネス(BF)は、バッファに現在あるビットの数を表す値BufferCurrentSizeと、レートバッファ150のサイズ、すなわち、任意の時点においてレートバッファ150に記憶され得るビットの最大数を表すBufferMaxSizeとに基づいて定義され得る。BFは次のように計算され得る。
BF=((BufferCurrentSize*100)/BufferMaxSize)
BF=((BufferCurrentSize*100)/BufferMaxSize)
[0061]平坦度検出器115は、ビデオデータ中の複雑な(すなわち、平坦でない)エリアからビデオデータ中の平坦な(すなわち、単純なまたは均一な)エリアへの変化を検出することができる。「複雑な」および「平坦な」という用語は、本明細書では、概して、ビデオエンコーダ20がビデオデータのそれぞれの領域を符号化することの困難さを指すために使用される。したがって、本明細書で使用される複雑なという用語は、概して、ビデオデータの領域が、ビデオエンコーダ20が符号化することが複雑であることを表し、たとえば、テクスチャードビデオデータ、高い空間周波数、および/または符号化することが複雑である他の特徴を含み得る。本明細書で使用される平坦なという用語は、概して、ビデオデータの領域が、ビデオエンコーダ20がエンコーダすることが単純であることを表し、たとえば、ビデオデータ中の滑らかな勾配、低い空間周波数、および/または符号化することが単純である他の特徴を含み得る。複雑な領域と平坦な領域との間の遷移が、符号化ビデオデータ中の量子化アーティファクトを低減するために、ビデオエンコーダ20によって使用され得る。詳細には、レートコントローラ120、ならびに予測器、量子化器、および再構成器構成要素125は、複雑な領域から平坦な領域への遷移が識別されたとき、そのような量子化アーティファクトを低減することができる。
[0062]レートコントローラ120は、コーディングパラメータのセット、たとえば、QPを決定する。QPは、レートバッファ150がオーバーフローまたはアンダーフローしないことを保証するターゲットビットレートについてピクチャ品質を最大にするために、レートバッファ150のバッファフルネスとビデオデータの画像アクティビティとに基づいて、レートコントローラ120によって調整され得る。レートコントローラ120はまた、最適レートひずみ性能を達成するために、ビデオデータの各ブロックについて特定のコーディングオプション(たとえば、特定のモード)を選択する。レートコントローラ120は、再構成された画像のひずみを、それがビットレート制約を満たすように、すなわち、全体的実コーディングレートがターゲットビットレート内に収まるように最小限に抑える。
[0063]予測器、量子化器、および再構成器構成要素125は、ビデオエンコーダ20の少なくとも3つの符号化演算を実行し得る。予測器、量子化器、および再構成器構成要素125は、いくつかの異なるモードで予測を実行し得る。1つの例示的な予測モードは、メディアン適応予測の変更バージョンである。メディアン適応予測はロスレスJPEG規格(JPEG−LS)によって実装され得る。予測器、量子化器、および再構成器構成要素125によって実行され得るメディアン適応予測の変更バージョンは、3つの連続するサンプル値の並列予測を可能にし得る。別の例示的な予測モードはブロック予測である。ブロック予測では、サンプルは、上のライン中の、または同じライン中の左側の前に再構成されたピクセルから予測される。いくつかの実施形態では、ビデオエンコーダ20およびビデオデコーダ30は、両方とも、ブロック予測使用を決定するために、再構成されたピクセルに対して同じ探索を実行し得、したがって、ビットはブロック予測モードで送られる必要がない。他の実施形態では、ビデオエンコーダ20は、探索を実行し、ビットストリーム中でブロック予測ベクトルをシグナリングし得、したがって、ビデオデコーダ30は、別個の探索を実行する必要がない。成分範囲の中点を使用してサンプルが予測される中点予測モードも実装され得る。中点予測モードは、ワーストケースサンプルにおいてさえも、圧縮されたビデオに必要なビットの数の制限を可能にし得る。図3〜図6を参照しながら以下でさらに説明されるように、予測器、量子化器、および再構成器構成要素125は、図3〜図6に示されている方法を実行することによってビデオデータのブロック(または予測の他のユニット)を予測(たとえば、符号化または復号)するように構成され得る。
[0064]予測器、量子化器、および再構成器構成要素125はまた、量子化を実行する。たとえば、量子化は、シフタを使用して実装され得る2のべき乗量子化器(power-of-2 quantizer)を介して実行され得る。2のべき乗量子化器の代わりに他の量子化技法が実装され得ることに留意されたい。予測器、量子化器、および再構成器構成要素125によって実行される量子化は、レートコントローラ120によって決定されたQPに基づき得る。最終的に、予測器、量子化器、および再構成器構成要素125はまた、予測値に逆量子化残差を加算することと、結果がサンプル値の有効範囲の外側にないことを保証することとを含む再構成を実行する。
[0065]予測器、量子化器、および再構成器構成要素125によって実行される予測、量子化、および再構成に対する上記で説明された例示的な手法は、例示的なものにすぎず、他の手法が実装され得ることに留意されたい。また、予測器、量子化器、および再構成器構成要素125は、予測、量子化、および/または再構成を実行するための(1つまたは複数の)副構成要素を含み得ることに留意されたい。さらに、予測、量子化、および/または再構成は、予測器、量子化器、および再構成器構成要素125の代わりにいくつかの別個のエンコーダ構成要素によって実行され得ることに留意されたい。
[0066]ラインバッファ130は、予測器、量子化器、および再構成器構成要素125ならびにインデックスカラー履歴135が、バッファされたビデオデータを使用することができるように、予測器、量子化器、および再構成器構成要素125からの出力を保持する。インデックスカラー履歴135は、最近使用されたピクセル値を記憶する。これらの最近使用されたピクセル値は、専用シンタックスを介してビデオエンコーダ20によって直接参照され得る。
[0067]エントロピーエンコーダ140は、インデックスカラー履歴135と、平坦度検出器115によって識別された平坦度遷移とに基づいて、予測器、量子化器、および再構成器構成要素125から受信された予測残差および他のデータ(たとえば、予測器、量子化器、および再構成器構成要素125によって識別されたインデックス)を符号化する。いくつかの例では、エントロピーエンコーダ140は、サブストリームエンコーダごとにクロックごとに3つのサンプルを符号化し得る。サブストリームマルチプレクサ145は、ヘッダレスパケット多重化方式に基づいてビットストリームを多重化し得る。これは、ビデオデコーダ30が並列に3つのエントロピーデコーダを動作させることを可能にし、クロックごとの3つのピクセルの復号を可能にする。サブストリームマルチプレクサ145は、パケットがビデオデコーダ30によって効率的に復号され得るようにパケット順序を最適化し得る。クロックごとの2のべき乗個のピクセル(たとえば、2ピクセル/クロックまたは4ピクセル/クロック)の復号を可能にし得る、エントロピーコーディングに対する異なる手法が実装され得ることに留意されたい。
DSCビデオデコーダ
DSCビデオデコーダ
[0068]図2Bは、本開示で説明される態様による技法を実装し得るビデオデコーダ30の一例を示すブロック図である。ビデオデコーダ30は、本開示の技法の一部または全部を実行するように構成され得る。いくつかの例では、本開示で説明される技法は、ビデオデコーダ30の様々な構成要素間で共有され得る。いくつかの例では、追加または代替として、プロセッサ(図示せず)が、本開示で説明される技法の一部または全部を実行するように構成され得る。
[0069]説明の目的で、本開示では、DSCコーディングのコンテキストにおいてビデオデコーダ30について説明する。ただし、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。
[0070]図2Bの例では、ビデオデコーダ30は複数の機能構成要素を含む。ビデオデコーダ30の機能構成要素は、レートバッファ155と、サブストリームデマルチプレクサ160と、エントロピーデコーダ165と、レートコントローラ170と、予測器、量子化器、および再構成器構成要素175と、インデックスカラー履歴180と、ラインバッファ185と、色空間変換器190とを含む。ビデオデコーダ30の図示された構成要素は、図2A中のビデオエンコーダ20に関して上記で説明された対応する構成要素に類似する。したがって、ビデオデコーダ30の構成要素の各々は、上記で説明されたビデオエンコーダ20の対応する構成要素と同様の様式で動作し得る。
DSCにおけるスライス
DSCにおけるスライス
[0071]上述のように、スライスは、概して、画像またはフレーム中の領域の残りからの情報を使用することなしに独立して復号され得る、画像またはフレーム中の空間的に別個の領域を指す。各画像またはビデオフレームは単一のスライス中で符号化され得るか、あるいは各画像またはビデオフレームはいくつかのスライス中で符号化され得る。DSCでは、各スライスを符号化するために割り振られるターゲットビットは、実質的に一定であり得る。
量子化パラメータ(QP)
量子化パラメータ(QP)
[0072]上記で説明されたように、ビデオコーディングは、たとえば、予測器、量子化器、および再構成器構成要素125を介した、ビデオデータの量子化を含み得る。量子化は信号に損失をもたらし得、損失の量は、レートコントローラ120によって決定されるQPによって制御され得る。各QPのための量子化ステップサイズを記憶するのではなく、QPの関数としてスケーリング行列が指定され得る。各QPのための量子化ステップサイズはスケーリング行列から導出され得、導出された値は必ずしも2のべき乗とは限らず、すなわち、導出された値は2のべき乗でないこともある。
スキップモード
スキップモード
[0073]所与のブロック中の単一の色座標のすべての値が0であるとき、ブロックの色座標値は、スキップモードを使用して効果的にコーディングされ得る。スキップモードコーディングのいくつかの実装形態では、現在ブロックの色成分の値が、スキップモードを使用してコーディングされるのか(現在ブロックの色成分のすべての値が0である場合)、スキップモードにないのか(現在ブロック色成分の値のうちの少なくとも1つが非0である場合)を示すために、1ビットフラグまたはスキップ値がデコーダにシグナリングされ得る。スキップモードでは、現在ブロックの色成分の値のすべてが0であるとき、1ビットフラグがデコーダにシグナリングされ得、コーダは、ブロックの色成分の値をコーディングすることを控え得る(すなわち、ブロックの色成分の値のコーディングがスキップされ得る)。スキップモードはまた、ブロックよりも小さいサイズを有する色成分の値のグループに、または複数のブロックのグループに適用され得る。スキップモードはまた、ブロックの各色成分について別々に適用され得、たとえば、現在ブロックの色成分の値のすべてが0であるとき、スキップモードは現在ブロックの色成分の値に適用され得る。いくつかの実装形態では、スキップモードは、グループまたはブロックの色成分のすべてに適用され得る。以下でより詳細に説明されるように、スキップモードはまた、ブロックよりも小さいユニットに適用され得る。
DSC v1.0におけるエントロピーコーディング
DSC v1.0におけるエントロピーコーディング
[0074]上記で説明されたように、DSC v1.0では、DSU−VLCが提案されている。DSU−VLCでは、各ユニット(各グループが3つのピクセルを有する、1つのグループの色成分のサンプルを含むユニット)の残差値が、プレフィックス部分とサフィックス部分とを使用してコーディングされる。プレフィックス部分は、サフィックス部分において後続する残差値のサイズ(たとえば、ビットの数)を示し、サフィックス部分は、ユニット中の3つのサンプルの実際の残差値を示す。グループ中のすべての3つの残差値が、プレフィックス部分によって示される同じ数のビットを使用して2の補数でコーディングされる。
[0075]プレフィックス部分について、現在ユニットの残差値の実際のサイズをコーディングする代わりに、プレフィックス値が予測コーディングされ、ここで、現在ユニットの残差値のサイズは、同じ成分の前のユニットの残差値のサイズに基づいて、また、現在ユニットと前のユニットとの間の量子化パラメータの変化を考慮することによって、予測される。たとえば、値requiredSize[0]、requiredSize[1]およびrequiredSize[2]が、それぞれ前のグループの量子化残差値の所要サイズを表すとする。このことから、予測サイズは次のように計算され得る。
predictedSize=(requiredSize[0]+requiredSize[1]+2*requiredSize[2]+2)>>2
predictedSize=(requiredSize[0]+requiredSize[1]+2*requiredSize[2]+2)>>2
[0076]現在ユニットと前のユニットとの間の量子化パラメータの差を考慮することによって、予測サイズは次のように調整され得る。
adjPredictedSize=CLAMP(predictedSize−qLevelChange,0,maxSize−1)
adjPredictedSize=CLAMP(predictedSize−qLevelChange,0,maxSize−1)
[0077]ここで、値maxSizeは現在色座標の最大可能残差値であり、CLAMP関数は次のように定義される。
CLAMP(X,MIN,MAX)((X)>(MAX)?(MAX):((X)<(MIN)?(MIN):(X))
CLAMP(X,MIN,MAX)((X)>(MAX)?(MAX):((X)<(MIN)?(MIN):(X))
[0078]最終的に、現在ユニットの残差のサイズと予測サイズとの間の非負の差が単項コーディングされ得る。0値をコーディングすることによって負の差が示され、たとえば、残差のサイズの変化なし。
[0079]このコンテキストでは、ハフマンコード、算術コード、指数ゴロムコード、ライスコードなど、既存のエントロピーコーディング技法は、いくつかの適用例、たとえば、高解像度ディスプレイおよびパネルにはあまりに低いことがある1サンプル/クロックの限られたスループットを有する。すなわち、従来のハードウェアを使用する、高解像度ディスプレイおよびパネル、たとえば、4Kディスプレイのためのビデオデータの視覚的ロスレスエントロピーコーディングは、経済的に実現可能でないことがある。
[0080]DSCのための既存の手法に関する上記で説明された問題を克服するために、本開示は、以下で改善について説明する。本開示では、以下の説明される技法および手法は、単独でまたは互いとの任意の組合せで使用され得る。
[0081]本開示の1つまたは複数の態様によれば、より高いスループット(たとえば、4サンプル/クロック)を与えるエントロピーコーディング技法が本明細書で説明される。一例では、本明細書で開示される技法は、4:4:4画像フォーマットに適用可能であり得る。ただし、他のスループット値も、特定の実装形態に基づいて達成され得る。
[0082]関係する態様では、低コスト、固定レートの視覚的ロスレス圧縮を与えるDSCコーダが本明細書で開示される。本コーダは、(たとえば、ブロックサイズP×Qを用いる)ブロックベース手法に基づいて設計され、多数のコーディングモードのうちの1つまたは複数とともに実装され得る。たとえば、各ブロックのための利用可能なコーディングオプションは、変換モード(たとえば、DCT、アダマール)、ブロック予測モード、差分パルスコード変調(DPCM:differential pulse-code modulation)モード、パターンモード、中点予測(MPP:mid-point prediction)モード、および/または中点プレディケーションフォールバック(MPPF:mid-point predication fall back)モードを含む。異なるタイプのコンテンツまたは画像を圧縮するために、いくつかのコーディングモードが本コーダにおいて使用され得る。たとえば、テキスト画像はパターンモードを介して圧縮され得、加工していない画像(natural image)は変換モードを介してキャプチャされ得る。
[0083]さらなる関係する態様では、候補モードのレートとひずみの両方を考慮することによって各ブロックのための(1つまたは複数の)最適モードを選択するためのレート制御技法に基づいて、複数の候補コーディングモードの中から各ブロックのためのコーディングモードが選択され、利用され得る。レート制御技法は、バッファモデルを利用することを伴い得、コーデックの設計考慮事項は、バッファがアンダーフロー(たとえば、バッファ中で0ビットよりも少ない)またはオーバーフロー(たとえば、バッファサイズが、設定/定義された最大サイズを超えて増加した)の状態にないことを確実にすることを含み得る。
[0084]DSC v1.0において実装されたDSU−VLCと比較して、本開示のエントロピーコーディング技法の特徴は、限定はしないが、以下を含み得る。
[0085]量子化ブロック残差のコーディング:スキップおよびDSU−VLCコーディングの原理は、各グループが少なくとも1つの非0値を有する場合のみ、各グループがDSU−VLCコーディングされるような方法で組み合わせられ得る。
[0086]変換係数のコーディング:各ブロックの量子化変換係数(たとえば、ディスクリートコサイン変換(DCT))は、最初に量子化変換係数からグループを構成し、次いで、DSU−VLCの同様の原理を使用して各グループをコーディングすることによって、コーディングされ得る。さらに、各グループの量子化変換係数をコーディングするために、スキップおよびDSU−VLCコーディングが組み合わせられ得る。
[0087]プレフィックス予測:現在グループのサイズは、たとえば、前のグループの最大所要サイズのみに基づいて予測され得る。さらに、サイズを予測するとともに、エントロピーコーディング技法は、特に量子化ステップサイズが2のべき乗でないとき、QPの影響を監視し、考慮し、および/または要因として含め得る。
[0088]プレフィックスコーディング:現在サイズと予測サイズの負と正の両方の差がコーディングされ得る。
[0089]上記の態様に関するさらなる詳細が以下で与えられる。本明細書で説明されるエントロピーコーディング技法は、たとえば、ブロック中の各色成分をコーディングするために独立して適用され得ることに留意されたい。
量子化ブロック残差のコーディング
量子化ブロック残差のコーディング
[0090]図3は、本開示で説明される態様による、予測コーディングモード、たとえば、ブロックプレディケーションモードまたはDPCMモードのためのブロックを区分する方法を示す図である。図3の例では、ブロックは16個のサンプル201〜231を含み、ここで、各サンプルは、たとえば、量子化残差である。一実装形態では、ブロック中の量子化残差201〜231の各成分は、たとえば、以下のステップに従ってエントロピーコーディングされ得る。図3に示された図はまた、予測コーディングモードのための複数の区分されたグループに基づいてブロックを再構成することに適用され得る。
[0091]ブロック中のサンプル201〜231は、図3の例に示されているように、4つのグループに区分され得る。ただし、ブロックは、任意の数のグループに区分され得る任意の数のサンプルを有し得る。さらに、本開示で説明されるエントロピーコーディング技法のスループットは、ブロック中のグループの数に関係し得る。実装形態に応じて、サンプル201〜231は、たとえば、1D予測残差、および/またはブロック予測残差、および/またはイントラ予測残差、および/または2Dメディアン適応予測残差(2D median adaptive predicted residual)であり得る。ただし、実施形態によっては、サンプルは他のタイプの残差を表すことがある。
[0092]図3の例には均一グルーピングストラテジーが示されているが、さらなる関係する態様では、各グループ中のサンプルの数が同じではない不均一グルーピングストラテジーが構成され得る。
[0093]以下の説明では、サンプルのグループは、中括弧で囲まれることによって示される。図3に示された例では、グループ1、2、3、および4は、それぞれサンプル{201〜207}、{209〜215}、{217〜223}、および{225〜231}で構成される。(図示されていない)別の例では、グループ1、2、3、および4は、それぞれサンプル{201〜203}、{205〜209}、{211〜219}、および{221〜231}で構成され得る。(図示されていない)また別の例では、グループ1、2、3、および4は、それぞれサンプル{201}、{203〜207}、{209〜217}、および{219〜231}で構成され得る。(図示されていない)また別の例では、グループ1、2、3、および4は、それぞれサンプル{201}、{203および205}、{207〜217}、および{219〜231}で構成され得る。(図示されていない)また別の例では、グループ1、2、3、および4は、それぞれサンプル{201}、{203〜209}、{211〜219}、および{221〜231}で構成され得る。ただし、サンプルの上記のグルーピングは例にすぎず、複数のグループへのブロックの区分の他の方法が実行され得る。
[0094]上記の説明は、ブロックを区分する際に使用され得るいくつかのグルーピング技法を例示および説明したが、ブロックを再構成するときには逆の技法が適用され得る。たとえば、ブロックが、図3に示されているようにサンプルの4つのグループに区分されたとき、ブロックは、サンプル201〜231を含むように再構成され得る。これは、各グループ中に同じ数のサンプルを有しない他の上記で説明されたグルーピングストラテジーにも適用される。
[0095]ブロック中の特定の色座標に関連するすべてのサンプルが0の値を有するとき、ブロックのその色座標に関連するそれらのサンプルはスキップモードを使用してコーディングされ得、たとえば、ブロック中の現在色座標がスキップモードを使用して符号化されるか否かを示すために、ブロックごとの(色座標ごとの)1ビットフラグがシグナリングされ得る。したがって、ブロックの対応する色座標がスキップモードを使用してコーディングされるかどうかを示すために、ブロックの各色座標について1ビットフラグがシグナリングされ得る。他の実装形態では、ブロック中の色座標のすべてについて、単一の1ビットフラグがシグナリングされ得る。本開示では、スキップモードを介したブロック中の現在色座標の符号化は、ブロック単位スキップモードと呼ばれる。
[0096]たとえば、ブロック単位スキップモードは、すべての3つの色座標に適用されるとは限らない。一実装形態では、ブロック単位スキップモードは、クロマ色座標のために適用されるが、ルーマ色座標のためには適用されない。
[0097]いくつかの実装形態では、少なくとも1つの非0値がブロック中の1つの色座標内に含まれているとき、エントロピーコーディング技法は、グループが1つの非0値を有する場合のみ、DSU−VLCを使用して各グループをコーディングすることを伴い得る。たとえば、グループに関連する1ビットフラグまたはグループスキップ値が、そのグループがスキップモードを使用して符号化されるか否かを示すためにシグナリングされ得る。本開示では、スキップモードを介した各グループの符号化は、グループ単位スキップモードと呼ばれる。同様に、1ビットフラグまたはグループスキップ値の復号も、グループ単位スキップモードと呼ばれることがある。
[0098]いくつかの実装形態では、各グループについて、グループ内のサンプルのすべての値が0であるかどうかを決定するために探索が行われる。一例では、グループ中のすべての値が0であるとき、関連するグループ中のサンプルのすべての値が0に等しいことを示す対応するフラグ(たとえば、上記で参照された1ビットフラグ)を介して、値(たとえば、「1」の値)がデコーダにシグナリングされ得る。グループ中の少なくとも1つのサンプルが非0値を有するとき、対応するフラグを介して、値(たとえば、「0」の値)がデコーダにシグナリングされ、その後にグループのDSU−VLCコーディングが続き得る。言い換えれば、グループに関連する対応するフラグは、グループ内の少なくとも1つのサンプルが非0値を所有することを示す値とともにシグナリングされ得る。別の例では、グループ内のサンプルのすべての値が0であるとき、「0」の値がシグナリングされ得、グループが、非0値をもつ少なくとも1つのサンプルを含んでいるとき、「1」の値がシグナリングされ得る。ただし、実施形態によっては、グループ単位スキップモードが現在グループのために採用されたかどうかのシグナリングは、他の好適な様式で、たとえば、複数のビットを介して、グループ単位スキップが現在グループによって採用されたかどうかの指示をシグナリングすることによって、シグナリングされ得る。
変換係数のコーディング
変換係数のコーディング
[0099]図4〜図7は、本開示で説明される態様による、変換係数コーディングモードのためのブロックを区分するための例示的な技法を示す図である。図4の例では、ブロックは16個のサンプル201〜231を含み、ここで、各サンプルは、たとえば、イントラ予測残差またはブロック予測残差である。複数の変換係数C00〜C15を取得するために、サンプル201〜231に変換が適用され得る。一実装形態では、ブロック中の量子化変換係数の各成分は、たとえば、以下のステップに従ってエントロピーコーディングされ得る。図4〜図7に示された図は、概して、変換コーディングモードのためのブロックを区分することに関して説明されるが、変換係数の図示されたグループを復号する際に逆のプロシージャが同じく実行され得る。
[0100]単一の成分のブロック中の量子化変換係数はN個のグループに区分され得る。一例では、Nは4であり、1×16のブロックサイズを生じる。ブロックは、単一の1×16DCT変換(図4の要素300)を使用して変換され得るか、あるいはブロックは、たとえば、1×8DCT変換または1×4DCT変換(図5〜図7を参照)など、(1つまたは複数の)異なる変換サイズを使用して変換され得る。これらの実装形態の各々において、N=4グループの構成が以下で示される。ただし、他の実施形態では、グループNの数は、変換係数の任意の好適な区分になるように選択され得る。
[0101]図4中の16個のサンプル201〜231は、イントラ予測残差またはブロック予測残差を表し得ることに留意されたい。
[0102]本開示で説明される態様による、変換係数コーディングモードのためのブロックの区分の実施形態が、図4に示されている。図4の例では、1×16DCT変換300を使用して変換される16個のブロックサンプル201〜231から4つのグループが構成される。いくつかの実装形態では、サンプルに適用される変換は、アダマール変換などの任意の好適な変換であり得る。
[0103]図4に示されているように、DCT変換は複数の変換係数C00〜C15を生成する。いくつかの実装形態では、変換係数は、0周波数係数である直流(DC)係数C00から開始し、最高周波数係数C15まで順序付けられる。図4に示されているように、変換係数は、4つのグループに区分またはグルーピングされる。本明細書で使用される「区分」および「グルーピング」という用語は、概して、サンプルまたは変換係数を一緒にグループに関連付けるプロセスを指し、必ずしもサンプルまたは変換係数を物理的に分離することを含むとは限らない。別段に記載されていない限り、本開示では、変換係数を表すために同様の順序付けが使用され得、ここで、グループ1中の第1の係数はDC値を表し、複数の変換係数のうちの最後の変換係数は最高周波数成分に関連付けられ、残りの変換係数は、DC値と最高周波数成分との間で(関連付けられた周波数成分に関して)低から高に順序付けられる。図4の例では、グループ1は変換係数C00を含み、グループ2は変換係数C01〜C03を含み、グループ3は変換係数C04〜C07を含み、グループ4は変換係数C08〜C15を含む。したがって、値が「近い」周波数成分に関連付けられた周波数変換係数が一緒にグルーピングされ得る。たとえば、各グループは、対応するグループに関連付けられた周波数範囲内に入る周波数成分を表す変換係数を含めることによって定義され得る。どの周波数成分が一緒にグルーピングされるか(すなわち、どの変換係数が一緒にグルーピングされるか)の選択は、より高効率のコーディングを生じるグルーピングを決定するためのテストなど、様々な基準に基づいて選択され得る。
[0104]図5は、別の例による変換係数の区分(またはグルーピング)を示す図である。図5の例では、2つの1×8DCT変換301および303がブロックサンプル201〜231に適用される。ただし、上記で説明されたように、他のタイプの変換が、本開示の態様から逸脱することなく適用され得る。
[0105]第1の1×8DCT変換301は、第1の複数の変換係数C00〜C07を生成し、第2の1×8DCT変換303は、第2の複数の変換係数C10〜C17を生成する。各1×8DCT変換から生じた、位置順序での対応する変換係数は、同じ周波数成分に関連付けられ得る。たとえば、変換係数C00およびC10は両方ともDC係数であり得、変換係数C07およびC17は最高周波数成分に関連付けられ得る。図5の例では、グループ1は変換係数C00およびC10を含み、グループ2は変換係数C01、C02、C11、およびC12を含み、グループ3は変換係数C03、C04、C13およびC14を含み、グループ4は変換係数C05〜C07およびC15〜C17を含む。
[0106]図6は、別の例による変換係数の区分を示す図である。図6の例では、4つの1×4DCT変換305〜311がブロックサンプル201〜231に適用される。ただし、上記で説明されたように、他のタイプの変換が、本開示の態様から逸脱することなく適用され得る。
[0107]第1の1×4DCT変換305は第1の複数の変換係数C00〜C03を生成し、第2の1×4DCT変換307は第2の複数の変換係数C10〜C13を生成し、第3の1×4DCT変換309は第3の複数の変換係数C20〜C23を生成し、第4の1×4DCT変換311は第4の複数の変換係数C30〜C33を生成する。各1×4DCT変換305〜311からの対応する変換係数は、同じ周波数に関連付けられ得る。たとえば、変換係数C00、C10、C20、およびC30はDC係数であり得、変換係数C03、C13、C23、およびC33は最高周波数係数に関連付けられ得る。図6の例では、グループ1は変換係数C00、C10、C20、およびC30を含み、グループ2は変換係数C01、C11、C21、およびC31を含み、グループ3は変換係数C02、C12、C22、およびC32を含み、グループ4は変換係数C03、C13、C23、およびC33を含む。
[0108]図7は、別の例による変換係数の区分またはグルーピングを示す図である。図7の例では、2つの1×4DCT変換305および307、ならびに1つの1×8DCT変換303がブロックサンプル201〜231に適用される。ただし、上記で説明されたように、他のタイプの変換が、本開示の態様から逸脱することなく適用され得る。
[0109]第1の1×4DCT変換305は第1の複数の変換係数C00〜C03を生成し、第2の1×4DCT変換307は第2の複数の変換係数C10〜C13を生成し、1×8DCT変換303は第3の複数の変換係数C20〜C27を生成する。各DCT変換305〜307からの対応する変換係数は、同じまたは同様の周波数を有し得る。たとえば、変換係数C00、C10、およびC20はDC係数であり得る。図7の例では、グループ1は変換係数C00、C10、およびC20を含み、グループ2は変換係数C01、C11、C21、およびC22を含み、グループ3は変換係数C02、C12、C23、およびC24を含み、グループ4は変換係数C03、C13、C25、C26、およびC27を含む。
[0110]いくつかの例が図5〜図7に関して説明されたが、変換係数の他の変換および区分も実装され得る。たとえば、1×8、1×4、および1×4変換が[8 4 4]などの順序で適用され得、または1×4、1×8、および1×4変換が[4 8 4]などの順序で適用され得る。さらに、図7の例と同様の方法を使用してグループが構成され得る。
[0111]他の実装形態では、4つのグループを構成するために線形グルーピング方法が使用され得、ここで、各グループは、グループごとに4つの変換係数を有することができる。たとえば、図4の例の一代替では、1×16DCT変換200の適用の後、グループ1は第1の4つの変換係数C0〜C3を含んでいることがあり、グループ2は次の4つの変換係数C4〜C7を含んでいることがある、などである。図5の例の一代替では、1×8DCT変換301および303の適用の後、各グループは、変換係数C00〜C07およびC10〜C17の各セットから2つの係数を取ることによって構成され得る。たとえば、グループ1はC00、C10、C01、およびC11を含んでいることがあり、グループ2はC02、C03、C12、およびC13を含んでいることがある、などである。図7の例の一代替では、1×4DCT変換305および307、ならびに1×8DCT変換303の適用の後、各グループは、変換係数C00〜C03およびC10〜C13の2つのセットから各々1つの係数を取り、変換係数C20〜C27のセットから2つの係数を取ることによって、構成され得る。たとえば、グループ1はC00、C10、C20、およびC21を含んでいることがあり、グループ2はC01、C11、C22、およびC23を含んでいることがある、などである。同様のグルーピングストラテジーが、たとえば、[8 4 4]、[4 8 4]など、他の区分変換選定のグループを構成するために実装され得る。
[0112]符号化のためのいくつかのグルーピング技法が図4〜図7に関して説明されたが、グループの復号は、図4〜図7を参照しながら説明された符号化技法の逆順で実行され得る。たとえば、変換係数のグループが、サンプル201〜231に適用された変換の数に基づいて再編成され得、同数の逆変換が、再編成された変換係数に適用され得る。再編成は、たとえば、各グループ中の変換係数の数、または変換係数を生成するために適用された変換のタイプおよび数のシグナリングに基づき得る。
[0113]いくつかの実装形態では、グルーピング構成の後、少なくとも1つの非0値を含んでいるグループのインデックスが逆方向スキャン順序で見つけられ得、たとえば、探索はグループ4、3、2、および1の順序で進む。少なくとも1つの非0値を含んでいるグループ(「有意」グループと呼ばれることもある)のインデックスは、デコーダにシグナリングされ得る。一例では、インデックスは、2ビット固定長コードを使用してシグナリングされ得る。別の例では、ハフマンなどの可変長コード(VLC)あるいは指数ゴロムコードまたはライスコードなどの構造化VLCコードが使用され得る。
[0114](1つの非0値を有するグループを含む)残りのグループは、プレフィックス部分とサフィックス部分とを使用するDSU−VLCを使用してコーディングされ得、ここで、プレフィックスは、後続するサフィックスのサイズを示す。サフィックス部分では、グループ中の係数は、たとえば、同数のビットを使用してコーディングされ得る。
[0115]別の手法では、上記の手法の代替またはそれに加えて、グループは、グループ単位スキップモードを使用してコーディングされ得、ここで、各グループについてスキップフラグまたはスキップ値がシグナリングされ得、各グループは、グループが少なくとも1つの非0値を有する場合のみ、DSU−VLCコーディングされる。
[0116]また別の手法では、上記の手法のうちの1つまたは複数の組合せがブロック単位スキップモードと組み合わせられ得、ここで、上記で説明された技法は、16個の係数C00〜C15のうちの少なくとも1つが非0値を含んでいる場合のみ適用され得る。
[0117]一例では、ブロック単位スキップモードは、すべての3つの色座標に適用されるとは限らない。別の例では、ブロック単位スキップモードは、クロマ色座標にのみ適用され、ルーマ色座標には適用されない。
[0118]さらに別の手法では、上記のステップを適用する前に、最後有意変換係数位置(たとえば、変換係数の絶対値が1よりも大きいかまたはそれに等しい位置)が最初に識別される。位置情報は、デコーダに明示的にシグナリングされ得る。さらに、最後有意位置の絶対値が1だけ減算され得る。たとえば、Cを、最後有意位置に対応する係数値の大きさを表すとする。係数は、Cnew=(|C|−1)*sign(C)によって置き換えられ得、ただし、sign(C)は係数Cのサイン値を表す。最後有意位置に対応するサイン情報sign(C)がシグナリングされ得る。次いで、第1の係数から開始し最後有意係数位置までの(両端値を含む)すべてのサンプルが、グループ単位スキップモードを使用してコーディングされ得る。その後、グループ内のサンプルのうちの少なくとも1つが非0である場合、グループはDSU−VLCコーディングされ得る。グループ内のサンプルのいずれも非0でない場合、グループは、グループ単位スキップモードを使用してコーディングされ得る。最後有意係数位置がグループ境界と重ならないとき、最後有意係数位置までのグループ内のサンプルのサブセットのみがコーディングされ、(0の値を有する)残りのサンプルはコーディングされないことに留意されたい。デコーダにおいて、(0の値を有する)残りのサンプルは最後有意係数位置から直接推論され得る。
[0119]一例では、最後有意位置に対応するサイン情報は、1だけ減算された最後有意係数値の絶対値が0に等しい、すなわち、|C|−1==0であるときのみシグナリングされ得、ただし、Cは、最後有意位置に対応する係数値の大きさを表す。係数は、2の補数を使用してコーディングされ得、たとえば、−(2N-1)〜+(2N-1−1)における値を表すためにNビットが使用され得る。
[0120]一態様では、最後有意位置は、固定長コードを使用してコーディングされ得、ここで、ビットの数は、log2(numberOfSamplesInBlock)に等しく設定される。
[0121]別の態様では、最後有意位置は、たとえば、指数ゴロムコード、ハフマンコード、ライスコードと指数ゴロムコードとの混合など、可変長コードを使用してコーディングされ得る。また別の態様では、上記で説明されたブロック単位スキップモードは、最後有意位置をコーディングするために可変長コードを使用する技法を適用する前に適用され得る。
[0122]また別の手法では、ブロック単位スキップモードは、最後有意位置をコーディングするために可変長コードを使用する技法を適用する前に適用されない。ブロック中のすべてのサンプルが0であるシナリオでは、最後有意位置のデフォルト値がデコーダにシグナリングされ得る。
[0123]一例では、デフォルト最後有意位置は、グループ1中の第1のサンプル位置を表す0である。ブロック中のすべてのサンプルが0である場合、(0の)デフォルト最後有意位置をシグナリングした後、グループ1がグループ単位スキップモードを使用してコーディングされ得る。一方、デフォルト最後有意位置における値が非0である場合、グループ1中の第1のサンプルがDSU−VLCコーディング原理を使用してコーディングされ得る。
[0124]別の例では、デフォルト最後有意位置に対応する絶対値は1だけ減算されない。係数値が1だけ減算されないとき、デフォルト最後有意位置に対応するサイン情報はシグナリングされない。
[0125]また別の例では、デフォルト最後有意位置に対応する絶対値は1だけ減算され得る。たとえば、2つの場合、すなわち、(i)デフォルト最後有意位置に非0値がある、および(ii)デフォルト位置における値が0である、があり得る。最後有意係数値が1だけ減算されるとき、デフォルト最後有意位置に対応するサイン情報は、|C|−1==0であるときにシグナリングされ得、ただし、Cは、最後有意位置に対応する係数値の大きさを表す。
[0126]最後有意位置がデフォルト位置(0)と同じでないシナリオでは、最後有意位置をコーディングするために可変長コードを使用する(1つまたは複数の)技法が適用され得ることに留意されたい。
プレフィックス予測
プレフィックス予測
[0127]一実装形態では、各成分のプレフィックス値は、以下で説明されるように予測され得る。
[0128]値prevBitsおよびcurrBitsは、それぞれ、前のグループおよび現在グループをコーディングするために必要とされるビットの数(たとえば、それぞれ、前のグループのプレフィックス値および現在グループのプレフィックス値)を表し得る。値prevQPおよびcurrQPは、それぞれ、(スキップモードでコーディングされていない前のグループである)前のグループおよび現在グループをコーディングするために使用される量子化パラメータを表し得る。
[0129]値prevBitsは、以下のように、値currQPと値prevQPとの間の差に基づいて調整され得る(ここでは値adjPrevBitsとして示される)。
delSize=|curQp−prevQp|>>k
delSize=(curQp>prevQp)?−delSize:delSize
adjPrevBits=prevBits+delSize
adjPrevBits=Max(1,adjPrevBits)
delSize=|curQp−prevQp|>>k
delSize=(curQp>prevQp)?−delSize:delSize
adjPrevBits=prevBits+delSize
adjPrevBits=Max(1,adjPrevBits)
[0130]ここで、kは任意の正の整数であり得る。一例では、kは3に等しい。
[0131]別の例では、値prevBitsは、値currQPと値prevQPとの間の差に基づいて調整されない、すなわち、値prevBitsは、調整なしにプレフィックス予測のために使用される。
[0132]変換係数をコーディングするとともに、現在グループプレフィックス値(たとえば、値currBits)が、変換モードを使用して前にコーディングされたブロックの同じグループインデックス(および同じ成分)のプレフィックス値に基づいて予測され得る。すなわち、グループi、i∈{1,2,3,4}からの値currBitsが、前にコーディングされた変換ブロック中のそれぞれのグループi、i∈{1,2,3,4}のプレフィックス値(およびそれぞれの量子化パラメータ)に基づいて予測され得る。前のブロック中のそれぞれの色成分がブロック単位スキップモードを使用してコーディングされた場合、ブロック単位スキップモードを使用してコーディングされていない同じ色成分をもつ変換ブロックの最後の発生が、予測のために考慮され得る。前のブロック中の特定のグループiがグループ単位スキップモードでコーディングされた場合、値prevBits=1および/または値adjPrevBits=1が使用され得る。
[0133]プレフィックス予測では、現在ブロックのモードと同じモードを使用してコーディングされた前のブロックのプレフィックス値が使用され得る。一例では、現在ブロックが変換を使用せずに残差を直接コーディングする場合、変換を使用して(またブロック単位モードを使用して)コーディングされていない前のブロックのプレフィックス値および量子化パラメータが予測のために考慮され得る。特に、ブロック中で各グループについて1つずつの、4つのプレフィックス値のうち、グループ単位スキップモードを使用してコーディングされていないグループの最後の発生に対応するプレフィックス値が予測のために使用され得る。
[0134]別の例では、別個のプレフィックス予測関数が各コーディングモードについて維持され得、たとえば、現在ブロックが、変換を適用した後にコーディングされる場合、変換を用いてコーディングされたブロックの前の発生に関連するプレフィックス値が予測のために使用される。同様にして、現在ブロック残差がブロック予測から生成された残差を表す場合、ブロック予測残差を含んでいるブロックの前の発生に関連するプレフィックス値が使用される。
[0135]また別の例では、プレフィックス予測関数は、変換を用いてコーディングされたブロックのためにある関数が維持され、残差、たとえば、1D予測残差、および/またはブロック予測残差、および/またはイントラ予測残差、および/または2Dメディアン適応予測残差を表すブロックのために別の関数が維持され得るような方法で、モードにわたって共有され得る。
[0136]さらに別の例では、現在ブロック中のすべてのグループのプレフィックス値が、前にコーディングされたブロック中の単一のプレフィックス値に基づいて予測され得る。単一のプレフィックス値は、4つのグループのいずれかに関連付けられ得る。1つの手法では、単一のプレフィックス値は、前のブロック中の最後のグループ、たとえば、i=4に関連付けられ得る。前のブロック中の最後のグループがグループ単位スキップモードを使用してコーディングされた場合、グループ単位スキップモードを使用してコーディングされていないグループi−1に関連付けられたプレフィックス値が使用される。別の手法では、最後のグループまたは特定のグループがグループ単位スキップモードを使用してコーディングされた場合、prevBits=1および/またはadjPrevBits=1が使用される。
[0137]現在ブロックのコーディングモードと同じコーディングモードを用いて前のブロックが識別され得ないシナリオでは、予測は、エンコーダのデフォルト初期値に等しく設定された量子化パラメータとともに、値prevBits=1および/または値adjPrevBits=1のデフォルト値に基づき得る。
プレフィックスコーディング
プレフィックスコーディング
[0138]プレフィックスコーディングの一実装形態では、各成分について、値currBitsと値adjPrevBitsとの間の絶対差が単項コーディングを使用してコーディングされ得、サインが追加の1ビットによって示され得る。サインビットは、たとえば、絶対差が0よりも厳密に大きいときのみシグナリングされ得ることに留意されたい。
[0139]別の実装形態では、各成分について、値currBitsと値prevBitsとの間の絶対差が単項コーディングを使用してコーディングされ得、サインが追加の1ビットによって示され得る。
[0140]また別の実装形態では、各成分について、値currBitsが、予測なしに単項コードを使用してコーディングされ得る。
[0141]さらに別の実装形態では、各成分について、値currBits−1が、予測なしに単項コードを使用してコーディングされ得る。
[0142]別の実装形態では、プレフィックス値(たとえば、値currBits−1)を直接コーディングする代わりに、プレフィックス値は、(たとえば、マッピング関数またはテーブルを使用して)値にマッピングされ得、マッピングされた値がコーディングされ得る。テーブル/関数は、平均予想コード長が小さくなる(たとえば、定義されたコード長値よりも小さくなる)方法で設計され得る。プレフィックス値のコーディングは、プレフィックス値(たとえば、値currBits−1)を降順でソートすることと、優勢(most probable)プレフィックス値が、コード長が小さい値にマッピングされ、劣勢(least probable)プレフィックス値が、コード長が大きい(たとえば、定義されたコード長値に等しいかまたはそれよりも大きい)値にマッピングされるように、特定の値を割り当てることとによって行われ得る。
[0143]また別の実装形態では、単項コードの代わりに、たとえばハフマンなどのVLC、または指数ゴロムコード、ライスコードなどの構造化VLCコードが使用され得る。
[0144]さらに別の実装形態では、固定長コードがプレフィックスコーディングのために使用され得る。
2Dブロックへの拡張
2Dブロックへの拡張
[0145]このサブセクションでは、2DブロックサイズP×Qへのエントロピーコーディングの拡張が開示され、ここにおいて、PおよびQは、それぞれブロック高さおよびブロック幅を表す。
[0146]量子化ブロック残差のコーディングに関して、量子化ブロック残差は、一般に、元のブロックから予測ブロックを減算することと、残差ブロックの上に量子化を適用することとによって生成された残差を指す。予測は、空間的に近隣するサンプルから行われ得る。空間予測の例としては、ブロック予測、メディアン適応予測(MAP:median adaptive prediction)、イントラ予測、および/または中点予測がある。量子化ブロック残差のコーディングのために変換が適用されないことに留意されたい。
[0147]2DブロックP×Qの量子化ブロック残差の各成分は、N個のグループに区分され得、ただし、Nは正の整数である。一例では、Nは4に設定される。
[0148]グループは、各量子化残差サンプルが唯一無二の1つのグループに属するように形成され得る。
[0149]各グループ中のサンプルの数は等しいことがあり、たとえば、各グループは(P×Q)/N個のサンプルを有し得る。グループは、ブロックP×Qを(P×Q)/N個のパーティションに区分することによって構成され得、各パーティション中のサンプルは1つのグループと見なされ得る。一例では、区分は垂直方向においてのみ行われ得、たとえば、各パーティションサイズは、P×(Q/N)である。別の例では、区分は水平方向においてのみ行われ得、ここにおいて、各パーティションサイズは、(P/N)×Q。別の例では、区分は、垂直方向と水平方向の両方において行われ得る。一例として、各パーティションサイズは(P/(N/2))×(Q/(N/2))であり得る。
[0150]別の例では、各グループ中のサンプルの数は等しくなく、ここにおいて、サブブロックへの区分は不均一な様式で行われ得る。
[0151]グループを構成した後、グループは、「量子化ブロック残差のコーディング」に関するセクションにおいて上記で説明された(1つまたは複数の)技法を使用してコーディングされ得る。
[0152]量子化変換係数のコーディングに関して、サイズP×Qの2Dブロックの量子化変換係数の各成分は、N個のグループに区分され得、ただし、Nは正の整数である。一例では、Nは4に設定される。
[0153]グループは、各量子化係数サンプルが1つのグループのみに属するように形成され得る。
[0154]各グループ中のサンプルの数は等しくないことがある。同様の周波数を表す量子化変換係数は1つのグループを形成し得る。
[0155]図8は、本開示の態様による、変換係数コーディングモードのためのブロックを区分するための別の例示的な技法を示す図である。図8は、ブロックサイズが4×4であるときにサンプルの2Dブロックをグループに区分することの一例を示す。図8では、P=4およびQ=4であり、グループの数N=4である。たとえば、第1のシェーディングは、変換係数C00を含む第1のグループにを表す。第2のシェーディングは、C01、C02、C04、およびC08を含む第2のグループを表す。第3のシェーディングは、C05、C06、C09、およびC10を含む第3のグループを表す。第4のシェーディングは、C03、C07、C11、C12、C13、C14、およびC15を含む第4のグループを表す。
[0156]図8に示されているグルーピング構成は、本明細書で説明される技法の態様を示す一例にすぎず、サイズP×Qの所与のブロックのためのグループを構成する多数の他の方法があることに留意されたい。
[0157]別の手法では、係数は特定のスキャン順序でスキャンされ得、得られた1D係数スキャンがN個のグループに区分され得る。たとえば、スキャンはジグザグ順序で実行され得る。別の例では、(1つまたは複数の)垂直および/または水平スキャン順序が使用され得る。
[0158]変換区分が適用される(たとえば、ブロック内の各サブブロックについて変換が適用される)とき、異なるパーティションにわたって同様の周波数を表す変換係数は同じグループ中に含まれ得る。たとえば、ブロック内の異なるパーティションに対応するDC値は、第1のグループを形成するために考慮され得る。
[0159]別の手法では、各グループ中のサンプルの数は等しいことがあり、グループは、「量子化ブロック残差のコーディング」に関するセクション上記で説明された(1つまたは複数の)技法を使用して構成され得る。
[0160]グループを構成した後、グループは、「変換係数のコーディング」という見出しの付いたセクションにおいて上記で説明された(1つまたは複数の)技法を使用してコーディングされ得る。
[0161]別の例示的な手法に従ってグループを構成するための技法の一実装形態が、以下で説明される。
[0162]説明の目的で、ブロックサイズは、P=2およびQ=8である、P×Qであり得、グループの数N=4である。ここで、P、Q、およびNは、上記で説明されたように定義され得る。
[0163]図9〜図11は、本開示で説明される態様による、ブロックを区分する方法を示す図である。
[0164]「量子化ブロック残差のコーディング」という見出しの付いた上記のセクションにおいて説明されたように、量子化ブロック残差のグルーピングは、垂直方向にブロックを区分することを介して行われ得、ここで、2×2の各サブブロックサイズが、図9に示されているように1つのグループと見なされ得る。この実施形態では変換が適用されないことに留意されたい。
[0165]「量子化変換係数のコーディング」という見出しの付いた上記のセクションにおいて説明されたように、サイズ2×8のブロックの量子化変換係数のグルーピングは、図10に示されているように構成され得る。図10の例では、2×8変換313が適用される。
[0166]変換区分が適用されるとき(たとえば、2つの2×4変換315および317が2×8のブロックサイズのために適用されるとき)、グループは、図11に示されているように構成され得る。
非4:4:4クロマサブサンプリング画像フォーマットのDSCのためのエントロピーコーディング
非4:4:4クロマサブサンプリング画像フォーマットのDSCのためのエントロピーコーディング
[0167]本開示の1つまたは複数の態様によれば、非4:4:4クロマサブサンプリング画像フォーマットのための高スループットエントロピーコーディング技法の拡張が本明細書で説明される。たとえば、本明細書で開示される技法は、4:2:2および4:2:0クロマサブサンプリング画像フォーマットに適用可能であり得る。
[0168]高スループット(たとえば、4ピクセル/クロック)を達成するために、4:2:2画像フォーマットの場合、N個のグループおよびN/2個のグループが、それぞれルーマ成分およびクロマ成分のために生成され得る。4:2:0画像フォーマットの場合、N個のグループおよびN/4個のグループが、それぞれルーマ成分およびクロマ成分のために生成され得る。4:2:2および4:2:0画像フォーマットでは、ルーマ成分は、上記で前に説明されたように扱われ得ることに留意されたい。非4:4:4クロマサブサンプリング画像フォーマット(たとえば、4:2:0および4:2:2)のクロマ成分を扱うための変更および/または追加のステップが、以下で説明される。
[0169]一例では、ブロックサイズが2×8であり、ルーマ成分について、グループの数N=4であるとき、クロマ成分中のグループのそれぞれの数は、4:2:2画像フォーマットの場合には2であり、4:2:0画像フォーマットの場合には1であり得る。
非4:4:4クロマ画像フォーマットのための量子化変換係数のコーディング
非4:4:4クロマ画像フォーマットのための量子化変換係数のコーディング
[0170]現在ブロックが変換モード(たとえば、DCTまたはアダマール)に基づいてコーディングされるとき、4:2:2および4:2:0画像フォーマット(または他の非4:4:4画像フォーマット)の場合、各グループ中のサンプルの数は、クロマ成分について同じでないことがある。他の実施形態では、4:2:2および4:2:0画像フォーマットの場合、各グループ中のサンプルの数は、クロマ成分については同じであるが、ルーマ成分については同じでないことがあることに留意されたい。
[0171]図12Aは、(2×8の例示的なブロックサイズについて)4:2:2画像フォーマットの場合のクロマ成分のサンプルをグルーピングするための例示的な技法を示す。図12Aに示されているように、4:2:2画像フォーマット、2×8のブロックサイズ、およびグループの数N=4である場合、クロマ成分係数の2つのグループがあり得(N/2=2)、ここにおいて、同様の周波数帯域が、2つのグループのうちの1つ中に集められ得る。図12Aは、係数C00〜C007を、C00が第1のグループ中にあり、係数の残りが第2のグループ中にある、2つのグループに区分されるものとして示しているが、係数は、他の実施形態では、異なるグループに区分され得ることを理解されたい。たとえば、いくつかの実施形態では、第1のグループは係数C00およびC01を備え得、係数の残りは第2のグループ中にある。
[0172]いくつかの実施形態では、グルーピングを実行するとき、異なる変換スキャン順序が使用され得る。たとえば、C00、C01、C02、C03、C04、C05、C06、C07などの順序で係数を出力する水平スキャン順序が使用され得る。別の例では、C00、C04、C01、C02、C05、C06、C03、C07のような、またはC00、C01、C04、C05、C02、C03、C06、C07のような係数の順序を出力するジグザグスキャン順序が使用され得る。別の例では、C00、C04、C01、C05、C02、C06、C03、C07の順序で係数を出力する垂直スキャン順序が使用され得る。いくつかの実施形態では、係数がどのようにグループに区分されるかは、使用される変換スキャン順序に基づき得る。たとえば、ジグザグスキャン順序が使用される実施形態では、第1のグループは係数C00およびC04を備え得、残りの係数は第2のグループに区分される。別の実施形態では、第1のグループは係数C00、C04、C01、およびC02を備え得、第2のグループは残りの係数を備える。
[0173]図12Bは、(2×8の例示的なブロックサイズについて)4:2:0画像フォーマットの場合のクロマ成分のサンプルをグルーピングするための例示的な技法を示す。図12Bに示されているように、4:2:0画像フォーマットの場合、グループの数は1であり得(N/4=1)、ここにおいて、(DC係数C00を含む)すべての4つの係数は、それらの係数のすべてが同様の周波数帯域を有するとは限らない場合でも、同じグループ中に集められる。エントロピーコーディンググループが構成されると、クロマ成分は、上記で説明されたエントロピーコーディング技法を使用してコーディングされ得る。
非4:4:4クロマ画像フォーマットのための量子化ブロック残差のコーディング
非4:4:4クロマ画像フォーマットのための量子化ブロック残差のコーディング
[0174]現在ブロックが、たとえば、ブロック予測モード、DPCMモード、または変換スキップモードに基づいてなど、変換を使用せずにコーディングされるとき、4:2:2および4:2:0画像フォーマット(または他の非4:4:4画像フォーマット)の場合、各グループ中のサンプルの数は、クロマ成分について同じであり得る。
[0175]図13Aは、(2×8の例示的なブロックサイズについて)4:2:2画像フォーマットの場合のクロマ成分のサンプルをグルーピングするための例示的な技法を示す。図13Bは、(2×8の例示的なブロックサイズについて)4:2:0画像フォーマットの場合のクロマ成分のサンプルをグルーピングするための例示的な技法を示す。たとえば、第1のグループはサンプル{S0,S1,S2,S3}を備え得、第2のグループはサンプル{S4,S5,S6,S7}を備える。4:2:2画像フォーマットの場合、他のグルーピング技法が適用され得る。たとえば、サンプル{S0,S1,S4,S5}が1つのグループを形成し得、サンプル{S2,S3,S6,S7}が第2のグループを形成し得る。エントロピーコーディンググループが形成されると、クロマ成分は、上記で説明されたエントロピーコーディング技法を使用してコーディングされ得る。
プロセスフロー
プロセスフロー
[0176]図14は、いくつかの実施形態による、変換モード(たとえば、DCT、アダマールなど)を使用してビデオデータのブロックを符号化するための例示的なプロセスのフローチャートを示す。ブロック1402において、エンコーダが、ビデオデータのブロックの残差値の色成分に対応するビデオデータのサンプルを識別する。
[0177]ブロック1404において、エンコーダは、複数の係数を生成するために、識別されたビデオデータサンプルに対して変換および量子化を実行する。変換は、DCT変換、アダマール変換、または他のタイプの変換を備え得る。いくつかの実施形態では、ブロックのビデオデータサンプルは、単一の変換(たとえば、図4に示されている1×16DCT変換、または2×8DCT変換)を使用して、または異なる変換サイズの複数の変換(たとえば、図5に示されている2つの1×8DCT変換、または2つの2×4DCT変換)を使用して変換され得る。いくつかの実施形態では、各係数は特定の周波数成分に対応し得る。
[0178]ブロック1406において、エンコーダは、係数の位置に少なくとも部分的に基づいて、係数を複数のグループに区分する。いくつかの実施形態では、係数は、等しいサイズのグループに区分され、他の実施形態では、係数は、異なるサイズのグループに区分され得る。いくつかの実施形態では、係数は、1つまたは複数の周波数成分範囲によって係数を順序付けることによって区分され得る(たとえば、第1の係数はDC値を表し、最後の係数は、最高周波数成分に関連付けられを表し、残りの係数は、関連付けられた周波数成分に関して低から高に順序付けられる)。いくつかの実施形態では、変換係数は、特定のスキャン方法、たとえば、水平、垂直、ジグザグなどに基づいて順序付けられ得、さらにグループに区分される。いくつかの実施形態では、係数が区分されるグループの数は、ビデオデータに関連するクロマサブサンプリング画像フォーマットに基づき得る。たとえば、ビデオデータのブロックは、4:4:4、4:2:2、または4:2:0画像フォーマットを使用してコーディングされ得る。各成分のためのグループの数は、ブロックサイズと、クロマサブサンプリング画像フォーマットと、変換サイズと、サンプルがルーマサンプルであるのかクロマサンプルであるのかとに基づき得る。
[0179]ブロック1408において、エンコーダは、複数の係数のうちの最後有意係数の位置を識別する。いくつかの実施形態では、その係数は、所定の値(たとえば、1)よりも大きいかまたはそれに等しい絶対値を有する最後の係数に対応し得る。識別された係数の位置は、(たとえば、デコーダによって受信されるために)ビットストリーム中でシグナリングされ得る。変換から生じる係数の値は、減衰する値(たとえば、指数関数的減衰)を呈し得るので、最後有意係数が識別されると、最後有意係数の後のすべての残りの係数は0の値を有し得る。いくつかの実施形態では、最後有意係数は、ブロックの最後の係数から開始し、最後有意係数が見つかるまで、各係数の値を逆順で検査することによって識別され得る。
[0180]いくつかの実施形態では、複数の係数のうちの有意係数をコーディングするために必要とされるビットの数を低減するために、エンコーダは、最後有意係数の絶対値を1だけ減算し得る。さらに、最後有意係数が1の絶対値を有する場合、識別された係数のサイン値もビットストリーム中でシグナリングされ、デコーダが最後有意係数のサインを決定することを可能にし得る。
[0181]ブロック1410において、エンコーダによって、エントロピーコーディングを使用して、第1の係数から、識別された有意係数の位置までの係数をコーディングする。たとえば、各グループは、プレフィックスといくつかのサフィックスとを使用してコーディングされ得、ここにおいて、プレフィックスは、グループの各サフィックスのサイズを示し、サフィックスの数はグループ中の係数の数に等しい。ビットストリームが復号されるとき、デコーダは、サフィックスの長さを決定するためにプレフィックスを復号し、グループの各サフィックスの位置が決定されることを可能にし得る。グループのサフィックスの各々の位置は、プレフィックスを復号することによって決定され得るので、グループのサフィックスは並列に復号され、復号プロセスのスループットを潜在的に増加させ得る。
[0182]ブロック1412において、エンコーダによって、残りの係数(たとえば、識別された最後有意係数の位置の後の位置を有する係数)をスキップする。デコーダが符号化ビデオデータを復号するとき、デコーダが最後有意係数の位置を決定すると、デコーダは、ブロックのすべての後続の係数が0の値を有すると仮定し得る。したがって、残りの係数がコーディングされる必要はない。
[0183]図15は、いくつかの実施形態による、プレフィックス予測のための例示的な方法のフローチャートを示す。ブロック1502において、エンコーダが、現在ビデオブロック中でコーディングされるべきサンプルまたは係数のグループを識別する。いくつかの実施形態では、サンプルのグループは、非変換コーディングモードを使用してコーディングされるべきビデオブロックの色成分に対応し得る。いくつかの実施形態では、係数のグループは、変換コーディングモードの一部として変換されたサンプルに対応し得る。いくつかの実施形態では、グループはグループインデックスに関連付けられ得、グループインデックスは、識別されたグループが、ビデオデータのブロックのどのグループに対応するかを識別する。
[0184]いくつかの実施形態では、エンコーダは、グループ中のすべての成分が所定の値(たとえば、0値)を有するか否かを決定し得る。所定の値を有する場合、グループは、プレフィックス予測を実行する必要なしに、ブロック単位スキップモードを使用して符号化され得る。
[0185]ブロック1504において、エンコーダは、ビデオデータの前にコーディングされたブロックの対応するグループを識別する。いくつかの実施形態では、対応するグループは、識別されたグループと同じグループインデックスを有する、前にコーディングされたビデオブロックのグループに対応し得る。
[0186]いくつかの実施形態では、ビデオデータの前にコーディングされたブロックは、時間的に現在ブロックの直前にコーディングされたビデオデータのブロックに対応し得る。いくつかの実施形態では、前にコーディングされたビデオブロックは、現在ビデオブロックと同じモードを使用してコーディングされたビデオデータの前のブロックに対応し得る。
[0187]ブロック1506において、エンコーダは、前にコーディングされたブロックの対応するグループがグループ単位スキップモードを使用してコーディングされたかどうかに関する決定を行う。グループ単位スキップモードを使用してコーディングされた場合、プロセスはブロック1504に戻り得、ここで、前にコーディングされたブロックの別の対応するグループを識別する。一方、対応するグループがグループ単位スキップを使用してコーディングされなかった場合、プロセスはブロック1508に進み得、ここにおいて、対応するグループのプレフィックス値を識別する。プレフィックス値は、前のグループをコーディングするために必要とされたビットの数に対応し得る。
[0188]ブロック1510において、エンコーダは、対応するグループの識別されたプレフィックス値を調整する。いくつかの実施形態では、プレフィックス値は、前にコーディングされたブロックの量子化パラメータと、現在ブロックの量子化パラメータとに少なくとも部分的に基づいて調整され得る。ブロック1512において、対応するグループの(調整された)プレフィックス値に基づいて、現在ビデオブロックの識別されたグループのためのプレフィックス値を予測する。
[0189]図16は、いくつかの実施形態による、ビデオデータのブロックをエントロピー符号化するための例示的な方法のフローチャートを示す。ブロック1602において、エンコーダが、ブロックの量子化色成分残差値のサンプルに対応するビデオデータを受信する。変換コーディングモードが使用されるいくつかの実施形態では、ビデオデータのサンプルは、ブロックの色成分残差の変換された係数値に対応し得る。エンコーダは、ブロックのすべてのサンプルが所定の値(たとえば、0)を有するかどうかを決定する。所定の値を有する場合、プロセスはブロック1614に進み得る。ブロック1614において、エンコーダは、色成分に対応するブロックのためのサンプルが(成分スキップモードとも呼ばれる)ブロック単位スキップモードを使用してコーディングされるべきであることを示すフラグをシグナリングする。
[0190]いくつかの実施形態では、ビデオデータのサンプルがブロックのルーマ成分に対応する場合、ブロック単位スキップモードを使用してブロックをコーディングすべきかどうかの決定はスキップされ得る。一方、ビデオデータのサンプルがブロックのクロマ成分に対応する場合、決定は実行され得る。
[0191]ブロックのためのビデオデータがブロック単位スキップモードを使用してコーディングされるべきでないと決定された場合、プロセスはブロック1604に進み得る。ブロック1604において、エンコーダは、ビデオデータのブロックのクロマサブサンプリング画像フォーマットを決定する。いくつかの実施形態では、クロマサブサンプリング画像フォーマットは、4:4:4、4:2:2、または4:2:0に対応し得る。
[0192]ブロック1606において、エンコーダは、ブロックのコーディングモードと、クロマサブサンプリング画像フォーマットとに基づいて、ビデオデータのブロックをサンプルの1つまたは複数のグループに区分する。いくつかの実施形態では、サンプルは、ビデオデータのブロックの残差値の色成分に対応し得る。サンプルがクロマ成分に対応する実施形態では、成分ごとのサンプルの数、各グループ中のサンプルの数、および/またはグループの数は、ブロックに関連するクロマサブサンプリング画像フォーマットに応じて異なり得る。たとえば、4:2:2画像フォーマットを使用してコーディングされるブロックは、ルーマ成分サンプルをN個のグループに、およびクロマ成分サンプルをN/2個のグループに分割し得、4:2:0画像フォーマットを使用してコーディングされるブロックは、ルーマ成分サンプルをN個のグループに、およびクロマ成分サンプルをN/4個のグループに分割し得る。
[0193]変換コーディングモードが使用される、いくつかの実施形態では、サンプルのグループは、ブロックの残差値の色成分に対して1つまたは複数の変換を実行することによって決定された1つまたは複数の係数に対応し得る。実行される変換のタイプは、ビデオブロックに関連する変換コーディングモードのタイプに基づき得る。変換コーディングモードが使用されるいくつかの実施形態では、エンコーダは、(たとえば、図15に関して説明されたように)ブロックの係数の最後有意係数を識別し、シグナリングし得る。いくつかの実施形態では、エンコーダはまた、最後有意係数の値を調整し得る。
[0194]ブロック1608において、サンプルの1つまたは複数のグループのうちのグループについて、グループ中のすべてのサンプルが所定の値を有するかどうかに関する決定を行う。いくつかの実施形態では、所定の値は0値であり得る。さらに、いくつかの実施形態では、特定の色成分に対応するブロック中のすべてのサンプルが所定の値(たとえば、0)のものであるかどうかに関する決定が行われ得る。所定の値のものである場合、特定の成分のブロックのすべてのサンプルはブロック単位スキップモードを使用してコーディングされ得る。一例では、ブロック単位スキップモードは、クロマ成分のためにのみ適用され、ルミナンス成分のためには適用されない。
[0195]グループ中のすべてのサンプルが所定の値を有すると決定された場合、プロセスはブロック1610に進み得、ここにおいて、グループ単位スキップを使用してサンプルのグループをコーディングする。いくつかの実施形態では、エンコーダは、グループのためのスキップフラグの値またはスキップ値を設定し得る。
[0196]一方、グループ中のすべてのサンプルが所定の値を有するとは限らないと決定された場合、ブロック1612において、グループのサンプルをエントロピーコーディングする。いくつかの実施形態では、グループは、1つまたは複数のプレフィックスと1つまたは複数のサフィックスとを使用してコーディングされ得、ここにおいて、プレフィックスは、対応するサフィックスをコーディングするために使用されるビットの数を示す。
[0197]図17は、いくつかの実施形態による、ビデオデータのブロックをエントロピー復号するための例示的な方法のフローチャートを示す。ブロック1702において、デコーダが、ビデオデータのブロックのための色成分を表すビットストリームを受信する。ブロック1704において、デコーダは、ブロックのためのブロック単位スキップフラグが示されたかどうかを決定する。ブロックのためのブロック単位スキップフラグが示された場合、ブロック1716において、デコーダは、ビデオデータのブロックを再構成し、ここにおいて、ブロックの特定の色成分のためのすべてのサンプルが所定の値(たとえば、0)を有する。いくつかの実施形態では、ブロックのいくつかの色成分(たとえば、ルーマ成分)のためのブロック単位スキップフラグは存在しないことがある。
[0198]一方、ブロック単位スキップフラグが示されなかった(または存在しない)場合、プロセスはブロック1706に進み得る。ブロック1706において、デコーダは、ビデオデータのブロックに関連するサンプルの1つまたは複数のグループを識別する。上記で説明されたように、サンプルのグループは、コーディングモードを使用してコーディングされ、ビデオデータのブロックの色成分に対応し得る。他の実施形態では、サンプルのグループは、ビデオブロックの色成分に対して1つまたは複数の変換が実行されることを介して取得された1つまたは複数の係数に対応し得る。
[0199]ブロック1708において、デコーダは、1つまたは複数のグループのうちのグループについて、グループのためのグループ単位スキップが示されたかどうかを決定する。いくつかの実施形態では、デコーダは、グループがグループ単位スキップを使用して符号化されたかどうかを示す、グループに関連するフラグの値を検査する。
[0200]グループのためのグループ単位スキップが示されたと決定された場合、ブロック1710において、デコーダは、グループ単位スキップに基づいてサンプルのグループを生成する。たとえば、デコーダは、所定の値(たとえば、0値)をすべてが有するサンプルのグループを生成し得る。
[0201]一方、グループのためのグループ単位スキップが示されなかったと決定された場合、ブロック1712において、デコーダは、サンプルのグループを復号するためにエントロピー復号を使用する。たとえば、いくつかの実施形態では、サンプルのグループは、プレフィックスと1つまたは複数のサフィックスとを使用してコーディングされていることがある。デコーダは、グループの各サフィックスのビットの数を決定するためにグループのプレフィックスを復号し得、各サフィックスは1つまたは複数のサンプルの値を示す。プレフィックスを復号することによって、ビットストリーム中のグループのすべてのサフィックスの位置が決定され、グループのサフィックスが並列に復号されることを可能にし、潜在的にビデオ復号スループットを増加させ得る。
[0202]ブロック1714において、デコーダは、サンプルの復号されたグループと、コーディングモードと、クロマサブサンプリング画像フォーマットとに基づいて、ビデオデータのブロックを再構成する。
他の考慮事項
他の考慮事項
[0203]本開示の態様は、図2A中のビデオエンコーダ20など、エンコーダの観点から説明されたことに留意されたい。しかしながら、上記で説明された動作の逆の動作が、たとえば、図2B中のビデオデコーダ30によって、生成されたビットストリームを復号するために適用され得ることを、当業者は諒解されよう。
[0204]本明細書で開示される情報および信号は、多種多様な技術および技法のいずれかを使用して表され得る。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表され得る。
[0205]本明細書で開示される実施形態に関して説明された様々な例示的な論理ブロック、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、またはその両方の組合せとして実装され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、およびステップが、概してそれらの機能に関して上記で説明された。そのような機能がハードウェアとして実装されるか、ソフトウェアとして実装されるかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明された機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本開示の範囲からの逸脱を生じるものと解釈されるべきではない。
[0206]本明細書で説明された技法は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。そのような技法は、汎用コンピュータ、ワイヤレス通信デバイスハンドセット、またはワイヤレス通信デバイスハンドセット、自動車、アプライアンス、ウェアラブル、および/または他のデバイスにおける適用例を含む複数の用途を有する集積回路デバイスなど、様々なデバイスのいずれかにおいて実装され得る。デバイスまたは構成要素として説明された特徴は、集積論理デバイスに一緒に、または個別であるが相互運用可能な論理デバイスとして別々に実装され得る。ソフトウェアで実装された場合、本技法は、実行されたとき、上記で説明された方法のうちの1つまたは複数を実行する命令を含むプログラムコードを備えるコンピュータ可読データ記憶媒体によって、少なくとも部分的に実現され得る。コンピュータ可読データ記憶媒体は、パッケージング材料を含むことがあるコンピュータプログラム製品の一部を形成し得る。コンピュータ可読媒体は、同期型ダイナミックランダムアクセスメモリ(SDRAM)などのランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、電気消去可能プログラマブル読取り専用メモリ(EEPROM(登録商標))、フラッシュメモリ、磁気または光学データ記憶媒体など、メモリまたはデータ記憶媒体を備え得る。本技法は、追加または代替として、伝搬信号または電波など、命令またはデータ構造の形態でプログラムコードを搬送または伝達し、コンピュータによってアクセスされ、読み取られ、および/または実行され得るコンピュータ可読通信媒体によって、少なくとも部分的に実現され得る。
[0207]プログラムコードは、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の等価の集積回路またはディスクリート論理回路など、1つまたは複数のプロセッサを含み得るプロセッサによって実行され得る。そのようなプロセッサは、本開示で説明された技法のいずれかを実行するように構成され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。したがって、本明細書で使用される「プロセッサ」という用語は、上記の構造、上記の構造の任意の組合せ、または本明細書で説明された技法の実装に好適な他の構造または装置のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成された専用のソフトウェアまたはハードウェア内に提供され得、あるいは複合ビデオエンコーダ/デコーダ(コーデック)に組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素で十分に実装され得る。
[0208]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置で実装され得る。本開示では、開示される技法を実行するように構成されたデバイスの機能的態様を強調するために、様々な構成要素またはユニットが説明されたが、それらの構成要素またはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明されたように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明された1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作可能なハードウェアユニットの集合によって与えられ得る。
[0209]上記のことは、様々な異なる実施形態に関して説明されたが、一実施形態からの特徴または要素は、本開示の教示から逸脱することなく他の実施形態と組み合わせられ得る。ただし、それぞれの実施形態間の特徴の組合せは、必ずしもそれに限定されるとは限らない。本開示の様々な実施形態が説明された。これらおよび他の実施形態は以下の特許請求の範囲内に入る。
[0209]上記のことは、様々な異なる実施形態に関して説明されたが、一実施形態からの特徴または要素は、本開示の教示から逸脱することなく他の実施形態と組み合わせられ得る。ただし、それぞれの実施形態間の特徴の組合せは、必ずしもそれに限定されるとは限らない。本開示の様々な実施形態が説明された。これらおよび他の実施形態は以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオデータをエントロピー符号化する方法であって、
ビデオデータのブロックの色成分に関連する複数のサンプルを受信することと、
前記サンプルがブロック単位スキップを使用して符号化されるべきであるかどうかを決定すること、ここにおいて、前記決定は、前記色成分に対応するすべてのサンプルが所定の値に等しい値を有するかどうかを決定することを備え、前記ブロック単位スキップは、前記複数のサンプルを符号化することを控えることを備える、と、
前記サンプルがブロック単位スキップを使用して符号化されるないと決定したことに応答して、
前記ブロックのクロマサブサンプリング画像フォーマットを決定することと、
前記ビデオデータの前記ブロックをサンプルの1つまたは複数のグループに区分すること、ここにおいて、前記1つまたは複数のグループのグループの数は、前記ブロックのコーディングモードと、前記サンプルの前記クロマサブサンプリング画像フォーマットと、前記サンプルに関連する前記色成分とに少なくとも部分的に基づく、と、
前記サンプルの1つまたは複数のグループをエントロピー符号化することと
を備える、方法。
[C2]
前記ブロックの前記クロマサブサンプリング画像フォーマットは、4:2:2であり、前記グループの数は、前記サンプルがルーマ成分に対応する場合、Nであり、前記サンプルがクロマ成分に対応する場合、N/2である、
[C1]に記載の方法。
[C3]
前記ブロックの前記クロマサブサンプリング画像フォーマットは、4:2:0であり、前記グループの数は、前記サンプルがルーマ成分に対応する場合、Nであり、前記サンプルがクロマ成分に対応する場合、N/4である、
[C1]に記載の方法。
[C4]
前記エントロピー符号化することは、プレフィックスと複数のサフィックスとを使用して前記サンプルの1つまたは複数のグループのうちのグループをコーディングすることを備え、前記プレフィックスは、前記複数のサフィックスの各々の長さを示し、各サフィックスは、前記グループのサンプルに対応する、
[C1]に記載の方法。
[C5]
前記エントロピー符号化することは、前記サンプルの1つまたは複数のグループのうちのグループ中の前記サンプルのすべてが所定の値に等しい値を有することに応答して、前記グループに対してグループ単位スキップを実行することを備え、前記グループ単位スキップは、前記グループに関連する前記サンプルを符号化することを控えることを備える、
[C1]に記載の方法。
[C6]
前記サンプルの1つまたは複数のグループの各サンプルは、前記ビデオブロックの量子化残差値の色成分に対応する、
[C1]に記載の方法。
[C7]
前記サンプルの1つまたは複数のグループの各サンプルは、前記ブロックの前記コーディングモードに基づいて、前記ビデオブロックの複数の残差値色成分に対して変換を適用することによって決定された係数に対応する、
[C1]に記載の方法。
[C8]
有意値を有する前記サンプルの1つまたは複数のグループの最後のサンプルの位置をシグナリングすることと、
前記係数の絶対値を1の所定の値だけ減算することによって、前記最後有意位置に対応する前記係数を調整することと、
前記シグナリングされた位置より前の位置を有する1つまたは複数のサンプルをエントロピーコーディングすることと、
前記シグナリングされた位置の後の位置を有する1つまたは複数の残りのサンプルをコーディングしないことと
をさらに備える、[C7]に記載の方法。
[C9]
前記調整された最後有意係数値が0であるときのみ、前記最後有意位置に対応するサインビットをシグナリングすることをさらに備える、
[C8]に記載の方法。
[C10]
ブロック単位スキップは、前記サンプルがクロマ成分に対応する場合のみ、適用され、前記サンプルがルミナンス成分に対応する場合、適用されない、
[C1]に記載の方法。
[C11]
ビデオデータをエントロピー符号化するためのデバイスであって、
前記ビデオデータを記憶するように構成されたメモリと、
前記メモリと通信しており、
ビデオデータのブロックの色成分に関連する複数のサンプルを受信することと、
前記サンプルがブロック単位スキップを使用して符号化されるべきであるかどうかを決定すること、ここにおいて、前記決定は、前記色成分に対応するすべてのサンプルが所定の値に等しい値を有するかどうかを決定することを備え、前記ブロック単位スキップは、前記複数のサンプルを符号化することを控えることを備える、と、
前記サンプルがブロック単位スキップを使用して符号化されるないという決定に応答して、
前記ビデオデータのブロックのクロマサブサンプリング画像フォーマットを決定することと、
前記ビデオデータの前記ブロックをサンプルの1つまたは複数のグループに区分すること、ここにおいて、前記1つまたは複数のグループのグループの数は、前記ブロックのコーディングモードと、前記サンプルの前記クロマサブサンプリング画像フォーマットと、前記サンプルに関連する前記色成分とに少なくとも部分的に基づく、と、
前記サンプルの1つまたは複数のグループをエントロピー符号化することと
を行うように構成されたプロセッサと
を備える、デバイス。
[C12]
前記ブロックの前記クロマサブサンプリング画像フォーマットは、4:2:2であり、前記グループの数は、前記サンプルがルーマ成分に対応する場合、Nであり、前記サンプルがクロマ成分に対応する場合、N/2である、
[C11]に記載のデバイス。
[C13]
前記ブロックの前記クロマサブサンプリング画像フォーマットは、4:2:0であり、前記グループの数は、前記サンプルがルーマ成分に対応する場合、Nであり、前記サンプルがクロマ成分に対応する場合、N/4である、
[C11]に記載のデバイス。
[C14]
前記プロセッサは、プレフィックスと複数のサフィックスとを使用して前記サンプルの1つまたは複数のグループのうちのグループをコーディングすることによって前記サンプルの1つまたは複数のグループをエントロピー符号化するように構成され、前記プレフィックスは、前記複数のサフィックスの各々の長さを示し、各サフィックスは、前記グループのサンプルに対応する、
[C11]に記載のデバイス。
[C15]
前記プロセッサは、前記サンプルの1つまたは複数のグループのうちのグループ中の前記サンプルのすべてが所定の値に等しい値を有することに応答して、前記グループに対してグループ単位スキップを実行することによって前記サンプルの1つまたは複数のグループをエントロピー符号化するように構成され、前記グループ単位スキップは、前記グループに関連する前記サンプルを符号化することを控えることを備える、
[C11]に記載のデバイス。
[C16]
前記サンプルの1つまたは複数のグループの各サンプルは、前記ビデオブロックの量子化残差値の色成分に対応する、
[C11]に記載のデバイス。
[C17]
前記サンプルの1つまたは複数のグループの各サンプルは、前記ブロックの前記コーディングモードに基づいて、前記ビデオブロックの複数の残差値色成分に対して変換を適用することによって決定された係数に対応する、
[C11]に記載のデバイス。
[C18]
前記プロセッサは、
有意値を有する前記サンプルの1つまたは複数のグループの最後のサンプルの位置をシグナリングすることと、
前記係数の絶対値を1の所定の値だけ減算することによって、前記最後有意位置に対応する前記係数を調整することと、
前記シグナリングされた位置より前の位置を有する1つまたは複数のサンプルをエントロピーコーディングすることと、
前記シグナリングされた位置の後の位置を有する1つまたは複数の残りのサンプルをコーディングしないことと
を行うようにさらに構成された、[C17]に記載のデバイス。
[C19]
前記プロセッサは、前記調整された最後有意係数値が0であるときのみ、前記最後有意位置に対応するサインビットをシグナリングするようにさらに構成された、
[C18]に記載のデバイス。
[C20]
ブロック単位スキップは、前記サンプルがクロマ成分に対応する場合のみ、適用され、前記サンプルがルミナンス成分に対応する場合、適用されない、
[C11]に記載のデバイス。
[C21]
ビデオデータをエントロピー復号する方法であって、
前記ビデオデータのブロックを表すビットストリームを受信することと、
前記ブロックの色成分に対応するサンプルが前記ビットストリーム中に含まれないことを示す、前記ブロックの前記色成分のためのブロック単位スキップフラグが示されたかどうかを決定することと、
前記ブロック単位スキップフラグが示されなかったという決定に応答して、
前記サンプルのクロマサブサンプリング画像フォーマットを決定することと、
前記ビットストリームをエントロピー復号することを介して前記サンプルの1つまたは複数のグループを生成すること、ここにおいて、前記1つまたは複数のグループの数は、前記クロマサブサンプリング画像フォーマットと、前記サンプルに関連する色成分とに基づく、と、
サンプルの1つまたは複数のグループと、前記ブロックのコーディングモードと、前記クロマサブサンプリング画像フォーマットとに少なくとも部分的に基づいて、前記ブロックを再構成することと
を備える、方法。
[C22]
前記ブロックの前記クロマサブサンプリング画像フォーマットが4:2:2である場合、前記グループの数は、前記サンプルがルーマ成分に対応する場合、Nであり、前記サンプルがクロマ成分に対応する場合、N/2であり、
前記ブロックの前記クロマサブサンプリング画像フォーマットが4:2:0である場合、前記グループの数は、前記サンプルがルーマ成分に対応する場合、Nであり、前記サンプルがクロマ成分に対応する場合、N/4である、
[C21]に記載の方法。
[C23]
前記サンプルの1つまたは複数のグループの各サンプルは、前記ビデオブロックの残差値の色成分に対応する、
[C21]に記載の方法。
[C24]
有意値を有する前記サンプルの1つまたは複数のグループの最後のサンプルの位置を示す前記ビットストリーム中の信号を識別することと、
前記受信されたビットストリームを使用して、前記シグナリングされた位置より前の位置を有する1つまたは複数のサンプルを再構成することと、
前記シグナリングされた位置の後の位置を有する1つまたは複数の残りのサンプルを所定の値を有するものとして再構成することと
をさらに備える、[C21]に記載の方法。
[C25]
前記受信されたビットストリームから、前記サンプルの1つまたは複数のグループのうちのサンプルのグループに対応するプレフィックスと1つまたは複数のサフィックスとを識別することと、
前記1つまたは複数のサフィックスの各々の長さを決定するために前記プレフィックスを復号することと、
前記サンプルのグループのうちの1つまたは複数の対応するサンプルの値を決定するために、前記1つまたは複数のサフィックスを並列に復号することと
をさらに備える、[C21]に記載の方法。
[C26]
ビデオデータをエントロピー復号するためのデバイスであって、
前記ビデオデータのブロックを表すビットストリームの少なくとも一部分を記憶するように構成されたメモリと、
前記メモリと通信しており、
前記ブロックの色成分に対応するサンプルが前記ビットストリーム中に含まれないことを示す、前記ブロックの前記色成分のためのブロック単位スキップフラグが示されたかどうかを決定することと、
前記ブロック単位スキップフラグが示されなかったという決定に応答して、
前記サンプルのクロマサブサンプリング画像フォーマットを決定することと、
前記ビットストリームをエントロピー復号することを介して前記サンプルの1つまたは複数のグループを生成すること、ここにおいて、前記1つまたは複数のグループの数は、前記クロマサブサンプリング画像フォーマットと、前記サンプルに関連する色成分とに基づく、と、
前記サンプルの1つまたは複数のグループと、前記ブロックのコーディングモードと、前記クロマサブサンプリング画像フォーマットとに少なくとも部分的に基づいて、前記ブロックを再構成することと
を行うように構成されたプロセッサと
を備える、デバイス。
[C27]
前記ブロックの前記クロマサブサンプリング画像フォーマットが4:2:2である場合、前記グループの数は、前記サンプルがルーマ成分に対応する場合、Nであり、前記サンプルがクロマ成分に対応する場合、N/2であり、
前記ブロックの前記クロマサブサンプリング画像フォーマットが4:2:0である場合、前記グループの数は、前記サンプルがルーマ成分に対応する場合、Nであり、前記サンプルがクロマ成分に対応する場合、N/4である、
[C26]に記載のデバイス。
[C28]
前記サンプルの1つまたは複数のグループの各サンプルは、前記ビデオブロックの残差値の色成分に対応する、
[C26]に記載のデバイス。
[C29]
前記プロセッサは、
有意値を有する前記サンプルの1つまたは複数のグループの最後のサンプルの位置を示す前記ビットストリーム中の信号を識別することと、
前記受信されたビットストリームを使用して、前記シグナリングされた位置より前の位置を有する1つまたは複数のサンプルを再構成することと、
前記シグナリングされた位置の後の位置を有する1つまたは複数の残りのサンプルを所定の値を有するものとして再構成することと
を行うようにさらに構成された、[C26]に記載のデバイス。
[C30]
前記プロセッサは、
前記受信されたビットストリームから、前記サンプルの1つまたは複数のグループのうちのサンプルのグループに対応するプレフィックスと1つまたは複数のサフィックスとを識別することと、
前記1つまたは複数のサフィックスの各々の長さを決定するために前記プレフィックスを復号することと、
前記サンプルのグループのうちの1つまたは複数の対応するサンプルの値を決定するために、前記1つまたは複数のサフィックスを並列に復号することと
を行うようにさらに構成された、[C26]に記載のデバイス。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオデータをエントロピー符号化する方法であって、
ビデオデータのブロックの色成分に関連する複数のサンプルを受信することと、
前記サンプルがブロック単位スキップを使用して符号化されるべきであるかどうかを決定すること、ここにおいて、前記決定は、前記色成分に対応するすべてのサンプルが所定の値に等しい値を有するかどうかを決定することを備え、前記ブロック単位スキップは、前記複数のサンプルを符号化することを控えることを備える、と、
前記サンプルがブロック単位スキップを使用して符号化されるないと決定したことに応答して、
前記ブロックのクロマサブサンプリング画像フォーマットを決定することと、
前記ビデオデータの前記ブロックをサンプルの1つまたは複数のグループに区分すること、ここにおいて、前記1つまたは複数のグループのグループの数は、前記ブロックのコーディングモードと、前記サンプルの前記クロマサブサンプリング画像フォーマットと、前記サンプルに関連する前記色成分とに少なくとも部分的に基づく、と、
前記サンプルの1つまたは複数のグループをエントロピー符号化することと
を備える、方法。
[C2]
前記ブロックの前記クロマサブサンプリング画像フォーマットは、4:2:2であり、前記グループの数は、前記サンプルがルーマ成分に対応する場合、Nであり、前記サンプルがクロマ成分に対応する場合、N/2である、
[C1]に記載の方法。
[C3]
前記ブロックの前記クロマサブサンプリング画像フォーマットは、4:2:0であり、前記グループの数は、前記サンプルがルーマ成分に対応する場合、Nであり、前記サンプルがクロマ成分に対応する場合、N/4である、
[C1]に記載の方法。
[C4]
前記エントロピー符号化することは、プレフィックスと複数のサフィックスとを使用して前記サンプルの1つまたは複数のグループのうちのグループをコーディングすることを備え、前記プレフィックスは、前記複数のサフィックスの各々の長さを示し、各サフィックスは、前記グループのサンプルに対応する、
[C1]に記載の方法。
[C5]
前記エントロピー符号化することは、前記サンプルの1つまたは複数のグループのうちのグループ中の前記サンプルのすべてが所定の値に等しい値を有することに応答して、前記グループに対してグループ単位スキップを実行することを備え、前記グループ単位スキップは、前記グループに関連する前記サンプルを符号化することを控えることを備える、
[C1]に記載の方法。
[C6]
前記サンプルの1つまたは複数のグループの各サンプルは、前記ビデオブロックの量子化残差値の色成分に対応する、
[C1]に記載の方法。
[C7]
前記サンプルの1つまたは複数のグループの各サンプルは、前記ブロックの前記コーディングモードに基づいて、前記ビデオブロックの複数の残差値色成分に対して変換を適用することによって決定された係数に対応する、
[C1]に記載の方法。
[C8]
有意値を有する前記サンプルの1つまたは複数のグループの最後のサンプルの位置をシグナリングすることと、
前記係数の絶対値を1の所定の値だけ減算することによって、前記最後有意位置に対応する前記係数を調整することと、
前記シグナリングされた位置より前の位置を有する1つまたは複数のサンプルをエントロピーコーディングすることと、
前記シグナリングされた位置の後の位置を有する1つまたは複数の残りのサンプルをコーディングしないことと
をさらに備える、[C7]に記載の方法。
[C9]
前記調整された最後有意係数値が0であるときのみ、前記最後有意位置に対応するサインビットをシグナリングすることをさらに備える、
[C8]に記載の方法。
[C10]
ブロック単位スキップは、前記サンプルがクロマ成分に対応する場合のみ、適用され、前記サンプルがルミナンス成分に対応する場合、適用されない、
[C1]に記載の方法。
[C11]
ビデオデータをエントロピー符号化するためのデバイスであって、
前記ビデオデータを記憶するように構成されたメモリと、
前記メモリと通信しており、
ビデオデータのブロックの色成分に関連する複数のサンプルを受信することと、
前記サンプルがブロック単位スキップを使用して符号化されるべきであるかどうかを決定すること、ここにおいて、前記決定は、前記色成分に対応するすべてのサンプルが所定の値に等しい値を有するかどうかを決定することを備え、前記ブロック単位スキップは、前記複数のサンプルを符号化することを控えることを備える、と、
前記サンプルがブロック単位スキップを使用して符号化されるないという決定に応答して、
前記ビデオデータのブロックのクロマサブサンプリング画像フォーマットを決定することと、
前記ビデオデータの前記ブロックをサンプルの1つまたは複数のグループに区分すること、ここにおいて、前記1つまたは複数のグループのグループの数は、前記ブロックのコーディングモードと、前記サンプルの前記クロマサブサンプリング画像フォーマットと、前記サンプルに関連する前記色成分とに少なくとも部分的に基づく、と、
前記サンプルの1つまたは複数のグループをエントロピー符号化することと
を行うように構成されたプロセッサと
を備える、デバイス。
[C12]
前記ブロックの前記クロマサブサンプリング画像フォーマットは、4:2:2であり、前記グループの数は、前記サンプルがルーマ成分に対応する場合、Nであり、前記サンプルがクロマ成分に対応する場合、N/2である、
[C11]に記載のデバイス。
[C13]
前記ブロックの前記クロマサブサンプリング画像フォーマットは、4:2:0であり、前記グループの数は、前記サンプルがルーマ成分に対応する場合、Nであり、前記サンプルがクロマ成分に対応する場合、N/4である、
[C11]に記載のデバイス。
[C14]
前記プロセッサは、プレフィックスと複数のサフィックスとを使用して前記サンプルの1つまたは複数のグループのうちのグループをコーディングすることによって前記サンプルの1つまたは複数のグループをエントロピー符号化するように構成され、前記プレフィックスは、前記複数のサフィックスの各々の長さを示し、各サフィックスは、前記グループのサンプルに対応する、
[C11]に記載のデバイス。
[C15]
前記プロセッサは、前記サンプルの1つまたは複数のグループのうちのグループ中の前記サンプルのすべてが所定の値に等しい値を有することに応答して、前記グループに対してグループ単位スキップを実行することによって前記サンプルの1つまたは複数のグループをエントロピー符号化するように構成され、前記グループ単位スキップは、前記グループに関連する前記サンプルを符号化することを控えることを備える、
[C11]に記載のデバイス。
[C16]
前記サンプルの1つまたは複数のグループの各サンプルは、前記ビデオブロックの量子化残差値の色成分に対応する、
[C11]に記載のデバイス。
[C17]
前記サンプルの1つまたは複数のグループの各サンプルは、前記ブロックの前記コーディングモードに基づいて、前記ビデオブロックの複数の残差値色成分に対して変換を適用することによって決定された係数に対応する、
[C11]に記載のデバイス。
[C18]
前記プロセッサは、
有意値を有する前記サンプルの1つまたは複数のグループの最後のサンプルの位置をシグナリングすることと、
前記係数の絶対値を1の所定の値だけ減算することによって、前記最後有意位置に対応する前記係数を調整することと、
前記シグナリングされた位置より前の位置を有する1つまたは複数のサンプルをエントロピーコーディングすることと、
前記シグナリングされた位置の後の位置を有する1つまたは複数の残りのサンプルをコーディングしないことと
を行うようにさらに構成された、[C17]に記載のデバイス。
[C19]
前記プロセッサは、前記調整された最後有意係数値が0であるときのみ、前記最後有意位置に対応するサインビットをシグナリングするようにさらに構成された、
[C18]に記載のデバイス。
[C20]
ブロック単位スキップは、前記サンプルがクロマ成分に対応する場合のみ、適用され、前記サンプルがルミナンス成分に対応する場合、適用されない、
[C11]に記載のデバイス。
[C21]
ビデオデータをエントロピー復号する方法であって、
前記ビデオデータのブロックを表すビットストリームを受信することと、
前記ブロックの色成分に対応するサンプルが前記ビットストリーム中に含まれないことを示す、前記ブロックの前記色成分のためのブロック単位スキップフラグが示されたかどうかを決定することと、
前記ブロック単位スキップフラグが示されなかったという決定に応答して、
前記サンプルのクロマサブサンプリング画像フォーマットを決定することと、
前記ビットストリームをエントロピー復号することを介して前記サンプルの1つまたは複数のグループを生成すること、ここにおいて、前記1つまたは複数のグループの数は、前記クロマサブサンプリング画像フォーマットと、前記サンプルに関連する色成分とに基づく、と、
サンプルの1つまたは複数のグループと、前記ブロックのコーディングモードと、前記クロマサブサンプリング画像フォーマットとに少なくとも部分的に基づいて、前記ブロックを再構成することと
を備える、方法。
[C22]
前記ブロックの前記クロマサブサンプリング画像フォーマットが4:2:2である場合、前記グループの数は、前記サンプルがルーマ成分に対応する場合、Nであり、前記サンプルがクロマ成分に対応する場合、N/2であり、
前記ブロックの前記クロマサブサンプリング画像フォーマットが4:2:0である場合、前記グループの数は、前記サンプルがルーマ成分に対応する場合、Nであり、前記サンプルがクロマ成分に対応する場合、N/4である、
[C21]に記載の方法。
[C23]
前記サンプルの1つまたは複数のグループの各サンプルは、前記ビデオブロックの残差値の色成分に対応する、
[C21]に記載の方法。
[C24]
有意値を有する前記サンプルの1つまたは複数のグループの最後のサンプルの位置を示す前記ビットストリーム中の信号を識別することと、
前記受信されたビットストリームを使用して、前記シグナリングされた位置より前の位置を有する1つまたは複数のサンプルを再構成することと、
前記シグナリングされた位置の後の位置を有する1つまたは複数の残りのサンプルを所定の値を有するものとして再構成することと
をさらに備える、[C21]に記載の方法。
[C25]
前記受信されたビットストリームから、前記サンプルの1つまたは複数のグループのうちのサンプルのグループに対応するプレフィックスと1つまたは複数のサフィックスとを識別することと、
前記1つまたは複数のサフィックスの各々の長さを決定するために前記プレフィックスを復号することと、
前記サンプルのグループのうちの1つまたは複数の対応するサンプルの値を決定するために、前記1つまたは複数のサフィックスを並列に復号することと
をさらに備える、[C21]に記載の方法。
[C26]
ビデオデータをエントロピー復号するためのデバイスであって、
前記ビデオデータのブロックを表すビットストリームの少なくとも一部分を記憶するように構成されたメモリと、
前記メモリと通信しており、
前記ブロックの色成分に対応するサンプルが前記ビットストリーム中に含まれないことを示す、前記ブロックの前記色成分のためのブロック単位スキップフラグが示されたかどうかを決定することと、
前記ブロック単位スキップフラグが示されなかったという決定に応答して、
前記サンプルのクロマサブサンプリング画像フォーマットを決定することと、
前記ビットストリームをエントロピー復号することを介して前記サンプルの1つまたは複数のグループを生成すること、ここにおいて、前記1つまたは複数のグループの数は、前記クロマサブサンプリング画像フォーマットと、前記サンプルに関連する色成分とに基づく、と、
前記サンプルの1つまたは複数のグループと、前記ブロックのコーディングモードと、前記クロマサブサンプリング画像フォーマットとに少なくとも部分的に基づいて、前記ブロックを再構成することと
を行うように構成されたプロセッサと
を備える、デバイス。
[C27]
前記ブロックの前記クロマサブサンプリング画像フォーマットが4:2:2である場合、前記グループの数は、前記サンプルがルーマ成分に対応する場合、Nであり、前記サンプルがクロマ成分に対応する場合、N/2であり、
前記ブロックの前記クロマサブサンプリング画像フォーマットが4:2:0である場合、前記グループの数は、前記サンプルがルーマ成分に対応する場合、Nであり、前記サンプルがクロマ成分に対応する場合、N/4である、
[C26]に記載のデバイス。
[C28]
前記サンプルの1つまたは複数のグループの各サンプルは、前記ビデオブロックの残差値の色成分に対応する、
[C26]に記載のデバイス。
[C29]
前記プロセッサは、
有意値を有する前記サンプルの1つまたは複数のグループの最後のサンプルの位置を示す前記ビットストリーム中の信号を識別することと、
前記受信されたビットストリームを使用して、前記シグナリングされた位置より前の位置を有する1つまたは複数のサンプルを再構成することと、
前記シグナリングされた位置の後の位置を有する1つまたは複数の残りのサンプルを所定の値を有するものとして再構成することと
を行うようにさらに構成された、[C26]に記載のデバイス。
[C30]
前記プロセッサは、
前記受信されたビットストリームから、前記サンプルの1つまたは複数のグループのうちのサンプルのグループに対応するプレフィックスと1つまたは複数のサフィックスとを識別することと、
前記1つまたは複数のサフィックスの各々の長さを決定するために前記プレフィックスを復号することと、
前記サンプルのグループのうちの1つまたは複数の対応するサンプルの値を決定するために、前記1つまたは複数のサフィックスを並列に復号することと
を行うようにさらに構成された、[C26]に記載のデバイス。
Claims (30)
- ビデオデータをエントロピー符号化する方法であって、
ビデオデータのブロックの色成分に関連する複数のサンプルを受信することと、
前記サンプルがブロック単位スキップを使用して符号化されるべきであるかどうかを決定すること、ここにおいて、前記決定は、前記色成分に対応するすべてのサンプルが所定の値に等しい値を有するかどうかを決定することを備え、前記ブロック単位スキップは、前記複数のサンプルを符号化することを控えることを備える、と、
前記サンプルがブロック単位スキップを使用して符号化されるないと決定したことに応答して、
前記ブロックのクロマサブサンプリング画像フォーマットを決定することと、
前記ビデオデータの前記ブロックをサンプルの1つまたは複数のグループに区分すること、ここにおいて、前記1つまたは複数のグループのグループの数は、前記ブロックのコーディングモードと、前記サンプルの前記クロマサブサンプリング画像フォーマットと、前記サンプルに関連する前記色成分とに少なくとも部分的に基づく、と、
前記サンプルの1つまたは複数のグループをエントロピー符号化することと
を備える、方法。 - 前記ブロックの前記クロマサブサンプリング画像フォーマットは、4:2:2であり、前記グループの数は、前記サンプルがルーマ成分に対応する場合、Nであり、前記サンプルがクロマ成分に対応する場合、N/2である、
請求項1に記載の方法。 - 前記ブロックの前記クロマサブサンプリング画像フォーマットは、4:2:0であり、前記グループの数は、前記サンプルがルーマ成分に対応する場合、Nであり、前記サンプルがクロマ成分に対応する場合、N/4である、
請求項1に記載の方法。 - 前記エントロピー符号化することは、プレフィックスと複数のサフィックスとを使用して前記サンプルの1つまたは複数のグループのうちのグループをコーディングすることを備え、前記プレフィックスは、前記複数のサフィックスの各々の長さを示し、各サフィックスは、前記グループのサンプルに対応する、
請求項1に記載の方法。 - 前記エントロピー符号化することは、前記サンプルの1つまたは複数のグループのうちのグループ中の前記サンプルのすべてが所定の値に等しい値を有することに応答して、前記グループに対してグループ単位スキップを実行することを備え、前記グループ単位スキップは、前記グループに関連する前記サンプルを符号化することを控えることを備える、
請求項1に記載の方法。 - 前記サンプルの1つまたは複数のグループの各サンプルは、前記ビデオブロックの量子化残差値の色成分に対応する、
請求項1に記載の方法。 - 前記サンプルの1つまたは複数のグループの各サンプルは、前記ブロックの前記コーディングモードに基づいて、前記ビデオブロックの複数の残差値色成分に対して変換を適用することによって決定された係数に対応する、
請求項1に記載の方法。 - 有意値を有する前記サンプルの1つまたは複数のグループの最後のサンプルの位置をシグナリングすることと、
前記係数の絶対値を1の所定の値だけ減算することによって、前記最後有意位置に対応する前記係数を調整することと、
前記シグナリングされた位置より前の位置を有する1つまたは複数のサンプルをエントロピーコーディングすることと、
前記シグナリングされた位置の後の位置を有する1つまたは複数の残りのサンプルをコーディングしないことと
をさらに備える、請求項7に記載の方法。 - 前記調整された最後有意係数値が0であるときのみ、前記最後有意位置に対応するサインビットをシグナリングすることをさらに備える、
請求項8に記載の方法。 - ブロック単位スキップは、前記サンプルがクロマ成分に対応する場合のみ、適用され、前記サンプルがルミナンス成分に対応する場合、適用されない、
請求項1に記載の方法。 - ビデオデータをエントロピー符号化するためのデバイスであって、
前記ビデオデータを記憶するように構成されたメモリと、
前記メモリと通信しており、
ビデオデータのブロックの色成分に関連する複数のサンプルを受信することと、
前記サンプルがブロック単位スキップを使用して符号化されるべきであるかどうかを決定すること、ここにおいて、前記決定は、前記色成分に対応するすべてのサンプルが所定の値に等しい値を有するかどうかを決定することを備え、前記ブロック単位スキップは、前記複数のサンプルを符号化することを控えることを備える、と、
前記サンプルがブロック単位スキップを使用して符号化されるないという決定に応答して、
前記ビデオデータのブロックのクロマサブサンプリング画像フォーマットを決定することと、
前記ビデオデータの前記ブロックをサンプルの1つまたは複数のグループに区分すること、ここにおいて、前記1つまたは複数のグループのグループの数は、前記ブロックのコーディングモードと、前記サンプルの前記クロマサブサンプリング画像フォーマットと、前記サンプルに関連する前記色成分とに少なくとも部分的に基づく、と、
前記サンプルの1つまたは複数のグループをエントロピー符号化することと
を行うように構成されたプロセッサと
を備える、デバイス。 - 前記ブロックの前記クロマサブサンプリング画像フォーマットは、4:2:2であり、前記グループの数は、前記サンプルがルーマ成分に対応する場合、Nであり、前記サンプルがクロマ成分に対応する場合、N/2である、
請求項11に記載のデバイス。 - 前記ブロックの前記クロマサブサンプリング画像フォーマットは、4:2:0であり、前記グループの数は、前記サンプルがルーマ成分に対応する場合、Nであり、前記サンプルがクロマ成分に対応する場合、N/4である、
請求項11に記載のデバイス。 - 前記プロセッサは、プレフィックスと複数のサフィックスとを使用して前記サンプルの1つまたは複数のグループのうちのグループをコーディングすることによって前記サンプルの1つまたは複数のグループをエントロピー符号化するように構成され、前記プレフィックスは、前記複数のサフィックスの各々の長さを示し、各サフィックスは、前記グループのサンプルに対応する、
請求項11に記載のデバイス。 - 前記プロセッサは、前記サンプルの1つまたは複数のグループのうちのグループ中の前記サンプルのすべてが所定の値に等しい値を有することに応答して、前記グループに対してグループ単位スキップを実行することによって前記サンプルの1つまたは複数のグループをエントロピー符号化するように構成され、前記グループ単位スキップは、前記グループに関連する前記サンプルを符号化することを控えることを備える、
請求項11に記載のデバイス。 - 前記サンプルの1つまたは複数のグループの各サンプルは、前記ビデオブロックの量子化残差値の色成分に対応する、
請求項11に記載のデバイス。 - 前記サンプルの1つまたは複数のグループの各サンプルは、前記ブロックの前記コーディングモードに基づいて、前記ビデオブロックの複数の残差値色成分に対して変換を適用することによって決定された係数に対応する、
請求項11に記載のデバイス。 - 前記プロセッサは、
有意値を有する前記サンプルの1つまたは複数のグループの最後のサンプルの位置をシグナリングすることと、
前記係数の絶対値を1の所定の値だけ減算することによって、前記最後有意位置に対応する前記係数を調整することと、
前記シグナリングされた位置より前の位置を有する1つまたは複数のサンプルをエントロピーコーディングすることと、
前記シグナリングされた位置の後の位置を有する1つまたは複数の残りのサンプルをコーディングしないことと
を行うようにさらに構成された、請求項17に記載のデバイス。 - 前記プロセッサは、前記調整された最後有意係数値が0であるときのみ、前記最後有意位置に対応するサインビットをシグナリングするようにさらに構成された、
請求項18に記載のデバイス。 - ブロック単位スキップは、前記サンプルがクロマ成分に対応する場合のみ、適用され、前記サンプルがルミナンス成分に対応する場合、適用されない、
請求項11に記載のデバイス。 - ビデオデータをエントロピー復号する方法であって、
前記ビデオデータのブロックを表すビットストリームを受信することと、
前記ブロックの色成分に対応するサンプルが前記ビットストリーム中に含まれないことを示す、前記ブロックの前記色成分のためのブロック単位スキップフラグが示されたかどうかを決定することと、
前記ブロック単位スキップフラグが示されなかったという決定に応答して、
前記サンプルのクロマサブサンプリング画像フォーマットを決定することと、
前記ビットストリームをエントロピー復号することを介して前記サンプルの1つまたは複数のグループを生成すること、ここにおいて、前記1つまたは複数のグループの数は、前記クロマサブサンプリング画像フォーマットと、前記サンプルに関連する色成分とに基づく、と、
サンプルの1つまたは複数のグループと、前記ブロックのコーディングモードと、前記クロマサブサンプリング画像フォーマットとに少なくとも部分的に基づいて、前記ブロックを再構成することと
を備える、方法。 - 前記ブロックの前記クロマサブサンプリング画像フォーマットが4:2:2である場合、前記グループの数は、前記サンプルがルーマ成分に対応する場合、Nであり、前記サンプルがクロマ成分に対応する場合、N/2であり、
前記ブロックの前記クロマサブサンプリング画像フォーマットが4:2:0である場合、前記グループの数は、前記サンプルがルーマ成分に対応する場合、Nであり、前記サンプルがクロマ成分に対応する場合、N/4である、
請求項21に記載の方法。 - 前記サンプルの1つまたは複数のグループの各サンプルは、前記ビデオブロックの残差値の色成分に対応する、
請求項21に記載の方法。 - 有意値を有する前記サンプルの1つまたは複数のグループの最後のサンプルの位置を示す前記ビットストリーム中の信号を識別することと、
前記受信されたビットストリームを使用して、前記シグナリングされた位置より前の位置を有する1つまたは複数のサンプルを再構成することと、
前記シグナリングされた位置の後の位置を有する1つまたは複数の残りのサンプルを所定の値を有するものとして再構成することと
をさらに備える、請求項21に記載の方法。 - 前記受信されたビットストリームから、前記サンプルの1つまたは複数のグループのうちのサンプルのグループに対応するプレフィックスと1つまたは複数のサフィックスとを識別することと、
前記1つまたは複数のサフィックスの各々の長さを決定するために前記プレフィックスを復号することと、
前記サンプルのグループのうちの1つまたは複数の対応するサンプルの値を決定するために、前記1つまたは複数のサフィックスを並列に復号することと
をさらに備える、請求項21に記載の方法。 - ビデオデータをエントロピー復号するためのデバイスであって、
前記ビデオデータのブロックを表すビットストリームの少なくとも一部分を記憶するように構成されたメモリと、
前記メモリと通信しており、
前記ブロックの色成分に対応するサンプルが前記ビットストリーム中に含まれないことを示す、前記ブロックの前記色成分のためのブロック単位スキップフラグが示されたかどうかを決定することと、
前記ブロック単位スキップフラグが示されなかったという決定に応答して、
前記サンプルのクロマサブサンプリング画像フォーマットを決定することと、
前記ビットストリームをエントロピー復号することを介して前記サンプルの1つまたは複数のグループを生成すること、ここにおいて、前記1つまたは複数のグループの数は、前記クロマサブサンプリング画像フォーマットと、前記サンプルに関連する色成分とに基づく、と、
前記サンプルの1つまたは複数のグループと、前記ブロックのコーディングモードと、前記クロマサブサンプリング画像フォーマットとに少なくとも部分的に基づいて、前記ブロックを再構成することと
を行うように構成されたプロセッサと
を備える、デバイス。 - 前記ブロックの前記クロマサブサンプリング画像フォーマットが4:2:2である場合、前記グループの数は、前記サンプルがルーマ成分に対応する場合、Nであり、前記サンプルがクロマ成分に対応する場合、N/2であり、
前記ブロックの前記クロマサブサンプリング画像フォーマットが4:2:0である場合、前記グループの数は、前記サンプルがルーマ成分に対応する場合、Nであり、前記サンプルがクロマ成分に対応する場合、N/4である、
請求項26に記載のデバイス。 - 前記サンプルの1つまたは複数のグループの各サンプルは、前記ビデオブロックの残差値の色成分に対応する、
請求項26に記載のデバイス。 - 前記プロセッサは、
有意値を有する前記サンプルの1つまたは複数のグループの最後のサンプルの位置を示す前記ビットストリーム中の信号を識別することと、
前記受信されたビットストリームを使用して、前記シグナリングされた位置より前の位置を有する1つまたは複数のサンプルを再構成することと、
前記シグナリングされた位置の後の位置を有する1つまたは複数の残りのサンプルを所定の値を有するものとして再構成することと
を行うようにさらに構成された、請求項26に記載のデバイス。 - 前記プロセッサは、
前記受信されたビットストリームから、前記サンプルの1つまたは複数のグループのうちのサンプルのグループに対応するプレフィックスと1つまたは複数のサフィックスとを識別することと、
前記1つまたは複数のサフィックスの各々の長さを決定するために前記プレフィックスを復号することと、
前記サンプルのグループのうちの1つまたは複数の対応するサンプルの値を決定するために、前記1つまたは複数のサフィックスを並列に復号することと
を行うようにさらに構成された、請求項26に記載のデバイス。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562244691P | 2015-10-21 | 2015-10-21 | |
US62/244,691 | 2015-10-21 | ||
US15/296,998 US10362310B2 (en) | 2015-10-21 | 2016-10-18 | Entropy coding techniques for display stream compression (DSC) of non-4:4:4 chroma sub-sampling |
US15/296,998 | 2016-10-18 | ||
PCT/US2016/057740 WO2017070230A1 (en) | 2015-10-21 | 2016-10-19 | Entropy coding techniques for display stream compression (dsc) of non-4:4:4 chroma sub-sampling |
Publications (4)
Publication Number | Publication Date |
---|---|
JP2018531556A JP2018531556A (ja) | 2018-10-25 |
JP2018531556A6 true JP2018531556A6 (ja) | 2018-12-13 |
JP2018531556A5 JP2018531556A5 (ja) | 2019-10-17 |
JP6710755B2 JP6710755B2 (ja) | 2020-06-17 |
Family
ID=57249873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018520112A Active JP6710755B2 (ja) | 2015-10-21 | 2016-10-19 | 非4:4:4クロマサブサンプリングのディスプレイストリーム圧縮(dsc)のためのエントロピーコーディング技法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US10362310B2 (ja) |
EP (1) | EP3366039A1 (ja) |
JP (1) | JP6710755B2 (ja) |
KR (1) | KR102120571B1 (ja) |
CN (1) | CN108141591B (ja) |
CA (1) | CA3000020C (ja) |
TW (1) | TWI696381B (ja) |
WO (1) | WO2017070230A1 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11477492B2 (en) | 2017-08-04 | 2022-10-18 | Google Inc. | Adaptation for entropy coding of blocks of image data |
JP2021520728A (ja) * | 2018-04-04 | 2021-08-19 | カカドゥ アール アンド ディー ピーティーワイ リミテッド | 画像圧縮のためのさらに改善された方法及び装置 |
US10602147B2 (en) * | 2018-07-10 | 2020-03-24 | Samsung Display Co., Ltd. | Efficient entropy coding group grouping methodology for transform mode |
CN108881915B (zh) * | 2018-07-11 | 2020-09-04 | 武汉精测电子集团股份有限公司 | 基于dsc编码技术视频播放的装置和方法 |
US10547843B1 (en) * | 2018-07-24 | 2020-01-28 | Samsung Display Co., Ltd. | Prefix coding method for high-throughput entropy coder in display interface compression |
US10863179B1 (en) * | 2018-09-05 | 2020-12-08 | Amazon Technologies, Inc. | Overlapped rate control for high-quality segmented video encoding |
AU2018233042B2 (en) | 2018-09-21 | 2024-06-13 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding a tree of blocks of video samples |
CN116708834A (zh) | 2018-10-04 | 2023-09-05 | Lg电子株式会社 | 图像编码/解码设备和用于发送图像的数据的设备 |
BR112021017901A2 (pt) * | 2019-03-12 | 2021-12-07 | Fraunhofer Ges Forschung | Decodificador, codificador, métodos para decodificação e codificação, e fluxo de dados |
US10904532B2 (en) * | 2019-05-20 | 2021-01-26 | Samsung Display Co., Ltd. | Differential prefix coding for high throughput entropy coder in display compression |
KR20230117264A (ko) | 2019-10-11 | 2023-08-07 | 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 | 4:4:4 크로마 포맷의 비디오 코딩 방법 및 장치 |
CN113473139A (zh) * | 2020-03-31 | 2021-10-01 | 华为技术有限公司 | 一种图像处理方法和图像处理装置 |
CN113810693B (zh) * | 2021-09-01 | 2022-11-11 | 上海交通大学 | 一种jpeg图像无损压缩和解压缩方法、系统与装置 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8265144B2 (en) * | 2007-06-30 | 2012-09-11 | Microsoft Corporation | Innovations in video decoder implementations |
KR101813189B1 (ko) * | 2010-04-16 | 2018-01-31 | 에스케이 텔레콤주식회사 | 영상 부호화/복호화 장치 및 방법 |
US9807401B2 (en) * | 2011-11-01 | 2017-10-31 | Qualcomm Incorporated | Transform unit partitioning for chroma components in video coding |
US8593309B2 (en) * | 2011-11-30 | 2013-11-26 | Intel Mobile Communications GmbH | Method for efficient decoding of variable length codes |
EP3139616A1 (en) * | 2012-05-29 | 2017-03-08 | HFI Innovation Inc. | Method and apparatus for coding of sample adaptive offset information |
US20140003530A1 (en) * | 2012-06-28 | 2014-01-02 | Qualcomm Incorporated | Sign hiding techniques for quantized transform coefficients in video coding |
ES2764989T3 (es) * | 2012-07-02 | 2020-06-05 | Samsung Electronics Co Ltd | Codificación por entropía de un vídeo y decodificación por entropía de un vídeo |
KR101383370B1 (ko) * | 2012-07-03 | 2014-04-10 | (주)유비쿼스 | 다잉 개스프를 이용한 전송 시스템 |
US9332257B2 (en) * | 2012-10-01 | 2016-05-03 | Qualcomm Incorporated | Coded black flag coding for 4:2:2 sample format in video coding |
KR20150048804A (ko) * | 2012-11-08 | 2015-05-07 | 캐논 가부시끼가이샤 | 코딩 유닛의 변환 유닛들을 인코딩 및 디코딩하기 위한 방법, 장치 및 시스템 |
EP2946553B1 (en) * | 2013-01-16 | 2019-01-02 | BlackBerry Limited | Transform coefficient coding for context-adaptive binary entropy coding of video |
US20160007050A1 (en) * | 2013-03-07 | 2016-01-07 | Telefonaktiebolaget L M Ericsson (Publ) | Video transcoding |
US10440365B2 (en) * | 2013-06-28 | 2019-10-08 | Velos Media, Llc | Methods and devices for emulating low-fidelity coding in a high-fidelity coder |
US9877048B2 (en) * | 2014-06-09 | 2018-01-23 | Qualcomm Incorporated | Entropy coding techniques for display stream compression (DSC) |
US9807410B2 (en) * | 2014-07-02 | 2017-10-31 | Apple Inc. | Late-stage mode conversions in pipelined video encoders |
-
2016
- 2016-10-18 US US15/296,998 patent/US10362310B2/en active Active
- 2016-10-19 KR KR1020187010760A patent/KR102120571B1/ko active IP Right Grant
- 2016-10-19 CA CA3000020A patent/CA3000020C/en active Active
- 2016-10-19 CN CN201680059743.3A patent/CN108141591B/zh active Active
- 2016-10-19 EP EP16791727.7A patent/EP3366039A1/en not_active Ceased
- 2016-10-19 JP JP2018520112A patent/JP6710755B2/ja active Active
- 2016-10-19 WO PCT/US2016/057740 patent/WO2017070230A1/en active Application Filing
- 2016-10-20 TW TW105133942A patent/TWI696381B/zh active
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6710755B2 (ja) | 非4:4:4クロマサブサンプリングのディスプレイストリーム圧縮(dsc)のためのエントロピーコーディング技法 | |
JP6518701B2 (ja) | ディスプレイストリーム圧縮(dsc)のためのエントロピーコーディング技法 | |
JP2018531556A6 (ja) | 非4:4:4クロマサブサンプリングのディスプレイストリーム圧縮(dsc)のためのエントロピーコーディング技法 | |
EP3284253B1 (en) | Rate-constrained fallback mode for display stream compression | |
JP6921873B2 (ja) | ディスプレイストリーム圧縮のためのサブストリーム多重化 | |
US10631005B2 (en) | System and method for coding in block prediction mode for display stream compression (DSC) | |
JP6453360B2 (ja) | ディスプレイストリーム圧縮(dsc)のためのラグランジュパラメータ計算のためのシステムおよび方法 | |
JP6800991B2 (ja) | ディスプレイストリーム圧縮のためのベクトルベースエントロピーコード化のための装置および方法 | |
JP6401295B2 (ja) | ディスプレイストリーム圧縮(dsc)用のパターンモードでのコーディングのためのシステムおよび方法 | |
US10123045B2 (en) | Modification to block size for transform mode in display stream compression | |
BR112018007891B1 (pt) | Método e dispositivo para codificação por entropia de dados de vídeo,método e dispositivo para decodificação por entropia de dados de vídeo, e memória legível por computador |