JP2018524932A - サブ画素パッキングを使用したディスプレイストリーム圧縮画素フォーマット拡張 - Google Patents

サブ画素パッキングを使用したディスプレイストリーム圧縮画素フォーマット拡張 Download PDF

Info

Publication number
JP2018524932A
JP2018524932A JP2018500558A JP2018500558A JP2018524932A JP 2018524932 A JP2018524932 A JP 2018524932A JP 2018500558 A JP2018500558 A JP 2018500558A JP 2018500558 A JP2018500558 A JP 2018500558A JP 2018524932 A JP2018524932 A JP 2018524932A
Authority
JP
Japan
Prior art keywords
pixel values
buffer
input
output
sub
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2018500558A
Other languages
English (en)
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2018524932A publication Critical patent/JP2018524932A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • 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/146Data rate or code amount at the encoder output
    • 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/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • 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/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals

Landscapes

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

Abstract

サブ画素パッキングを使用したディスプレイストリーム圧縮画素フォーマット拡張のための方法及び装置が開示される。一態様では、方法は、Mチャネルコーデックによって符号化するためにOチャネルフォーマットで配列された画素値をパックすることを伴う。方法は、一組の入力画素値を受けることを更に伴い得、各入力画素値は、Oチャネルフォーマットで配列されたO個の入力サブ画素値を含む。方法は、入力サブ画素値の各々を一組の出力画素値へと再配列することを伴い得、出力画素値の各組は、Mチャネルフォーマットで配列されたM個の出力サブ画素値を備え、Oは、Mより大きい値を有し、ここにおいて、再配列されたM個の出力サブ画素の少なくとも一部は、O個の入力サブ画素値から再配列されるより前からのそれらの相対空間位置決めを維持する。方法はまた、出力画素値をMチャネルコーデックに供給することを伴い得る。
【選択図】 図4

Description

