JP2023505310A - コンテキストと特徴に基づくビデオエンコードの事前解析のビットバジェッティング - Google Patents

コンテキストと特徴に基づくビデオエンコードの事前解析のビットバジェッティング Download PDF

Info

Publication number
JP2023505310A
JP2023505310A JP2022534254A JP2022534254A JP2023505310A JP 2023505310 A JP2023505310 A JP 2023505310A JP 2022534254 A JP2022534254 A JP 2022534254A JP 2022534254 A JP2022534254 A JP 2022534254A JP 2023505310 A JP2023505310 A JP 2023505310A
Authority
JP
Japan
Prior art keywords
block
encoder
frame
context
indicators
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
JP2022534254A
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.)
ATI Technologies ULC
Original Assignee
ATI Technologies ULC
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 ATI Technologies ULC filed Critical ATI Technologies ULC
Publication of JP2023505310A publication Critical patent/JP2023505310A/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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • H04N19/194Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

コンテキスト及び特徴に基づくビデオエンコードの事前解析におけるビットバジェッティング用のシステム、装置及び方法が開示されている。プリエンコーダは、ビデオフレームを受信し、フレームの各ブロックを評価していくつかのコンテキストインジケータの存在を確認する。コンテキストインジケータには、記憶色、テキスト、被写界深度及び他の特定のオブジェクトを含むことができる。検出されたコンテキストインジケータごとに係数が生成され、他の係数と加算されて、ブロックの最終的な重要度の値が生成される。画像の定義された部分のみが重要であると見なされるように、係数を調整することができる。ブロックの最終的な重要度の値は、ブロックのビットバジェットを決定するために使用される。ブロックビットバジェットはエンコーダに提供され、ブロックの符号化に使用される量子化パラメータ等に影響を与えるために使用される。【選択図】図9

Description