[0001]本開示は、ビデオコード化及び圧縮の分野に関し、特に、ディスプレイストリーム圧縮のような、ディスプレイリンクを介した送信のためのビデオ圧縮に関する。
[0002]デジタルビデオ機能は、デジタルテレビ、携帯情報端末(PDA)、ラップトップコンピュータ、デスクトップモニタ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲーミングデバイス、ビデオゲームコンソール、セルラ又は衛星無線電話、ビデオ電話会議デバイス、等を含む、広範囲のディスプレイに組み込まれることができる。ディスプレイリンク(display links)は、ディスプレイを適切な発信源デバイスに接続するために使用される。ディスプレイリンクの帯域幅要件は、ディスプレイの解像度に比例し、故に、高解像度ディスプレイは、広帯域幅のディスプレイリンクを必要とする。いくつかのディスプレイリンクは、高解像度ディスプレイをサポートする帯域幅を有さない。帯域幅要件を低減して、より低い帯域幅のディスプレイリンクが、デジタルビデオを高解像度ディスプレイに供給するのに使用されることができるようにするために、ビデオ圧縮が使用されることができる。
[0003]他にも画素データに対して画像圧縮を利用しようとした。しかしながら、そのようなスキームは、視覚的にロスレスではないことがあるか、従来のディスプレイデバイスで実施するのが困難かつ高価であり得る。
[0004]VESA(Video Electronics Standards Association)は、ディスプレイリンクビデオ圧縮のための規格として、ディスプレイストリーム圧縮(DSC)を開発した。DSCのようなディスプレイリンクビデオ圧縮技法は、とりわけ、視覚的にロスレスなピクチャ品質(すなわち、圧縮がアクティブであることをユーザに悟られないような品質レベルを有するピクチャ)を供給するべきである。ディスプレイリンクビデオ圧縮技法はまた、従来のハードウェアを用いてリアルタイムで実施するのが容易かつ非高価なスキームを提供するべきである。
[0005]本開示のシステム、方法、及びデバイスは各々、いくつかの革新的な態様を有し、それらは1つとして、本明細書で開示される望ましい属性を単独で担うものではない。
[0006]一態様では、Mチャネルコーデックによって符号化するためにOチャネルフォーマットで配列された画素値をパックする方法が提供される。方法は、一組の入力画素値を受けることと、ここで、各入力画素値は、Oチャネルフォーマットで配列されたO個の入力サブ画素値を備える、入力サブ画素値の各々を一組の出力画素値へと再配列することと、ここで、出力画素値の各組は、Mチャネルフォーマットで配列されたM個の出力サブ画素値を備え、Oは、Mより大きい値を有し、ここにおいて、再配列されたM個の出力サブ画素の少なくとも一部は、O個の入力サブ画素値から再配列されるより前からのそれらの相対空間位置決めを維持する、出力画素値をMチャネルコーデックに供給することとを伴い得る。
[0007]別の態様では、Mチャネルコーデックによって符号化するためにOチャネルフォーマットで配列された画素値をパックするためのデバイスが提供される。デバイスは、Oチャネルフォーマットで配列された入力画素値のO個の入力サブ画素値をそれぞれ受けるように構成されたO個の入力チャネルを備えるトランシーバ回路と、O個の入力サブ画素をバッファするように構成された少なくとも1つバッファと、O個の入力サブ画素を一組の出力画素値へと再配列するように構成された論理回路とを含み得、各出力画素値は、Mチャネルフォーマットで配列されたM個の出力サブ画素値を備え、Oは、Mより大きい値を有し、ここにおいて、再配列されたM個の出力サブ画素の少なくとも一部は、O個の入力サブ画素値から再配列されるより前からのそれらの相対空間位置決めを維持し、トランシーバ回路は、一組の出力画素値をMチャネルコーデックに出力するように構成されたM個の出力チャネルを更に備える。
[0008]更に別の態様では、Mチャネルフォーマットで配列された画素値をアンパックする方法が提供される。方法は、Mチャネルコーデックから一組の入力画素値を受けることと、ここで、各入力画素は、Mチャネルフォーマットで配列されたM個の入力サブ画素を備える、入力サブ画素値の各々を一組の出力画素値へと再配列することと、ここで、出力画素値の各組は、Oチャネルフォーマットで配列されたO個の出力サブ画素値を備え、Oは、Mより大きい値を有し、ここにおいて、再配列されたO個の出力サブ画素の少なくとも一部は、M個の入力サブ画素値から再配列されるより前からのそれらの相対空間位置決めを維持する、出力として出力画素値を供給することとを伴い得る。
[0009]更に別の態様では、Mチャネルフォーマットで配列された画素値をアンパックするためのデバイスが提供される。デバイスは、Mチャネルフォーマットで配列された入力画素値のM個の入力サブ画素値をそれぞれ受けるように構成されたM個の入力チャネルを備えるトランシーバ回路と、M個の入力サブ画素をバッファするように構成された少なくとも1つバッファと、M個の入力サブ画素を一組の出力画素値へと再配列するように構成された論理回路とを含み得、各出力画素値は、Oチャネルフォーマットで配列されたO個の出力サブ画素値を備え、Oは、Mより大きい値を有し、ここにおいて、再配列されたO個の出力サブ画素の少なくとも一部は、M個の入力サブ画素値から再配列されるより前からのそれらの相対空間位置決めを維持し、トランシーバ回路は、一組の出力画素値を出力するように構成されたO個の出力チャネルを更に備える。
[0010]図1Aは、本開示で説明される態様に係る、技法を利用し得る例となるビデオ符号化及び復号システムを例示するブロック図である。 [0011]図1Bは、本開示で説明される態様に係る、技法を実行し得る別の例となるビデオ符号化及び復号システムを例示するブロック図である。 [0012]図2Aは、本開示で説明される態様に係る、技法を実施し得るビデオエンコーダの例を例示するブロック図である。 [0013]図2Bは、本開示で説明される態様に係る、技法を実施し得るビデオデコーダの例を例示するブロック図である。 [0014]図3は、本開示で説明される態様に係る、技法を実施し得るビデオエンコーダの別の例を例示するブロック図である。 [0015]図4は、画素パッキング/アンパッキングのための例となるシステムのブロック図である。 [0016]図5は、本開示で説明される態様に係る、例となる画素パッキングスキームを例示する図である。 図6は、本開示で説明される態様に係る、例となる画素パッキングスキームを例示する図である。 図7は、本開示で説明される態様に係る、例となる画素パッキングスキームを例示する図である。 図8は、本開示で説明される態様に係る、例となる画素パッキングスキームを例示する図である。 [0017]図9は、本開示で説明される態様に係る、画素パッキングのための例となるアーキテクチャを例示する図である。 [0018]図10は、本開示で説明される態様に係る、例となるパッキングタイムラインである。 [0019]図11は、品質評価についてのテスト画像を説明する表である。 [0020]図12は、本開示で説明される画素パッキング技法に基づいたピクチャ品質結果を有する表である。 [0021]図13は、本開示で説明される態様に係る、画素パッキングのための方法を例示するフローチャートである。 [0022]図14は、本開示で説明される態様に係る、画素アンパッキングのための方法を例示するフローチャートである。
[0023]一般に、本開示は、伝統的な又はレガシのコード化技法を介して、明度(brightness)、輝度(luminance)すなわちルーマ(luma)、及びカラーを表す追加の色空間をサポートするための技法に関する。例えば、ディスプレイストリーム圧縮(DSC)のようなビデオ圧縮技法は、典型的な既存のディスプレイに適している赤,緑,青(RGB)又はYCbCr入力フォーマットをサポートし得る。しかしながら、特定のディスプレイは、所与の明度に対してより高い電力効率を達成するために、例えば、第4のサブ画素(例えば、白(W))といった追加のサブ画素を導入する。第1の入力フォーマット(例えば、RGB)から第2の入力フォーマット(例えば、RGBW)フォーマットに変換するためには特別な処理が必要とされ得る。例えば、そのような変換は、ディスプレイドライバ集積回路(DDIC)のようなディスプレイドライバによって実行され得る。しかしながら、システムコストを下げるために、システムオンチップ(SoC)を介してそのような変換プロセスをサポートすることが望まれ得る。これは、SoCがディスプレイリンクにわたった送信についてのRGBW情報を生成する必要があり得ることを意味する。DSCへの既存のアプローチは、現在はRGBWをサポートしていないため、そのようなシナリオについての圧縮解決策の必要性が残っている。
[0024]特定の実施形態は本明細書ではDSC規格のコンテキストで説明されているが、当業者であれば、本明細書で開示されるシステム及び方法が、任意の適切なビデオコード化規格に適用可能であり得ることは認識するであろう。例えば、本明細書で開示される実施形態は、以下の規格のうちの1つ又は複数に適用可能であり得る:国際電気通信連合(ITU)電気通信標準化部門(ITU−T)H.261、国際標準化機構/国際電気標準会議(ISO/IEC)MPEG−1(Moving Picture Experts Group-1)ビジュアル、ITU−T H.262すなわちISO/IEC MPEG−2ビジュアル、ITU−T H.263、ISO/IEC MPEG−4ビジュアル、(ISO/IEC MPEG−4 AVCとしても知られている)ITU−T H.264、高効率ビデオコード化(HEVC)、及びそのような規格に対する任意の拡張。本明細書で説明される技法は、固定ビットレート(CBR)バッファモデルを組み込む規格に特に適用可能であり得る。また、本開示で説明される技法は、将来開発される規格の一部となり得る。換言すると、本開示で説明される技法は、前に開発されたビデオコード化規格、現在開発中のビデオコード化規格、及び今度のビデオコード化規格に適用可能であり得る。
ビデオコード化規格
[0025]ビデオ画像、TV画像、静止画像、又はビデオレコーダ若しくはコンピュータによって生成された画像のようなデジタル画像は、水平線状若しくは垂直線状に配列された画素又はサンプルを含み得る。単一画像中の画素数は典型的に、数万である。各画素は典型的に、輝度及びクロミナンス情報を含む。圧縮なしの場合、画像エンコーダから画像デコーダに伝達されるべき膨大な量の情報は、リアルタイムの画像送信を実現困難にするであろう。送信されるべき情報量を低減するために、JPEG、MPEG、及びH.263規格のような多数の異なる圧縮方法が開発されてきた。
[0026]ビデオコード化規格には、ITU−T H.261、ISO/IEC MPEG−1ビジュアル、ITU−T H.262すなわちISO/IEC MPEG−2ビジュアル、ITU−T H.263、ISO/IEC MPEG−4ビジュアル、(ISO/IEC MPEG−4 AVCとしても知られている)ITU−T H.264、及びHEVCと、それらの規格の拡張とが含まれる。
[0027]加えて、ビデオコード化規格、すなわちDSC、は、VESAによって開発されてきた。DSC規格は、ディスプレイリンクでの送信のためにビデオを圧縮することができるビデオ圧縮規格である。ディスプレイの解像度が増加するにつれ、このディスプレイを駆動するのに必要とされるビデオデータの帯域幅が相応して増加する。いくつかのディスプレイリンクは、そのような解像度のためのディスプレイにビデオデータの全てを送信するだけの帯域幅を有さない可能性がある。従って、DSC規格は、ディスプレイリンクでの相互利用可能で視覚的にロスレスな圧縮のための圧縮規格を規定する。
[0028]DSC規格は、H.264及びHEVCのような他のビデオコード化規格とは異なる。DSCは、イントラフレーム圧縮を含むが、インターフレーム圧縮は含まず、これは、ビデオデータをコード化する際に時間情報がDSC規格によって使用されないであろうことを意味する。対照的に、他のビデオコード化規格は、それらのビデオコード化技法においてインターフレーム圧縮を用い得る。
ビデオコード化システム
[0029]新規なシステム、装置、及び方法の様々な態様が、添付の図面に関連して以下でより十分に説明される。しかしながら、本開示は、多くの異なる形式で具現化され得、本開示全体にわたって提示される任意の特定の構造又は機能に限られるものとして解釈されるべきではない。むしろ、これらの態様は、本開示が十分かつ完全となり、本開示の範囲を当業者に十分に伝えるために提供される。本明細書における教示に基づき、当業者は、本開示の範囲が、本明細書で開示される新規なシステム、装置、及び方法の任意の態様を、本発明の任意の他の態様から独立して実施されようとそれと組み合わせられようと、カバーするよう意図されることを認識するべきである。例えば、本明細書で示される任意の数の態様を使用して、装置が実施され得るか、方法が実践され得る。加えて、本開示の範囲は、本明細書で示される開示の様々な態様に加えて、又は、それ以外に、他の構造、機能性、若しくは構造と機能性を使用して実践されるこのような装置又は方法をカバーするよう意図されている。本明細書で開示される任意の態様が、請求項の1つ又は複数の要素によって具現化され得ることは理解されるべきである。
[0030]特定の態様が本明細書で説明されるが、これらの態様の多くの変形及び置換は、本開示の範囲内である。好ましい態様のいくつかの利益及び利点が述べられるが、本開示の範囲は、特定の利益、用途、又は目的に限られるよう意図されない。むしろ、本開示の態様は、異なるワイヤレス技術、システム構成、ネットワーク、及び送信プロトコルに広く適用可能であるよう意図されており、それらのうちのいくつかは、図において及び好ましい態様の以下の説明において例として例示される。発明を実施するための形態及び図面は、限定というよりはむしろ、本開示の単なる例示であり、本開示の範囲は、添付の特許請求の範囲及びそれらの同等物によって定義されている。
[0031]添付の図面は例を例示している。添付の図面において参照番号で示されている要素は、以下の説明において同様の参照番号で示されている要素に対応する。本開示では、順序を示す言葉(例えば、「第1の」、「第2の」、「第3の」、等)で始まる名前を有する要素は、必ずしも、それらの要素が特定の順序を持つことを意味するものではない。むしろ、そのような順序を示す言葉は単に、同じ又は同様のタイプの異なる要素を指すために使用され得る。
[0032]図1Aは、本開示で説明される態様に係る、技法を利用し得る例となるビデオコード化システム10を例示するブロック図である。本明細書で説明される使用される場合、「ビデオコーダ」又は「コーダ」という用語は、概して、ビデオエンコーダ及びビデオデコーダの両方を指す。本開示では、「ビデオコード化」又は「コード化」という用語は、概して、ビデオ符号化及びビデオ復号を指し得る。ビデオエンコーダ及びビデオデコーダに加えて、本願で説明される態様は、トランスコーダ(例えば、ビットストリームを復号し、別のビットストリームを再符号化することができるデバイス)及びミドルボックス(例えば、ビットストリームを修正、変換、及び/又は他の方法で操作することができるデバイス)のような他の関連デバイスに拡張され得る。
[0033]図1Aに示されるように、ビデオコード化システム10は、宛先デバイス14によって後に復号されることとなる符号化済みビデオデータを生成する発信源デバイス12を含む。図1Aの例では、発信源デバイス12及び宛先デバイス14は、別個のデバイスの構成要素となる。しかしながら、図1Bの例で示されるように、発信源デバイス12及び宛先デバイス14が同じデバイス上にあり得ること又はその一部であり得ることに留意されたい。
[0034]図1Aを再度参照すると、発信源デバイス12及び宛先デバイス14は、それぞれ、デスクトップコンピュータ、ノートブック(例えば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンのような電話ハンドセット、いわゆる「スマート」パッド、テレビ、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーミングコンソール、車載コンピュータ、ビデオストリーミングデバイス、エンティティ内に配置されている、取り込まれている、又は消費されること(consumed)ができるアイウェア(眼鏡類)及び/又はウェアラブルなコンピュータ、デバイス、又は装置のような、エンティティ(例えば、人間、動物、及び/又は別の被制御デバイス)によって(に)ウェアラブルな(又は、取り外し可能に取り付けられる)デバイス、及び/又は同様のものを含む広範囲のデバイスのうちの任意のものを備え得る。様々な実施形態では、発信源デバイス12及び宛先デバイス14は、ワイヤレス通信に対応し得る。
[0035]宛先デバイス14は、復号されることとなる符号化済みビデオデータを、リンク16を介して、受信し得る。リンク16は、符号化済みビデオデータを発信源デバイス12から宛先デバイス14に移動することができる任意のタイプの媒体又はデバイスを備え得る。図1Aの例では、リンク16は、発信源デバイス12が符号化済みビデオデータを宛先デバイス14にリアルタイムで送信することを可能にする通信媒体を備え得る。符号化済みビデオデータは、ワイヤレス通信プロトコルのような通信規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、無線周波数(RF)スペクトル又は1つ又は複数の物理伝送回線のような任意のワイヤレス又はワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、広域ネットワーク、又はインターネットのようなグローバルネットワークといった、パケットベースのネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、又は発信源デバイス12から宛先デバイス14への通信を容易にするのに有益であり得る任意の他の機器を含み得る。
[0036]図1Aの例では、発信源デバイス12は、ビデオ発信源18と、ビデオエンコーダ20と、出力インターフェース22とを含む。いくつかのケースでは、出力インターフェース22は、変調器/復調器(モデム)及び/又は送信機を含み得る。発信源デバイス12では、ビデオ発信源18は、例えば、ビデオカメラのような撮影装置、前に撮られたビデオを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受けるためのビデオフィードインターフェース、及び/又は発信源ビデオとしてコンピュータグラフィックデータを生成するためのコンピュータグラフィックシステムのような発信源又はそのような発信源の組み合わせを含み得る。一例として、ビデオ発信源18がビデオカメラである場合、発信源デバイス12及び宛先デバイス14は、図1Bの例で例示されるような、いわゆる「カメラ付電話」又は「ビデオ電話」を形成し得る。しかしながら、本開示で説明される技法は、概して、ビデオコード化に適用可能であり得、ワイヤレス及び/又はワイヤードアプリケーションに適用され得る。
[0037]撮られた、予め撮られている(pre-captured)、又はコンピュータにより生成されたビデオは、ビデオエンコーダ20によって符号化され得る。符号化済みビデオデータは、発信源デバイス12の出力インターフェース22を介して、宛先デバイス14に直接送信され得る。符号化済みビデオデータはまた(又は、代替的に)、復号及び/又は再生のための、宛先デバイス14又は他のデバイスによる後のアクセスのために記憶デバイス31上に記憶され得る。図1A及び1Bに例示されるビデオエンコーダ20は、図2Aに例示されるビデオエンコーダ20又は本明細書で説明される任意の他のビデオエンコーダを備え得る。
[0038]図1Aの例では、宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。いくつかのケースでは、入力インターフェース28は、受信機及び/又はモデムを含み得る。宛先デバイス14の入力インターフェース28は、リンク16を介して及び/又は記憶デバイス31から符号化済みビデオデータを受け得る。リンク16を介して通信される又は記憶デバイス上で供給される符号化済みビデオデータは、ビデオデコーダ30のようなビデオデコーダがビデオデータを復号する際に使用するためにビデオエンコーダ20によって生成される様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信されるか、記憶媒体に記憶されるか、ファイルサーバに記憶される符号化済みビデオデータに含まれ得る。図1A及び1Bに例示されるビデオデコーダ30は、図2Bに例示されるビデオデコーダ30又は本明細書で説明される任意の他のビデオデコーダを備え得る。
[0039]ディスプレイデバイス32は、宛先デバイス14と一体化され得るか、それに外付けであり得る。いくつかの例では、宛先デバイス14は、統合ディスプレイデバイスを含み得、同じく、外部のディスプレイデバイスとインターフェース接続するように構成され得る。他の例では、宛先デバイス14は、ディスプレイデバイスであり得る。一般に、ディスプレイデバイス32は、復号済みビデオデータをユーザに表示し、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、又は別のタイプのディスプレイデバイスのような、様々なディスプレイデバイスのうちの任意のものを備え得る。
[0040]関連する態様では、図1Bは、例となるビデオコード化システム10’を示し、ここにおいて、発信源デバイス12及び宛先デバイス14は、デバイス11上にあるか、その一部である。デバイス11は、「スマート」フォンのような電話ハンドセット又は同様のものであり得る。デバイス11は、発信源デバイス12及び宛先デバイス14と動作可能に通信状態にある(オプションで存在する)プロセッサ/コントローラデバイス13を含み得る。図1Bのビデオコード化システム10’及びその構成要素は、他の点では(otherwise)、図1Aのビデオコード化システム10及びその構成要素に類似し得る。
[0041]ビデオエンコーダ20及びビデオデコーダ30は、DSCのようなビデオ圧縮規格に従って動作し得る。代替的に、ビデオエンコーダ20及びビデオデコーダ30は、別名、MPEG−4,Part10,AVCと呼ばれるITU−T H.264規格、HEVC、又はそのような規格の拡張のような、他の専有又は工業規格に従って動作し得る。しかしながら、本開示の技法は、任意の特定のコード化規格に限られない。ビデオ圧縮規格の他の例は、MPEG−2及びITU−T H.263を含む。
[0042]図1A及び1Bの例では示されていないが、ビデオエンコーダ20及びビデオデコーダ30は、各々、オーディオエンコーダ及びデコーダと一体化され得、共通のデータストリーム又は別個のデータストリームにおけるオーディオ及びビデオの両方の符号化に対処するために、適切なMUX−DEMUXユニット又は他のハードウェア及びソフトウェアを含み得る。適用可能な場合、いくつかの例では、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、又はユーザデータグラムプロトコル(UDP)のような他のプロトコルに準拠し得る。
[0043]ビデオエンコーダ20及びビデオデコーダ30は、各々、1つ又は複数のマイクロプロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、又はそれらの任意の組み合わせのような、様々な適切なエンコーダ回路の任意のものとして実施され得る。本技法が部分的にソフトウェアにより実施される場合、デバイスは、このソフトウェアのための命令を、適切かつ非一時的なコンピュータ読取可能な媒体に記憶し、本開示の技法を実行するために、1つ又は複数のプロセッサを使用してハードウェアで命令を実行し得る。ビデオエンコーダ20及びビデオデコーダ30の各々は、1つ又は複数のエンコーダ又はデコーダに含まれ得、それらのどちらも、それぞれのデバイスにおける複合エンコーダ/デコーダの一部として一体化され得る。
ビデオコード化プロセス
[0044]簡単に上述したように、ビデオエンコーダ20は、ビデオデータを符号化する。ビデオデータは、1つ又は複数のピクチャを備え得る。ピクチャの各々は、ビデオの一部を形成する静止画像である。いくつかの事例では、ピクチャは、ビデオ「フレーム」と呼ばれ得る。ビデオエンコーダ20がビデオデータを符号化するとき、ビデオエンコーダ20は、ビットストリームを生成し得る。ビットストリームは、ビデオデータのコード化表現を形成する一連のビットを含み得る。ビットストリームは、コード化済みピクチャと関連データとを含み得る。コード化済みピクチャは、ピクチャのコード化表現である。
[0045]ビットストリームを生成するために、ビデオエンコーダ20は、ビデオデータ中の各ピクチャに対して符号化動作を実行し得る。ビデオエンコーダ20がピクチャに対して符号化動作を実行するとき、ビデオエンコーダ20は、一連のコード化済みピクチャと関連データとを生成し得る。関連データは、量子化パラメータ(QP)のような一組のコード化パラメータを含み得る。コード化済みピクチャを生成するために、ビデオエンコーダ20は、ピクチャを、同じ大きさの複数のビデオブロックへと区分化し得る。ビデオブロックは、2次元アレイのサンプルであり得る。コード化パラメータは、ビデオデータの全てのブロックについてコード化オプション(例えば、コード化モード)を定義し得る。所望のレート−歪み性能(rate-distortion performance)を達成するために、コード化オプションが選択され得る。
[0046]いくつかの例では、ビデオエンコーダ20は、ピクチャを、複数のスライスへと区分化し得る。スライスの各々は、画像(例えば、フレーム)中に空間的に異なる領域を含み得、それは、画像又はフレーム中の残りの領域からの情報なく独立して復号されることができる。各画像又はビデオフレームは、単一のスライスにおいて符号化され得るか、各画像又はビデオフレームは、いくつかのスライスにおいて符号化され得る。DSCでは、各スライスを符号化するために割り振られるターゲットビットは、略一定であり得る。ピクチャに対して符号化動作を実行することの一部として、ビデオエンコーダ20は、ピクチャの各スライスに対して符号化動作を実行し得る。ビデオエンコーダ20がスライスに対して符号化動作を実行するとき、ビデオエンコーダ20は、このスライスに関連付けられた符号化済みデータを生成し得る。スライスに関連付けられた符号化済みデータは、「コード化済みスライス」と呼ばれ得る。
例となるビデオエンコーダ
[0047]図2Aは、本開示で説明される態様に係る、技法を実施し得るビデオエンコーダ20の例を例示するブロック図である。ビデオエンコーダ20は、本開示の技法のうちのいくつか又は全てを実行するように構成され得る。いくつかの例では、本開示で説明される技法は、ビデオエンコーダ20の様々な構成要素の間で共有され得る。いくつかの例では、追加的又は代替的に、プロセッサ(図示されない)は、本開示で説明される技法のうちのいくつか又は全てを実行するように構成され得る。
[0048]説明の目的のために、本開示は、DSCコード化のコンテキストにおいてビデオエンコーダ20を説明する。しかしながら、本開示の技法は、他のコード化規格又は方法に適用可能であり得る。
[0049]図2Aの例では、ビデオエンコーダ20は、複数の機能的な構成要素を含む。ビデオエンコーダ20の機能的な構成要素には、色空間コンバータ105と、バッファ110と、平坦度検出器115と、レートコントローラ120と、予測器、量子化器、及び再構築器構成要素125と、ラインバッファ130と、インデックス付き色履歴135と、エントロピーエンコーダ140と、サブストリームマルチプレクサ145と、レートバッファ150とが含まれる。他の例では、ビデオエンコーダ20は、より多い数の、より少ない数の、又は異なる機能的な構成要素を含み得る。
[0050]色空間コンバータ105は、入力された色空間を、コード化実施で使用される色空間に変換し得る。例えば、1つの例示的な実施形態では、入力されたビデオデータの色空間は、赤,緑,青(RGB)色空間にあり、コード化は、輝度Y、クロミナンス緑Cg、及びクロミナンスオレンジCo(YCoCg)色空間により実施される。色空間変換は、ビデオデータへの追加及びシフトを含む方法によって実行され得る。他の色空間にある入力されたビデオデータが処理され得ること及び他の色空間への変換もまた実行され得ることに留意されたい。
[0051]特定のコーデックは、全ての色空間期間間での変換を実行するように設計されていない可能性がある。例えば、赤,緑,青,白(RGBW)のような特定の色空間は、上に記載されたより一般的な3チャネル色フォーマットより多い4つのカラーチャネルを含み得る。ディスプレイ技術の進歩は、追加のサブ画素、例えば、RGBWを用い得、この色フォーマットに対する需要を生み出す。しかしながら、レガシの3チャネルコーデックは、3つの入力/出力しか有しておらず、故に、4チャネル入力を受けるようには自然には構成されない。従って、これら3チャネルコーデックは、3チャネル規格の仕様及び内部構造への修正なしにRGBWビデオデータをコード化することができない。
[0052]関連する態様では、ビデオエンコーダ20は、バッファ110、ラインバッファ130、及び/又はレートバッファ150を含み得る。例えば、バッファ110は、ビデオエンコーダ20の他の部分による使用より前、色空間変換されたビデオデータを保持し得る。別の例では、ビデオデータは、RGB色空間に記憶され得、色空間変換されたデータがより多くのビットを必要とし得るため、色空間変換が必要に応じて実行され得る。
[0053]レートバッファ150は、ビデオエンコーダ20においてレート制御メカニズムの一部として機能し得、これは、レートコントローラ120に関連して以下でより詳細に説明される。各ブロックを符号化するのに費やされるビットは、極めて実質的にブロックの性質に基づいて変動することができる。レートバッファ150は、圧縮ビデオにおけるレート変動を滑らかにすることができる。いくつかの実施形態では、固定ビットレートでバッファからビットが取り出される固定ビットレート(CBR)バッファモデルが用いられる。CBRバッファモデルでは、ビデオエンコーダ20が過度に多くのビットをビットストリームに追加する場合、レートバッファ150はオーバーフローし得る。他方で、ビデオエンコーダ20は、レートバッファ150のアンダーフローを防ぐために、十分なビットを追加しなければならない。
[0054]ビデオデコーダ側では、ビットが、固定ビットレートでビデオデコーダ30のレートバッファ155(以下でより詳細に説明される図2Bを参照)に追加され得、ビデオデコーダ30は、ブロックごとに可変の数のビットを取り除き得る。適切な復号を確実にするために、ビデオデコーダ30のレートバッファ155は、圧縮ビットストリームの復号中、「アンダーフロー」又は「オーバーフロー」するべきではない。
[0055]いくつかの実施形態では、バッファフルネス(BF)は、バッファ中に現在あるビット数を表す値BufferCurrentSizeと、レートバッファ150のサイズを表すBufferMaxSize、すなわち、いずれかの時点でレートバッファ150に記憶されることができる最大ビット数、とに基づいて定義され得る。BFは、次のように算出され得る:
BF=((BufferCurrentSize*100)/BufferMaxSize)
[0056]BFを算出する上記アプローチが単なる例示であること及びBFが、特定の実施又はコンテキストに依存して、任意の数の異なる方法で算出され得ることに留意されたい。
[0057]平坦度検出器115は、ビデオデータ中の複雑な(すなわち、平坦でない)エリアからビデオデータ中の平坦な(すなわち、単純な又は均一の)エリアへの及び/又はその逆への変化を検出することができる。「複雑(な)」及び「平坦(な)」という用語は、一般に、ビデオエンコーダ20がビデオデータのそれぞれの領域を符号化することの難しさを示すために本明細書で使用されるであろう。故に、複雑(な)という用語は、本明細書で使用される場合、一般に、ビデオデータの領域を、ビデオエンコーダ20が符号化し難いものとして説明し、例えば、テキスチャ化されたビデオデータ、高空間周波数、及び/又は符号化し難い他の特徴を含み得る。平坦(な)という用語は、本明細書で使用される場合、一般に、ビデオデータの領域を、ビデオエンコーダ20が符号化し易いものとして説明し、例えば、ビデオデータ中の滑らかな勾配、低空間周波数、及び/又は符号化し易い他の特徴を含み得る。符号化済みビデオデータ中の量子化アーティファクトを低減するために、複雑領域から平坦領域への遷移が、ビデオエンコーダ20によって使用され得る。具体的には、レートコントローラ120及び予測器、量子化器、及び再構築器構成要素125は、複雑領域から平坦領域への遷移が識別されるときに、そのような量子化アーティファクトを低減することができる。同様に、平坦領域から複雑領域への遷移は、現在ブロックをコード化するのに必要とされる期待レートを低減するためにQPを増加するため、ビデオエンコーダ20によって使用され得る。
[0058]レートコントローラ120は、一組のコード化パラメータ、例えば、QP、を決定する。QPは、レートバッファ150がオーバーフロー又はアンダーフローしないことを確実にするターゲットビットレートについてのピクチャ品質を最大化するために、レートバッファ150のバッファフルネスとビデオデータの画像アクティビティ(例えば、複雑領域から平坦領域への遷移又はその逆)とに基づいて、レートコントローラ120によって調整され得る。レートコントローラ120はまた、最適なレート−歪み性能を達成するために、ビデオデータの各ブロックについて特定のコード化オプション(例えば、特定のモード)を選択する。レートコントローラ120は、ビットレート制約を満たすように、すなわち、実際のコード化レート全体がターゲットビットレート内に収まるように、再構築された画像の歪みを最小化する。故に、レートコントローラ120の1つの目的は、レート−歪み性能を最大化しつつレートに対する瞬間的及び平均的な制約を満たすために、コード化モード、QP、等の一組のコード化パラメータを決定することである。
[0059]予測器、量子化器、及び再構築器構成要素125は、ビデオエンコーダ20の少なくとも3つの符号化動作を実行し得る。予測器、量子化器、及び再構築器構成要素125は、多数の異なるモードで予測を実行し得る。1つの例となる断定モード(predication mode)は、中央値適応予測の修正バージョンである。中央値適応予測は、ロスレスなJPEG規格(JPEG−LS)によって実施され得る。予測器、量子化器、及び再構築器構成要素125によって実行され得る中央値適応予測の修正バージョンは、3つの連続したサンプル値の並行予測を可能にし得る。別の例となる予測モードは、ブロック予測である。ブロック予測では、上の線又は同じ線の左にある、前に再構築された画素からサンプルが予測される。いくつかの実施形態では、ビデオエンコーダ20及びビデオデコーダ30は両方とも、再構築された画素に対して同一探索を実行して、ブロック予測用法を決定し得るため、ブロック予測モードではいずれのビットも送られる必要はない。他の実施形態では、ビデオエンコーダ20は、その探索を実行し、ビットストリームにおいてブロック予測ベクトルを信号伝達し得、これによって、ビデオデコーダ30は、別個の探索を実行する必要がない。構成要素範囲(component range)の中間点を使用してサンプルが予測される中間点予測モードもまた実施され得る。中間点予測モードは、ワーストケースのサンプルにおいて圧縮ビデオに必要とされるビット数の境界決め(bounding)を可能にし得る。
[0060]予測器、量子化器、及び再構築器構成要素125もまた、量子化を実行する。例えば、量子化は、シフタを使用して実施され得る2のべき乗量子化器(power-of-2 quantizer)を介して実行され得る。2のべき乗量子化器の代わりに他の量子化技法が実施され得ることに留意されたい。予測器、量子化器、及び再構築器構成要素125によって実行される量子化は、レートコントローラ120によって決定されるQPに基づき得る。最後に、予測器、量子化器、及び再構築器構成要素125はまた、逆量子化残差を予測値に加えることと、その結果がサンプル値の有効範囲外にならないことを確実にすることとを含む再構築を実行する。
[0061]予測器、量子化器、及び再構築器構成要素(reconstructor component)125によって実行される予測、量子化、及び再構築への上述した例となるアプローチは単なる例示であること及び他のアプローチが実施され得ることに留意されたい。予測器、量子化器、及び再構築器構成要素125が、予測、量子化、及び/又は再構築を実行するための従属構成要素を含み得ることも留意されたい。予測、量子化、及び/又は再構築が、予測器、量子化器、及び再構築器構成要素125の代わりに、いくつかの別個のエンコーダ構成要素によって実行され得ることに更に留意されたい。
[0062]ラインバッファ130は、予測器、量子化器、及び再構築器構成要素125とインデックス付き色履歴135とが、バッファされたビデオデータを使用することできるように、予測器、量子化器、及び再構築器構成要素125からの出力を保持する。インデックス付き色履歴(indexed color history)135は、最近使用された画素値を記憶する。これらの最近使用された画素値は、専用シンタックスを介して、ビデオエンコーダ20によって直接参照されることができる。
[0063]エントロピーエンコーダ140は、インデックス付き色履歴135と、平坦度検出器115によって識別される平坦度遷移とに基づいて、予測器、量子化器、及び再構築器構成要素125から受けた予測残差及び任意の他のデータ(例えば、予測器、量子化器、及び再構築器構成要素125によって識別されるインデックス)を符号化する。いくつかの例では、エントロピーエンコーダ140は、サブストリームエンコーダにつき1クロックあたり3つのサンプルを符号化し得る。サブストリームマルチプレクサ145は、ヘッダーレスパケット多重化スキームに基づいて、ビットストリームを多重化し得る。これは、ビデオデコーダ30が、並列に3つのエントロピーデコーダを稼働させることを可能にし、これは、1クロックあたり3つの画素の復号を容易にする。サブストリームマルチプレクサ145は、パケットがビデオデコーダ30によって効率的に復号されることができるようにパケット順序を最適化し得る。エントロピーコード化への異なるアプローチが実施され得、これは、1クロックあたり2のべき乗個の画素(例えば、2画素/クロック又は4画素/クロック)の復号を容易にし得ることに留意されたい。
例となるビデオデコーダ
[0064]図2Bは、本開示で説明される態様に係る、技法を実施し得るビデオデコーダ30の例を例示するブロック図である。ビデオデコーダ30は、本開示の技法のうちのいくつか又は全てを実行するように構成され得る。いくつかの例では、本開示で説明される技法は、ビデオデコーダ30の様々な構成要素の間で共有され得る。いくつかの例では、追加的又は代替的に、プロセッサ(図示されない)は、本開示で説明される技法のうちのいくつか又は全てを実行するように構成され得る。
[0065]説明の目的のために、本開示は、DSCコード化のコンテキストにおいてビデオデコーダ30を説明する。しかしながら、本開示の技法は、他のコード化規格又は方法に適用可能であり得る。
[0066]図2Bの例では、ビデオデコーダ30は、複数の機能的な構成要素を含む。ビデオデコーダ30の機能的な構成要素には、レートバッファ155と、サブストリームデマルチプレクサ160と、エントロピーデコーダ165と、レートコントローラ170と、予測器、量子化器、及び再構築器構成要素175と、インデックス付き色履歴180と、ラインバッファ185と、色空間コンバータ190とが含まれる。ビデオデコーダ30の例示される構成要素は、図2Aのビデオエンコーダ20に関連して上述した対応する構成要素に類似する。このように、ビデオデコーダ30の構成要素の各々は、上述したようなビデオエンコーダ20の対応する構成要素と同様の方式で動作し得る。
DSCでのスライス
[0067]上述したように、スライスは一般に、画像又はフレーム中の領域の残りからの情報を使用することなく独立して復号されることができる画像又はフレーム中の空間的に異なる領域を指す。各画像又はビデオフレームは、単一のスライスにおいて符号化され得るか、各画像又はビデオフレームは、いくつかのスライスにおいて符号化され得る。DSCでは、各スライスを符号化するために割り振られるターゲットビットは、略一定であり得る。
量子化パラメータ(QP)
[0068]上述したように、ビデオコード化は、例えば、予測器、量子化器、及び再構築器構成要素125を介したビデオデータの量子化を含み得る。量子化は、信号にロスを導入し得、このロスの量は、レートコントローラ120によって決定されるQPによって制御されることができる。各QPについての量子化ステップサイズを記憶するよりむしろ、スケーリング行列が、QPの関数として特定され得る。各QPについての量子化ステップサイズは、スケーリング行列から導出され得、導出された値は、必ずしも、2のべき乗である必要はなく、すなわち、導出される値はまた、2のべき乗以外(non-power of two)であり得る。
ビデオエンコーダの更なる例
[0069]図3は、ビデオエンコーダ20の別の例を例示するブロック図であり、それを用いて本明細書で説明される態様に係る技法を実施する。ビデオエンコーダ20又はそれの構成要素は、本開示の技法のうちのいくつか又は全てを実行するように構成され得る。いくつかの例では、本開示で説明される技法は、ビデオエンコーダ20の様々な構成要素の間で共有又は分散され得る。いくつかの例では、追加的又は代替的に、プロセッサ(図示されない)は、本明細書で説明される技法のうちのいくつか又は全てを実行するように構成され得る。
[0070]図3の例では、ビデオエンコーダ20は、複数の機能的な構成要素を含む。ビデオエンコーダ20の機能的な構成要素には、例えば、平坦度検出器115と、レートコントローラ120と、エントロピーエンコーダ140と、サブストリームマルチプレクサ145と、レートバッファ150と、ラインバッファ305と、ラスタ−ブロックコンバータ310と、モード評価器315と、モードセレクタ320と、再構築器325と、更新再構築バッファ構成要素330と、更新パターンデータベース構成要素335とが含まれ得る。他の例では、ビデオエンコーダ20は、より多い数の、より少ない数の、又は異なる機能的な構成要素を含み得る。平坦度検出器115、レートコントローラ120、エントロピーエンコーダ140、サブストリームマルチプレクサ145、及びレートバッファ150は、図2Aに関連して上述したビデオエンコーダ20の対応する構成要素に類似して機能し得、故に、これらの構成要素の更なる詳細な解説は、繰り返されないであろう。
[0071]ラインバッファ305は、1つのバッファ、又は、例えば、ビデオデータの2〜4つのラインを記憶する複数のバッファであり得る。ラインバッファ305によって記憶されるビデオデータのラインは、ラスタ−ブロックコンバータ310に供給され得る。ラインバッファ305によって記憶されるラインの数は、画素のブロック(例えば、K×2又はK×4ブロック)を作成するために使用される画素の行の数に対応し得る。ラスタ−ブロックコンバータ310は、ビデオデータのラインを、エンコーダ20が作用するよう設計されたビデオデータのブロックへと変換し得る。
[0072]ラスタ−ブロックコンバータ310は、これらのブロックを平坦度検出器115及び/又はモード評価器315に供給するように構成され得る。平坦度検出器115は、ビデオデータ中の平坦エリアを検出し、図2Aの平坦度検出器115と同様の方法で動作し得る。同様に、平坦度検出器115からの出力を受けるレートコントローラ120は、図2Aのレートコントローラ120と同様の方法で動作し得る。
[0073]モード評価器315は、複数のコード化モードにおいてラスタ−ブロックコンバータ310から受けたブロックのコード化に関連付けられた1つ又は複数のパラメータを評価するように構成され得る。例えば、モード評価器315は、複数のコード化モードの各々について現在ブロックを符号化することに関するレート−歪みコストを決定し得る。コード化モードの例には、変換コード化モード(例えば、DCT、アマダール、等)、ブロック予測コード化モード、差動パルス符号変調(DPCM)コード化モード、パターンコード化モード、中間点予測(MPP)コード化モード、及びMPPフォールバック(MPPF)コード化モードが含まれ得る。モードセレクタ320は、ビデオデータの現在ブロックを符号化するための複数のコード化モードのうちの1つを選択し得る。一実施では、モードセレクタ320は、モード評価器315によって決定された最も低いレート−歪みコストを有するコード化モードを選択するように構成され得る。モードセレクタ320の出力は、再構築器325及び/又はエントロピーエンコーダ140に供給され得る。エントロピーエンコーダ140、サブストリームマルチプレクサ145、及びレートバッファ150の各々は、図2Aに関して説明された例となるエンコーダの対応する構成要素に類似して動作し得る。
[0074]図2Aのエンコーダの予測器、量子化器、及び再構築器構成要素125と同様に、再構築器325は、最初に受けたビデオデータの再構築を実行し得、これは、逆量子化された残差を予測値に追加することと、この結果が、サンプル値の許容範囲又は有効範囲外にならないことを確実にすることとを含み得る。更新再構築バッファ330は、再構築器325からのビデオデータの再構築に関する情報を記憶するように構成され得る。例えば、更新再構築バッファ330は、現在ブロックと同じライン及び前に再構築されたラインに再構築された画素値を記憶し得る。特定の実施では、これらの再構築された画素値は、特定のコード化モードでの予測に使用され得る。
[0075]更新パターンデータベース335は、ビデオデータ中に繰り返して又はよく現れる画素値を記憶するように構成され得る。これらの記憶された画素値は、インデックスを参照するコード化モードのような特定のコード化モード(例えば、パターンコード化モード)によって使用され得る。記憶された画素値を参照するための更新パターンデータベース335における1つ又は複数のインデックスの使用は、大きな領域が小さい組の異なる画素値を含み得る、グラフィックスコンテンツのような特定のコンテンツタイプについてレート−歪みを改善し得る。
[0076]詳細には説明又は例示されていないが、当業者であれば、対応するビデオデコーダが、図3に例示されたビデオエンコーダ20に基づいて構築され得ることは認識するであろう。そのようなビデオデコーダは、ビデオエンコーダ20が受けたビデオデータに対応する視覚的にロスレスな画像を再生するために、符号化済みビデオビットストリームを復号するように構成され得る。
[0077]ビデオエンコーダ及び/又はビデオデコーダの特定の実施形態は、本明細書ではDSC規格のコンテキストにおいて説明されているが、当業者であれば、本明細書で開示されるシステム及び方法が、任意の適切なビデオコーダ又はコード化規格に適用可能であり得ることは認識するであろう。
[0078]図1A−1B、図2A−2B、及び/又は図3に例示されたビデオエンコーダ20、ビデオデコーダ30、及び/又はそれらの構成要素が、本明細書で説明されるコード化技法の特徴のうちの1つ又は複数を実行するように構成され得ることに留意されたい。
[0079]ビデオエンコーダ、ビデオデコーダ、及び/又はそれらの構成要素は、バッファを含む複数のプログラマブル計算ユニットによって共有される統合グローバルメモリを含むデバイスで実施され得、ここにおいて、バッファは、先入れ先出し(FIFO)バッファを含み得る。デバイスは、少なくとも1つのプロセッサ又はプロセッサ回路(例えば、中央処理ユニット(CPU))及び/又はグラフィックス処理ユニット(GPU)を含み得る集積回路(IC)を更に含み得、ここにおいて、GPUは、1つ又は複数のプログラマブル計算ユニットを含み得る。デバイスは、SoCの一部であり得、ここにおいて、少なくとも1つの低減命令セット計算(RISC)命令セットを使用するCPUを含み得るSoC。SoCは、複数のCPUコア及びGPUを含み得る。
サブ画素パッキングを使用した画素フォーマット拡張
[0080]本開示の1つ又は複数の態様に従って、DSCが、例えば、RGBWのような新しい画素フォーマットをサポートすることを可能にするサブ画素パッキングのための技法が提供される。本開示は、DSCの有用性をRGB及びYCbCrベースのフォーマットを超えて拡張し、DSC規格に関連付けられた高レベルのピクチャ品質を保ちつつ、DSCが4つ以上の原色(例えば、RGBW)に作用する(operate on)ことを可能にする技法を提供する。これは、エンコーダの入力においてカスタム事前処理ステップを、デコーダの後に対応する事後処理ステップを追加することによって達成され得る。エンコーダ及びデコーダは、それら自体、いずれの修正も必要としない。
[0081]図4の例を参照すると、DSC規格が、4つ以上の原色を有する画素フォーマットのようなRGB及びYCbCrを超えた新しい画素フォーマットをサポートすることを可能にするサブ画素パッキング/アンパッキングのためのシステム200のブロック図が示されている。4つ以上の原色をサポートする画素フォーマットの例は、RGBWである。例示を目的として、本開示の態様を例示するために、RGBWのサブ画素パッキングが使用される;しかしながら、本明細書で説明される技法が、RGBW、RGB、及びYCbCrを超えた他の画素フォーマットに適用可能であることは理解されるであろう。
[0082]システム200の例には、互いに通信状態にあるSoC210及びディスプレイドライバ集積回路(IC)250が含まれ得る。SoC210は、圧縮データストリームをディスプレイドライバIC250に送出する。
[0083]SoC210は、4つ上のサブ画素値(例えば、RGBW)を受け、これら4つ上のサブ画素値をパックし、より小さい数(例えば、3つ)のサブ画素値(例えば、RGB)を出力する画素パッキングユニット220を含み得る。所与のフォーマットでのサブ画素値の数は、以降、チャネルの数と呼ばれ得る(これは、サブストリームの数とも呼ばれ得る)。SoC210は、画素パッキングユニット220から3つのサブ画素値を受けるDSCエンコーダ20を含み得る。例えば、DSCエンコーダ20は、図2A又は図3のエンコーダ20を備え得る。より小さい数の画素値への4つ以上のサブ画素値のパッキングは、4つ以上のサブ画素値を、DSCエンコーダ20への入力として許容できるフォーマットへとフォーマット化し得る。
[0084]ディスプレイドライバIC250は、DSCエンコーダ20から圧縮データストリームを受けるDSCデコーダ30を含み得る。ディスプレイドライバIC250は、DSCデコーダ30から3つのサブ画素値(例えば、RGB)を受け、これら3つのサブ画素値を4つ以上のサブ画素値(例えば、RGBW)へとアンパックする画素アンパッキングユニット260を含み得る。アンパックされたサブ画素値のチャネルの数は、画素パッキングユニット220が受けるチャネルの数に対応し得る。
[0085]SoC210における3つのサブ画素値への4つのサブ画素値のパッキングに加えて、ディスプレイドライバIC250における4つのサブ画素値への3つのサブ画素値の対応するアンパッキングは、例示を目的として、本明細書において示され、説明される。サブ画素パッキング技法が、任意の適切な数のサブ画素値に使用され得ることに留意されたい。追加的に、サブ画素値の数は、所与のディスプレイデバイスによって使用されるサブ画素の数に対応する場合もしない場合もある。
[0086]図5を参照すると、画素パッキングへの例となるアプローチが示されている。レートxのRGBW入力シーケンス400が図5の左側に示されている。データ410に適用されるような(4x/3のレートでの)相関特性を持つパッキングスキームが右側に示されている。具体的には、図5の右上にあるパッキングスキームは、(例えば、上から下、左から右に)データの順序を変更することなくRGBWデータをRGBチャネルへとパックするにすぎない。データ410は、図5の右下に示されているように、データ420のように、RGB入力フォーマットを仮定するDSCコーデック(例えば、図4のDSCエンコーダ20又はDSCデコーダ30)によって解釈される。図5のパッキングスキームが、低減されたデータ相関による、最適に満たない圧縮画像品質に導き得る準最適な相関特性を有し得ることに留意されたい。例えば、DSCコーデックは、赤画素として画素値Rを解釈し、この仮定に基づいて符号化/復号技法を適用し得る。しかしながら、図5のパッキング技法によれば、この画素は、画素値Wでパックされている。故に、画素値Wを、それが画素値Rと特定の相関を有するべきであると仮定して、DSCエンコーダが符号化しようと試みるつもりである場合、エンコーダは、この仮定が真であった場合にそうしないと生じたであろう効率を実現しないであろう。
[0087]図6を参照すると、画素パッキングへの別の例となるアプローチが示されている。レートxのRGBW入力シーケンス500は、図6の左側に示されている。図6のパッキングスキームが、高ピクチャ品質圧縮に対する空間相関を保つように設計されることに留意されたい。図6における白(W)サブ画素は、列優先順(column-major order)で配列されている。
[0088]データ510に適用されるような相関特性(レート4x/3)を維持する1つのパッキングスキームが、図6の右上に示されており、ここでN=1である。より大きいN値が相関を改善し得ることに留意されたい。N=2である場合にデータ520に適用されるような相関特性(レート4x/3)を維持するパッキングスキーム、も、図6の右側に示されている。N=3である場合にデータ530に適用されるような相関特性(レート4x/3)を維持するパッキングスキーム、も、図6の右側に示されている。データ510(N=1)、データ520(N=2)、又はデータ530(N=3)は、図5の右下に示されているように、データ540のように、RGB入力フォーマットを仮定するDSCコーデックによって解釈され得る。Nが任意の整数であり得ること、及び、Nが、例示を目的として本明細書で使用されるN値(例えば、N=1、2、又は3)に限られないことに留意されたい。
[0089]図6のパッキングスキームでは、DSCコーダは、白画素値W〜WをRGB画素値として解釈する。しかしながら、図6のパッキングスキーム内の白画素値W〜Wの配列により、画素値間の空間相関は、図5の画素パッキングスキームの場合より失われない。例えば、N=1のパッキングスキームでは、画素値R〜R、G〜G、及びB〜Bの相対空間位置は変らないままである。故に、これらの画素値についての空間相関は、画素値W〜Wが出力画素値に配置されるまで、そのままである。N=2及びN=3のパッキングスキームから分かるように、更なる空間相関でさえも、画素値W〜Wの配列により維持される。追加的に、まとめて配列され得る白画素値W〜W間には、白画素値W〜Wと他のカラーチャネルの画素値との間より大きい相関が存在し得る。。
[0090]図6を更に参照すると、当業者であれば、例示された画素パッキングスキームが、出力シーケンス510、520、530の各々において、入力シーケンスからの画素の相対空間位置決め(例えば、空間配列)の少なくともいくらかを維持することを認識するであろう。例えば、サブ画素値R〜R、G〜G、及びZB〜Bを含む最初の3つの画素値は、出力シーケンス510において、入力シーケンス500と同じ空間配列を有する。白画素W〜Wの空間配列は、出力シーケンス510において変えられるが、少なくともサブ画素値R〜R、G〜G、及びB〜Bの空間位置決めは、実質的に維持される。更に、より高いN値を有するパッキングスキーム520及び530では、より多くの数の入力サブ画素が、同じ相対空間位置決めで維持される。
[0091]図7を参照すると、画素パッキングへの更に別の例となるアプローチが示されている。レートxのRGBW入力シーケンス600が図7の左側に示されている。図6のものと同様に、図7のパッキングスキームが、高ピクチャ品質圧縮に対する空間相関を保つように設計されることに留意されたい。しかしながら、図7におけるWサブ画素は、列優先順序よりむしろ行優先順(row-major order)で配列される。符号化されることとなるビデオデータのコンテンツに依存して、行優先順又は列優先順でのWサブ画素の配列は、DSCエンコーダ20の効率に対して影響を与え得る。
[0092]データ610に適用されるような相関特性(レート4x/3)を維持するパッキングスキームが、図7の右上に示されており、ここでN=1である。図6の実施形態にあるように、より大きいN値が相関を改善し得ることに留意されたい。N=2である場合にデータ620に適用されるような相関特性(レート4x/3)を維持するパッキングスキーム、も、図7の右側に示されている。N=3である場合にデータ630に適用されるような相関特性(レート4x/3)を維持するパッキングスキーム、も、図7の右側に示されている。データ610(N=1)、データ620(N=2)、又はデータ630(N=3)は、図7の右下に示されるように、データ640のように、RGB入力フォーマットを仮定するDSCコーデックによって解釈され得る。
[0093]図8を参照すると、画素パッキングへの更に別の例となるアプローチが示されている。レートxのRGBW入力シーケンス700が図8の左側に示されている。図6及び図7のものと同様に、図8のパッキングスキームが、高ピクチャ品質圧縮に対する空間相関を保つように設計されることに留意されたい。しかしながら、図8に示されているWサブ画素は、行優先順で3×3のグループに順序付けされて配列される。Nは、この例では、3の倍数である。
[0094]データ710に適用されるような相関特性を維持するパッキングスキームが、図8の右上に示されており、ここでN=3である。この場合も同様に、より大きいN値が相関を改善し得ることは留意されたい。N=6である場合にデータ720に適用されるような相関特性を維持するパッキングスキーム、も、図8の右側に示されている。データ720(N=3)及びデータ720(N=6)は、図8の右下に示されるように、データ730のように、RGB入力フォーマットを仮定するDSCコーデックによって解釈され得る。
[0095]パッキングスキームに対する3の倍数の使用は、Nの他の値が取得しない特定の効率につながり得る。例えば、DSCコーダは、3チャネルコードであり、故に、入力データを、3つのグループに分割される相対空間位置決めを有するグループへとフォーマット化する(例えば、Wサブ画素をまとめてグループ化し、ここで、Nは3の倍数である)ことで、コード化されたDSCは、このコーデックを設計する際に使用される仮定を利用し得る。一般に、Nの値を、コーデックによって使用されるカラーチャネルの数の倍数にすることは有益であり得る。
[0096]図9を参照すると、画素パッキングのための例となるアーキテクチャが示されている。例えば、4つ以上のサブ画素値(例えば、RGBW)を受け、これら4つ上のサブ画素値をパックし、より小さい数(例えば、3つ)のサブ画素値(例えば、RGB)を出力する画素パッキングユニット220が示されている。例示を目的として、この例は、図6の例となる技法に対応し、6つのRGBWサンプル(N=2)についてのRGBWからRGBへの画素パッキングの動作のためのものである。6つのRGBWサンプルは、6(4/3)=8つのRGBサンプルになるであろう。RGBWサンプルについての入力クロックは、出力クロックに対して4/3比率でスケールアップされる。tが、入力クロックについての1サイクルの周期である場合、出力クロックについての1サイクルの周期は、3t/4である。
[0097]画素パッキングユニット220は、2つ以上のFIFOバッファを含み得る。例えば、画素パッキングユニット220は、図9に示されるように配列された、FIFOバッファ222及びFIFOバッファ224並びにステートマシン226及びセレクタユニット228を含み得る。FIFOバッファ222は、RGBサブ画素値を記憶するように構成され得る。FIFOバッファ224は、Wサブ画素を記憶するように構成され得る。FIFOバッファ222及びFIFOバッファ224の記憶要件は、Nの値と、パッキング技法(例えば、図6−8の例となる技法)とに依存する。
[0098]FIFOバッファ222及びFIFOバッファ224の各々は、クロック入力と、4X/3クロック乗数入力とを受け、ステートマシン226から入力を受けるように構成される。セレクタユニット228は、FIFOバッファ222及びFIFOバッファ224の両方から入力を受ける。
[0099]画素アンパッキングユニット260のための対応するアーキテクチャは、画素パッキングユニット220のものに実質的に類似するが、画素アンパッキングユニット260への入力がRGBサブ画素値を含み得るのに対して、出力がRGBWサブ画素値を含み得るように逆機能を実行することに留意されたい。
[0100]図9の例となるアーキテクチャを有する図6の例となる技法の実施に対応するタイミング図は、図10に示されている。このように、図9の例となるアーキテクチャの動作は、図10のタイミング図に関連して詳細に説明される。例えば、tが入力クロックについての1サイクルの周期である場合で、かつ、N=2である場合、入力クロックの第1のサイクル中、示されるように、サブ画素値Rは、FIFOバッファ222に記憶され得、サブ画素Wは、FIFOバッファ222に記憶され得る。入力クロックの第2のサイクルにおいて、示されるように、サブ画素値Rはまた、FIFOバッファ222に記憶され得、サブ画素Wは、FIFOバッファ222に記憶され得る。入力ブロックの第3のサイクルにおいて、示されるように、サブ画素値Rはまた、FIFOバッファ222に記憶され得、サブ画素Wは、FIFOバッファ224に記憶され得る。入力ブロックの第4のサイクルにおいて、示されるように、他のサブ画素値(例えば、サブ画素値R、等)のための場所を空けるために、サブ画素値Rは、FIFOバッファ222から除去され得、サブ画素Wは、FIFOバッファ224から除去され得る。他の実施形態では、FIFOバッファ222及び224がフルになると、単に、最も古いサブ画素値(例えば、R)が上書きされる。
[0101]入力クロックの第2及び第3のサイクルと重複する、出力クロックの第1のサイクル(3t/4)において、サブ画素値Rが、画素パッキングユニット220によって(例えば、セレクタユニット228を介して)出力される。出力クロックの第2のサイクル中、サブ画素値Rが、画素パッキングユニット220によって出力される。画素パッキングユニット220は、出力クロックの第2〜第6のサイクル中、同様の方法で、サブ画素値R、R、R、Rを出力する。0から5の下付き値を有するRGBサブ画素値の出力中、ステートマシン226は、セレクタユニット228への出力のためにFIFO222を選択し得る。
[0102]画素パッキングユニット220は、出力クロックの第7のサイクル中、サブ画素値Wを出力し、出力クロックの第8のサイクル中、画素値Wを出力する。第7及び第8のサイクル中、ステートマシン226は、セレクタユニット228への出力のためにFIFO224を選択し得る。
[0103]図10における例となるタイミング図が、例示だけを目的としたものであること、及び、異なるタイミング図を有する異なるタイミングパッキング/アンパッキング解決策をもたらす、入力/出力サブ画素値、入力/出力クロック、Wサブ画素値の配列、等に関する異なるパラメータが実施され得ることに留意されたい。
[0104]本明細書で説明されたサブ画素パッキング/アンパッキング技法及びアーキテクチャのいくつかの利点が存在することに更に留意されたい。1つの利点は、例えば、他の色空間変換技法と比べて極めて小さいサブ画素再順序付けユニット(subpixel re-ordering units)だけを含む、プリ/ポストプロセッサが低コストであることである。そのような、プリ/ポストプロセッサは、いくらかのバッファリングを伴い、これは、典型的なラインバッファのサイズのほんのわずかであり、故に、コスト効率が良い。別の利点は、圧縮の結果が、主観的及び知覚的メトリックの観点で、高ピクチャ品質を示すことである。更に別の利点は、DSCエンコーダ/デコーダへの変更が必要ないことであり、これによって、開示された技法がDSC規格に準拠したものとなる。更に別の利点は、開示された技法が、RGBWを超えた他の色フォーマットに適用され得ることであり、DSC規格が追加のアプリケーションに拡張されることを可能にする。
[0105]品質評価についてのテスト画像が、図11における表に説明されており、対応するピクチャ品質結果が、図12の表において提供され得る。方法2は、図6の方法に対応し、方法3は、図7の方法に対応し、方法4は、図8の方法に対応する。方法2、3、及び4は、図5の基本的な方法に対して著しい性能向上を実証する。図12におけるPNSR値は、RGBW色空間における計算に基づく。図12のPNSR値から明らかなように、最良のピクチャ品質結果を生む方法は、テスト画像の空間相関に依存して変動し得る。故に、特定の状況下では、画素パッキングスキームのうちの1つが、その他全てのスキームより良い結果を生み出し得る。
第1のフォーマットで配列された画素値を第2のフォーマットへとパックするための例となるフローチャート
[0106]図13を参照すると、第1のフォーマットで配列された画素値を第2のフォーマットへとパックするための例となる手順が説明される。図13は、本開示の実施形態に係る、ビデオデータをコード化するための方法800を例示するフローチャートである。図13に例示されるステップは、ビデオエンコーダ(例えば、図2A又は図3のビデオエンコーダ20)又はそれらの構成要素によって実行され得る。便宜上、方法800は、ビデオエンコーダ20又は別の構成要素であり得る、(単にコーダとも呼ばれる)ビデオコーダによって実行されると説明される。
[0107]方法800は、ブロック801から開始する。ブロック805において、コーダは、一組の入力画素値を受ける。入力画素値は、第1のフォーマット(例えば、Oチャネルフォーマット)で配列される。各入力画素値は、O個の入力サブ画素値を含み得る。ブロック810において、コーダは、入力サブ画素値を一組の出力画素値へと再配列する。出力画素値の各組は、Mチャネルフォーマットで配列されたM個の出力サブ画素値を含み得る。特定の実施では、Oは、Mより大きい値を有し得る。再配列の後、再配列されたM個の出力サブ画素の少なくとも一部は、O個の入力サブ画素値から再配列されるより前からのそれらの相対空間位置決めを維持する。
[0108]ブロック815において、コーダは、出力画素値をMチャネルコーデックに供給する。Mチャネルフォーマットへの入力画素値の再配列により、コード化されたMチャネルは、再配列された出力画素値をコード化することができ得る。更に、Mチャネルコーデックが、受けた画素値間の特定の仮定された空間関係性に基づいて、受けた画素値をコード化し得るため、再配列されたM個の出力サブ画素は、それらの維持された相対空間位置決めに基づいて特定のコード化効率を達成し得る。方法800は、ブロック820で終了する。
[0109]方法800では、図13に示されるブロックのうちの1つ又は複数は、除去され得(例えば、実行されず)、及び/又は、方法が実行される順序が入れ替えられ得る。いくつかの実施形態では、追加のブロックが、方法800に追加され得る。本開示の実施形態は、図13に示される例に限られるものでもそれらによって制限されるものでもなく、他の変形が、本開示の精神から逸脱することなく実施され得る。
第1のフォーマットで配列された画素値を第2のフォーマットへとアンパックするための例となるフローチャート
[0110]図14を参照すると、第1のフォーマットで配列された画素値を第2のフォーマットへとパックするための例となる手順が説明される。図14は、本開示の実施形態に係る、ビデオデータをコード化するための方法900を例示するフローチャートである。図14に例示されているステップは、ビデオデコーダ(例えば、図2Bのビデオエンコーダ30)又はその構成要素によって実行され得る。便宜上、方法900は、ビデオデコーダ30又は別の構成要素であり得る、(単にコーダとも呼ばれる)ビデオコーダによって実行されると説明されている。
[0111]方法900は、ブロック901から開始する。ブロック905において、コーダは、Mチャネルコーデックから一組の入力画素値を受ける。入力画素値は、第1のフォーマット(例えば、Mチャネルフォーマット)で配列される。各入力画素値は、M個の入力サブ画素値を含み得る。ブロック910において、コーダは、入力サブ画素値を一組の出力画素値へと再配列する。出力画素値の各組は、Oチャネルフォーマットで配列されたO個の出力サブ画素値を含み得る。特定の実施では、Oは、Mより大きい値を有し得る。再配列の後、再配列されたO個の出力サブ画素の少なくとも一部は、M個の入力サブ画素値から再配列されるより前からのそれらの相対空間位置決めを維持する。
[0112]ブロック915において、コーダは、出力として出力画素値を供給する。例えば、出力画素値は、ユーザへの表示のためにディスプレイに供給され得る。ディスプレイは、Oチャネルディスプレイ、例えば、複数の画素を有するディスプレイ(例えば、RGBWディスプレイ)であり得、各画素は、O個のサブ画素を有する。Oチャネルフォーマットへの入力画素値の再配列により、ディスプレイは、フル色空間コンバータを含むことなく、再配列された出力画素値を表示することができ得る。方法900は、ブロック920で終了する。
[0113]方法900では、図14に示されるブロックのうちの1つ又は複数は、除去され得(例えば、実行されず)、及び/又は、方法が実行される順序が入れ替えられ得る。いくつかの実施形態では、追加のブロックが、方法900に追加され得る。本開示の実施形態は、図14に示される例に限られるものでもそれらによって制限されるものでもなく、他の変形が、本開示の精神から逸脱することなく実施され得る。
他の検討事項
[0114]本開示の態様が、図9の画素パッキングユニット220のようなエンコーダの観点から説明されていることは留意されるべきである。しかしながら、当業者であれば、上述したものの逆動作が、例えば、図4の画素アンパッキングユニット260によって、生成されたビットストリームを復号するために適用され得ることは認識するであろう。
[0115]本明細書で開示された情報及び信号は、多種多様な技術及び技法のうちの任意のものを使用して表され得る。例えば、上記説明全体にわたって参照され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、及びチップは、電圧、電流、電磁波、磁場又は磁性粒子、光場又は光粒子、又はこれらの任意の組み合わせによって表され得る。
[0116]本明細書で開示された実施形態に関連して説明された実例となる様々な論理ブロック及びアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、又は両方の組み合わせとして実施され得る。このハードウェアとソフトウェアとの互換性を明確に例示するために、実例となる様々な構成要素、ブロック、及びステップが、概してそれらの機能の観点から上述されている。このような機能がハードウェアとして実施されるかソフトウェアとして実施されるかは、特定の用途及びシステム全体に課せられている設計制約に依存する。当業者は、説明した機能を特定の用途ごとに様々な方法で実施し得るが、このような実施の判定は本開示の範囲からの逸脱の原因になるとして解釈されるべきではない。
[0117]本明細書で説明した技法は、ハードウェア、ソフトウェア、ファームウェア、又はこれらの任意の組み合わせにより実施され得る。そのような技法は、汎用コンピュータ、ワイヤレス通信デバイスハンドセット、又は、ワイヤレス通信デバイスハンドセット及び他のデバイスへのアプリケーションを含む複数の用途を有する集積回路デバイスのような様々なデバイスの任意のものにより実施され得る。デバイス又は構成要素として説明された任意の特徴は、集積論理デバイスでまとめて、又は、ディスクリートではあるが相互動作可能な論理デバイスとして別々に実施され得る。ソフトウェアにより実施される場合、本技法は、少なくとも部分的に、命令を含むプログラムコードを備えるコンピュータ読取可能なデータ記憶媒体によって実施され得、これらの命令は、実行されると、上述した方法のうちの1つ又は複数を実行する。コンピュータ読取可能なデータ記憶媒体は、パッケージングマテリアルを含み得る、コンピュータプログラム製品の一部を形成し得る。コンピュータ読取可能な媒体は、同期動的ランダムアクセスメモリ(SDMAM)のようなランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、不揮発ランダムアクセスメモリ(NVRAM)、電気的消去可能なプログラマブル読取専用メモリ(EEPROM(登録商標))、FLASHメモリ、磁気又は光学データ記憶媒体、等のメモリ又はデータ記憶媒体を備え得る。本技法は、追加的に又は代替的に、少なくとも部分的に、伝播される信号又は波のような、コンピュータによってアクセスされ、読み取られ、及び/又は実行されることができ、かつ、データ構造又は命令の形式でプログラムコードを搬送又は通信するコンピュータ読取可能な通信媒体によって実施され得る。
[0118]コンピュータ読取可能な媒体(例えば、メモリ又は他のデータ記憶デバイス)と通信状態にある(例えば、協力して動作する)プロセッサは、プログラムコードの命令を実行し得、1つ又は複数のデジタルシグナルプロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)のような1つ又は複数のプロセッサ、又は他の同等の集積又はディスクリート論理回路を含み得る。そのようなプロセッサは、本開示で説明された技法のうちの任意のものを実行するように構成され得る。汎用プロセッサは、マイクロプロセッサであり得るが、代替的に、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、又はステートマシンであり得る。プロセッサはまた、コンピューティングデバイスの組み合わせ、例えば、DSPと、1つのマイクロプロセッサ、複数のマイクロプロセッサ、DSPコアと連動する1つまたは複数のマイクロプロセッサ、または任意の他のそのような構成との組み合わせとして実施され得る。従って、「プロセッサ」という用語は、本明細書で使用される場合、前述の構造の任意のもの、前述の構造の任意の組み合わせ、又は本明細書で説明した技法の実施に適した任意の他の構造又は装置を指し得る。加えて、いくつかの態様では、本明細書で説明した機能性は、符号化及び復号のために構成された専用のソフトウェア又はハードウェア内に提供されるか、複合ビデオエンコーダ−デコーダ(CODEC)に組み込まれ得る。また、本技法は、1つ又は複数の回路又は論理要素により完全に実施され得る。
[0119]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、又は一組のIC(例えば、チップセット)を含む、幅広い種類のデバイス又は装置により実施され得る。様々な構成要素又はユニットは、開示された技法を実行するように構成されたデバイスの機能的な態様を強調するように本開示では説明されているが、必ずしも異なるハードウェアユニットによる実施を必要とするわけではない。むしろ、上述したように、様々なユニットは、コデックハードウェアユニットへと組み合わせられるか、又は、上述したように、1つ又は複数のプロセッサを含む、相互動作するハードウェアユニットの一群によって、適切なソフトウェア及び/又はファームウェアと併せて提供され得る。
[0120]前述のものは、様々な異なる実施形態に関連して説明されているが、1つの実施形態からの特徴又は要素は、本開示の教示から逸脱することなく、他の実施形態と組み合わせられる。しかしながら、それぞれの実施形態間の特徴の組み合わせは、必ずしもそれらに限られるわけではない。本開示の様々な実施形態が説明されている。これらの実施形態及び他の実施形態は、以下の特許請求の範囲の範囲内である。
[0120]前述のものは、様々な異なる実施形態に関連して説明されているが、1つの実施形態からの特徴又は要素は、本開示の教示から逸脱することなく、他の実施形態と組み合わせられる。しかしながら、それぞれの実施形態間の特徴の組み合わせは、必ずしもそれらに限られるわけではない。本開示の様々な実施形態が説明されている。これらの実施形態及び他の実施形態は、以下の特許請求の範囲の範囲内である。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
[C1]
Mチャネルコーデックによって符号化するためにOチャネルフォーマットで配列された画素値をパックする方法であって、
一組の入力画素値を受けることと、各入力画素値は、前記Oチャネルフォーマットで配列されたO個の入力サブ画素値を備える、
前記入力サブ画素値の各々を一組の出力画素値へと再配列することと、出力画素値の各組は、Mチャネルフォーマットで配列されたM個の出力サブ画素値を備え、Oは、Mより大きい値を有し、ここにおいて、前記再配列されたM個の出力サブ画素の少なくとも一部は、前記O個の入力サブ画素値から再配列されるより前からのそれらの相対空間位置決めを維持する、
前記出力画素値を前記Mチャネルコーデックに供給することと
を備える方法。
[C2]
前記Mチャネルフォーマットは、M個の異なるカラーチャネルを含み、前記Oチャネルフォーマットは、前記M個のカラーチャネルと、少なくとも1つの追加のカラーチャネルとを含み、前記方法は、
前記M個のカラーチャネルの前記入力サブ画素値の各々を、前記出力画素値の対応する前記M個のカラーチャネルに配列することと、
前記少なくとも1つの追加のカラーチャネルの前記入力サブ画素値の各々を、前記少なくとも1つの追加のカラーチャネルだけを含む出力画素値へと配列することと
を更に備える、C1に記載の方法。
[C3]
前記M個のカラーチャネルの前記入力サブ画素値の各々を第1のバッファにバッファすることと、
前記少なくとも1つの追加のカラーチャネルの前記入力サブ画素値の各々を第2のバッファにバッファすることと、
前記出力画素値を構築するために、前記第1のバッファからの画素を選択することと、
前記第2のバッファが、N個の出力画素値を構築するのに十分な数のサブ画素値を包含した後、前記少なくとも1つの追加のカラーチャネルだけを含む前記N個の出力画素値を構築するために、前記第2のバッファからの画素を選択することと、前記N個の出力画素値は、互いに直接隣接している、
を更に備える、C2に記載の方法。
[C4]
前記第1のバッファ及び前記第2のバッファは、先入れ先出し(FIFO)バッファである、C3に記載の方法。
[C5]
前記少なくとも1つの追加のカラーチャネルの前記サブ画素は、前記N個の出力画素値において列優先順で配列される、C3に記載の方法。
[C6]
前記少なくとも1つの追加のカラーチャネルの前記サブ画素は、前記N個の出力画素値において行優先順で配列される、C3に記載の方法。
[C7]
前記第1のバッファ及び前記第2のバッファのうちのどちらから前記出力画素値を再構築するためのサブ画素を受けるかを、ステートマシンを介して選択すること
を更に備える、C3に記載の方法。
[C8]
前記一組の入力画素値を受けるレートより大きいレートで前記出力画素値を前記Mチャネルコーデックに供給すること
を更に備える、C1に記載の方法。
[C9]
Mチャネルコーデックによって符号化するためにOチャネルフォーマットで配列された画素値をパックするためのデバイスであって、
前記Oチャネルフォーマットで配列された入力画素値のO個の入力サブ画素値をそれぞれ受けるように構成されたO個の入力チャネルを備えるトランシーバ回路と、
前記O個の入力サブ画素をバッファするように構成された少なくとも1つバッファと、
前記O個の入力サブ画素を一組の出力画素値へと再配列するように構成された論理回路と、各出力画素値は、Mチャネルフォーマットで配列されたM個の出力サブ画素値を備え、Oは、Mより大きい値を有し、ここにおいて、前記再配列されたM個の出力サブ画素の少なくとも一部は、前記O個の入力サブ画素値から再配列されるより前からのそれらの相対空間位置決めを維持する、
を備え、
前記トランシーバ回路は、前記一組の出力画素値を前記Mチャネルコーデックに出力するように構成されたM個の出力チャネルを更に備える、デバイス。
[C10]
前記Mチャネルフォーマットは、M個の異なるカラーチャネルを含み、前記Oチャネルフォーマットは、前記M個のカラーチャネルと、少なくとも1つの追加のカラーチャネルとを含み、前記論理回路は、
前記M個のカラーチャネルの前記入力サブ画素値の各々を、前記出力画素値の対応する前記M個のカラーチャネルに配列することと、
前記少なくとも1つの追加のカラーチャネルの前記入力サブ画素値の各々を、前記少なくとも1つの追加のカラーチャネルだけを含む出力画素値へと配列することと
を行うように更に構成される、C9に記載のデバイス。
[C11]
前記バッファは、
前記M個のカラーチャネルの前記入力サブ画素値の各々をバッファするように構成された第1のバッファと、
前記少なくとも1つの追加のカラーチャネルの前記入力サブ画素値の各々をバッファするように構成された第2のバッファと
を更に備え、
前記論理回路は、
前記出力画素値を構築するために、前記第1のバッファからの画素を選択することと、
前記第2のバッファが、N個の出力画素値を構築するのに十分な数のサブ画素値を包含した後、前記少なくとも1つの追加のカラーチャネルだけを含む前記N個の出力画素値を構築するために、前記第2のバッファからの画素を選択することと、前記N個の出力画素値は、互いに直接隣接している、
を行うように更に構成される、C10に記載のデバイス。
[C12]
前記第1のバッファ及び前記第2のバッファは、先入れ先出し(FIFO)バッファである、C11に記載のデバイス。
[C13]
前記論理回路は、前記少なくとも1つの追加のカラーチャネルの前記サブ画素を列優先順で配列するように更に構成される、C11に記載のデバイス。
[C14]
前記論理回路は、前記少なくとも1つの追加のカラーチャネルの前記サブ画素を行優先順で配列するように更に構成される、C11に記載のデバイス。
[C15]
前記論理回路は、ステートマシンを備え、前記ステートマシンは、前記第1のバッファ及び前記第2のバッファのうちのどちらから前記出力画素値を再構築するためのサブ画素を受けるかを、選択するように構成される、C11に記載のデバイス。
[C16]
前記M個の出力チャネルは、前記O個の入力チャネルが前記一組の入力画素値を受けるレートより大きいレートで前記一組の出力画素値を前記Mチャネルコーデックに出力するように更に構成される、C9に記載のデバイス。
[C17]
Mチャネルフォーマットで配列された画素値をアンパックする方法であって、
Mチャネルコーデックから一組の入力画素値を受けることと、各入力画素は、前記Mチャネルフォーマットで配列されたM個の入力サブ画素を備える、
前記入力サブ画素値の各々を一組の出力画素値へと再配列することと、出力画素値の各組は、Oチャネルフォーマットで配列されたO個の出力サブ画素値を備え、Oは、Mより大きい値を有し、ここにおいて、前記再配列されたO個の出力サブ画素の少なくとも一部は、前記M個の入力サブ画素値から再配列されるより前からのそれらの相対空間位置決めを維持する、
出力として前記出力画素値を供給することと
を備える方法。
[C18]
前記Mチャネルフォーマットは、M個の異なるカラーチャネルを含み、前記Oチャネルフォーマットは、前記M個のカラーチャネルと、少なくとも1つの追加のカラーチャネルとを含み、前記方法は、
前記M個のカラーチャネルの複数の前記入力サブ画素値を、前記出力画素値の対応する前記O個のカラーチャネルに配列することと、
前記少なくとも1つの追加のカラーチャネルに対応する前記入力サブ画素値の各々を、前記少なくとも1つの追加のカラーチャネルの出力画素値へと配列することと
を更に備える、C17に記載の方法。
[C19]
前記M個のカラーチャネルに対応する前記入力サブ画素値の各々を第1のバッファにバッファすることと、
前記少なくとも1つの追加のカラーチャネルに対応する前記入力サブ画素値の各々を第2のバッファにバッファすることと、
前記出力画素値を構築するために、前記第1のバッファからM個の画素を、前記第2のバッファから少なくとも1つの画素を選択することと
を更に備える、C18に記載の方法。
[C20]
前記第1のバッファ及び前記第2のバッファは、先入れ先出し(FIFO)バッファである、C19に記載の方法。
[C21]
前記少なくとも1つの追加のカラーチャネルの前記サブ画素は、前記N個の入力画素値において列優先順で配列される、C19に記載の方法。
[C22]
前記少なくとも1つの追加のカラーチャネルの前記サブ画素は、前記N個の入力画素値において行優先順で配列される、C19に記載の方法。
[C23]
前記第1のバッファ及び前記第2のバッファのうちのどちらに前記入力サブ画素値の各々を配置するかを、ステートマシンを介して選択すること
を更に備える、C19に記載の方法。
[C24]
前記一組の入力画素値を受けるレートより小さいレートで前記出力画素値を供給すること
を更に備える、C17に記載の方法。
[C25]
Mチャネルフォーマットで配列された画素値をアンパックするためのデバイスであって、
前記Mチャネルフォーマットで配列された入力画素値のM個の入力サブ画素値をそれぞれ受けるように構成されたM個の入力チャネルを備えるトランシーバ回路と、
前記M個の入力サブ画素をバッファするように構成された少なくとも1つバッファと、
前記M個の入力サブ画素を一組の出力画素値へと再配列するように構成された論理回路と、各出力画素値は、Oチャネルフォーマットで配列されたO個の出力サブ画素値を備え、Oは、Mより大きい値を有し、ここにおいて、前記再配列されたO個の出力サブ画素の少なくとも一部は、前記M個の入力サブ画素値から再配列されるより前からのそれらの相対空間位置決めを維持する、
を備え、
前記トランシーバ回路は、前記一組の出力画素値を出力するように構成されたO個の出力チャネルを更に備える、
デバイス。
[C26]
前記Mチャネルフォーマットは、M個の異なるカラーチャネルを含み、前記Oチャネルフォーマットは、前記M個のカラーチャネルと、少なくとも1つの追加のカラーチャネルとを含み、前記論理回路は、
前記M個のカラーチャネルの複数の前記入力サブ画素値を、前記出力画素値の対応する前記O個のカラーチャネルに配列することと、
前記少なくとも1つの追加のカラーチャネルに対応する前記入力サブ画素値の各々を、前記少なくとも1つの追加のカラーチャネルの出力画素値へと配列することと
を行うように更に構成される、C25に記載のデバイス。
[C27]
前記バッファは、
前記M個のカラーチャネルに対応する前記入力サブ画素値の各々をバッファするように構成された第1のバッファと、
前記少なくとも1つの追加のカラーチャネルに対応する前記入力サブ画素値の各々に構成された第2のバッファと
を更に備え、
前記論理回路は、前記出力画素値を構築するために、前記第1のバッファからM個の画素を、前記第2のバッファから少なくとも1つの画素を選択するように更に構成される、
C26に記載のデバイス。
[C28]
前記第1のバッファ及び前記第2のバッファは、先入れ先出し(FIFO)バッファである、C27に記載のデバイス。
[C29]
前記少なくとも1つの追加のカラーチャネルの前記サブ画素は、前記N個の入力画素値において列優先順で配列される、C27に記載のデバイス。
[C30]
前記少なくとも1つの追加のカラーチャネルの前記サブ画素は、前記N個の入力画素値において行優先順で配列される、C27に記載のデバイス。