(関連技術の説明)
様々なアプリケーションは、画像又はビデオコンテンツの符号化及び復号を実行する。例えば、ビデオトランスコーディング、デスクトップ共有、クラウドゲーミング、ゲーミング観戦は、コンテンツの符号化及び復号に対するサポートを含むアプリケーションのうちいくつかである。エンコーダには、通常、所定のビデオストリームを符号化する際にエンコーダが達成しようとしているターゲットビットレートがある。ターゲットビットレートは、所定のビデオストリームの符号化バージョンの各フレームのターゲットビットサイズに大まかに変換される。例えば、一実施形態では、ターゲットビットレートはビット/秒(例えば、3メガビット/秒(Mbps))で指定され、ビデオシーケンスのフレームレートはフレーム/秒(fps)(例えば、60fps、24fps)で指定される。この例では、好ましいビットレートをフレームレートで割って、符号化ビデオフレームの好ましいビットサイズを計算する。ここで、ビットレートの軌道が線形であると仮定する。線形でない場合は、同様の手法を使用して、符号化フレームの好ましいビットサイズを概算することができる。
各ビデオフレームは、通常、複数のブロックに分割される。ブロックの例は、高効率ビデオコーディング(HEVC)規格と使用するためのコーディングツリーブロック(CTB)又はH.264規格と使用するためのマクロブロックを含む。他のタイプのビデオ及び画像圧縮規格で使用する他のタイプのブロックも考えられる。エンコーダは、符号化されているブロックの測定されたプロパティ(例えば、詳細レベル、コントラスト等)に基づいて、フレームの各ブロックがどのように符号化されるかを調整することができる。ただし、フレームのコンテンツがほぼ均一である場合、1つのブロックに使用される調整をフレーム全体に適用することは好ましくない。例えば、エンコーダは、非常に詳細なブロックに高いビットバジェットを割り当てることを決定することができる。ただし、ほとんどのブロックが非常に詳細である場合、エンコーダはバジェット内の使用可能なビットをすぐに使い果す。自然のシーン(森、草等)もビデオゲームも、画像全体又は画像の大部分が詳細及び/又は均一である代表的な例である。
添付図面と併せて以下の説明を参照することによって、本明細書で説明する方法及びメカニズムの利点をより良く理解し得る。
コンテンツを符号化及び復号するためのシステムの一実施形態のブロック図である。 サーバの一実施形態のブロック図である。 テーブルに結合されたプリエンコーダの一実施形態のブロック図である。 複数の検出器を備えたプリエンコーダの一実施形態のブロック図である。 重要度テーブルを生成するプリエンコーダの一実施形態のブロック図である。 ビットバジェットテーブルを生成するプリエンコーダの一実施形態のブロック図である。 プリエンコーダによって解析されているフレームの1つの可能な例を示す図である。 プリエンコーダによって解析されているフレームの1つの可能な例を示す図である。 ブロックごとのビットバジェットを生成するプリエンコーダ用の方法の一実施形態を示す一般化されたフロー図である。 フレーム全体のコンテキストインジケータの希少性に基づいてフレームのブロックのコンテキストインジケータ係数を調整する方法の一実施形態を示す一般化されたフロー図である。
以下の説明では、本明細書で提示される方法及びメカニズムの十分な理解をもたらすために、多数の特定の詳細が示されている。しかしながら、当業者は、これらの特定の詳細を用いないで、様々な実施形態を実施し得ることを認識するはずである。いくつかの例では、本明細書で説明する手法を不明瞭にすることを回避するために、周知の構造、構成要素、信号、コンピュータプログラム命令、及び、技術が詳細に示していない。説明を簡潔及び明瞭にするために、図面に示す要素は必ずしも縮尺通りに描かれていないことを理解されたい。例えば、いくつかの要素の寸法は、他の要素に対して誇張される場合がある。
コンテキスト及び特徴に基づくビデオエンコードの事前解析におけるビットバジェッティング用のシステム、装置及び方法が本明細書に開示されている。一実施形態では、システムは、ビデオストリームを符号化するためのプリエンコーダ及びエンコーダを含む。一実施形態では、プリエンコーダは、ビデオフレームを受信し、フレームの各ブロックを評価していくつかのコンテキストインジケータの存在を確認する。ブロックの階調(graduality)は、事前に定義されてもよいし、適応的に設定されてもよい。各ブロックに対して、プリエンコーダは、複数の異なるタイプのコンテキストインジケータのうち何れかがブロックに存在するか否かを決定する。コンテキストインジケータには、記憶色、テキスト、被写界深度、及び、他の特定のオブジェクトを含むことができるが、これらに限定されない。検出されたコンテキストインジケータごとに係数が生成され、他の係数と加算されて、ブロックの最終的な重要度の値が生成される。係数は、画像の定義された部分のみが重要であると見なされるように調整され、重要であると見なされるブロックには、使用可能なビットバジェット全体の特定の割合が割り当てられる。ブロックの最終的な重要度の値は、他のブロックの最終的な重要度の値も考慮しながら、ブロックのビットバジェットに影響を与えるために使用される。ブロックビットバジェットはエンコーダに提供され、ブロックの符号化に使用される量子化パラメータ等に影響を与えるために使用される。注意すべきこととして、コンテキストインジケータに基づくビットバジティングを1つ以上の他の手法と組み合わせて、フレームのブロックに使用される全体的なビットバジェットを決定することができる。一実施形態では、エンコーダは、プリエンコーダによってブロックに割り当てられたビットバジェットに基づいて各ブロックを符号化する際に使用する量子化強度(例えば、量子化パラメータ(QP))を選択する。
図1を参照すると、コンテンツを符号化及び復号するためのシステム100の一実施形態のブロック図が示されている。システム100は、サーバ105と、ネットワーク110と、クライアント115と、ディスプレイ120と、を含む。他の実施形態では、システム100は、ネットワーク110を介してサーバ105に接続される複数のクライアントを含むことができ、複数のクライアントは、サーバ105によって生成される同一のビットストリーム又は異なるビットストリームを受信する。また、システム100は、複数のクライアントのために複数のビットストリームを生成する1つ以上のサーバ105を含むことができる。
一実施形態では、システム100は、ビデオコンテンツを符号化及び復号する。様々な実施形態では、ビデオゲームアプリケーション、クラウドゲームアプリケーション、仮想デスクトップインフラストラクチャアプリケーション、自動運転車アプリケーション、オンラインストリーミングアプリケーション、画面共有アプリケーション、又は、他のタイプのアプリケーション等の様々なアプリケーションがシステム100によって実行される。一実施形態では、サーバ105は、ビデオ又は画像フレームをレンダリングし、次いで、フレームを符号化ビットストリームに符号化する。一実施形態では、サーバ105は、符号化プロセスを管理するためのプリエンコーダ及びエンコーダを含む。プリエンコーダは、本明細書では「事前解析ユニット」と呼ばれることもある。
一実施形態では、プリエンコーダは、フレームのブロックを解析して、コンテキストインジケータを検出する。本明細書で使用される場合、「コンテキストインジケータ」は、システムによって実行されている特定のアプリケーションに対して知覚的に重要であると見なされる特徴として定義される。一実施形態では、コンテキストインジケータには、標識、テキスト、顔、体、日常のオブジェクト(車、街路、街灯等)、記憶色等の特徴が含まれる。本明細書で使用される場合、「記憶色」は、フレームに提示されるシーンに関連する見慣れた色として定義される。「記憶色」の一例は、肌色である。他の実施形態では、他のアプリケーションは、他のタイプのコンテキストインジケータを有することができる。
ブロックごとに、ブロック内で検出されたコンテキストインジケータと、コンテキストインジケータに割り当てられたスコアに基づいて、重要度の値が生成される。重要度の値は、検出されたコンテキストインジケータの希少性等の1つ以上の他の変数に基づいて適宜調整される。プリエンコーダは、ブロックに対して生成された重要度の値に基づいて、各ブロックにビットバジェットを割り当てる。一実施形態では、ブロックの重要度の値は、全てのブロックに割り当てられたビットの総数が、ターゲットビットレートを満たす符号化ビットストリームに基づいて計算されたビットサイズ範囲内にあるようにスケーリングされる。次に、エンコーダは、プリエンコーダによってブロックに割り当てられたビットバジェットに一致するようにブロックをエンコードする。一実施形態では、エンコーダは、ブロックを符号化するために使用される量子化パラメータ(QP)を調整して、符号化ブロックが割り当てられたビットバジェットの閾値量内に収まるようにする。符号化ビットストリームが生成された後、サーバ105は、符号化ビットストリームを、ネットワーク110を介してクライアント115に伝達する。クライアント115は、符号化ビットストリームを復号し、ビデオ又は画像フレームを生成してディスプレイ120又はディスプレイコンポジタに送る。
ネットワーク110は、無線接続、直接ローカルエリアネットワーク(LAN)、メトロポリタンエリアネットワーク(MAN)、ワイドエリアネットワーク(WAN)、イントラネット、インターネット、ケーブルネットワーク、パケット交換網、光ファイバネットワーク、ルータ、ストレージエリアネットワーク、又は、他のタイプのネットワークを含む、任意のタイプのネットワーク又はネットワークの組み合わせを表す。LANの例は、イーサネット(登録商標)ネットワーク、ファイバ分散データインタフェース(FDDI)ネットワーク、及び、トークンリングネットワークを含む。様々な実施形態では、ネットワーク110は、リモートダイレクトメモリアクセス(RDMA)ハードウェア及び/又はソフトウェア、伝送制御プロトコル/インターネットプロトコル(TCP/IP)ハードウェア及び/又はTCP/IPソフトウェア、ルータ、リピータ、スイッチ、グリッド、及び/又は、他の構成要素を含む。
サーバ105は、ビデオ/画像フレームをレンダリングし、これらのフレームをビットストリームに符号化するためのソフトウェア及び/又はハードウェアの任意の組み合わせを含む。一実施形態では、サーバ105は、1つ以上のサーバの1つ以上のプロセッサ上で実行する1つ以上のソフトウェアアプリケーションを含む。また、サーバ105は、ネットワーク通信機能、1つ以上の入出力デバイス、及び/又は、他の構成要素を含む。サーバ105のプロセッサ(複数可)には、任意の数及びタイプのプロセッサ(グラフィックスプロセッシングユニット(GPU)、中央処理装置(CPU)、デジタルシグナルプロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)等)が含まれる。プロセッサ(複数可)は、プロセッサ(複数可)によって実行可能なプログラム命令を記憶する1つ以上のメモリデバイスに結合されている。同様に、クライアント115は、ビットストリームを復号し、フレームをディスプレイ120に送るためのソフトウェア及び/又はハードウェアの任意の組み合わせを含む。一実施形態では、クライアント115は、1つ以上のコンピューティングデバイスの1つ以上のプロセッサ上で実行される1つ以上のソフトウェアアプリケーションを含む。様々な実施形態では、クライアント115は、コンピューティングデバイス、ゲームコンソール、モバイルデバイス、ストリーミングメディアプレーヤー、又は、他のタイプのデバイスである。
図2を参照すると、ビデオのフレームを符号化するためのサーバ200の構成要素の一実施形態のブロック図が示されている。ビデオの新しいフレーム210は、サーバ200によって受信され、プリエンコーダ220及びエンコーダ230に提供される。プリエンコーダ220及びエンコーダ230の各々は、ハードウェア及び/又はソフトウェアの任意の適切な組み合わせを使用して実装される。様々な実施形態では、プリエンコーダ220及び/又はエンコーダ230を実装するためのソフトウェア命令は、メモリ240に記憶される。メモリ240は、任意の数及びタイプのメモリデバイスを表す。一実施形態では、プリエンコーダ220は、新しいフレーム210のブロックの解析に基づいて、新しいフレーム210のブロックのブロックビットバジェット225を生成する。一実施形態では、レートコントローラ232は、現在のバジェット条件(即ち、軌道上のバジェット軌道)に基づいて、プリエンコーダによって生成されたブロックビットバジェット225を調整する。次に、エンコーダ230は、符号化ビットストリーム235を生成する際に、符号化ブロックが割り当てられたブロックビットバジェット225を満たすか又は厳密に近似するように符号化パラメータを調整する。一実施形態では、サーバ200の構成要素は、(図1の)サーバ105内に含まれる。注意すべきこととして、他の実施形態では、サーバ200は、他の構成要素を含み、及び/又は、図2に示す以外の他の適切な方法で構成される。
一実施形態では、プリエンコーダ220は、ブロック単位で新しいフレーム210を処理する。各ブロックに対して、プリエンコーダ220は、何れのコンテキストインジケータがブロックに存在するかを決定する。一実施形態では、コンテキストインジケータは、標識、テキスト及び記憶色を含む。他の実施形態では、プリエンコーダ220は、他のタイプのコンテキストインジケータを検索する。プリエンコーダ220は、ブロック内で検出されたコンテキストインジケータに基づいて、ブロックの相対的な重要度の値を生成する。次に、重要度の値を使用して、エンコーダ230に伝達されるブロックビットバジェット225を生成する。別の実施形態では、プリエンコーダ220は、提案されたビットバジェットをレートコントローラ232に提供し、次に、レートコントローラ232は、提案されたビットバジェットを調整して、新しいフレーム210のブロックを符号化するために使用される最終的なビットバジェットを生成する。さらなる実施形態では、プリエンコーダ220は、重要度の値をレートコントローラ232に伝達し、次に、レートコントローラ232は、それらの重要度の値に基づいてビットバジェットをブロックに割り当てる。
様々な実施形態では、プリエンコーダ220及びレートコントローラ232は、様々な異なる方法で連携して、新しいフレーム210のブロックを符号化するために使用される最終的なビットバジェットを決定する。一実施形態では、プリエンコーダ220は、レートコントローラ232がブロックビットバジェット225への調整を実行することなく、ブロックビットバジェット225をブロックに割り当てる。別の実施形態では、プリエンコーダ220は、ブロックビットバジェット225をブロックに割り当て、次に、これらのブロックビットバジェット225は、現在のバジェット条件に基づいてレートコントローラ232によって改良される。さらなる実施形態では、レートコントローラ232はビットバジェットを生成し、プリエンコーダ220は、特定の個々のブロックのビットバジェットへの調整に関するガイダンスを提供する。他の実施形態では、他のテクノロジーは、高速モーション、異なる動きベクトルを有する領域等の特定の状況で人間の視覚システムがうまく認識できない効果に基づいて、ビットバジェットに影響を与えることができる。
一実施形態では、エンコーダ230は、ブロックに割り当てられたビットバジェットに基づいて、新しいフレーム210の各ブロックを符号化するために使用される量子化強度を決定する。他の実施形態では、エンコーダ230は、ブロックに割り当てられたビットバジェットに基づいて新しいフレーム210の各ブロックを符号化する際に使用される他の設定を調整する。一実施形態では、量子化強度は、量子化パラメータ(QP)を指す。本明細書内でQPという用語が使用されている場合、この用語は、任意のタイプのコーディング規格と共に使用される他のタイプの量子化強度設定に適用されることを意図していると理解すべきである。所定のブロックを符号化する場合、エンコーダ230はQPを選択し、その結果、ブロックのビットサイズは、プリエンコーダ220によって計算されたビットバジェットに厳密に一致する。プリエンコーダ220によってブロックに割り当てられたビットバジェットを一致させることにより、エンコーダ230は、符号化ビットストリーム235の所望のビットレートを満たすことができる。
図3を参照すると、テーブル310に結合されたプリエンコーダ305の一実施形態のブロック図が示されている。プリエンコーダ305は、符号化されているフレームの個々のブロックのビットバジェットの生成に影響を与える様々な設定を指定する任意の数のテーブル310に結合される。例えば、コンテキストインジケータテーブル310Aは、高い値を有し、これらのコンテキストインジケータのうち何れかを含むフレームのブロックの相対的な重要度を高める複数のコンテキストインジケータを指定する。また、コンテキストインジケータテーブル310Aは、各コンテキストインジケータに適用するスコアを含む。あるいは、別の実施形態では、フレーム内で検出された各コンテキストインジケータに適用するスコアを指定するために、個別のスコアリングテーブルがテーブル310に含まれる。
記憶色テーブル310Bは、これらの記憶色のうち1つの画素の閾値量を超える量を含むフレームのブロックの相対的な重要度を高める特定の記憶色を識別する。例えば、一実施形態では、肌色は、記憶色テーブル310Bの1つのバージョンにおいて記憶色として識別される。別の実施形態では、青空は、記憶色テーブル310Bの別のバージョンにおいて記憶色として識別される。他のタイプの記憶色は、他の実施形態でも指定することができる。また、記憶色テーブル310Bは、記憶色が第1の属性の存在下でより多くの値を有することができ、及び/又は、記憶色が第2の属性の存在下でより少ない値を有することができることを指定することができる。例えば、一実施形態では、肌色は、フレームの明るい領域でより多い値を有する。また、一実施形態では、肌色は、動きの速い領域でより少ない値を有する。別の実施形態では、被写界深度の影響を受ける場合、草及び樹木はそれほど重要ではない。記憶色の相対値に影響を与える属性の他の例が可能であり、考えられる。
一実施形態では、ホストコンピューティングシステム(例えば、図1のシステム100)によって実行される各アプリケーションは、プリエンコーダ305のために新しいセットのテーブル310をロードする。例えば、自動運転車アプリケーションは、自動運転車アプリケーションの実行中にキャプチャされたフレームを解析する際にプリエンコーダ305によって使用される第1セットのテーブル310をロードする。また、ビデオゲームアプリケーションは、ビデオゲームアプリケーションによってレンダリングされたフレームを解析する際にプリエンコーダ305によって使用される第2セットのテーブルをロードする。また、ビデオゲームストリーミングアプリケーションは、ビデオゲームストリーミングアプリケーションによってストリーミングされているフレームを解析する際にプリエンコーダ305によって使用される第3セットのテーブルをロードする。他のタイプのアプリケーションも、生成及び/又はキャプチャされるフレームのタイプに最適化されたプリエンコーダ305用の特定のセットのテーブル310をロードすることができる。また、単一のアプリケーションは、ビデオコンテンツがフェーズごとに変化する際に、アプリケーションの異なるフェーズに対して異なるセットのテーブル310をロードすることができる。
例えば、ビデオゲームアプリケーション又は映画では、ビデオゲーム又は映画の第1のシーンに対して第1のテーブルがロードされる。第1のシーンは、他のタイプのコンテキストインジケータよりも重要であると見なされる特定のタイプのコンテキストインジケータを有することができる。次に、第2のシーンでは、第2のテーブルには、新しいセットのコンテキストインジケータがロードされる。このテーブルのリロードは、ビデオゲーム又は映画の後続のシーンで続行することができる。別の実施形態では、自動運転車アプリケーションは、現在の状況に応じて異なるテーブルをロードする。例えば、車両が比較的高速で走行している高速道路を走行している際に、コンテキストインジケータの第1のテーブルがロードされる。又は、住宅地又は学校の近くにおいて、コンテキストインジケータの第2のテーブルがロードされる。自動運転車が他の状況(例えば、駐車場、高速道路ランプ、燃料補給ステーション、充電ステーション、料金所等)にある場合に、他のテーブルをロードすることができる。ユースケースシナリオ(駐車場又は高速道路の検出等)を検出するには、既知の手法を使用することができる。この手法は、GPSデータとビデオ解析からのデータの解析等の異なる解析の組み合わせにすることができる。
図4を参照すると、複数の検出器415A~415Nを備えたプリエンコーダ410の一実施形態のブロック図が示されている。一実施形態では、プリエンコーダ410は、フレーム405を受信し、フレーム405で事前解析プロセスを実行する。図4に示すように、プリエンコーダ410は、複数の検出器415A~415Nを含む。注意すべきこととして、検出器415A~415Nは、検出器の論理表現であり、検出器415A~415Nは、ソフトウェア及び/又はハードウェアの任意の適切な組み合わせを使用して実装される。例えば、一実施形態では、各検出器415A~415Nは、訓練されたニューラルネットワークであり、各訓練されたニューラルネットワークは、特定のタイプのコンテキストインジケータを検出するように設計される。また、いくつかの実施形態では、単一の検出器が複数の検出器415A~415Nの機能を実行できることを理解すべきである。例えば、別の実施形態では、単一の訓練されたニューラルネットワークが複数の異なるタイプのコンテキストインジケータを検出するように設計される。
一実施形態では、各検出器415A~415Nは、フレーム405のブロックを解析して、ブロックが対応するコンテキストインジケータを含むか否かを決定する役割を果たす。例えば、第1の検出器415Aはフレーム405のブロック内の標識を検索し、第2の検出器415Bはフレーム405のブロック内のテキストを検索し、第3の検出器415Nはフレーム405のブロック内の記憶色を検索する。他の実施形態では、検出器415A~415Nは、フレーム405のブロック内の他のタイプのコンテキストインジケータを検索することができる。検出器415A~415Nを使用してフレーム405を事前解析した後、プリエンコーダ410は、フレーム405のどのブロックで何れのコンテキストインジケータが発見されたかを記録するために結果テーブル420を生成する。例えば、一実施形態では、結果テーブル420は、フレーム405の各ブロックの行を含み、結果テーブル420の各列は、特定の検出器415A~415Nに対応する。
結果テーブル420は、フレーム405の事前解析フェーズの結果の一例を表す。結果テーブル420に示すように、ブロック405Aは、列415A及び415Nに「No」を有し、列415Bに「Yes」を有する。これは、フレーム405のブロック405Aが、検出器415Bに対応するコンテキストインジケータを含むが、検出器415A及び415Nに対応するコンテキストインジケータを含むことが発見されなかったことを示す。また、ブロック405B~405Cのエントリも結果テーブル420に示されている。結果テーブル420は、結果テーブルの一例を単に示していることを理解すべきである。他の実施形態では、結果テーブル420は、他の適切な方法で構造化することができる。例えば、別の実施形態では、結果テーブル420は、Yes又はNoではなく、各フィールドに重要度の値又はメトリックを含むことができる。また、別のテーブル又はマトリックスを結果テーブル420に適用して、Yes及びNoの値を重要度の値に変換することができる。次に、重要度の値は、プリエンコーダ410又はエンコーダ(図示省略)によって対応するビットバジェットに変換することができる。場合によっては、プリエンコーダ410は、ケースバイケースで、あるコンテキストインジケータの存在が別のコンテキストインジケータの存在下で発見される場合に重要度の値を増減するために、結果テーブル420の列を相互相関させる。
図5を参照すると、フレームのブロックの重要度テーブル530を生成するプリエンコーダ520の一実施形態のブロック図が示されている。一実施形態では、プリエンコーダは、図4に関連して上述したように、フレームのブロックの結果テーブル505を生成する。次に、プリエンコーダ520は、スコアリングテーブル(複数可)510から検索された値を結果テーブル505の値と組み合わせることによって、重要度テーブル530を生成する。例えば、一実施形態では、結果テーブル505の各行は、複数のフィールドを有し、各フィールドは、対応するコンテキストインジケータの存在又は不在をそれぞれ示すために「Yes」又は「No」を含む。このタイプの結果テーブルの例は、(図4の)結果テーブル420として示されている。
一実施形態では、スコアリングテーブル(複数可)510は、所定のブロックのエントリの列の各「Yes」値に適用するスコアフィールド545を含む。次に、スコアを合計して、重要度テーブル530のブロック500A~500Cについて示される重要度の値を生成する。一実施形態によるスコアリングテーブル510の一例が、図5の下部に拡張された形で示されている。一実施形態では、コンテキストインジケータごとに1行があり、エントリフィールド535、コンテキストインジケータフィールド540、スコアフィールド545は別々の列にあり、このコンテキストインジケータフィールド550が存在する場合にはスコアが増加し、このコンテキストインジケータフィールド555が存在する場合にはスコアが減少する。
一実施形態では、このコンテキストインジケータがフィールド550で指定されたコンテキストインジケータの存在下にある場合、フィールド540で指定されたコンテキストインジケータに適用されるスコアを増加させる必要がある。例えば、フレームの明るい領域で記憶色が発見される場合、フィールド545のスコアを増加させる必要がある。フィールド545を増加させる量は、固定量(例えば、10%)であってもよいし、別の実施形態では、フィールド545を増加させる量は、テーブル510の列で指定されてもよい。また、フィールド540で指定されたコンテキストインジケータがフィールド550で指定されたコンテキストインジケータの存在下にある場合には、スコアを減少させる必要がある。例えば、動きの閾値量を超えるフレームの領域で記憶色が発見された場合、記憶色に対してフィールド545のスコアを減少させる必要がある。スコアを減少させる量は、テーブル510で指定された固定量であってもよいし、他の方法で指定された量であってもよい。
ブロック500A~500Cは、プリエンコーダ520によって解析されているフレームのブロックを表す。一実施形態では、重要度テーブル530はエンコーダ(例えば、図2のエンコーダ230)に提供される。エンコーダは、ブロックに対応する重要度テーブル530の値に基づいて、フレームの各ブロックにビットバジェットを割り当てる。例えば、所定のブロックの重要度テーブル530の値が高いほど、所定のブロックに割り当てられるビットバジェットが高くなる。
図6を参照すると、ビットバジェットテーブル630を生成するプリエンコーダ620の一実施形態のブロック図が示されている。一実施形態では、プリエンコーダ620は、重要度テーブル(例えば、重要度テーブル530)を生成するのではなく、結果テーブル605及びスコアリングテーブル(複数可)610に基づいてビットバジェットテーブル630を生成する。次に、ビットバジェットテーブル630が、対応するフレームを符号化する際にブロックごとのビットバジェットを満たすようにブロックを符号化するエンコーダ(例えば、図2のエンコーダ230)に提供される。ビットバジェットテーブル630は、図5で説明した重要度テーブル530と同じ方法で生成される。図示するように、ブロック600A~600Cの各々には、重要度の値に基づいて対応するビット数が割り当てられる。場合によっては、プリエンコーダ620は、最初に重要度テーブルを生成し、次に重要度テーブルを使用してビットバジェットテーブル630を生成する。別の実施形態では、プリエンコーダ620は、エンコーダに重要度テーブルを提供し、次に、エンコーダは、重要度テーブルに基づいてビットバジェットテーブル630を生成する。
図7を参照すると、一実施形態に従ってプリエンコーダによって解析されているフレーム700の例が示されている。フレーム700は、プリエンコーダによって解析されているビデオフレームの例を表すものである。この説明のために、プリエンコーダは、標識及びテキスト等のコンテキストインジケータを検索していると仮定される。一実施形態では、ホストコンピューティングシステムは、自動運転車アプリケーションを実行している。別の実施形態では、ホストコンピューティングシステムはビデオゲームアプリケーションを実行している。他の実施形態では、フレーム700と同様のフレームを生成可能な他のタイプのホストアプリケーションを実行することができる。
図7に示すように、フレーム700は、標識705、710及び715を含む。一実施形態では、プリエンコーダによる解析の第1のステップにおいて、標識705、710及び715は、標識として識別され、またテキストを有するものとして識別されるため、より高い重要度が与えられる。ただし、フレーム700の希少性解析は、標識及び/又はテキストを含むブロックの数が多いため、標識705、710及び715の重要度の減少をもたらすであろう。さらなる解析は、焦点が合っている標識705に基づいて、標識705に最も高い重要度を割り当てる。他の標識710と715の焦点が合っていない場合、それらの重要度スコアが低下する。
標識705~715の外側の領域には、樹木と道路が含まれる。樹木のあるフレーム700の領域はビジーである(即ち、空間周波数が比較的高い)と見なされるため、これにより、従来のアルゴリズムでは、これらの領域のブロックに比較的高い重要度と比較的大きなビットバジェットが割り当てられる。ただし、ユーザがフレーム700の何処に注意を向ける可能性が高いかという点では、樹木は標識705~715ほど重要ではない。したがって、樹木を含むブロックを符号化するために使用されるビットバジェットのビット数が少ないため、樹木の詳細度が低くなり、ユーザが認識したり気づいたりすることがほとんどない。したがって、標識705~715を含むブロックに対してより多くのビットを使用する方が適切な手法である。しかしながら、標識705~715の重要度は同じではないため、図4~図6で説明する手法を使用して、標識705を含むブロックには標識710~715を含むブロックよりも高い重要度が割り当てられる。このより高い重要度は、これらのブロックがエンコーダによって符号化される際に、標識705を含むブロックへのより大きなビットバジェット割り当てに変換される。
図8を参照すると、一実施形態に従ってプリエンコーダによって解析されているフレーム800の例が示されている。フレーム800は、プリエンコーダによって解析されているビデオフレームの例を表すものである。図示するように、フレーム800のほとんどは樹木と葉で構成される。これらの特徴は、葉及び枝等の色の変化が頻繁に発生するため、「ビジー」として検出される傾向がある。その結果、一般的なエンコーダは、樹木及び葉を含むブロックに多数のビットを割り当てる。ただし、フレーム800の場合、これは、ユーザが見ている可能性が高い場所に基づいたビットの誤割り当てになる。ユーザの注意は、標識805に集中する可能性が高い。一実施形態では、標識805は、3つの個別のコンテキストインジケータの基準を満たし、第1の基準は標識であり、第2の基準はテキストを含み、第3の基準は焦点が合っている。したがって、プリエンコーダ(例えば、図2のプリエンコーダ220)が、本明細書に記載の技術を使用してフレーム800を解析する場合、標識805を含むブロックには比較的高い重要度が割り当てられ、フレーム800に割り当てられたビットバジェットの比較的高いシェアを受ける。
図9を参照すると、ブロックごとのビットバジェットを生成するプリエンコーダ用の方法900の一実施形態が示されている。説明のために、本実施形態のステップ及び図10のステップが順番に示されている。しかしながら、注意すべきこととして、説明する方法の様々な実施形態では、説明する要素のうち1つ以上が同時に実行されてもよいし、図示した順序と異なる順序で実行されてもよいし、完全に省略されてもよい。他の追加の要素も必要に応じて実行される。本明細書に記載される様々なシステム又は装置の何れも、方法900を実施するように構成されている。
プリエンコーダは、符号化されるフレームを受信する(ブロック905)。プリエンコーダは、ブロック単位でフレームを解析して、各ブロックに存在するコンテキストインジケータを決定する(ブロック910)。コンテキストインジケータは、実施形態によって異なる。一実施形態では、プリエンコーダは、1つ以上の訓練されたニューラルネットワークを使用して、ブロック内の異なるコンテキストインジケータを検出する。次に、プリエンコーダは、指定されたコンテキストインジケータの有無、及び、各コンテキストインジケータに割り当てられたスコアに基づいて、各ブロックの相対的な重要度の値を生成する(ブロック915)。一実施形態では、コンテキストインジケータは、ホストシステムによって実行されている特定のアプリケーションに固有の第1のテーブルで識別される。一実施形態では、各コンテキストインジケータに関連付けられたスコアは、ホストシステムによって実行されている特定のアプリケーションに固有の第2のテーブルに記憶される。次に、プリエンコーダは、1つ以上の他の変数に基づいて重要度の値を調整する(ブロック920)。例えば、他の変数は、フレーム全体内の特定のコンテキストインジケータの希少性、ブロックの被写界深度、及び/又は、他の要因を含むことができる。
次に、プリエンコーダにより、ブロックに割り当てられたビットバジェットが各ブロックの重要度の値の影響を受ける(ブロック925)。一実施形態では、プリエンコーダは、各ブロックの重要度の値に基づいてビットバジェットを計算し、ブロックに割り当てる。別の実施形態では、プリエンコーダは、レートコントローラ及び/又はエンコーダに重要度の値を提供し、レートコントローラ及び/又はエンコーダは、各ブロックの重要度の値に基づいてビットバジェットを計算し、ブロックに割り当てる。次に、エンコーダは、ブロックに割り当てられたビットバジェットを満たすようにブロックをエンコードする(ブロック930)。一実施形態では、エンコーダは、所定のブロックに割り当てられたビットバジェットに基づいて、所定のブロックを符号化するために使用される量子化パラメータ(QP)を調整する。他の実施形態では、エンコーダは他のパラメータを調整して、特定のブロックに割り当てられたビットバジェットに一致するか、それに近似するビット数で所定のブロックを符号化する。ブロック930の後に、方法900を終了する。注意すべきこととして、方法900は、フレームのブロックがどのように符号化されるかに影響を与えるビットバジェット又は重要度の値を生成するための1つ以上の他の技術と組み合わせて使用することができる。
図10を参照すると、フレーム全体のコンテキストインジケータの希少性に基づいてフレームのブロックのコンテキストインジケータ係数を調整する方法1000の一実施形態が示されている。プリエンコーダは、フレームの所定のブロックで第1のコンテキストインジケータを検出する(ブロック1005)。実施形態に応じて、第1のコンテキストインジケータは、標識、テキスト、記憶色、又は、他のコンテキストインジケータである。次に、プリエンコーダは、第1のコンテキストインジケータがフレームの他のブロックで検出されたか否かを決定する(ブロック1010)。次に、プリエンコーダは、フレームの他のブロックにおける第1のコンテキストインジケータの発生回数に比例又は反比例する所定のブロックの係数を生成する(ブロック1015)。反比例の場合、フレーム内で第1のコンテキストインジケータが検出される頻度が低いほど、所定のブロックに対して生成される係数値が高くなる。次に、プリエンコーダは、所定のブロックに対して生成された合計スコアに係数を追加する(ブロック1020)。一実施形態では、合計スコアは、所定のブロックの重要度の値として使用される。次に、合計スコアを使用して、所定のブロックのビットバジェットを計算する(ブロック1025)。ブロック1025の後、方法1000を終了する。注意すべきこととして、方法1000は、フレームの各ブロックだけでなく、複数のコンテキストインジケータの各コンテキストインジケータに対して実行することができる。
様々な実施形態では、ソフトウェアアプリケーションのプログラム命令は、本明細書で説明する方法及び/又はメカニズムを実施するために使用される。例えば、汎用又は専用プロセッサによって実行可能なプログラム命令が企図される。様々な実施形態において、そのようなプログラム命令は、高水準のプログラミング言語によって表現される。他の実施形態では、プログラム命令は、高レベルプログラミング言語からバイナリ形式、中間形式又は他の形式にコンパイルされる。或いは、プログラム命令は、ハードウェアの動作又は設計を記述するように書かれる。このようなプログラム命令は、C等の高水準のプログラミング言語によって表現される。或いは、Verilog等のハードウェア設計言語(HDL)が使用される。様々な実施形態では、プログラム命令は、様々な非一時的なコンピュータ可読記憶媒体のうち何れかに記憶される。記憶媒体は、プログラム実行のためにプログラム命令をコンピューティングシステムに提供するために、使用中にコンピューティングシステムによってアクセス可能である。一般的に、そのようなコンピューティングシステムは、少なくとも1つ以上のメモリと、プログラム命令を実行するように構成された1つ以上のプロセッサと、を含む。
上述した実施形態が、実施形態の非限定的な例に過ぎないことを強調しておきたい。上記の開示が十分に理解されれば、多くの変形及び修正が当業者に明らかになるであろう。以下の特許請求の範囲は、全てのそのような変形及び修正を包含するように解釈されることが意図される。

Claims (20)

  1. 装置であって、
    プリエンコーダと、
    エンコーダと、を備え、
    前記プリエンコーダは、
    符号化されるフレームを受信することであって、前記フレームは複数のブロックを含む、ことと、
    各ブロック内の指定されたコンテキストインジケータの有無に基づいて、各ブロックの重要度の値を生成することと、
    前記ブロックに対して生成された重要度の値に少なくとも部分的に基づいて、各ブロックにビットバジェットを割り当てることと、
    を行うように構成されており、
    前記エンコーダは、
    前記ブロックに割り当てられた前記ビットバジェットを満たすように各ブロックを符号化するように構成されている、
    装置。
  2. 前記プリエンコーダは、
    前記フレーム全体を通した各コンテキストインジケータの希少性を決定することと、
    検出された各コンテキストインジケータの希少性に基づいて、各ブロックの重要度の値を調整することと、
    を行うように構成されている、
    請求項1の装置。
  3. 前記複数のコンテキストインジケータは、記憶色、テキスト及び標識を含む、
    請求項1の装置。
  4. 前記プリエンコーダは、前記ブロック内で検出された各コンテキストインジケータに割り当てられたスコアに基づいて、各ブロックの重要度の値を生成するように構成されている、
    請求項1の装置。
  5. 前記プリエンコーダは、前記ブロック内の第2のコンテキストインジケータを検出したことに応じて、第1のコンテキストインジケータに割り当てられた第1のスコアを調整するように構成されている、
    請求項4の装置。
  6. 前記プリエンコーダは、前記フレームの前記複数のブロックにおいて検索される複数のコンテキストインジケータを指定するテーブルにアクセスするように構成されている、
    請求項1の装置。
  7. 前記プリエンコーダは、
    第1のアプリケーションに対応する第1の複数のコンテキストインジケータを指定する第1のテーブルを受信することと、
    前記第1のアプリケーションが、符号化される第1のフレームを生成することに応じて、前記第1のフレームにおいて前記第1の複数のコンテキストインジケータを検索することと、
    第2のアプリケーションに対応する第2の複数のコンテキストインジケータを指定する第2のテーブルを受信することと、
    前記第2のアプリケーションが、符号化される第2のフレームを生成することに応じて、前記第2のフレームにおいて前記第2の複数のコンテキストインジケータを検索することと、
    を行うように構成されている、
    請求項1の装置。
  8. 方法であって、
    プリエンコーダが、符号化されるフレームを受信することであって、前記フレームは複数のブロックを含む、ことと、
    各ブロック内の指定されたコンテキストインジケータの有無に基づいて、各ブロックの重要度の値を生成することと、
    前記ブロックに対して生成された重要度の値に少なくとも部分的に基づいて、各ブロックにビットバジェットを割り当てることと、
    エンコーダが、前記ブロックに割り当てられた前記ビットバジェットを満たすように各ブロックを符号化することと、を含む、
    方法。
  9. 前記フレーム全体を通した各コンテキストインジケータの希少性を決定することと、
    検出された各コンテキストインジケータの希少性に基づいて、各ブロックの重要度の値を調整することと、を含む、
    請求項8の方法。
  10. 前記複数のコンテキストインジケータは、記憶色、テキスト及び標識を含む、
    請求項8の方法。
  11. 前記ブロック内で検出された各コンテキストインジケータに割り当てられたスコアに基づいて、各ブロックの重要度の値を生成することを含む、
    請求項8の方法。
  12. 前記ブロック内の第2のコンテキストインジケータを検出したことに応じて、第1のコンテキストインジケータに割り当てられた第1のスコアを調整することを含む、
    請求項11の方法。
  13. 前記フレームの前記複数のブロックにおいて検索される複数のコンテキストインジケータを指定するテーブルにアクセスすることを含む、
    請求項8の方法。
  14. 第1のアプリケーションに対応する第1の複数のコンテキストインジケータを指定する第1のテーブルを受信することと、
    前記第1のアプリケーションが、符号化される第1のフレームを生成することに応じて、前記第1のフレームにおいて前記第1の複数のコンテキストインジケータを検索することと、
    第2のアプリケーションに対応する第2の複数のコンテキストインジケータを指定する第2のテーブルを受信することと、
    前記第2のアプリケーションが、符号化される第2のフレームを生成することに応じて、前記第2のフレームにおいて前記第2の複数のコンテキストインジケータを検索することと、を含む、
    請求項8の方法。
  15. システムであって、
    メモリと、
    前記メモリに結合されたプリエンコーダと、を備え、
    前記プリエンコーダは、
    符号化されるフレームを受信することであって、前記フレームは複数のブロックを含む、ことと、
    各ブロック内の指定されたコンテキストインジケータの有無に基づいて、各ブロックの重要度の値を生成することと、
    前記ブロックに対して生成された重要度の値に少なくとも部分的に基づいて、各ブロックにビットバジェットを割り当てることと、
    前記ビットバジェットをエンコーダに伝達して、前記ブロックに割り当てられた前記ビットバジェットを満たすように各ブロックを符号化させることと、
    を行うように構成されている、
    システム。
  16. 前記プリエンコーダは、
    前記フレーム全体を通した各コンテキストインジケータの希少性を決定することと、
    検出された各コンテキストインジケータの希少性に基づいて、各ブロックの重要度の値を調整することと、
    を行うように構成されている、
    請求項15のシステム。
  17. 前記複数のコンテキストインジケータは、記憶色、テキスト及び標識を含む、
    請求項15のシステム。
  18. 前記プリエンコーダは、前記ブロック内で検出された各コンテキストインジケータに割り当てられたスコアに基づいて、各ブロックの重要度の値を生成するように構成されている、
    請求項15のシステム。
  19. 前記プリエンコーダは、前記フレームの前記複数のブロックにおいて検索される複数のコンテキストインジケータを指定するテーブルにアクセスするように構成されている、
    請求項15のシステム。
  20. 前記プリエンコーダは、
    第1のアプリケーションに対応する第1の複数のコンテキストインジケータを指定する第1のテーブルを受信することと、
    前記第1のアプリケーションが、符号化される第1のフレームを生成することに応じて、前記第1のフレームにおいて前記第1の複数のコンテキストインジケータを検索することと、
    第2のアプリケーションに対応する第2の複数のコンテキストインジケータを指定する第2のテーブルを受信することと、
    前記第2のアプリケーションが、符号化される第2のフレームを生成することに応じて、前記第2のフレームにおいて前記第2の複数のコンテキストインジケータを検索することと、
    を行うように構成されている、
    請求項15のシステム。