Claims (30)

  1. Mチャネルコーデックによって符号化するためにOチャネルフォーマットで配列された画素値をパックする方法であって、
    一組の入力画素値を受けることと、各入力画素値は、前記Oチャネルフォーマットで配列されたO個の入力サブ画素値を備える、
    前記入力サブ画素値の各々を一組の出力画素値へと再配列することと、出力画素値の各組は、Mチャネルフォーマットで配列されたM個の出力サブ画素値を備え、Oは、Mより大きい値を有し、ここにおいて、前記再配列されたM個の出力サブ画素の少なくとも一部は、前記O個の入力サブ画素値から再配列されるより前からのそれらの相対空間位置決めを維持する、
    前記出力画素値を前記Mチャネルコーデックに供給することと
    を備える方法。
  2. 前記Mチャネルフォーマットは、M個の異なるカラーチャネルを含み、前記Oチャネルフォーマットは、前記M個のカラーチャネルと、少なくとも1つの追加のカラーチャネルとを含み、前記方法は、
    前記M個のカラーチャネルの前記入力サブ画素値の各々を、前記出力画素値の対応する前記M個のカラーチャネルに配列することと、
    前記少なくとも1つの追加のカラーチャネルの前記入力サブ画素値の各々を、前記少なくとも1つの追加のカラーチャネルだけを含む出力画素値へと配列することと
    を更に備える、請求項1に記載の方法。
  3. 前記M個のカラーチャネルの前記入力サブ画素値の各々を第1のバッファにバッファすることと、
    前記少なくとも1つの追加のカラーチャネルの前記入力サブ画素値の各々を第2のバッファにバッファすることと、
    前記出力画素値を構築するために、前記第1のバッファからの画素を選択することと、
    前記第2のバッファが、N個の出力画素値を構築するのに十分な数のサブ画素値を包含した後、前記少なくとも1つの追加のカラーチャネルだけを含む前記N個の出力画素値を構築するために、前記第2のバッファからの画素を選択することと、前記N個の出力画素値は、互いに直接隣接している、
    を更に備える、請求項2に記載の方法。
  4. 前記第1のバッファ及び前記第2のバッファは、先入れ先出し(FIFO)バッファである、請求項3に記載の方法。
  5. 前記少なくとも1つの追加のカラーチャネルの前記サブ画素は、前記N個の出力画素値において列優先順で配列される、請求項3に記載の方法。
  6. 前記少なくとも1つの追加のカラーチャネルの前記サブ画素は、前記N個の出力画素値において行優先順で配列される、請求項3に記載の方法。
  7. 前記第1のバッファ及び前記第2のバッファのうちのどちらから前記出力画素値を再構築するためのサブ画素を受けるかを、ステートマシンを介して選択すること
    を更に備える、請求項3に記載の方法。
  8. 前記一組の入力画素値を受けるレートより大きいレートで前記出力画素値を前記Mチャネルコーデックに供給すること
    を更に備える、請求項1に記載の方法。
  9. Mチャネルコーデックによって符号化するためにOチャネルフォーマットで配列された画素値をパックするためのデバイスであって、
    前記Oチャネルフォーマットで配列された入力画素値のO個の入力サブ画素値をそれぞれ受けるように構成されたO個の入力チャネルを備えるトランシーバ回路と、
    前記O個の入力サブ画素をバッファするように構成された少なくとも1つバッファと、
    前記O個の入力サブ画素を一組の出力画素値へと再配列するように構成された論理回路と、各出力画素値は、Mチャネルフォーマットで配列されたM個の出力サブ画素値を備え、Oは、Mより大きい値を有し、ここにおいて、前記再配列されたM個の出力サブ画素の少なくとも一部は、前記O個の入力サブ画素値から再配列されるより前からのそれらの相対空間位置決めを維持する、
    を備え、
    前記トランシーバ回路は、前記一組の出力画素値を前記Mチャネルコーデックに出力するように構成されたM個の出力チャネルを更に備える、デバイス。
  10. 前記Mチャネルフォーマットは、M個の異なるカラーチャネルを含み、前記Oチャネルフォーマットは、前記M個のカラーチャネルと、少なくとも1つの追加のカラーチャネルとを含み、前記論理回路は、
    前記M個のカラーチャネルの前記入力サブ画素値の各々を、前記出力画素値の対応する前記M個のカラーチャネルに配列することと、
    前記少なくとも1つの追加のカラーチャネルの前記入力サブ画素値の各々を、前記少なくとも1つの追加のカラーチャネルだけを含む出力画素値へと配列することと
    を行うように更に構成される、請求項9に記載のデバイス。
  11. 前記バッファは、
    前記M個のカラーチャネルの前記入力サブ画素値の各々をバッファするように構成された第1のバッファと、
    前記少なくとも1つの追加のカラーチャネルの前記入力サブ画素値の各々をバッファするように構成された第2のバッファと
    を更に備え、
    前記論理回路は、
    前記出力画素値を構築するために、前記第1のバッファからの画素を選択することと、
    前記第2のバッファが、N個の出力画素値を構築するのに十分な数のサブ画素値を包含した後、前記少なくとも1つの追加のカラーチャネルだけを含む前記N個の出力画素値を構築するために、前記第2のバッファからの画素を選択することと、前記N個の出力画素値は、互いに直接隣接している、
    を行うように更に構成される、請求項10に記載のデバイス。
  12. 前記第1のバッファ及び前記第2のバッファは、先入れ先出し(FIFO)バッファである、請求項11に記載のデバイス。
  13. 前記論理回路は、前記少なくとも1つの追加のカラーチャネルの前記サブ画素を列優先順で配列するように更に構成される、請求項11に記載のデバイス。
  14. 前記論理回路は、前記少なくとも1つの追加のカラーチャネルの前記サブ画素を行優先順で配列するように更に構成される、請求項11に記載のデバイス。
  15. 前記論理回路は、ステートマシンを備え、前記ステートマシンは、前記第1のバッファ及び前記第2のバッファのうちのどちらから前記出力画素値を再構築するためのサブ画素を受けるかを、選択するように構成される、請求項11に記載のデバイス。
  16. 前記M個の出力チャネルは、前記O個の入力チャネルが前記一組の入力画素値を受けるレートより大きいレートで前記一組の出力画素値を前記Mチャネルコーデックに出力するように更に構成される、請求項9に記載のデバイス。
  17. Mチャネルフォーマットで配列された画素値をアンパックする方法であって、
    Mチャネルコーデックから一組の入力画素値を受けることと、各入力画素は、前記Mチャネルフォーマットで配列されたM個の入力サブ画素を備える、
    前記入力サブ画素値の各々を一組の出力画素値へと再配列することと、出力画素値の各組は、Oチャネルフォーマットで配列されたO個の出力サブ画素値を備え、Oは、Mより大きい値を有し、ここにおいて、前記再配列されたO個の出力サブ画素の少なくとも一部は、前記M個の入力サブ画素値から再配列されるより前からのそれらの相対空間位置決めを維持する、
    出力として前記出力画素値を供給することと
    を備える方法。
  18. 前記Mチャネルフォーマットは、M個の異なるカラーチャネルを含み、前記Oチャネルフォーマットは、前記M個のカラーチャネルと、少なくとも1つの追加のカラーチャネルとを含み、前記方法は、
    前記M個のカラーチャネルの複数の前記入力サブ画素値を、前記出力画素値の対応する前記O個のカラーチャネルに配列することと、
    前記少なくとも1つの追加のカラーチャネルに対応する前記入力サブ画素値の各々を、前記少なくとも1つの追加のカラーチャネルの出力画素値へと配列することと
    を更に備える、請求項17に記載の方法。
  19. 前記M個のカラーチャネルに対応する前記入力サブ画素値の各々を第1のバッファにバッファすることと、
    前記少なくとも1つの追加のカラーチャネルに対応する前記入力サブ画素値の各々を第2のバッファにバッファすることと、
    前記出力画素値を構築するために、前記第1のバッファからM個の画素を、前記第2のバッファから少なくとも1つの画素を選択することと
    を更に備える、請求項18に記載の方法。
  20. 前記第1のバッファ及び前記第2のバッファは、先入れ先出し(FIFO)バッファである、請求項19に記載の方法。
  21. 前記少なくとも1つの追加のカラーチャネルの前記サブ画素は、前記N個の入力画素値において列優先順で配列される、請求項19に記載の方法。
  22. 前記少なくとも1つの追加のカラーチャネルの前記サブ画素は、前記N個の入力画素値において行優先順で配列される、請求項19に記載の方法。
  23. 前記第1のバッファ及び前記第2のバッファのうちのどちらに前記入力サブ画素値の各々を配置するかを、ステートマシンを介して選択すること
    を更に備える、請求項19に記載の方法。
  24. 前記一組の入力画素値を受けるレートより小さいレートで前記出力画素値を供給すること
    を更に備える、請求項17に記載の方法。
  25. Mチャネルフォーマットで配列された画素値をアンパックするためのデバイスであって、
    前記Mチャネルフォーマットで配列された入力画素値のM個の入力サブ画素値をそれぞれ受けるように構成されたM個の入力チャネルを備えるトランシーバ回路と、
    前記M個の入力サブ画素をバッファするように構成された少なくとも1つバッファと、
    前記M個の入力サブ画素を一組の出力画素値へと再配列するように構成された論理回路と、各出力画素値は、Oチャネルフォーマットで配列されたO個の出力サブ画素値を備え、Oは、Mより大きい値を有し、ここにおいて、前記再配列されたO個の出力サブ画素の少なくとも一部は、前記M個の入力サブ画素値から再配列されるより前からのそれらの相対空間位置決めを維持する、
    を備え、
    前記トランシーバ回路は、前記一組の出力画素値を出力するように構成されたO個の出力チャネルを更に備える、
    デバイス。
  26. 前記Mチャネルフォーマットは、M個の異なるカラーチャネルを含み、前記Oチャネルフォーマットは、前記M個のカラーチャネルと、少なくとも1つの追加のカラーチャネルとを含み、前記論理回路は、
    前記M個のカラーチャネルの複数の前記入力サブ画素値を、前記出力画素値の対応する前記O個のカラーチャネルに配列することと、
    前記少なくとも1つの追加のカラーチャネルに対応する前記入力サブ画素値の各々を、前記少なくとも1つの追加のカラーチャネルの出力画素値へと配列することと
    を行うように更に構成される、請求項25に記載のデバイス。
  27. 前記バッファは、
    前記M個のカラーチャネルに対応する前記入力サブ画素値の各々をバッファするように構成された第1のバッファと、
    前記少なくとも1つの追加のカラーチャネルに対応する前記入力サブ画素値の各々に構成された第2のバッファと
    を更に備え、
    前記論理回路は、前記出力画素値を構築するために、前記第1のバッファからM個の画素を、前記第2のバッファから少なくとも1つの画素を選択するように更に構成される、
    請求項26に記載のデバイス。
  28. 前記第1のバッファ及び前記第2のバッファは、先入れ先出し(FIFO)バッファである、請求項27に記載のデバイス。
  29. 前記少なくとも1つの追加のカラーチャネルの前記サブ画素は、前記N個の入力画素値において列優先順で配列される、請求項27に記載のデバイス。
  30. 前記少なくとも1つの追加のカラーチャネルの前記サブ画素は、前記N個の入力画素値において行優先順で配列される、請求項27に記載のデバイス。
JP2018500558A 2015-07-09 2016-07-07 サブ画素パッキングを使用したディスプレイストリーム圧縮画素フォーマット拡張 Pending JP2018524932A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562190689P 2015-07-09 2015-07-09
US62/190,689 2015-07-09
US15/203,721 2016-07-06
US15/203,721 US10200697B2 (en) 2015-07-09 2016-07-06 Display stream compression pixel format extensions using subpixel packing
PCT/US2016/041287 WO2017007902A1 (en) 2015-07-09 2016-07-07 Display stream compression pixel format extensions using subpixel packing

Publications (1)

Publication Number Publication Date
JP2018524932A true JP2018524932A (ja) 2018-08-30

Family

ID=56551565

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018500558A Pending JP2018524932A (ja) 2015-07-09 2016-07-07 サブ画素パッキングを使用したディスプレイストリーム圧縮画素フォーマット拡張

Country Status (7)

Country Link
US (1) US10200697B2 (ja)
EP (1) EP3320685A1 (ja)
JP (1) JP2018524932A (ja)
KR (1) KR20180030021A (ja)
CN (1) CN107710766A (ja)
BR (1) BR112018000486A2 (ja)
WO (1) WO2017007902A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10368073B2 (en) * 2015-12-07 2019-07-30 Qualcomm Incorporated Multi-region search range for block prediction mode for display stream compression (DSC)
US20200365098A1 (en) * 2019-05-13 2020-11-19 Qualcomm Incorporated Packing of subpixel rendered data for display stream compression
US12033361B2 (en) * 2021-02-05 2024-07-09 Qualcomm Incorporated Methods and apparatus for lossless compression of GPU data

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100496297B1 (ko) * 2003-03-06 2005-06-17 삼성에스디아이 주식회사 박막 트랜지스터를 구비한 평판표시장치
JP2008532083A (ja) 2005-02-28 2008-08-14 エヌエックスピー ビー ヴィ 画像データをフレームメモリに一時的に記憶する新たな圧縮フォーマットを用いる新たな圧縮フォーマット及び装置
TW200707374A (en) 2005-07-05 2007-02-16 Koninkl Philips Electronics Nv A method and apparatus of converting signals for driving a display and a display using the same
US20070159492A1 (en) 2006-01-11 2007-07-12 Wintek Corporation Image processing method and pixel arrangement used in the same
US7796836B2 (en) 2006-03-03 2010-09-14 General Atomics Color condensation for image transformation and/or compression
US20070247477A1 (en) 2006-04-21 2007-10-25 Lowry Gregory N Method and apparatus for processing, displaying and viewing stereoscopic 3D images
US8295594B2 (en) * 2007-10-09 2012-10-23 Samsung Display Co., Ltd. Systems and methods for selective handling of out-of-gamut color conversions
US8189016B2 (en) * 2008-05-19 2012-05-29 Samsung Electronics Co., Ltd. Post-color space conversion processing system and methods
US9049410B2 (en) 2009-12-23 2015-06-02 Samsung Display Co., Ltd. Color correction to compensate for displays' luminance and chrominance transfer characteristics
US8681170B2 (en) 2011-05-05 2014-03-25 Ati Technologies Ulc Apparatus and method for multi-streaming for more than three pixel component values
US8963944B2 (en) 2012-05-15 2015-02-24 Omnivision Technologies, Inc. Method, apparatus and system to provide video data for buffering
US9978156B2 (en) 2012-10-03 2018-05-22 Avago Technologies General Ip (Singapore) Pte. Ltd. High-throughput image and video compression
US9813711B2 (en) * 2012-10-03 2017-11-07 Avago Technologies General Ip (Singapore) Pte. Ltd. Hybrid transform-based compression
US9036047B2 (en) * 2013-03-12 2015-05-19 Intel Corporation Apparatus and techniques for image processing
WO2015139628A1 (en) * 2014-03-18 2015-09-24 Mediatek Inc. Data processing apparatus capable of performing optimized compression for compressed data transmission over multiple display ports of display interface and related data processing method
US20160127771A1 (en) 2014-10-30 2016-05-05 Broadcom Corporation System and method for transporting hd video over hdmi with a reduced link rate