JP2022534254A 2019-12-06 2020-12-04 コンテキストと特徴に基づくビデオエンコードの事前解析のビットバジェッティング Pending JP2023505310A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/706,473 2019-12-06
US16/706,473 US11843772B2 (en) 2019-12-06 2019-12-06 Video encode pre-analysis bit budgeting based on context and features
PCT/IB2020/061528 WO2021111406A1 (en) 2019-12-06 2020-12-04 Video encode pre-analysis bit budgeting based on context and features

Publications (1)

Publication Number Publication Date
JP2023505310A true JP2023505310A (ja) 2023-02-08

Family

ID=76210801

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022534254A Pending JP2023505310A (ja) 2019-12-06 2020-12-04 コンテキストと特徴に基づくビデオエンコードの事前解析のビットバジェッティング

Country Status (6)

Country Link
US (1) US11843772B2 (ja)
EP (1) EP4070543A4 (ja)
JP (1) JP2023505310A (ja)
KR (1) KR20220106830A (ja)
CN (1) CN114930815A (ja)
WO (1) WO2021111406A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10951902B2 (en) * 2019-06-12 2021-03-16 Rovi Guides, Inc. Systems and methods for multiple bit rate content encoding
CN111787322B (zh) * 2020-08-04 2022-05-13 北京百度网讯科技有限公司 视频编码的方法、装置、电子设备及计算机可读存储介质

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5592227A (en) 1994-09-15 1997-01-07 Vcom, Inc. Method and apparatus for compressing a digital signal using vector quantization
US5768533A (en) 1995-09-01 1998-06-16 National Semiconductor Corporation Video coding using segmented frames and retransmission to overcome channel errors
FR2752474B1 (fr) * 1996-08-14 1998-12-31 Iona Donescu Procede de transformation du signal image sur des supports de forme arbitraire
US6014466A (en) * 1997-07-10 2000-01-11 Hughes Electronics Corporation Object-based video coding of arbitrarily shaped objects using lapped orthogonal transforms (LOTs) defined on rectangular and L-shaped regions
US6067287A (en) 1997-09-15 2000-05-23 Accton Technology Neural fuzzy connection admission controller and method in a node of an asynchronous transfer mode (ATM) communication network
EP1046302A2 (en) * 1997-10-28 2000-10-25 Koninklijke Philips Electronics N.V. Compressing and decompressing an image
US6654539B1 (en) 1998-10-26 2003-11-25 Sony Corporation Trick playback of digital video data
EP1323308B1 (en) 2000-08-15 2014-08-20 Polycom Israel Ltd. Delay reduction for transmission and processing of video data
US7436890B2 (en) 2002-06-05 2008-10-14 Kddi R&D Laboratories, Inc. Quantization control system for video coding
US7885337B2 (en) 2004-08-23 2011-02-08 Qualcomm Incorporated Efficient video slicing
US20070036227A1 (en) * 2005-08-15 2007-02-15 Faisal Ishtiaq Video encoding system and method for providing content adaptive rate control
US8879856B2 (en) * 2005-09-27 2014-11-04 Qualcomm Incorporated Content driven transcoder that orchestrates multimedia transcoding using content information
WO2009045683A1 (en) * 2007-09-28 2009-04-09 Athanasios Leontaris Video compression and tranmission techniques
US8131660B2 (en) 2008-04-08 2012-03-06 Microsoft Corporation Reconfigurable hardware accelerator for boolean satisfiability solver
GB2474598A (en) * 2008-08-11 2011-04-20 Karl Martin Method and system for secure coding of arbitrarily shaped visual objects
US8599214B1 (en) * 2009-03-20 2013-12-03 Teradici Corporation Image compression method using dynamic color index
JP5750899B2 (ja) 2011-01-17 2015-07-22 株式会社リコー 画像形成装置およびその制御方法
WO2012103332A2 (en) 2011-01-28 2012-08-02 Eye IO, LLC Encoding of video stream based on scene type
US9245496B2 (en) 2012-12-21 2016-01-26 Qualcomm Incorporated Multi-mode memory access techniques for performing graphics processing unit-based memory transfer operations
EP2952003B1 (en) * 2013-01-30 2019-07-17 Intel Corporation Content adaptive partitioning for prediction and coding for next generation video
US9510008B2 (en) 2013-11-25 2016-11-29 Entropic Communications, Llc Video decoder memory bandwidth compression
US9742836B2 (en) 2014-01-03 2017-08-22 Yahoo Holdings, Inc. Systems and methods for content delivery
EP2899962A1 (en) 2014-01-24 2015-07-29 Nokia Technologies OY Method and apparatus for producing an enhanced image
CA2943647C (en) 2014-03-27 2018-12-04 Arris Enterprises Llc Method and apparatus for encoding rate control in advanced coding schemes
US10484711B2 (en) 2014-06-18 2019-11-19 Telefonaktiebolaget Lm Ericsson (Publ) Dependent random access point pictures
KR101602879B1 (ko) 2014-09-30 2016-03-21 삼성전자주식회사 멀티 디스플레이 시스템을 위한 미디어 처리 방법 및 장치
KR102274747B1 (ko) * 2014-11-24 2021-07-07 삼성전자주식회사 코덱과 이를 포함하는 시스템 온 칩, 및 상기 시스템 온 칩을 포함하는 데이터 처리 시스템
US9824481B2 (en) * 2014-12-30 2017-11-21 Qualcomm Incorporated Maintaining heatmaps using tagged visual data
US10417555B2 (en) 2015-05-29 2019-09-17 Samsung Electronics Co., Ltd. Data-optimized neural network traversal
US20160379109A1 (en) 2015-06-29 2016-12-29 Microsoft Technology Licensing, Llc Convolutional neural networks on hardware accelerators
US10003811B2 (en) 2015-09-01 2018-06-19 Microsoft Technology Licensing, Llc Parallel processing of a video frame
WO2017095948A1 (en) 2015-11-30 2017-06-08 Pilot Ai Labs, Inc. Improved general object detection using neural networks
KR20180053028A (ko) * 2016-11-11 2018-05-21 삼성전자주식회사 계층 구조를 구성하는 프레임들에 대한 인코딩을 수행하는 비디오 처리 장치
US20180189641A1 (en) 2017-01-04 2018-07-05 Stmicroelectronics S.R.L. Hardware accelerator engine
US20180343449A1 (en) 2017-05-26 2018-11-29 Ati Technologies Ulc Application specific filters for high-quality video playback
US10469854B2 (en) * 2017-06-21 2019-11-05 Intel Corporation Content, psychovisual, region of interest, and persistence based adaptive quantization for video coding
US10582250B2 (en) 2017-07-24 2020-03-03 Advanced Micro Devices, Inc. Integrated video codec and inference engine
US11227214B2 (en) 2017-11-14 2022-01-18 Advanced Micro Devices, Inc. Memory bandwidth reduction techniques for low power convolutional neural network inference applications
US10939182B2 (en) * 2018-01-31 2021-03-02 WowYow, Inc. Methods and apparatus for media search, characterization, and augmented reality provision
US11948073B2 (en) 2018-04-20 2024-04-02 Advanced Micro Devices, Inc. Machine learning inference engine scalability
US11475653B2 (en) 2018-04-27 2022-10-18 Ati Technologies Ulc Perceptual importance maps for image processing
US11252429B2 (en) 2018-04-27 2022-02-15 Ati Technologies Ulc Low-latency consumption of an encoded video bitstream
US10924739B2 (en) 2018-10-31 2021-02-16 Ati Technologies Ulc Efficient quantization parameter prediction method for low latency video coding
US11769041B2 (en) 2018-10-31 2023-09-26 Advanced Micro Devices, Inc. Low latency long short-term memory inference with sequence interleaving
CN111353575A (zh) 2018-12-20 2020-06-30 超威半导体公司 用于卷积神经网络的图块化格式
CN111723918A (zh) 2019-03-18 2020-09-29 超威半导体公司 用于卷积内核的自动生成和调谐工具
US11562500B2 (en) * 2019-07-24 2023-01-24 Squadle, Inc. Status monitoring using machine learning and machine vision

Also Published As

Publication number Publication date
WO2021111406A1 (en) 2021-06-10
EP4070543A4 (en) 2023-11-08
CN114930815A (zh) 2022-08-19
KR20220106830A (ko) 2022-07-29
EP4070543A1 (en) 2022-10-12
US20210176467A1 (en) 2021-06-10
US11843772B2 (en) 2023-12-12

Similar Documents

Publication Publication Date Title
US10419773B1 (en) Hybrid learning for adaptive video grouping and compression
JP2024071473A (ja) ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法。
Hemmati et al. Game as video: Bit rate reduction through adaptive object encoding
US10242462B2 (en) Rate control bit allocation for video streaming based on an attention area of a gamer
US10841620B1 (en) Noisy media content encoding
US20190104311A1 (en) Server-based encoding of adjustable frame rate content
JP2023505310A (ja) コンテキストと特徴に基づくビデオエンコードの事前解析のビットバジェッティング
CN113905221B (zh) 一种立体全景视频非对称传输流自适应方法及系统
WO2009138878A2 (en) Centralized streaming game server
JP7265623B2 (ja) コンテンツ適応量子化強度及びビットレートモデリング
WO2019128668A1 (zh) 视频码流处理方法、装置、网络设备和可读存储介质
Aksu et al. Viewport-driven rate-distortion optimized scalable live 360° video network multicast
CN106791850A (zh) 视频编码方法及装置
WO2020244328A1 (zh) 图像处理方法及装置
Miao et al. High frame rate screen video coding for screen sharing applications
JP7443325B2 (ja) フォービエイションおよびhdr
US10425642B1 (en) Noisy media content encoding
US11310496B2 (en) Determining quality values for blocks of encoded video
US20200382826A1 (en) Background enhancement in discriminatively encoded video
US11270469B2 (en) Method and apparatus for performing artificial intelligence encoding and artificial intelligence decoding
Mohammadi et al. An object-based framework for cloud gaming using player's visual attention
WO2014175784A2 (ru) Обработка видеопотоков
US20210152799A1 (en) Image providing apparatus and image providing method thereof, and display apparatus and display method thereof
US11272185B2 (en) Hierarchical measurement of spatial activity for text/edge detection
US20230164330A1 (en) Data codec method and apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231108