Also Published As

Publication number Publication date
CN107710766A (zh) 2018-02-16
EP3320685A1 (en) 2018-05-16
US20170013266A1 (en) 2017-01-12
WO2017007902A1 (en) 2017-01-12
US10200697B2 (en) 2019-02-05
BR112018000486A2 (pt) 2018-09-11
KR20180030021A (ko) 2018-03-21

Similar Documents

Publication Publication Date Title
CN110603812B (zh) 显示器流压缩的子流多路复用的设备、方法和存储介质
KR102120571B1 (ko) 넌-4:4:4 크로마 서브-샘플링의 디스플레이 스트림 압축 (dsc) 을 위한 엔트로피 코딩 기법들
KR102229045B1 (ko) 디스플레이 스트림 압축 (dsc) 을 위한 엔트로피 코딩 기법들
JP6921873B2 (ja) ディスプレイストリーム圧縮のためのサブストリーム多重化
KR101975093B1 (ko) 디스플레이 스트림 압축 (dsc) 을 위한 라그랑지안 파라미터 계산을 위한 시스템 및 방법
JP2018531556A6 (ja) 非4:4:4クロマサブサンプリングのディスプレイストリーム圧縮(dsc)のためのエントロピーコーディング技法
KR20160145051A (ko) 디스플레이 스트림 압축 (dsc) 을 위한 블록 예측 모드에서 코딩하기 위한 시스템 및 방법
JP2017531355A (ja) マルチ区分変換のために変換構造を再使用するためのシステム及び方法
JP2019512970A (ja) ディスプレイストリーム圧縮における量子化パラメータの適応計算のための装置および方法
JP2018538742A (ja) ディスプレイストリーム圧縮(dsc)における固定小数点近似のためのシステムおよび方法
KR102175662B1 (ko) 디스플레이 스트림 압축 (dsc) 에서의 왜곡을 계산하기 위한 시스템 및 방법들
JP6800991B2 (ja) ディスプレイストリーム圧縮のためのベクトルベースエントロピーコード化のための装置および方法
JP2018515015A (ja) ディスプレイストリーム圧縮(dsc)のための量子化パラメータ(qp)更新分類
US10200697B2 (en) Display stream compression pixel format extensions using subpixel packing
JP2018525901A (ja) ディスプレイストリーム圧縮における変換モード用ブロックサイズの変更

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180312