JP6701391B2 - 改良情報を用いてダウンサンプリング/アップサンプリングすることによるデジタルフレームの符号化/復号化 - Google Patents

改良情報を用いてダウンサンプリング/アップサンプリングすることによるデジタルフレームの符号化/復号化 Download PDF

Info

Publication number
JP6701391B2
JP6701391B2 JP2018568747A JP2018568747A JP6701391B2 JP 6701391 B2 JP6701391 B2 JP 6701391B2 JP 2018568747 A JP2018568747 A JP 2018568747A JP 2018568747 A JP2018568747 A JP 2018568747A JP 6701391 B2 JP6701391 B2 JP 6701391B2
Authority
JP
Japan
Prior art keywords
frames
data
base
information
refinement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018568747A
Other languages
English (en)
Other versions
JP2019526195A (ja
Inventor
クリシュナン、ラティシュ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Interactive Entertainment 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 Sony Interactive Entertainment Inc filed Critical Sony Interactive Entertainment Inc
Publication of JP2019526195A publication Critical patent/JP2019526195A/ja
Application granted granted Critical
Publication of JP6701391B2 publication Critical patent/JP6701391B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/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/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/172Methods 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 picture, frame or field
    • 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/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/188Methods 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 video data packet, e.g. a network abstraction layer [NAL] unit
    • 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/19Methods 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 using optimisation based on Lagrange multipliers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本開示の態様は、ストリーミングアプリケーションについてのデジタルデータの符号化及び復号化に関する。特に、本開示は、複数の解像度において同一のビデオコンテンツを符号化することに関する。
デジタル信号圧縮(ビデオコーディング又はビデオ符号化と称されることがある)は、多くのマルチメディアアプリケーション及びデバイスにおいて広く使用されている。コーダ/デコーダ(コーデック)を使用したデジタル信号圧縮は、音声又はビデオ信号などのストリーミング媒体がインターネットを通じて伝送されること、又はコンパクトディスクに記憶されることを可能にする。H.261、H.263;DV;MPEG−l、MPEG−2、MPEG−4、VC1;AVC(H.264)、及びHEVC(H.265)を含むデジタルビデオ圧縮のいくつかの異なる標準が登場している。それらの標準と共に他のビデオ圧縮技術は、ピクチャ内の、及び連続するピクチャの間の空間的及び時間的冗長性を取り除くことによって、ビデオフレームピクチャを効率的に表そうとする。そのような圧縮の標準を通じて、高度に圧縮されたビデオビットストリームにおいてビデオコンテンツを搬送することができ、よって、効率的にディスクに記憶することができ、又はネットワークを通じて伝送することができる。
複数の解像度において同一のビデオコンテンツを符号化することは、ネットワークを通じてビデオストリーミングすること、及び異なる計算能力を有する異なる復号化ハードウェアをターゲットとすることが必要となることが多い。例えば、帯域幅の制限に起因して、並びにビデオ符号化及び復号化ハードウェアの能力における最近の進化に起因して、複数の解像度によりビデオを符号化することが必要な場合がある。4Kディスプレイ(3840〜4096画素のピクチャ幅)の人気が高まるにつれて、より高解像度のビデオコンテンツについての要求が増加している。4Kビデオに必要とされる記憶装置は、1080pのHDビデオについてのものよりもはるかに高い。いくつかのケースでは、同一のビデオコンテンツのより低解像度のバージョン及び同一のビデオコンテンツのより高解像度のバージョンの両方を記憶することは、例えば、異なるハードウェア上で表示するために必要となることがある。ブルーレイディスク上でHD解像度のビデオストリーム及び4K解像度のビデオストリームの両方を有することは、より低出力のビデオプレイヤがHDコンテンツを表示すること、及びより強力なビデオプレイヤが4Kコンテンツを表示することを可能にする。しかしながら、物理ディスク上の記憶の制限に起因して、単一のディスク上で両方の解像度に適合することが可能でないことがある。この問題に対処する1つのアプローチは、同一のコンテンツのために低解像度のディスク及び高解像度のディスクの両方を作成することである。ネットワークを通じたビデオストリーミングのために、帯域幅が高いときにより高解像度のビデオが表示され、ネットワークが混雑している間により低解像度が表示されることがある。高解像度(例えば、4K)のビデオよりも低い解像度の符号化されたビデオ(例えば、1080pのHDビデオ)を伝送するためにビットがあまり必要とされない。
別のアプローチは、低解像度のビデオを符号化し、より高解像度のハードウェア上でそれを表すときにそれをアップサンプリングすることである。しかしながら、アップサンプリングされた低解像度のビデオが高解像度のハードウェア上で再生されるときにビデオ品質が影響を受ける。更なる別のアプローチは、実に高解像度の符号化されたビデオをディスクに記憶することである。残念ながら、低出力のハードウェアは、それがより高解像度のビデオのために所望のフレームレートを維持するために十分に強力でないことを理由に、フレームをスキップする必要があることがある。
複数のディスクを有することは製造コストを増加させると共に、ディスクに1つの解像度のみのビデオを記憶することは、より低出力の再生機又はより高出力の再生機のいずれに対しても最良の経験を可能にしない。より低解像度のビデオのみがディスクに記憶される場合、表示されるピクチャは、より高解像度のディスプレイ上でのアップサンプリングを必要とする。アップサンプリングされたビデオコンテンツのピクチャ品質は、元々はより高解像度の品質であるコンテンツの品質よりも低い。より高解像度のビデオのみがディスクに記憶される場合、より低出力のデバイスは、元のフレームレートにおいてコンテンツを表示することが可能でないことがあり、フレームをドロップさせる必要があることがあり、又はフレームレートを低下させる必要があることがある。これは、ユーザの楽しみの減少をももたらす。
スケーラブルビデオコーディング(SVC)として知られるアドバンスドビデオコーディング(AVC)への拡張は、複数の解像度についての効率的な圧縮を可能にすると共に、この拡張をサポートするデバイスの数は、そうではないものと比較してはるかに低い。結果として、複数の解像度を扱う共通のアプローチは、符号化の前に複数の解像度にビデオコンテンツのサイズを変更し、相互に独立して復号化され得る解像度ごとに別個のビットストリームを生成することである。
本開示の態様が生まれるのはこのコンテキスト内である。
添付図面と共に以下の詳細な説明を考慮することによって、本開示の教示を容易に理解することができる。
本開示の態様のコンテキスト内でストリーミングデータピクチャの1つの可能な分割を例示する概略図である。 従来の複数の解像度のピクチャ符号化を例示するフローチャートである。 従来の複数の解像度のピクチャ復号化を例示するフローチャートである。 本開示の態様に従った、ベースフレーム及び改良データを含むフレームを含む符号化されたフレームのストリームの構成を例示する概略図である。 本開示の態様に従った、ベースフレーム及び改良データを含むフレームを含む符号化されたフレームのストリームの代替的な構成を例示する概略図である。 本開示の態様と共に使用することができる従来のデジタルピクチャ符号化を例示するフローチャートである。 本開示の態様と共に使用することができるストリーミングデータ復号化における可能な処理フローの例を例示するフローチャートである。 本開示の態様に従った、ビデオ及びエッジ改良ストリームを符号化することを例示するフローチャートである。 本開示の態様に従った、低出力のハードウェア上でビデオ及びエッジ改良ストリームを符号化することを例示するフローチャートである。 本開示の態様に従った、高出力のハードウェア上でビデオ及びエッジ改良ストリームを符号化することを例示するフローチャートである。 本開示の態様に従った、ピクチャ品質指向レート制御調節を実施するように構成されたデジタルピクチャを符号化及び/又は復号化するための装置を例示するブロック図である。 従来から符号化され、本開示の態様に従って符号化されたデジタルフレームについての品質対ビットレートのプロットを比較するグラフである。
以下の詳細な説明は、例示を目的として多くの詳細を含むが、当業者のいずれも、以下の詳細への変更及び修正が本発明の範囲内にあることを認識するであろう。したがって、以下で説明される本発明の例示的な実施形態は、何等の一般性を失うことなく、及び特許請求される発明に限定を課すことなく示される。
[導入]
図1Bは、複数の解像度のビデオ121の従来の符号化の例を例示する。エンコーダ122は、符号化された高解像度のビデオフレームを表すビットの高解像度のストリーム124を生成するために、高解像度のビデオを符号化する。高解像度のビデオ用に構成されていないより旧式のハードウェアに適合し、又は帯域幅が混雑している間に伝送のために必要とされる帯域幅を削減するために、123において示されるように、高解像度のビデオがダウンサンプリングされ、結果として生じるダウンサンプリングされたビデオ121’は、符号化されダウンサンプリングされたビデオフレームを表すビット124’のストリームを生成するために、例えば、別のエンコーダ122’によって符号化される。
図1Cに例示されるデコーダ側では、デコーダ132は、高解像度のストリーム124を受信し、復号化された高解像度のビデオフレームの形式にある高解像度の出力126を生成するためにそれを復号化する。高解像度のストリームを復号化するように備えられていないデバイスは、高解像度のストリームを無視してもよく、例えば、異なるデコーダ132’を使用して、ダウンサンプリングされたストリーム124’を受信及び復号化してもよい。
本開示の態様は、ビデオコーディング標準への拡張を利用することなく、効率的なビデオ圧縮を可能にする。本明細書で説明されるアプローチは、別個のビットストリームとして同一のコンテンツの複数の解像度を符号化する既存の方法と比較して、より低いビット使用率により高いピクチャ品質を可能にする。より高解像度において別個のビットストリームを作成する代わりに、エンコーダは、より少ないビットを使用する改良ストリームを作成する。デコーダは、より低解像度のベースストリーム及び改良ストリームを組み合わせることによって、表示のための出力ビデオを作成する。出力ビデオを生成するために必要とされる追加の処理は、グラフィックプロセッサユニット(GPU)上で効率的に実行されてもよい。提案されるアプローチは特に、提案されるものを使用して高解像度のフレームを生成するために必要な平均時間が、別個の高解像度のビットストリームを使用してフレームを復号化するために必要な時間以下である場合に有益である。
本開示の態様に従って、提案されるアプローチは、低解像度のビデオのアップサンプリングと改良情報とを組み合わせることを使用する。低解像度のビデオが高解像度にアップサンプリングされるとき、何らかの鮮明さが喪失する。結果として、ビデオがぼやけて見える。「改良情報」は、表示のための高品質画像を作成するために、アップサンプリングされた低解像度のビデオと組み合わされてもよい。エッジ改良データは、低解像度のビデオを高解像度にアップサンプリングするときに喪失する情報を捕捉する。エッジ改良情報は、画像内のエッジに対応する画素値に関連する。エッジ改良とアップサンプリングを組み合わせることは、別個のより高解像度のビデオビットストリームを記憶する必要性をなくし、代わりに、改良ストリームのみが記憶される必要があり、より少ないビットを必要とし、したがって、記憶空間をはるかに少なくする。このアプローチは特に、符号化前の低解像度のビデオに加えエッジ改良情報について必要とされるデータの量が、符号化前の高解像度のビデオについて必要とされるデータの量以下である場合に有益である。そのような状況は、高解像度のビデオが低解像度のビデオにダウンサンプリングされ、ダウンサンプリングの前に高解像度のビデオデータからエッジ改良データが作成される実施形態において生じることがある。特定の実装態様では、ダウンサンプリングは、整数ダウンサンプリング、例えば、代替画素を取り除くことを含んでもよい。整数ダウンサンプリングの例は、4K(2160P)から1080Pへのダウンサンプリングであってもよい。
いくつかの実装態様では、改良情報は、デコーダが認識し、既存のエンコーダがどのように符号化するかを理解する既存のビデオフォーマットで符号化されてもよい。例として、及び限定することなく、改良情報は、ビデオ再生をサポートするデバイスにおいて一般的に発見される既存のAVC又はHigh Efficiency Video Coding(HEVC)デコーダを使用して符号化されてもよく、標準への拡張についてのサポートを追加するためにデバイスを必要としない。この解決策はまた、複数のデコーダ(例えば、ハードウェアベースのデコーダ及びソフトウェアベースのデコーダの両方)を含むデバイスにおいて高解像度のビデオビットストリームを復号化するためのCPU及びGPUの負荷を減少させるために使用されてもよい。
改良ストリームは、ビデオフォーマットで記憶される必要がないが、それを行うことは、既存のハードウェアにより非常に良好に作用する。代替的な実装態様では、エッジ改良情報は、例えば、JPEG圧縮又はいずれかの他の算術的コーディング標準を使用して符号化されてもよい。
本明細書で説明される改良情報を用いてアップサンプリングすることはまた、例えば、JPEG符号化又はいくつかの他の画像圧縮標準がベース及び改良情報の両方を圧縮するために使用される静止画像に適用されてもよい。
生のビデオは、輝度(明暗度)及び色度(色)値によって表される。多くのエンコーダは、色度データを記憶するためにより少ないビットを使用し、それによって、人間の目が色度よりも輝度における差により敏感であるにつれて、より多くのビットが輝度データに対して要することがある。
特定の実装態様では、改良情報生成アルゴリズムは、画像内のエッジを発見するためにビデオデータ内の画像を分析してもよい。エッジ改良データは、低解像度のベース画像のアップサンプリングされたバージョンを対応する元の高解像度の画像と比較した結果を分析し、画像の間の差を判定することによって判定されてもよい。低解像度の画像をアップサンプリングすることは、標準アルゴリズム、例えば、バイリニア(最速且つ最低品質)又はバイキュービック(品質はより良好であるがより低速)を使用してもよい。特定の実施形態では、この比較は、GPUによって実行されてもよい。代替的な実施形態では、この比較は、CPUによって実行されてもよい。いくつかのケースでは、高解像度のビデオとアップサンプリングされた低解像度のビデオとの間に著しい差が存在しないことを理由に、フレームについてのエッジ改良情報が存在しない。そのようなシナリオが高解像度のストリーミングを伴う状況で発生するとき、著しい差が存在しないそれらのフレームは、エッジ改良情報なしに元の高解像度のフレームとして符号化されてもよい。代替的な実施形態では、エッジ改良情報は、以下で提供され、続いて閾値と比較されるものとして判定されてもよく、そのような比較の結果は次いで、符号化前にフレームをダウンサンプリングするか否かを判定するために使用されてもよい。
例として、及び限定することなく、改良情報は、アップサンプリングされた低解像度の画像と元の高解像度の画像との間の画素値(例えば、色度値若しくは輝度値、又はその両方)における差を判定し、画素値についての中間点(例えば、8ビットについて128)を追加することによって生成されてもよい。本開示の特定の態様に従って、改良情報は、入力フレームとダウンサンプリングされたフレームのアップサンプリングされたバージョンとの間の算術差を最小化するような方法で作成されてもよい。本明細書で使用されるように、用語「差」は、算術差(すなわち、減算の結果)を含むがそれに限定されない算術的な意味での差を指す。差を判定することは、二乗にすること、平方根をとること、倍率により乗算することなど、減算前の画素値に対する他の数学的演算を含んでもよい。差を判定することはまた、減算の結果に対する数学的演算を含んでもよい。例えば、いくつかの実装態様では、減算から生じる負の値は、ゼロに設定されてもよく、ビットの数についての最大値を上回る値は、最大値に設定されてもよい(例えば、8ビットの画素について、255よりも大きい値が255に設定される)。加えて、同一の数のビットが各々のより低解像度の画素を表すために利用されてもよいが、より多い数のビットが小さい差を表すために必要とされないことがあるので、より少ないビットがエッジ改良データを表すために使用されてもよい。例として、及び限定することなく、計算された16ビットの差は、8ビットの表現に減少した値を有してもよい。エッジ改良情報を生成する他の例は、Sobel演算子又はRoberts cross演算子を使用するなどの特徴及びエッジ検出方法を含む。
特定の実装態様では、輝度値における差は、低解像度のビデオのアップサンプリングが実行されるときに喪失する色度情報についての観点なく判定されてもよい。これは、追加の色度データがそのような処理の利用の間に保存されないので、計算及びメモリリソースを解放する。この処理はまた、色度値についての差を計算することがもはや必要とされないので、符号化処理の効率を増大させる。例として、及び限定することなく、輝度情報は、輝度情報の一部を色度情報として符号化すると共に、輝度情報の残りが輝度情報を残すエンコーダを操作するために、色度情報に記憶されてもよい。デコーダ側では、色度情報として記憶された輝度情報は、輝度情報に再度変化され、色度情報が無視される。代わりに、実施形態は、色度を薄いグレーとして符号化することを可能にする。
特定の代替的な実施形態では、フィルタリング段階は、例えば、ノイズ画素を取り除くことによって、ビデオ圧縮に対してより適切なエッジ改良情報を作成するために追加される。ノイズ画素は、例えば、周囲の画素とははるかに異なる値の画素である分離した画素である。
特定の実装態様では、低解像度のハードウェア上で実行される復号化は、低解像度のビデオを復号化すること、及び改良データを用いた動作を行わないことを含んでもよい。本発明の代替的な実施形態では、高解像度のハードウェア上で実行される復号化は、低解像度のビデオ及び改良データを復号化すること、並びに再構築された高解像度のビデオをもたらすために改良データを生成した比較の逆を実行することを含んでもよい。逆比較は、GPU又はCPUのいずれかの上で実行されてもよい。データをアップサンプリングすることは、エッジ改良情報を生成するために使用されたアルゴリズムに従ってバイリニア又はバイキュービックを使用してもよい。
本発明の代替的な実施形態では、2つのデコーダが利用される。第1のデコーダは、低解像度のビデオを復号化してもよく、第2のデコーダは、エッジ改良データを復号化してもよい。特定の実施形態では、ハードウェアデコーダがビデオについて使用されてもよく、ソフトウェアデコーダが改良データについて使用されてもよい。代替的な実施形態では、ソフトウェアデコーダの2つのインスタンス又は2つのハードウェアデコーダが任意選択で利用されてもよい。更に、特定の代替的な実施形態は、音声データに関して上記説明された符号化/復号化処理、方法、及びデバイスを適用してもよい。
他の代替的な実施形態では、1つのデコーダのみが利用されてもよい。そのようなケースでは、1つのエンコーダのみにより符号化が実施されてもよく、改良データは、符号化されたベースビデオデータと同一のビットストリームに符号化されてもよい。符号化されたベースビデオデータは、改良データを含むいずれのフレームも参照せず、改良データを完全に復号化することなく独立して復号化されてもよい。例として、スライスヘッダは、データがベースビデオ又は改良ビデオに対応して復号化されるかどうか、及び改良データが必要とされるかどうかを判定するために使用されてもよく、復号化の残りは、そのフレームに対してスキップされてもよい。より低出力のハードウェアでは、ベースビデオピクチャのみが復号化される。より高出力のハードウェアでは、全てのフレームが復号化され、最後の高解像度のフレームが復号化されたベースビデオ及び改良データから再構築される。
上記説明された処理、方法、及びデバイスは代わりに、高解像度のビデオをダウンサンプリングすること、及び対応するエッジ改良データを用いてダウンサンプリングされたビデオを記憶することが高解像度のビデオを単純に記憶することよりも少ない記憶空間を必要とすることがあるので、記憶のために高解像度のビデオを圧縮するために使用されてもよい。
特定の実装態様では、エッジ改良アルゴリズムは、いずれかのフレームが高解像度(例えば、4K解像度)において送信されるのに十分な詳細を有するかどうかを判定するために使用されてもよく、そうである場合、フレームは、ダウンサンプリングすることなく高解像度において符号化されてもよい。例として、及び限定することなく、フレームが高解像度において送信されるのに十分な詳細を有するかどうかを判定することは、いくつかの参照値、例えば、128に等しくない画素の合計数の分散又はカウントなどの測定基準を使用してもよく、改良情報が重要であるかどうかを判定するために経験によるデータから確立された閾値を使用してもよい。フレームが4K解像度において送信されるのに十分な詳細を有しないと判定される場合、フレームは、より低解像度(例えば、1080P)にダウンサンプリングされてもよく、より低解像度のデータを含むフレームのセクションを示すパラメータと共に、均一な色度及び輝度値、例えば、薄いグレーの画素によって囲まれる低解像度の画素を含む再構築されたフレームとして符号化されてもよい。デコーダ側では、それらの再構築されたフレームは、ダウンスケールされたフレームを抽出するためにパラメータを使用し、次いで、抽出されたダウンスケールされたフレームをアップサンプリングすることによって復号化されてもよい。代わりに、高解像度(例えば、4K解像度)においてフレームを送信することが不十分であると判定される場合、フレームは、より低解像度(例えば、1080P)にダウンスケールされてもよく、その後、改良情報の生成、並びにベースフレーム及び改良情報の符号化が続く。そのような実装態様では、デコーダは、低解像度のフレームをアップサンプリングすることができ、改良情報とそれらを組み合わせることができ、4Kフレームを通常に扱うことができる。いくつかのフレームを低解像度として選択的に送信することによって、それらの実施形態は、ビットストリームサイズを削減することが可能である。
本開示の態様に従ってエッジ改良を伴うアップサンプリングを説明する前に、デジタルピクチャ、例えば、ビデオピクチャがストリーミングアプリケーションのためにどのように符号化されるかを理解することが有益である。更に、ピクチャ又はピクチャの一部が符号化される方式が、それがどのように復号化されるかに影響を与えるので、符号化されたストリーミングデジタルピクチャデータがどのように復号化されるかを理解することが有益である。
例として、及び限定することなく、図1に示されるように、単一のピクチャ100(例えば、デジタルビデオフレーム)は、1つ以上のセクションに分解されてもよい。本明細書で使用されるように、用語「セクション」は、ピクチャ100内の1つ以上の画素のグループを指すことができる。セクションは、ピクチャ内の単一の画素からピクチャ全体までの範囲にわたることができる。セクションの非限定的な例は、スライス(例えば、マクロブロック行)102、マクロブロック104、サブマクロブロック106、ブロック108、及び個々の画素110を含む。他の例は、コーディングツリーブロック(CTB)、及びHEVC(H.265)コーディング標準に特有な他のセクションタイプを含む。図1に例示されるように、各々のスライス102は、マクロブロック104の1つ以上の行、又は1つ以上のそのような行の一部を含む。行内のマクロブロックの数は、マクロブロックのサイズ、並びにピクチャ100のサイズ及び解像度に依存する。例えば、各々のマクロブロックが16×16の画素を含む場合、各々の行内のマクロブロックの数は、ピクチャ100の幅(画素内の)を16により除算することによって判定されてもよい。各々のマクロブロック104は、いくつかのサブマクロブロック106に分解されてもよい。各々のサブマクロブロック106は、いくつかのブロック108に分解されてもよく、各々のブロックは、いくつかの画素110を含んでもよい。例として、及び本発明を限定することなく、共通ビデオコーディングスキームでは、各々の16×16の画素のマクロブロック104は、4つの8×8の画素のサブマクロブロック106に分解されてもよい。各々のサブマクロブロックは、4つのブロック108に分解されてもよく、各々のブロックは、16個の画素110の4×4配置を含んでもよい。
各々のピクチャは、フレーム又はフィールドのいずれかであってもよいことに留意されたい。フレームは、完全な画像を指す。フィールドは、特定のタイプのディスプレイデバイス上で画像を表示することを促進するために使用される画像の一部である。概して、画像内の画素は、行をなして配置される。表示を促進するために、画像は時に、2つの異なるフィールドに画素を交互に置くことによって分割されることがある。2つのフィールド内の画素の行は次いで、完全な画像を形成するように織り交ざってもよい。陰極線管(CRT)ディスプレイなどのいくつかのディスプレイデバイスについて、2つのフィールドは単純に、高速に連続して相互に表示されてもよい。蛍光体、又はディスプレイに画素を照明するために使用される他の発光素子の残光は、残像と組み合わされて、2つのフィールドを連続した画像として認知する結果を生じる。液晶ディスプレイなど特定のディスプレイデバイスについて、表示される前に単一のピクチャに2つのフィールドをインタレースする必要があることがある。符号化された画像を表すストリーミングデータは典型的には、画像がフィールド又はフレームであるかどうかを示す情報を含む。そのような情報は、画像へのヘッダに含まれてもよい。
MPEG2、MPEG4、及びH.264などの最新のビデオコーダ/デコーダ(コーデック)は概して、典型的には、Iフレーム、Pフレーム、及びBフレームとそれぞれ称される、イントラフレーム、予測フレーム、及び両方向予測フレームとして知られる3つの基本的なタイプのうちの1つとしてビデオフレームを符号化する。
Iフレームは、それ自体を除くいずれのピクチャも参照することなくコーディングされたピクチャである。Iフレームは、ランダムアクセスのために使用され、他のPフレーム又はBフレームの復号化のための参照として使用される。Iフレームは、ランダムアクセスポイント(デコーダが所与のピクチャ位置においてスクラッチから適切に復号化を開始することを可能にするための)を生じさせるためにエンコーダによって生成されてもよい。Iフレームは、画像の詳細を区別することが、有効なPフレーム又はBフレームの生成を禁止するときに、生成されてもよい。Iフレームが完全なピクチャを含むことを理由に、Iフレームは典型的には、Pフレーム又はBフレームよりも符号化するために多くのビットを必要とする。ビデオフレームは、入力ビデオ内でシーンの変更が検出されるときにIフレームとしてとして符号化されることが多い。
Pフレームは、復号化されるためにいくつかの他のピクチャ(複数可)の先行する復号化を必要とする。Pフレームは典型的には、Iフレームよりも符号化のために少ないビットを必要とする。Pフレームは、復号化順序において前のIフレームに対する差に関する符号化された情報を含む。Pフレームは典型的には、グループオブピクチャ(GoP)内の先行するIフレームを参照する。Pフレームは、画像データの変位及び動きベクトルの変位の両方、並びに2つの組み合わせを含んでもよい。いくつかの標準コーデック(MPEG−2など)では、Pフレームは、前に復号化された1つのピクチャのみを復号化の間の参照として使用し、そのピクチャが表示順序においてPフレームに先行することも必要とする。H.264では、Pフレームは、前に復号化された複数のピクチャを復号化の間の参照として使用することができ、その予測のために使用されるピクチャ(複数可)に対するいずれかの任意の表示順序関係を有することができる。
Bフレームは、復号化されるためにIフレーム又はPフレームのいずれかの先行する復号化を必要とする。Pフレームと同様に、Bフレームは、画像データの変位及び動きベクトルの変位の両方、及び/又は2つの組み合わせを含んでもよい。Bフレームは、前に復号化された2つの異なる参照領域を使用して取得された予測を平均化することによって、動き領域(例えば、マクロブロック又はより小さなエリアなどのフレームのセグメント)の予測を形成するいくつかの予測モードを含んでもよい。いくつかのコーデック(MPEG−2など)では、Bフレームは、他のピクチャの予測のための参照として使用されない。結果として、より低い品質の符号化(他に使用されるより少ないビットの使用をもたらす)は、詳細の損失が後続のピクチャについての予測品質に悪影響を与えないことを理由に、そのようなBピクチャのために使用されてもよい。H.264などの他のコーデックでは、Bフレームは、他のピクチャの復号化(エンコーダの裁量における)のための参照として使用されてもよく、又は使用されなくてもよい。H.264では、2つのタイプのBフレーム、参照Bフレーム及び非参照Bフレームが存在する。参照Bフレームは、Bフレームコーディングのための参照フレームとして使用されてもよく、非参照Bフレームはそうでなくてもよい。いくつかのコーデック(MPEG−2など)は、復号化の間の参照として前に復号化された丁度2つのピクチャを使用し、それらのピクチャのうちの1つが表示順序においてBフレームピクチャに先行し、他の1つがそれに続くことを必要とする。H.264などの他のコーデックでは、Bフレームは、復号化の間の参照として前に復号化された1つ、2つ、又は2つよりも多いピクチャを使用することができ、その予測のために使用されるピクチャ(複数可)に対するいずれかの任意の表示順序関係を有することができる。Bフレームは典型的には、Iフレーム又はPフレームのいずれかよりも符号化のために少ないビットを必要とする。
本明細書で使用されるように、用語Iフレーム、Bフレーム、及びPフレームは、例えば、ストリーミングビデオのコンテキストに関して上記説明されたように、Iフレーム、Bフレーム、及びPフレームに対して同様の特性を有するストリーミングデータ単位に適用されてもよい。
例として、及び限定することなく、符号化されたベースフレーム及び符号化された改良データを含む共通ビットストリームは、図2Aに示されるように構成されてもよい。この例では、ベースフレームは、Iフレーム0、13、又はPフレーム1、5、9としてコーディングされる。改良データについてのフレームは、Bフレーム2、3、4、6、7、8、10、11、12、14、15、16として符号化される。改良フレームは、矢印によって示されるように、参照としてベースフレームを使用することができるが、逆はそうではない。図2Aでは、Iフレーム0、13は、ベースフレームデータに対応してもよく、フレームの残りは、符号化された改良データを含んでもよい。この例では、Bフレームの全てが非参照フレームである。
代替的な構成(図示せず)では、Iフレーム0、13のみがベースフレームデータに対応し、Pフレーム1、5、9及びBフレーム2、3、4,6、7、8、10、11、12、14、15、16が改良データに対応する。そのような実装態様では、Pフレームは、Bフレームについての参照フレームとして使用されてもよい。
図2Bは、本開示の態様に従った、共通ビットストリームについての代替的な構成を例示する。この例では、ビットストリームは、階層B構造を使用して作成され、階層B構造では、特定のBフレーム2、6、10、14が他のBフレームについての参照として使用される。特に、フレーム2は、フレーム3及び4についての参照として使用されてもよく、フレーム6は、フレーム7及び8についての参照として使用されてもよく、フレーム10は、フレーム11及び12についての参照として使用されてもよく、フレーム14は、フレーム15及び16についての参照として使用されてもよい。この例では、Bフレームは、ベースフレーム0、1、5、9、13の復号化に影響を与えることなくスキップされてもよい。
例として、及び限定することなく、デジタルピクチャは、図2Cに例示される一般化された方法200に従って符号化されてもよい。エンコーダは、複数のデジタル画像201を受信し、各々の画像を復号化する。デジタルピクチャ201の符号化は、セクション単位で続行してもよい。セクションごとの符号化処理は任意選択で、パディング202、画像圧縮204、及び動き補償206を含んでもよい。イントラコーディングされたピクチャ及びインターコーディングされたピクチャの両方についての共通の処理フローを促進するために、現在処理しているピクチャ201内の全ての復号化されていない画素は、202において示されるように、パディングされたピクチャを作成するために、一時的画素値によりパディングされてもよい。パディングは、例えば、参照により本明細書に組み込まれる、米国特許第8,711,933号において上述したように続行してもよい。パディングされたピクチャは、バッファに記憶された参照ピクチャのリスト203に追加されてもよい。202においてピクチャをパディングすることは、画像圧縮204及び動き補償206の間の後続の処理において参照ピクチャとして現在処理しているピクチャを使用することを促進する。そのようなパディングは、参照により本明細書に組み込まれる、譲受人が共通である米国特許第8,218,641号において詳細に説明されている。
本明細書で使用されるように、画像圧縮は、デジタル画像へのデータ圧縮のアプリケーションを指す。画像圧縮204の目的は、圧縮されたデータの効率的な形式でその画像についてのデータを記憶又は伝送することを可能にするために、所与の画像201についての画像データの冗長性を削減することである。画像圧縮204は、不可逆又は可逆であってもよい。可逆圧縮は、製図、アイコン、又はコミックなど人工的画像について好ましい場合がある。これは、不可逆圧縮方法が、特に低いビットレートにおいて使用されるとき、圧縮アーチファクトを導入するからである。可逆圧縮方法はまた、医療画像又は保存を目的として行われる画像スキャンなど、高い値のコンテンツについて好ましい場合がある。不可逆方法は特に、忠実性のわずかな(時に、感知できない)損失がビットレートにおける十分な減少を達成するために許容可能であるアプリケーションにおける写真などの自然画像に適している。
可逆画像圧縮のための方法の例は、PCXにおけるデフォルトの方法として、及びBMP、TGA、TIFF、エントロピーコーディングにおいて可能な1つとして使用されるランレングス符号化、GIF及びTIFFにおいて使用されるLZWなどのアダプティブディクショナリアルゴリズム、並びにPNG、MNG、及びTIFFにおいて使用されるデフレーションを含むが、それらに限定されない。不可逆圧縮のための方法の例は、ピクチャ201の色空間を画像内の最も共通した色に削減すること、色度サブサンプリング、変換コーディング、及びフラクタル圧縮を含む。
色空間削減では、選択された色は、圧縮された画像のヘッダ内の色パレットにおいて指定されてもよい。各々の画素はまさに、色パレット内の色インデックスを参照する。この方法は、ポスタリゼーションを回避するためにディザリングと組み合わされてもよい。色度サブサンプリングは、画像内の色度情報の半分以上をドロップさせることによって、目が色よりも鮮明に明度を感知する事実を利用する。変換コーディングはおそらく、最も一般的に使用される画像圧縮方法である。変換コーディングは典型的には、量子化及びエントロピーコーディングがそれに続く、離散コサイン変換(DCT)又はウェーブレット変換などのフーリエ関連変換を適用する。フラクタル圧縮は、特定の画像内で、画像の一部が同一の画像の他の部分に類似する事実に依存する。フラクタルアルゴリズムは、それらの部分、又はより正確には幾何学的形状を、符号化された画像を再作成するために使用される「フラクタルコード」と称される数学的データに変換する。
画像圧縮204は、画像201の特定の部分が他よりも高い品質により符号化される関心の領域のコーディングを含んでもよい。これは、画像の特定の部分を最初に符号化し、後に他の部分を符号化することを含む、スケーラビリティと組み合わされてもよい。圧縮されたデータは、画像を分類、探索、又は閲覧するために使用することができる画像に関する情報(メタ情報又はメタデータと称される場合がある)を含むことができる。そのような情報は、色及びテクスチャ統計、小さいプレビュー画像、及び著者/著作権情報を含むことができる。
例として、及び限定することなく、204における画像圧縮の間、エンコーダは、画素のブロックを圧縮するための最良の方法を探索してもよい。エンコーダは、良好な一致のために、現在パディングされているピクチャを含む、参照ピクチャリスト203内の参照ピクチャの全てを探索することができる。カレントピクチャ(又は、サブセクション)がイントラピクチャ(又は、サブセクション)としてコーディングされる場合、パディングされたピクチャのみが参照リストにおいて利用可能である。204における画像圧縮は、動きベクトルMVを作成し、206における動き補償の間に参照ピクチャ(パディングされたピクチャを含む)のうちの1つ以上と共に続いて使用される係数207を変換する。
画像圧縮204は概して、最良のインター予測一致のための動き探索MS、最良のイントラ予測一致のためのイントラ探索IS、カレントマクロブロックがインターコーディング又はイントラインターコーディングされているかどうかを決定するためのインター/イントラ比較C、可逆的残差画素205を計算するために最良に一致して予測された画素と共に符号化されているセクションからの元の入力画素の減算Sを含む。残差画素は次いで、変換係数207を作成するために変換及び量子化XQを受ける。変換は典型的には、離散コサイン変換(DCT)などのフーリエ変換に基づいている。
変換は、係数のセットを出力し、係数の各々は、標準の基本的パターンについての重み値である。組み合わされるとき、重み付けられた基本的パターンは、残差サンプルのブロックを再作成する。変換の出力、変換係数のブロックは量子化され、すなわち、各々の係数は、整数値により分割される。量子化は、量子化パラメータ(QP)に従って変換係数の精度を減少させる。典型的には、結果は、係数のほとんど又は全てが、いくつかの非ゼロ係数がある状態でゼロであるブロックである。高い値にQPを設定することは、ゼロに設定される係数が多いほど、復号化された画像の不良な品質を犠牲にして高い圧縮をもたらすことを意味する。低いQP値について、量子化の後に残る非ゼロ係数が多いほど、より良好な復号化された画像品質であるが、より低い圧縮をもたらす。逆に、高いQP値について、量子化の後に残る非ゼロ係数が少ないほど、より高い画像圧縮であるが、より低い画像品質をもたらす。
モード決定とも称されるインター/イントラ比較Cは、QPに関連するラグランジュ乗数λとして知られるパラメータを使用する。基本的には、コスト関数Jは、QPの値から判定されたλの値を使用して計算される。符号化モードは、インターモードコーディングについての計算されたコスト関数Jがイントラモードコーディングについての計算されたコストを上回り又は下回るかどうかに基づいて判定される。例として、H.264/AVC コーデックは、セクションのオーバーヘッド(例えば、動きベクトル、タイプ)を符号化するための実ビット消費R及び再構築歪み(例えば、元のセクションと再構築されたセクションとの間の絶対的差の和、SADとして測定された)を計算することによって最小化される必要がある、コスト関数Jをサポートする。そのようなケースでは、コスト関数JHは、
=D+λ・R
に従って計算される。
代替的な実施態様では、歪みDは、異なって計算されてもよい。歪み、例えば、二乗した差の和(SSD)、絶対的な変換された差の和(SATD)、及び平均絶対差(MAD)などを表す多くの方法が存在する。当業者は、異なる歪み測定について、コスト関数がそれに従って修正又は再調整される必要があることを認識するであろう。
いくつかの状況の下、適切でない符号化モード決定は、不必要なIDR又はIフレーム挿入をトリガすることができる。オンラインビデオゲーミングの間のストリーミングビデオの例を考える。エンコーダは、ゲームアプリケーションによって生成されたビデオストリームについてのターゲットビットレートを満たすことを試みる。ターゲットビットレートは、フレームごとのビットの数に関連する。ゲームが中断される場合、ビデオは必然的に、静止フレームのストリームである。静止フレームについて、QPは、レート歪み最適化処理におけるフレームについてのターゲットビットを満たすために低い。QPが低いとき、モード決定は、静止フレーム内のほとんどのセクション(例えば、マクロブロック)についてのイントラコーディングを選択する。フレーム内のイントラコーディングされたセクションの数が閾値を上回る場合、コーデックは、シーン変更検出をトリガし、次のフレームが極端に低いQPによりイントラフレームとしてコーディングされ、それは、符号化するために多数のビットを必要とする。これは、極端に低いQPの値(例えば、QP=1、2)がこのケースにおけるほぼ可逆のコーディングを意味する事実に起因している。例として、及び限定することなく、シーン変更検出をトリガするための閾値は、フレーム内の約60〜80%のイントラMBであってもよい。静止フレームのシーケンスは、基本的には同一のフレームが繰り返されるときでさえ、シーン変更検出のシーケンスを引き起こす。イントラフレームのシーケンスは、帯域幅が制限された通信チャネルにおいてビットレート使用率の大きな且つ頻繁なスパイクを引き起こすことがある。
通常、λとQPとの関係は、コーデックによって固定され、全てのピクチャに対して同一である。本開示の態様に従って、λとQPとの関係は、ピクチャ内のセクションごとのビットの数に応じて、ピクチャごとに調節されてもよい。
本開示の態様に従って、λとQPとの関係は、セクションごとにビットの数に基づいて適合されてもよく、それによって、符号化モード決定は、不必要なIDR又はIフレーム挿入の可能性を減少させる方法で構成されてもよい。
本開示の態様に従って、λとQPとの関係は、セクション符号化モード決定が「イントラ」コーディングモードの代わりに「インター」コーディング決定をもたらす可能性を高める方法で、符号化の間、例えば、ビデオストリームの符号化の開始又はストリーム内の各々のビデオフレームの開始において選択的に調節されてもよい。
いくつかの実装態様では、例えば、H.265において可能なように、フレーム内に異なるサイズのセクションが存在する場合、セクションごとのλ対QP関係を変更することが更に可能である。これは、第1のパスがピクチャセクションのコンテンツに関する更なる洞察を提供し、それによって、より良好なコーディングモード決定を行うことができるので、例えば、2つのパス符号化のユースケースにおいて有益である。
例として、及び限定することなく、λとQPとの関係への調節は、セクション内のビットの数(NBS)に依存することがあり、それは概して、ターゲットビットレート(例えば、1秒ごとのビット内の)、フレームレート(例えば、1秒ごとのフレーム内の)、及びフレーム内のセクションの数に依存する。セクション内のビットの数NBSは、ターゲットビットレートBRを、フレームレートFRとフレームごとのセクションの数NSFとの積によって除算することによって計算されてもよい。例として、及び限定することなく、これは、
NBS=BR/(FR・NSF)
として表現されてもよい。
より一般的には、セクションごとのビットの数(NBS)は、NBS=(BPF)/(NSF)として広義に表現されてもよく、BPFは、フレームごとのビットのターゲット数である。
この広義の表現は、例えば、内在するレート制御スキームによって割り当てられたターゲットビットに応じて、NBSの値がフレームごとに異なる可能性を可能にする。フレームごとのビットの固定されたターゲット数のケースでは、BPFはBR/FRになる。
フレームごとのセクションの数(例えば、MB)は、解像度に依存する。テーブルへの変更は、解像度、フレームレート、及びビットレートの組み合わせによってトリガされてもよい。例えば、テーブルの変更は、960×540の解像度、30フレーム/秒のフレームレート、及び8〜10メガビット/秒又はそれよりも高いターゲットレートを有するフレームについてトリガされる。所与のビットレート及び解像度について、テーブルの変更は、解像度が増加する場合にトリガされる可能性は低い。所与のビットレート及び解像度について、テーブルの変更は、フレームレートが増加する場合にトリガされる可能性は低い。所与のフレームレート及び解像度について、テーブルの変更は、ビットレートが減少する場合にトリガされる可能性は低い。
λとQPとの関係は典型的には、非線形である。概して、QPが高いときはλが高く、QPが低いときはλが低い。λとQPとの関係の例は、その全体の内容が参照により本明細書に組み込まれた、2014年9月22日に出願され、米国特許出願公開公報第2016/0088299号として公開された米国特許出願第14/493,238号(代理人整理番号SCEA14017US00)において説明される。
QP値は、ターゲットビットレートに応じて調節されてもよい。QPが符号化においてビット使用率を制御するので、多くの符号化プログラムは、所望のビットレートを達成するためにQPを調節するレートコントローラを利用する。エンコーダは、圧縮されていないソースデータ(例えば、入力ビデオ)を受信し、圧縮された出力を作成する。ビデオコーディング方法は典型的には、ビデオセクションを符号化するためのビット使用率に影響を与え、したがって、ビットレートに影響を与えるQP値を使用する。概して、より低いビット使用率は、より高いビットレートをもたらす。レートコントローラは、外部アプリケーションによって指定することができる要求されたビットレートに基づいてQP値を判定する。エンコーダは、レートコントローラによって判定されたQP値を使用し、実際の結果として生じるビット使用率及びビットレートを判定する。レートコントローラは、フィードバックループにおいてQP値を調節するために実ビットレートを使用することができる。
ビットレートのQPの値との間の関係は、存在する画像の複雑度に部分的に依存する。ビットレート対QPの関係は、異なるレベルの複雑度についての異なる曲線を有する曲線のセットに関して表現されてもよい。レートコントローラによって実施されるアルゴリズムの核心は、QP、実ビットレート、及び複雑度のいくつかの測定値の間の関係を記述した量的モデルである。関連するビットレート及び複雑度は概して、ソース画素と予測された画素との間の差(残差と称されることが多い)のみと関連付けられ、なぜならば、量子化パラメータQPが、変換された残差で搬送された情報の詳細のみに影響を与えることがあるからである。
複雑度は概して、ピクチャ又はピクチャの部分内の空間的変動の量を指す。局所的レベルで、例えば、ブロック又はマクロブロックレベルで、空間的変動は、関連するセクション内の画素値の分散によって測定されてもよい。しかしながら、ビデオシーケンスについて、複雑度はまた、画像のシーケンスのシーンの時間的変動に関連することがある。例えば、ビデオシーケンスは、ビューのフィールドにわたって低速に転換する実質的な空間的変動を有する1つのオブジェクトから構成され、時間的予測が単一の参照ピクチャ及び一連の動きベクトルを使用して動きを容易に捕捉することができることを理由に、あまり多くのビットを必要としないことがある。計算することが容易でもある包括的なビデオ複雑度測定基準を定義することは困難であるが、予測誤差(ソース画素値と予測された画素値との間の差)の平均差(MAD)がこの目的で使用されることが多い。
量子化パラメータQPは、ソースピクチャのピクチャタイプ、ソースピクチャの複雑度、ビットの推定されたターゲット数、及び内在するレート歪みモデルを含むが、それらに限定されない複数の因子から判定されてもよいことに留意されたい。例えば、QPは、現在符号化しているピクチャのセクションについての変動、例えば、セクション(例えば、MB)分散を使用してセクションごとに判定されてもよい。代わりに、現在符号化しているセクションについてのQPは、前のフレーム内の同一位置にあるセクション(例えば、MB)を符号化するための実ビットカウントを使用して判定されてもよい。そのようなQPレベルの計算の例は、例えば、参照により本明細書に組み込まれる、譲受人が共通である米国特許出願公開第2011/0051806号、今は、Hung−Ju Leeへの特許第8,879,623号において説明される。
動き探索及び予測は、符号化されているピクチャのタイプに依存する。図2Cを再度参照して、イントラピクチャがコーディングされる場合、動き探索MS及びインター/イントラ比較Cがターンオフされる。しかしながら、本発明の実施形態では、パディングされたピクチャが参照として利用可能であるので、それらの機能はターンオフされない。その結果として、画像圧縮204は、イントラコーディングされたピクチャ及びインターコーディングされたピクチャに対して同一である。
動き探索MSは、インターコーディングされたピクチャについて通常行われるように、動き補償についての最良に一致するブロック又はマクロブロックについてピクチャ201を探索することによって、動きベクトルMVを生成してもよい。カレントピクチャ201がイントラコーディングされたピクチャである場合、その一方で、既存のコーデックは典型的には、ピクチャにわたる予測を可能にしない。代わりに、全ての動き補償は通常、イントラピクチャ(例えば、Iフレーム)、及び変換係数を生成し、画素予測を実行することによってコーディングされたピクチャに対してターンオフされる。しかしながら、いくつかの実装態様では、イントラピクチャは、カレントピクチャ内のセクションをその同一のピクチャ内の別のオフセットされたセクションに一致させることによってインター予測を行うために使用されてもよい。2つのセクションの間のオフセットは、206において動き補償のために使用することができる動きベクトルMV’としてコーディングされてもよい。例として、エンコーダは、イントラピクチャ内のブロック又はマクロブロックを同一のピクチャ内のいくつかの他のオフセットされたセクションと一致させ、次いで、2つの間のオフセットを動きベクトルとしてコーディングすることを試みてもよい。「インター」ピクチャについてのコーデックの通常の動きベクトル補償は次いで、「イントラ」ピクチャに対する動きベクトル補償を行うために使用されてもよい。特定の既存のコーデックは、2つのブロック又はマクロブロックの間のオフセットを動きベクトルに変換することができ、その後、206において動き補償を行うことが続くことができる機能を有する。しかしながら、それらの機能は従来から、イントラピクチャの符号化のためにターンオフされる。本発明の実施形態では、コーデックは、イントラピクチャの符号化のためにそのような「インター」ピクチャ機能をターンオフしないように命令されてもよい。
本明細書で使用されるように、動き補償は、現在処理している画像への参照画像の変換に関してピクチャを記述するための技術を指す。概して、動き補償206は、符号化処理200を実施するエンコーダ内で局所的デコーダとしての役目を果たす。特に、動き補償206は、動きベクトルMV又はMV’を使用して画像圧縮204から予測された画素PPを取得し、参照リスト内のピクチャから参照画素を取得するためのインター予測IP1及び(任意選択で)イントラ予測IP2を含む。画像圧縮204からの変換係数207を使用した逆量子化及び逆変換IQXは、復号化された画素209を生成するために予測された画素PPに追加される不可逆残差画素205Lを作成する。復号化された画素209は、参照ピクチャに挿入され、現在処理しているピクチャ201の後続のセクションについての画像圧縮204及び動き補償206において使用するために利用可能である。復号化された画素が挿入された後、参照ピクチャ内の復号化されていない画素がパディング202を受けてもよい。
いくつかのエンコーダの実装態様では、カレントピクチャがイントラコーディングされる場合、動き補償のために使用することができる他のピクチャが存在しないことを理由に、動き補償206のインター予測部はターンオフされる。代わりに、動き補償は、特定のピクチャがインターコーディング又はイントラインターコーディングされるかどうかに関わらず、いずれかのピクチャ201に対して実行されてもよい。いくつかの実装態様では、実施しているエンコーダは、参照ピクチャリスト203にパディングされたピクチャを追加するように修正されてもよく、動き補償206のインター予測部は、現在処理している画像がイントラコーディングされる場合でさえターンオフされない。結果として、インターコーディングされたセクション及びイントラコーディングされたセクションの両方についての処理フローは、動き補償206の間は同一である。唯一の大きな差は、符号化のために使用される参照ピクチャの選択である。いくつかの実装態様では、動き補償が全てのピクチャに対して実行される必要はなく、パディングされたピクチャが参照ピクチャリストに追加される必要はないことに留意されたい。
例として、及び限定することなく、ブロック動き補償(BMC)として知られる1つのタイプの動き補償では、各々の画像は、画素のブロック(例えば、16×16画素のマクロブロック)に区分化されてもよい。各々のブロックは、参照フレーム内の等しいサイズのブロックから予測される。ブロックは、予測されたブロックの位置にシフトされることを除き変換されない。このシフトは、動きベクトルMVによって表される。隣接するブロックベクトルの間の冗長性を利用するために(例えば、複数のブロックによってカバーされる単一の動いているオブジェクトについての)、ビットストリーム内のカレント動きベクトルと前の動きベクトルとの間の差のみを符号化することが一般的である。この差分処理の結果は、パニングすることが可能な全体的な動き補償と数学的に等しい。更に下の符号化パイプラインでは、方法200は任意選択で、ゼロベクトルの周りの動きベクトルの結果として生じる統計的分布を利用して出力サイズを削減するために、エントロピーコーディング208を使用してもよい。
サブ画素精度と称される、非整数の画素によってブロックをシフトさせることが可能である。中間の画素は、隣接する画素を補間することによって生成される。一般的に、2分の1画素又は4分の1画素精度が使用される。サブ画素精度の計算による費用は、補間に必要とされる追加の処理に起因してはるかに高く、エンコーダ側では、評価される潜在的なソースブロックの数がはるかに多い。
ブロック動き補償は、重なっていないブロックに現在符号化している画像を分割し、それらのブロックが参照画像から来ることを示す動き補償ベクトルを計算する。参照ブロックは典型的には、ソースフレーム内で重なる。いくつかのビデオ圧縮アルゴリズムは、参照画像リスト203内のいくつかの異なる参照画像の一部からのカレント画像を組み立てる。
画像圧縮204及び動き補償206、並びに(任意選択で)エントロピーコーディング208の結果は、コーディングされたピクチャとして便宜上参照されるデータ211のセットである。動きベクトルMV(及び/又は、イントラ予測モード動きベクトルMV’)、並びに変換係数207は、コーディングされたピクチャ211に含まれてもよい。デジタルピクチャ又は他の形式のストリーミングデータが符号化されると、符号化されたデータは、伝送され、次いで、復号化されてもよい。
図3は、本開示の態様と共に使用することができるストリーミングデータ301の復号化のための方法300における可能な処理フローの例を例示する。この特定の例は、例えば、AVC(H.264)標準を使用したビデオ復号化のための処理フローを示す。コーディングされたストリーミングデータ301は最初に、バッファに記憶されてもよい。コーディングされたストリーミングデータ301(例えば、ビデオデータビットストリーム)がネットワーク、例えば、インターネットを通じて転送されている場合、データ301は最初に、302において示されるように、ネットワーク抽出層(NAL)復号化と称される処理を受けてもよい。ネットワーク抽出層(NAL)は、H.264/AVC及びHEVCビデオコーディング標準など、ストリーミングデータ標準の一部である。NALの主要な目標は、「会話型」(例えば、ビデオ電話)及び「非会話型」(例えば、記憶、ブロードキャスト、又はストリーミング)アプリケーションについてのストリーミングデータの「ネットワークフレンドリーな」表現のプロビジョニングである。NAL復号化は、データ301から、データを伝送することを支援するために追加される情報を取り除いてもよい。「ネットワークラッパ」と称されるそのような情報は、ビデオデータとしてデータ201を識別することができ、又はビットストリームの開始若しくは終了、データの調整のためのビット、及び/又はビデオデータ自体に関するメタデータを示すことができる。
加えて、例として、ネットワークラッパは、例えば、解像度、ピクチャ表示フォーマット、データを表示するための色パレット変換マトリックス、各々のピクチャ、スライス、又はマクロブロック内のビットの数に関する情報と共に、より低いレベルの復号化に使用される情報、例えば、スライスの開始又は終了を示すデータを含むデータ301に関する情報を含んでもよい。この情報は、単一のセクション内のタスクグループの各々に渡すマクロブロックの数を判定するために使用されてもよい。その複雑度に起因して、NAL復号化は典型的には、ピクチャ及びスライスレベルに対して行われる。NAL復号化のために使用される最小のNALバッファは通常、サイズ変更されたスライスである。図3に例示される例は、マクロブロック及びAVC(H.265)標準に関して説明される。しかしながら、それらは、本開示の態様の特徴を限定しない。例えば、最新のH265(HEVC)標準では、マクロブロックの概念が存在しない。代わりに、より柔軟なコーディングユニット(CU)、予測ユニット(PU)、変換ユニット(TU)の概念が導入される。本開示の態様は、そのようなコーディング標準と共に機能してもよい。
いくつかの実施形態では、302におけるNAL復号化の後、図3に例示される残りの復号化は、ビデオコーディングされた層(VCL)復号化304、動きベクトル(MV)再構築310、及びピクチャ再構築314と本明細書で称される3つの異なるスレッドグループ又はタスクグループにおいて実施されてもよい。ピクチャ再構築タスクグループ214は、画素予測及び再構築316、並びに事後処理320を含んでもよい。本発明のいくつかの実施形態では、それらのタスクグループは、データ依存性に基づいて選択されてもよく、それによって、各々のタスクグループは、マクロブロックが後続の処理のために次のタスクグループに送信される前に、ピクチャ(例えば、フレーム又はフィールド)又はセクション内の全てのマクロブロックのその処理を完了することができる。
特定のコーディング標準は、空間ドメインから周波数ドメインへの画素情報の変換を含むデータ圧縮の形式を使用してもよい。とりわけ、1つのそのような変換は、離散コサイン変換(DCT)として知られる。そのような圧縮されたデータについての復号化処理は、周波数ドメインから再度空間ドメインへの逆変換を含む。DCTを使用して圧縮されたデータのケースでは、逆処理は、逆離散コサイン変換(IDCT)として知られる。変換されたデータは、離散変換されたデータ内の数を表すために使用されるビットの数を削減するように量子化されることがある。例えば、数1、2、3は全て、2にマッピングされてもよく、数4、5、6は全て、5にマッピングされてもよい。データを解凍するために、逆量子化(IQ)として知られる処理は、周波数ドメインから空間ドメインへの逆変換を実行する前に使用される。VCL IQ/IDCT復号化処理304についてのデータ依存性は典型的には、同一のスライス内のマクロブロックについてのマクロブロックレベルにある。その結果として、VCL復号化処理304によって生じる結果は、マクロブロックレベルにおいてバッファされてもよい。
VCL復号化304は、VCLシンタックスを復号化するために使用される、エントロピー復号化306と称される処理を含むことが多い。AVC(H.264)などの多くのコーデックは、エントロピー符号化と称される符号化の層を使用する。エントロピー符号化は、コード長が信号の確率に一致するように信号にコードを割り当てるコーディングスキームである。典型的には、エントロピーエンコーダは、等しい長さのコードによって表されるシンボルを、確率の負の対数に比例したコードによって表されるシンボルと置き換えることによって、データを圧縮するために使用される。AVC(H.264)は、2つのエントロピー符号化スキーム、コンテキスト適応型可変長コーディング(CAVLC)及びコンテキスト適応型二値算術的コーディング(CABAC)をサポートする。CABACは、CAVLCよりも約10%大きい圧縮を提供する傾向があるので、CABACは、AVC(H.264)ビットストリームを生成する際に、多くのビデオエンコーダによって好まれる。AVC(H.264)コーディングされたデータストリームのエントロピー層を復号化することは、計算的に負荷が高いことがあり、汎用マイクロプロセッサを使用してAVC(H.264)コーディングされたビットストリームを復号化するデバイスに対して課題を提示することがある。この理由により、多くのシステムは、ハードウェアデコーダ加速器を使用する。
エントロピー復号化306に加えて、VCL復号化処理304は、308において示されるように、逆量子化(IQ)及び/又は逆離散コサイン変換(IDCT)を含んでもよい。それらの処理は、マクロブロックからヘッダ309及びデータを復号化してもよい。復号化されたヘッダ309は、隣接するマクロブロックのVCL復号化を支援するために使用されてもよい。
VCL復号化304は、マクロブロックレベルのデータ依存周波数において実施されてもよい。特に、同一のスライス内の異なるマクロブロックは、VCL復号化を並列に受けてもよく、結果は、更なる処理のために動きベクトル再構築タスクグループ210に送信されてもよい。
その後、ピクチャ又はセクション内の全てのマクロブロックは、動きベクトル再構築310を受けてもよい。MV再構築処理310は、所与のマクロブロック311からのヘッダ及び同一位置にあるマクロブロックヘッダ313を使用した動きベクトル再構築312を含んでもよい。動きベクトルは、ピクチャ内の明白な動きを記述する。そのような動きベクトルは、前のピクチャの画素の知識及びピクチャからピクチャへのそれらの画素の相対的な動きに基づいて、ピクチャ(又は、それらの一部)の再構築を可能にする。動きベクトルが回復すると、画素は、VCL復号化処理304からの残差画素及びMV再構築処理310からの動きベクトルに基づいた処理を使用して、316において再構築されてもよい。MVについてのデータ依存周波数(及び、並列処理のレベル)は、MV再構築処理310が他のピクチャからの同一位置にあるマクロブロックを含むかどうかに依存する。他のピクチャからの同一位置にあるMBヘッダを含まないMV再構築について、MV再構築処理310は、スライスレベル又はピクチャレベルにおいて並列に実施されてもよい。同一位置にあるMBヘッダを含むMV再構築について、データ依存周波数は、ピクチャレベルにあり、MV再構築処理310は、スライスレベルにおける並列処理により実施されてもよい。
動きベクトル再構築310の結果は、ピクチャ周波数レベルに対して並列化されてもよい、ピクチャ再構築タスクグループ314に送信される。ピクチャ再構築タスクグループ314内で、ピクチャ又はセクション内の全てのマクロブロックは、デブロッキング320と共に画素予測及び再構築316を受けてもよい。画素予測及び再構築タスク316並びにデブロッキングタスク320は、復号化の効率を高めるために並列化されてもよい。それらのタスクは、データ依存性に基づいてマクロブロックレベルにおいてピクチャ再構築タスクグループ314内で並列化されてもよい。例えば、画素予測及び再構築316は、1つのマクロブロックに対して実行されてもよく、デブロッキング320がそれに続いてもよい。デブロッキング320によって取得された復号化されたピクチャからの参照画素は、後続のマクロブロックに対して画素予測及び再構築316において使用されてもよい。画素予測及び再構築318は、後続のマクロブロックについての画素予測及び再構築処理318への入力として使用することができる隣接画素を含む復号化されたセクション319(例えば、復号化されたブロック又はマクロブロック)を作成する。画素予測及び再構築316についてのデータ依存性は、同一のスライス内のマクロブロックについてのマクロブロックレベルにおける或る程度の並列処理を可能にする。
事後処理タスクグループ320は、ブロックコーディング技術が使用されるとき、ブロックの間で形成することができる鮮明なエッジを平滑化することによって視覚品質及び予測性能を改善するために、復号化されたセクション319内のブロックに適用されるデブロッキングフィルタ322を含んでもよい。デブロッキングフィルタ322は、結果として生じるデブロッキングされたセクション324の外観を改善するために使用されてもよい。
復号化されたセクション319又はデブロッキングされたセクション324は、隣接するマクロブロックをデブロッキングする際に使用するための隣接する画素を提供することができる。加えて、現在復号化しているピクチャからのセクションを含む復号化されたセクション319は、後続のマクロブロックについての画素予測及び再構築318のための参照画素を提供することができる。それは、カレントピクチャ内からのその画素が任意選択で、ピクチャ(又は、それらのサブセクション)がインターコーディングされ又はイントラコーディングされているかどうかに関わらず、上記説明されたように、その同一のカレントピクチャ内で画素予測のために使用されてもよい段階の間である。デブロッキング320は、同一のピクチャ内のマクロブロックについてのマクロブロックレベルに対して並列化されてもよい。
事後処理320の前に作成された復号化されたセクション319、及び事後処理されたセクション324は、同一のバッファ、例えば、含まれる特定のコーデックに依存した出力ピクチャバッファに記憶されてもよい。デブロッキングがH.264における事後処理フィルタであることに留意されたい。なぜならば、H.264は、隣接するマクロブロックイントラ予測のための参照としての事前デブロッキングマクロブロック及び後のピクチャマクロブロックインター予測のための事後デブロッキングマクロブロックを使用するからである。事前デブロッキング画素及び事後デブロッキング画素の両方が予測のために使用されることを理由に、デコーダ又はエンコーダは、事前デブロッキングマクロブロック及び事後デブロッキングマクロブロックの両方をバッファする必要がある。元も低いコスト消費者アプリケーションについて、事前デブロッキングされたピクチャ及び事後デブロッキングされたピクチャは、メモリ使用率を減少させるために同一のバッファを共有する。MPEG4 part10(注:H.264は、MPEG4 part10とも称される)を除くMPEG2又はMPEG4など、H.264よりも前の標準について、事前事後処理マクロブロック(例えば、事前デブロッキングマクロブロック)のみが他のマクロブロック予測のための参照として使用される。そのようなコーデックでは、事前にフィルタリングされたピクチャは、事後にフィルタリングされるピクチャと同一のバッファを共有しなくてもよい。
よって、H.264について、画素復号化の後、復号化されたセクション319は、出力ピクチャバッファに保存される。後に、事後処理されたセクション324は、出力ピクチャバッファ内の復号化されたセクション319を置き換える。非H.264のケースについて、デコーダは、出力ピクチャバッファに復号化されたセクション319のみを保存する。事後処理は、表示時間において行われ、事後処理の出力は、デコーダ出力ピクチャバッファと同一のバッファを共有しなくてもよい。
[エッジ改良を伴うアップサンプリング]
本開示の態様は、デジタルピクチャの符号化及び復号化において改良情報を用いたアップサンプリングを実施するための方法を提供する。例として、及び限定することなく、図4Aは、本開示の態様に従った、ビデオ及びエッジ改良ストリームを符号化する方法400を例示する。方法400は、高解像度のビデオ410を受信及び生成することによって開始する。高解像度のビデオ410は、412においてダウンサンプリングされてもよく、ベースビデオ413をもたらす。この高解像度のビデオ410から、及び、任意選択でベースビデオ413を使用して、改良情報415は、414において生成されてもよい。ベースビデオ413は次いで、符号化されてもよく、ベースデータ417をもたらす。ベースデータ417はその後、420において記憶又は伝送されてもよい。改良情報415は、418において符号化されてもよく、419において改良データに圧縮されてもよく、次いで、422において記憶又は伝送されてもよい。改良情報415がパックされる方法に応じて、ベースデータ417よりも改良データ419に多くのフレームが存在してもよく、又は逆もそうである。
いくつかの実装態様では、412において高解像度のビデオをダウンサンプリングすることは、所与のフレーム又はフレーム(複数)に、高解像度のフレームとしてそれらを送信することを正当化するための十分な詳細が存在するかどうかを判定することを含んでもよく、そうでない場合、そのようなフレームは、所与のフレームよりも少ない画素を有する低い解像度のダウンサンプリングされたフレームにダウンサンプリングされた所与のフレームに対応する再構築されたフレームとして符号化されてもよい。再構築されたフレームは、再構築されたフレームのどのセクションが低解像度の画素を含むかを示すパラメータと共に、均一な画素値の画素によって囲まれたダウンサンプリングされたフレームのより低解像度の画素を含んでもよい。
いくつかの実装態様では、エッジ改良情報415は、改良情報を生成することが減少したビット使用率に関して十分に有効であるかどうかを判定するために閾値と比較されてもよい。例として、高解像度のフレームを復号化することが可能なハードウェアによってフレームが復号化され、ダウンサンプリング及びエッジ改良によって得られたビットレートの節約が、それを行う計算コストを正当化するのにあまり十分でないことが知られる場合、フレームをダウンサンプリングし、エッジ改良情報を生成することは有効でない場合がある。エッジ改良情報を生成することが所与のフレームについて有効でない場合、そのフレームは、ダウンサンプリング及びエッジ改良情報を生成することなく、元の高解像度のフレームとして符号化されてもよい。
例を目的として、ダウンサンプリング412及び改良情報生成414の例示的な単一の段階は、図4Aに示される。しかしながら、本開示の態様は、ベースデータ417及び改良データ419を生成するための、ダウンサンプリング及び改良情報生成の多段階を使用する実装態様を含む。例として、及び限定することなく、多段階ダウンサンプリングは、1つ以上の高解像度の入力フレームが2つ以上の段階においてより低解像度にダウンサンプリングされる直列スキームを含んでもよい。所与の段階において生成されたダウンサンプリングされたフレームは、次の段階についての入力フレームとしての役割を果たす。改良情報は、その段階についての入力フレームとその段階において生成されたダウンサンプリングされたフレームのアップサンプリングされたバージョンとの差から、ダウンサンプリングの各々の段階において生成されてもよい。最低解像度のフレーム又は直列の最後の段階において生成されたフレームは次いで、ベースデータ417のセットを作成するために符号化され、各々の段階において作成された改良情報は、改良データ419の複数のセットを生成するために符号化されてもよい。そのような直列スキームについての符号化は、複数のエンコーダ、例えば、最低解像度のフレームを符号化するための1つ以上のエンコーダ、及び直列の各々の段階において作成された改良情報を符号化するための別個の1つを有する2つ以上の追加のエンコーダにより実施されてもよい。ベースデータ419は次いで、高解像度の画像の後の復号化及び再生成のために伝送又は記憶されてもよい。ネットワーク帯域幅の制限は、ベースデータ417が復号化された後に、より高解像度のフレームを再生成するために、改良データのどのセット(ある場合)が後続の復号化のためにベースデータと共に送信されるかを判定してもよい。
更なる特定の例として、4Kフレームは、4Kから1080Pにダウンサンプリングされてもよく、第1の段階の改良情報は、4Kにアップサンプリングされた1080Pフレームのバージョンと元の4Kフレームとの間の差から生成されてもよい。結果として生じる1080Pフレームは次いで、540Pにダウンサンプリングされてもよく、第2の段階の改良情報は、1080Pにアップサンプリングされた540Pフレームのバージョンと1080Pフレームとの間の差から生成されてもよい。540Pフレームは次いで、270Pにウンサンプリングされてもよく、第3の段階の改良情報は、540Pにアップサンプリングされた270Pフレームのバージョンと540Pフレームとの間の差から生成されてもよい。エンコーダは次いで、ベースデータを生成するために270Pフレームを符号化してもよく、改良データ419を生成するために第1の段階の改良情報、第2の段階の改良情報、及び第3の段階の改良情報を符号化してもよい。
図4Bは、本開示の態様に従った、低出力のハードウェア上でビデオ及びエッジ改良ストリームを復号化する例示的な方法400Bを例示する。ベースデータ417及び圧縮された改良データ419は、424においてデコーダによって受信されてもよい。この例では、上記言及したベースデータ417及び改良データ419を受信するハードウェアは、低出力のハードウェアであり、高解像度のビデオを効果的に表示も出力もすることができない。したがって、改良ストリーム419は、426において無視されてもよい。ベースデータ417は次いで、428において復号化されてもよく、結果として生じる圧縮されていないベースビデオ413Bは次いで、430において記憶又は表示されてもよい。
図4Cは、本開示の態様に従った、高出力のハードウェア上でビデオ及びエッジ改良ストリームを復号化する例示的な方法400Cを例示する。ベースデータ417及び圧縮された改良ストリーム419は、424においてデコーダによって受信されてもよい。この例では、ストリーム417及び419を受信するハードウェアは、高出力のハードウェアであり、したがって、高解像度のビデオを効果的に表示又は出力することが可能である。よって、ベースデータ417は、圧縮されていないベースビデオ413Bを提供するために428において復号化されてもよく、圧縮された改良ストリーム419は、圧縮されていない改良データ415’を提供するために430において復号化されてもよい。圧縮されていないベースビデオ413B及び圧縮されていない改良データ415’は次いで、高解像度の出力433を提供するために432において再構築されてもよい。この高解像度の出力は次いで、434において表示又は記憶されてもよい。
上記述べたように、改良データ419は、フレームの複数の解像度を生成するための多段階の改良データを含んでもよい。デコーダは、複数のレベルの改良情報を生成するために、上記説明された直列スキームの逆の処理を使用してベースデータ419を復号化した後、より高解像度の出力433を再生成するために改良データ419のどのセットを復号化及び使用するかを判定してもよい。特に、復号化されたベースデータは、次のステップについての入力として使用されている階段の所与のステップにおけるアップサンプリングすること及び組み合わせることの結果を伴う階段方式において、2つ以上の段階においてアップサンプリングされてもよく、改良データと組み合わされてもよい。
上記説明されたように、直列スキームを使用して符号化されたベースデータ417及び多段階の改良データ419を復号化することは、複数のデコーダ、例えば、ベースデータを復号化するための1つ以上のデコーダ、及び直列の各々の段階において作成された改良情報を復号化するための別個の1つを有する2つ以上の追加のデコーダにより実施されてもよい。
更なる特定の例として、多段階符号化に関して上記説明されたケースを考える。ベースデータを復号化することは、270Pフレームを作成し、270Pフレームは、540Pフレームを生成するために、540Pにアップサンプリングされてもよく、第3の段階の改良情報と組み合わされてもよい。540Pフレームは、1080Pフレームを生成するために、アップサンプリングされてもよく、第2の段階の改良情報と組み合わされてもよい。1080Pフレームは、4Kフレームを生成するために、4Kにアップサンプリングされてもよく、第1の段階の改良情報と組み合わされてもよい。デコーダは、アップサンプリングすること及び組み合わせることを停止する段階を決定してもよい。
いくつかの実装態様では、ベースデータ417は、所与のフレームよりも少ない画素を有する低い解像度のフレームにダウンサンプリングされた元の所与の高解像度のフレームに対応する符号化され再構築されたフレームを含んでもよい。再構築されたフレーム内の画素の数は、元の所与の高解像度のフレーム内の画素の数と同一であるが、再構築されたフレームの一部のみが、元の高解像度のフレームに対応する画素を含む。再構築されたフレームは、再構築されたフレームのどのセクションが低解像度の画素を含むかを示すコード特有のパラメータと共に、均一な画素値の画素によって囲まれたダウンサンプリングされたフレームのより低解像度の画素を含む。そのようなケースでは、428においてベースデータを復号化することは、符号化され再構築されたフレームからダウンスケールされたフレームの低解像度の画素を抽出するために、コーデック特有のパラメータを使用し、次いで、結果として生じる抽出されダウンスケールされたフレームをアップサンプリングすることによって、そのような再構築されたフレームを復号化することを含んでもよい。
いくつかの実装態様では、データ417、419、例えば、ベースデータ417は、ダウンサンプリングしない元の高解像度のフレーム又は改良情報として符号化された1つ以上のフレームを含んでもよい。そのようなフレームは、元の高解像度のフレームについて通常行われるように復号化されてもよい。
本開示の態様は、改良情報がフレーム全体について使用される実装態様に限定されない。いくつかの実装態様では、デコーダは、改良データ419のサブセットのみを復号化してもよい。結果として生じる改良情報は、ベースフレームをアップサンプリングすることから生じる高解像度のフレームの部分、例えば、「関心の領域」に対応する部分のみを改良するために使用されてもよい。本開示の範囲内にある別の代替的な実装態様では、デコーダは、改良データを完全に復号化してもよいが、再構築段階では、改良は、関心の領域についてのみ実行される。
本開示の態様は、上記説明されたように、デジタルピクチャの符号化及び復号化においてエッジ改良を伴うアップサンプリングを実施するように構成されたシステムを含む。例として、及び限定することなく、図5は、本開示の態様を実施するために使用することができるコンピュータシステム500のブロック図を例示する。本開示の態様に従って、システム500は、組み込みシステム、携帯電話、パーソナルコンピュータ、タブレットコンピュータ、ポータブルゲームデバイス、ワークステーション、及びゲームコンソールなどであってもよい。システム500は概して、プロセッサモジュール501及びメモリ502を含んでもよい。プロセッサモジュール501は、例えば、単一のコア、デュアルコア、クアッドコア、プロセッサ−コプロセッサ、CPU−GPU、又はセルプロセッサアーキテクチャにある1つ以上のプロセッサコアを含んでもよい。
メモリ502は、集積回路の形式にあってもよく、例えば、RAM、DRAM、及びROMなどであってもよい。メモリはまた、プロセッサモジュール501内のプロセッサコアの全てによってアクセス可能なメインメモリであってもよい。いくつかの実施形態では、プロセッサモジュール501は、1つ以上のプロセッサコア又は1つ以上のコプロセッサと関連付けられたローカルメモリを有してもよい。コーデックプログラム503は、プロセッサモジュール501上で実行することができるプロセッサ可読命令の形式でメインメモリ502に記憶されてもよい。コーデック503は、デジタルピクチャを符号化するように構成されてもよい。例として、及び限定することなく、コーデック503は、図2Aに関して上記議論されたように、デジタルピクチャ又はデジタルピクチャのセクションを符号化するように構成されてもよい。コーデック503はまた、例えば、図3に関して上記説明されたように、符号化されたデジタルピクチャを復号化するように構成されてもよい。ダウンサンプリング及び改良プログラム504は、図4Aに関して上記説明されたように、コーデック503と共に入力された高解像度のフレーム507からベースフレーム505A及び改良情報505Bを生成してもよい。アップサンプリング及び改良プログラム506は、例えば、図4Bに関して上記議論されたように、復号化されたベースフレーム505A及び改良情報505Bから高解像度のフレーム507のデコーダ側の再生成を実施してもよい。アップサンプリング及び改良プログラム506は代わりに、例えば、図4Cに関して上記説明されたように、改良情報505Bを無視してもよい。コーデック503と、ダウンスケーリング及び改良プログラム504と、アップサンプリング及び改良プログラム506とは、いずれかの適切なプロセッサ可読言語、例えば、C、C++、JAVA(登録商標)、アセンブリ、MATLAB、FORTRAN、いくつかの他の言語で書き込まれてもよい。
入力又は出力された高解像度のフレーム507は、メモリ502に記憶されてもよい。メモリはまた、ピクチャの符号化の間に、又は複数のピクチャを符号化する過程で固定されたままであるλ対QPテーブルなど、フレームを符号化及び/又は復号化するための他の関連するパラメータを記憶してもよい。コーデック503の実行の間、プログラム504、506、プログラムコードの一部、ベースフレーム505A,改良情報505B、及び/又は高解像度のフレーム507は、プロセッサ501による処理のためにメモリ502又はプロセッサコアのローカルストアにロードされてもよい。例として、及び限定することなく、高解像度のフレーム507は、符号化若しくは復号化の前、又は符号化若しくは復号化の中間段階における入力フレーム(例えば、ビデオ又は音声フレーム)、又はそれらのセクションを含んでもよい。符号化のケースでは、入力された高解像度のフレーム507に対応するデータは、ストリーミングデータのバッファされた部分、例えば、符号化されていないフレーム又はそれらの一部を含んでもよい。復号化のケースでは、ベースデータ505A及び改良データ505Bは、復号化されていないセクション、復号化されているが、事後処理されていないセクション、及び復号化され、事後処理されたセクションの形式にある入力データを含んでもよい。そのような入力データは、1つ以上のデジタルピクチャの1つ以上のコーディングされたセクション、コーディングされたデジタル音声デジタルフレーム、又は他のコーディングされたストリーミングデータを表すデータを含むデータパケットを含んでもよい。例として、及び限定することなく、そのようなデータパケットは、変換係数のセット及び予測パラメータの部分セットを含んでもよい。それらの様々なセクションは、1つ以上のバッファに記憶されてもよい。特に、復号化され、及び/又は事後処理されたセクションは、メモリ502において実装された出力ピクチャバッファに記憶されてもよい。
システム500はまた、入力/出力(I/O)要素511、電力供給装置(P/S)512、クロック(CLK)513、及びキャッシュ514などの周知のサポート機能510を含んでもよい。装置500は任意選択で、プログラム及び/又はデータを記憶するためのディスクドライブ、CD−ROMドライブ、又はテープドライブなどの大容量記憶装置515を含んでもよい。デバイス800はまた任意選択で、装置500とユーザとの間の対話を促進するためのディスプレイユニット516及びユーザインタフェースユニット518を含んでもよい。ディスプレイユニット516は、テキスト、数字、グラフィカルシンボル、又は画像を表示する、陰極線管(CRT)又は平面パネルスクリーンの形式にあってもよい。ユーザインタフェース518は、キーボード、マウス、ジョイスティック、ライトペン、又は、グラフィカルユーザインタフェース(GUI)と共に使用することができる他のデバイスを含んでもよい。装置500はまた、デバイスがインターネットなどのネットワーク522を通じて他のデバイスと通信することを可能にするためのネットワークインタフェース520を含んでもよい。それらの構成要素は、ハードウェア、ソフトウェア、若しくはファームウェア、又はそれらの2つ以上の何らかの組み合わせで実装されてもよい。
例として、及び限定することなく、システム500は、ネットワークインタフェース520を介して、ネットワーク522に接続された他のデバイスに、符号化され若しくは符号化されていないストリーミングデータを伝送してもよく、又はそのようなデバイスから、符号化され若しくは符号化されていないストリーミングデータを受信してもよい。特定の実装態様では、デジタルピクチャの1つ以上の符号化されたセクションの形式にある符号化されたストリーミングデータ、及び/又は符号化されたビデオの1つ以上のフレームは、ネットワーク522を通じてシステムから伝送されてもよい。ストリーミングデータを伝送又は受信することを実施するために、プロセッサモジュールは、ネットワークプロトコルスタックを実施する命令を実行してもよい。
例として、及び限定することなく、デジタルピクチャは、デジタルカメラにより生成されてもよく、デジタルカメラは、ユーザインタフェース518の一部であってもよく、又は、例えば、I/O要素511を介してシステム500に結合された別個の周辺機器であってもよい。いくつかの態様に従って、デジタルピクチャは、プロセッサモジュール501によって実行されるソフトウェアアプリケーションによって生成されてもよい。
本開示の態様は、高解像度のフレームの従来の符号化についての使用率よりも低いビット使用率を可能にする。特に、本明細書で説明された入力デジタルフレームをダウンサンプリングすること、改良情報を作成すること、ダウンサンプリングされたフレーム及び改良情報を符号化することは、従来から行われているように、同一の入力デジタルフレームをダウンサンプリングし、ダウンサンプリングされたフレーム及び1つ以上の入力デジタルフレームの両方を第1のストリーム及び第2のストリームに符号化することによるよりも少ないビットを使用して、ベースストリーム及び改良ストリームを生成する。そのようなより低いビット使用率は特に、制限された帯域幅を有するネットワークを通じてフレームを伝送するときに有効である。例として、及び限定することなく、ダウンサンプリングを通じて高解像度のビデオを符号化し、次いで、エッジ改良と共にアップサンプリングすることは、復号化するときに純粋なアップサンプリングよりも良好なビデオを作成することができる。
いくつかのケースについて、本明細書で説明されるタイプの符号化及び復号化は、元の高解像度のビデオと比較されるときでさえ、より良好な品質を可能にする。図6に表されるグラフは、これが当てはまる特定のタイプのシーケンス及びビットレートが存在することを示す実験的な結果を示す。表されるプロットでは、破線は、改良データの5メガビット/秒を有するダウンサンプリングされた1080pストリームを使用して再構築された4Kピクチャについてのピクチャ品質を表す。実線は、標準的な元々符号化されている4Kピクチャを表す。破線が実線よりも高いビットレートについて、エッジ改良と共にアップサンプリングを使用したピクチャ品質は、元の4Kよりも良好である。
本開示の態様は、ビット使用率の減少をもたらし、したがって、ストリーミングビデオなど、ストリーミングデータアプリケーションにおいて利用可能な帯域幅をより良好に使用することをもたらす。ビット使用率の減少はまた、デコーダ側でCPUなどのシステムリソースの利用の減少につながる。本開示の態様は、デジタルピクチャを作成し、ネットワークを通じた伝送のためにそれらを符号化し、ネットワークを通じてそれらを伝送するシステムに組み込まれてもよい。
本開示の態様は、ベースデータの複数のセット及び改良データの複数のセットが存在する実装態様を含む。例として、及び限定することなく、符号化は、複数のダウンサンプリング段階を含んでもよく、各々の段階は、より低解像度に段階的に対応するデータのセットを作成する。特に、各々の段階は、より低解像度のベースフレームの異なる対応するセットを生成し、改良情報の対応するセットを生成するために、同一の高解像度の入力フレームをダウンサンプリングしてもよい。ベースフレームの各々のセット及び改良情報の対応するセットは次いで、ベースデータ及び改良データの対応するセットを作成するために符号化されてもよい。高解像度のフレームは、ベースデータ及び改良データの複数のセットからデコーダ側で再構築されてもよい。
上述したことは、本発明の好ましい実施形態の完全な説明であるが、様々な変更物、修正物、及び均等物を使用することが可能である。したがって、本発明の範囲は、上述したことを参照して判定されるべきでなく、代わりに、均等物のそれらの全範囲に従った、添付の特許請求の範囲を参照して判定されるべきである。好ましいか否かに関わらず、本明細書で説明されるいずれの特徴も、好ましいか否かに関わらず、本明細書で説明されるいずれかの他の特徴と組み合わされてもよい。以下の特許請求の範囲では、不定冠詞「A」又は「An」は、他に明確に述べられない場合を除き、冠詞に続く項目のうちの1つ以上の数を指す。添付の特許請求の範囲は、ミーンズプラスファンクションの限定が明確に、フレーズ「するための手段(means for)を使用して所与の請求項に明確に記載されない限り、そのような限定として解釈されないことになる。

Claims (74)

  1. 1つ以上の入力デジタルフレームを符号化する方法であって、
    前記入力デジタルフレームよりも低い解像度によって特徴付けられる1つ以上のベースフレームを作成するように、前記1つ以上の入力デジタルフレームをダウンサンプリングすることと、
    前記1つ以上の入力デジタルフレームの画素値と前記1つ以上のベースフレームのアップサンプリングされたバージョンの対応する画素値との間の差に対応する改良情報を作成することであって、前記改良情報を作成することは、エッジを発見するように、前記1つ以上の入力デジタルフレームを分析することと、エッジ改良データを前記改良情報として作成することとを含む、前記改良情報を作成することと、
    ベースデータのセットを形成するように、前記1つ以上のベースフレームを符号化することと、
    改良データのセットを形成するように、前記改良情報を符号化することと、
    ネットワークを通じてベースデータの前記セット及び改良データの前記セットを伝送し、又はメモリにベースデータの前記セット及び改良データの前記セットを記憶することと、
    を備える、方法。
  2. 前記改良情報は、前記1つ以上の入力デジタルフレームの前記画素値と前記1つ以上のベースフレームの前記アップサンプリングされたバージョンの対応する画素値との間の算術差を最小化する方法で作成される、請求項1に記載の方法。
  3. 前記ベースデータ及び改良データを復号化することによってフレームを生成するために必要な平均時間は、ダウンサンプリングすることなく、及び改良データを使用することなく符号化された入力フレームを復号化するために必要な時間以下である、請求項1に記載の方法。
  4. 前記改良情報は、デコーダが認識し、エンコーダがどのように符号化するかを理解するビデオフォーマットで符号化される、請求項1に記載の方法。
  5. 前記ビデオフォーマットは、AVC又はHigh Efficiency Video Coding(HEVC)フォーマットである、請求項4に記載の方法。
  6. ベースデータの前記セットは、イントラフレーム(Iフレーム)又は予測フレーム(Pフレーム)として符号化された1つ以上のベースフレームを含み、改良データの前記セットは、両方向予測フレーム(Bフレーム)として符号化された1つ以上のフレームを含む、請求項4に記載の方法。
  7. ベースデータの前記セットは、イントラフレーム(Iフレーム)として符号化された1つ以上のベースフレームを含み、改良データの前記セットは、予測フレーム(Pフレーム)又は両方向予測フレーム(Bフレーム)として符号化された1つ以上のフレームを含む、請求項4に記載の方法。
  8. ベースデータの前記セットは、イントラフレーム(Iフレーム)又は予測フレーム(Pフレーム)として符号化された1つ以上のベースフレームを含み、改良データの前記セットは、両方向予測フレーム(Bフレーム)として符号化された1つ以上のフレームを含む、前記1つ以上のBフレームは、参照フレームとして前記Iフレーム又はPフレームを使用することができるが、前記Iフレーム又はPフレームは、参照フレームとして前記1つ以上のBフレームを使用することができない、請求項4に記載の方法。
  9. ベースデータの前記セットは、イントラフレーム(Iフレーム)又は予測フレーム(Pフレーム)として符号化された1つ以上のベースフレームを含み、改良データの前記セットは、両方向予測フレーム(Bフレーム)として符号化された1つ以上のフレームを含み、前記Bフレームのうちの1つ以上は、1つ以上の他のBフレームについての参照として使用することができる、請求項4に記載の方法。
  10. 前記改良情報は、算術的コーディング標準を使用して符号化される、請求項1に記載の方法。
  11. 前記ベースデータ及び改良データの両方は、共通ビットストリームに符号化されて記憶又は伝送される、請求項1に記載の方法。
  12. 前記1つ以上のベースフレームを符号化すること、及び前記改良情報を符号化することは、単一のエンコーダにより実行される、請求項1に記載の方法。
  13. 前記1つ以上のベースフレームを符号化すること、及び前記改良情報を符号化することは、単一のエンコーダにより実行され、前記単一のエンコーダは、ベースデータの前記セット及び改良データの前記セットを含む共通ビットストリームに、前記改良データ及び前記1つ以上のベースフレームを符号化する、請求項1に記載の方法。
  14. 前記改良情報を符号化することは、共通ビットストリームにおいてデータパケットのヘッダに前記改良情報を符号化することを含む、請求項12に記載の方法。
  15. 前記改良情報を符号化することは、共通ビットストリームにおいてデータパケットのヘッダに前記改良情報を符号化することを含み、前記データパケットの前記ヘッダは、前記データパケットと関連付けられたフレームがベースフレーム又は改良情報に対応するかどうかを示す情報を含む、請求項12に記載の方法。
  16. 前記1つ以上のベースフレームを符号化すること、及び前記改良情報を符号化することは、単一のエンコーダにより実行され、前記単一のエンコーダは、ベースデータの前記セット及び改良データの前記セットに対応するデータの共通セットに、前記改良データ及び前記1つ以上のベースフレームを符号化し、前記ベースフレームを符号化することが、改良データの前記セットに符号化されたいずれの改良情報も完全に復号化することなく、ベースデータの前記セットが復号化されることを可能にする方法で前記改良情報と独立して符号化される、請求項1に記載の方法。
  17. 前記改良情報を符号化することは、色度情報としていくつかの輝度情報を符号化することを含む、請求項1に記載の方法。
  18. 前記改良情報を符号化することは、色度情報として前記輝度情報のうちのいくつかを符号化すると共に、前記輝度情報の残りが輝度情報として符号化されることを含む、請求項17に記載の方法。
  19. 前記改良情報を符号化することは、薄いグレーとして色度を符号化することを含む、請求項1に記載の方法。
  20. 前記1つ以上の入力フレームの所与の入力デジタルフレームが最大解像度において送信されるのに十分な詳細を有するかどうかを判定することと、前記所与のフレームが前記最大解像度において送信されるのに十分な詳細を有さない場合、前記所与のフレームよりも少ない画素を有する低解像度のダウンサンプリングされたフレームに前記フレームをダウンサンプリングすることと、再構築されたフレームのどのセクションが前記低解像度の画素を含むかを示すパラメータと共に、均一な画素値の画素によって囲まれた低解像度の画素を含む前記再構築されたフレームとして、前記ダウンサンプリングされたフレームを符号化することと、を更に含み、前記再構築されたフレーム内の画素の合計数は、前記所与のフレーム内の画素の数と同一であるが、前記再構築されたフレームの前記画素の一部のみが前記所与のフレームの画素に対応する、請求項1に記載の方法。
  21. 高解像度において前記1つ以上の入力デジタルフレームの所与のフレームを送信することが帯域幅の制約により不十分であるかどうかを判定することと、高解像度において前記所与のフレームを送信することが不十分であると判定される場合、前記所与のフレームよりも低解像度によって特徴付けられる対応するベースフレームを作成するように、前記所与のフレームをダウンサンプリングすることと、前記所与のフレームの画素値と前記対応するベースフレームのアップサンプリングされたバージョンの対応する画素値との間の差に対応する前記所与のフレームについての改良情報を作成することと、前記ベースデータに、前記対応するベースフレームを符号化することと、前記改良データに、前記所与のフレームについての前記改良情報を符号化することと、を更に含む、請求項1に記載の方法。
  22. 前記改良情報を符号化することは、輝度情報を符号化することと、色度情報を無視することと、を含む、請求項1に記載の方法。
  23. 前記改良情報を符号化することは、色度情報としていくつかの輝度情報を符号化することを含む、請求項22に記載の方法。
  24. 前記1つ以上の入力デジタルフレームを分析することは、アップサンプリングされた低解像度の画像を元の高解像度の画像と比較することと、前記アップサンプリングされた低解像度の画像と前記元の高解像度の画像との間の差を判定することと、を含む、請求項に記載の方法。
  25. 前記1つ以上の入力デジタルフレームを分析することは、グラフィックプロセシングユニット(GPU)により、アップサンプリングされた低解像度の画像を元の高解像度の画像と比較し、前記アップサンプリングされた低解像度の画像と前記元の高解像度の画像との間の差を判定すること、を含む、請求項に記載の方法。
  26. 前記1つ以上の入力デジタルフレームを分析することは、中央処理装置(CPU)により、アップサンプリングされた低解像度の画像を元の高解像の度画像と比較し、前記アップサンプリングされた低解像度の画像と前記元の高解像度の画像との間の差を判定すること、を含む、請求項に記載の方法。
  27. 前記1つ以上の入力デジタルフレームを分析することは、アップサンプリングされた低解像度の画像の各々の画素の値と、前記アップサンプリングされた低解像度の画像に対応する元の高解像度の画像内の対応する画素ごとの値との間の差を判定することと、前記アップサンプリングされた低解像度の画像又は前記元の高解像度の画像の画素値ごとのビットの数よりも少ない数のビットを有する差を表すことと、を含む、請求項に記載の方法。
  28. ダウンサンプリング及び改良情報を生成することが有効でないかどうかを判定するために前記改良情報を閾値と比較することと、ダウンサンプリング及び改良情報を生成することなく、ダウンサンプリング及び改良情報を生成することが有効でない前記1つ以上の入力フレームの入力フレームを、元の高解像度のフレームとして符号化することと、を更に備える、請求項1に記載の方法。
  29. ノイズ画素を取り除くことによって前記改良情報をビデオ圧縮のためにより適切にするように、前記改良情報をフィルタリングすることを更に含む、請求項1に記載の方法。
  30. 前記1つ以上のデジタルフレームは、1つ以上のビデオフレームに対応する、請求項1に記載の方法。
  31. 前記1つ以上のデジタルフレームは、1つ以上の静止画像フレームに対応する、請求項1に記載の方法。
  32. ベースストリームよりも改良ストリーム内に多くのフレームが存在する、請求項1に記載の方法。
  33. 改良ストリームよりもベースストリーム内に多くのフレームが存在する、請求項1に記載の方法。
  34. 前記1つ以上のベースフレーム及び改良情報は、エッジ改良と共にアップサンプリングを使用して前記ベースフレームを前記改良情報と組み合わせることによって構築された高解像度のフレームが、前記1つ以上の入力デジタルフレームに対応する1つ以上の再構築されたフレームをもたらすように構成され、前記1つ以上の再構築されたフレームは、前記1つ以上の入力デジタルフレームよりも高い品質によって特徴付けられる、請求項1に記載の方法。
  35. 前記1つ以上の入力デジタルフレームをダウンサンプリングすること、前記改良情報を作成すること、前記1つ以上のベースフレームを符号化すること、及び前記改良情報を符号化することは、前記1つ以上の入力デジタルフレームをダウンサンプリングし、第1のストリーム及び第2のストリームに、前記1つ以上のダウンサンプリングされたフレーム及び前記1つ以上の入力デジタルフレームを符号化することによるよりも少ないビットを使用して前記ベースデータ及び改良データを生成する、請求項1に記載の方法。
  36. 前記1つ以上の入力デジタルフレームをダウンサンプリングすること、及び前記改良情報を作成することは、1つ以上の最低解像度のベースフレーム、及び前記1つ以上の最低解像度のベースフレームについての改良情報の2つ以上のセットを生成するように、2つ以上の段階の各々において生成された改良情報のセットと共に、前記2つ以上の段階において前記1つ以上の入力デジタルフレームがより低解像度にダウンサンプリングされる、多段階直列化ダウンサンプリングスキームを含み、前記1つ以上のベースフレームを符号化すること、及び前記改良情報を符号化することは、ベースデータの前記セットを作成するように、前記1つ以上の最低解像度のベースフレームを符号化することと、前記改良データを作成するように、改良情報の前記2つ以上のセットを符号化することと、を含む、請求項1に記載の方法。
  37. プロセッサモジュールと、
    前記プロセッサに結合されたメモリと、を備え、前記メモリは、方法を実施するように構成された実行可能命令を含み、前記方法は、
    入力デジタルフレームよりも低い解像度によって特徴付けられる1つ以上のベースフレームを作成するように、1つ以上の入力デジタルフレームをダウンサンプリングすることと、
    前記1つ以上の入力デジタルフレームの画素値と前記1つ以上のベースフレームのアップサンプリングされたバージョンの対応する画素値との間の差に対応する改良情報を作成することであって、前記改良情報を作成することは、エッジを発見するように、前記1つ以上の入力デジタルフレームを分析することと、エッジ改良データを前記改良情報として作成することとを含む、前記改良情報を作成することと、
    ベースデータのセットを形成するように、前記1つ以上のベースフレームを符号化することと、
    改良データのセットを形成するように、前記改良情報を符号化することと、
    ネットワークを通じてベースデータの前記セット及び改良データの前記セットを伝送し、又はメモリにベースデータの前記セット及び改良データの前記セットを記憶することと、
    を含む、システム。
  38. 内部で具体化された、方法を実施するように構成されたコンピュータ可読命令を有する非一時的コンピュータ可読媒体であって、前記方法は、
    入力デジタルフレームよりも低い解像度によって特徴付けられる1つ以上のベースフレームを作成するように、1つ以上の入力デジタルフレームをダウンサンプリングすることと、
    前記1つ以上の入力デジタルフレームの画素値と前記1つ以上のベースフレームのアップサンプリングされたバージョンの対応する画素値との間の差に対応する改良情報を作成することであって、前記改良情報を作成することは、エッジを発見するように、前記1つ以上の入力デジタルフレームを分析することと、エッジ改良データを前記改良情報として作成することとを含む、前記改良情報を作成することと、
    ベースデータのセットを形成するように、前記1つ以上のベースフレームを符号化することと、
    改良データのセットを形成するように、前記改良情報を符号化することと、
    ネットワークを通じてベースデータの前記セット及び改良データの前記セットを伝送し、又はメモリにベースデータの前記セット及び改良データの前記セットを記憶することと、
    を含む、非一時的コンピュータ可読媒体。
  39. 1つ以上のダウンサンプリングされた入力デジタルフレームに対応する1つ以上の符号化されたベースフレームを含む、ベースデータのセットを含む1つ以上の符号化されたデジタルフレームを含むデータの入力セットを復号化する方法であって、前記1つ以上のベースフレームは、前記入力デジタルフレームよりも低い解像度によって特徴付けられ、符号化された改良情報を含む改良データのセットは、前記1つ以上の入力デジタルフレームの画素値と前記1つ以上のベースフレームのアップサンプリングされたバージョンの対応する画素値との間の差に対応し、前記改良情報は、エッジを発見するように、前記1つ以上の入力デジタルフレームを分析することにより作成されたエッジ改良データであり、前記方法は、
    前記1つ以上のベースフレームを生成するように、デコーダによりベースデータの前記セット内の前記1つ以上の符号化されたベースフレームを復号化することと、
    前記改良情報を生成するように、デコーダにより改良データの前記セット内の前記符号化された改良情報を復号化することと、
    デコーダにより前記1つ以上のベースフレーム及び前記改良情報から前記入力デジタルフレームを再構築することと、
    ディスプレイにより前記入力デジタルフレームを表示し、又はメモリに前記入力デジタルフレームを記憶することと、
    を含む、方法。
  40. 前記改良情報は、前記1つ以上の入力デジタルフレームの前記画素値と前記1つ以上のベースフレームの対応する画素値との間の算術差を最小化する方法で作成される、請求項39に記載の方法。
  41. 前記デコーダにより前記1つ以上のベースフレーム及び前記改良情報から前記入力デジタルフレームを再構築することは、1つ以上の対応するアップサンプリングされたフレームを作成するように、前記1つ以上のベースフレームをアップサンプリングすることと、1つ以上のアップサンプリングされたフレーム及び前記改良情報を用いて、前記改良情報を生成した演算の逆を実行することと、を含む、請求項39に記載の方法。
  42. 改良データの前記セットは、色度データとして符号化されたいくつかの輝度データを含み、前記改良データを復号化することは、色度情報として符号化された輝度情報を輝度情報に再度変化させることを含む、請求項39に記載の方法。
  43. 改良データの前記セットは、色度データとして符号化されたいくつかの輝度データを含み、前記改良データを復号化することは、色度情報として符号化された輝度情報を輝度情報に再度変化させることと、前記改良情報内のいずれかの残りの色度情報を無視することと、を含む、請求項39に記載の方法。
  44. 1つ以上の第1のデコーダは、ベースストリーム内の前記1つ以上の符号化されたベースフレームを復号化し、1つ以上の第2のデコーダは、改良ストリーム内の前記符号化された改良情報を復号化する、請求項39に記載の方法。
  45. 前記1つ以上の第1のデコーダは、1つ以上のハードウェアデコーダを含み、前記1つ以上の第2のデコーダは、1つ以上のソフトウェアデコーダを含む、請求項4に記載の方法。
  46. 前記1つ以上の第1のデコーダは、1つ以上のソフトウェアデコーダを含み、前記1つ以上の第2のデコーダは、1つ以上のハードウェアデコーダを含む、請求項4に記載の方法。
  47. 前記第1のデコーダ及び前記第2のデコーダは、ソフトウェアデコーダの2つ以上のインスタンスを含む、請求項4に記載の方法。
  48. 前記1つ以上の第1のデコーダ及び前記1つ以上の第2のデコーダは、ハードウェアデコーダである、請求項4に記載の方法。
  49. ベースデータの前記セット及び改良データの前記セットの両方は、共通ビットストリームにある、請求項39に記載の方法。
  50. ベースデータの前記セットは、改良データの前記セットに符号化されたいずれの改良情報も完全に復号化することなく、ベースデータの前記セットが復号化されることを可能にする方法において前記改良情報とは独立して符号化された、1つ以上の符号化されたベースフレームを含む、請求項39に記載の方法。
  51. ベースデータの前記セット内の前記1つ以上の符号化されたベースフレームを復号化することは、前記符号化された改良情報を復号化することなく、前記1つ以上の符号化されたベースフレームを復号化することを含む、請求項5に記載の方法。
  52. ベースデータの前記セット及び改良データの前記セットの両方は、共通ビットストリームにあり、前記符号化された改良情報は、前記共通ビットストリームにおいてデータパケットのヘッダに符号化される、請求項39に記載の方法。
  53. ベースデータの前記セット内の前記符号化されたベースフレームは、前記改良情報を含むいずれのフレームも参照せず、改良データの前記セット内の前記符号化された改良情報を復号化することは、前記ヘッダから前記改良情報を抽出することを含む、請求項5に記載の方法。
  54. ベースデータの前記セット内の前記符号化されたベースフレームは、前記改良情報を含むいずれのフレームも参照せず、改良データの前記セット内の前記符号化された改良情報を復号化することは、前記改良情報が符号化された前記データパケットの前記ヘッダから前記改良情報を抽出することと、それらデータパケットの残り部分の復号化をスキップすることと、を含む、請求項5に記載の方法。
  55. 前記改良情報は、輝度情報を含むが、色度情報を含まない、請求項39に記載の方法。
  56. 前記改良情報は、色度情報として符号化されたいくつかの輝度情報を含む、請求項5に記載の方法。
  57. 前記改良情報は、色度情報として符号化されたいくつかの輝度情報を含む、請求項39に記載の方法。
  58. ベースストリーム内の前記1つ以上の符号化されたベースフレームは、所与のフレームよりも少ない画素を有するより低解像度のダウンサンプリングされたフレームにダウンサンプリングされた前記所与のフレームに対応する再構築されたフレームを含み、前記再構築されたフレームは、前記再構築されたフレームのどのセクションが前記低解像度の画素を含むかを示すパラメータと共に、均一な画素値の画素によって囲まれた前記ダウンサンプリングされたフレームのより低解像度の画素を含み、前記ベースストリーム内の前記1つ以上の符号化されたベースフレームを復号化することは、ダウンスケールされたフレームを抽出するように、前記パラメータを使用して前記再構築されたフレームを復号化し、次いで、前記抽出されダウンスケールされたフレームをアップサンプリングすることを含む、請求項39に記載の方法。
  59. 前記再構築されたフレーム内の画素の合計数は、前記所与のフレーム内の画素の数と同一であるが、前記再構築されたフレームの前記画素の一部のみが前記所与のフレームの画素に対応する、請求項58に記載の方法。
  60. ベースストリームよりも改良ストリーム内に多くのフレームが存在する、請求項39に記載の方法。
  61. 改良データの前記セットよりもベースデータの前記セット内に多くのフレームが存在する、請求項39に記載の方法。
  62. ベースデータの前記セットは、ダウンサンプリングすることなく元の高解像度のフレームとして符号化された1つ以上のフレームを含み、前記方法は、元の高解像度のフレームとして符号化された前記1つ以上のフレームを復号化することを更に含む、請求項39に記載の方法。
  63. 前記1つ以上の符号化されたデジタルフレームは、1つ以上のビデオフレームに対応する、請求項39に記載の方法。
  64. 前記1つ以上の符号化されたデジタルフレームは、1つ以上の静止画像フレームに対応する、請求項39に記載の方法。
  65. 改良データの前記セットは、ダウンサンプリングの2つ以上の段階のための符号化された改良情報を含み、前記1つ以上の入力デジタルフレームを再構築することは、1つ以上の結果として生じるアップサンプリングされたデジタルフレームを生成するように、前記ベースデータをアップサンプリングすることと、前記1つ以上の結果として生じるアップサンプリングされたデジタルフレームを、前記2つ以上の段階の1つ以上の段階のための改良情報と組み合わせることと、を含む、請求項39に記載の方法。
  66. 階段の所与のステップにおいて生成された前記1つ以上の結果として生じるアップサンプリングされたデジタルフレームは、前記2つ以上の段階の異なる段階についてアップサンプリングし、改良情報と組み合わせる次のステップのための入力として使用される、請求項6に記載の方法。
  67. 改良データの前記セット内の前記符号化された改良情報を復号化することは、全ての前記改良データよりも少ないサブセットのみを復号化することを含む、請求項39に記載の方法。
  68. 前記1つ以上のベースフレーム及び前記改良情報から前記入力デジタルフレームを再構築することは、全ての前記改良データよりも少ない前記サブセットのみを復号化することから生じる前記改良情報を用いてアップサンプリングすることから生じる高解像度のフレームの一部のみを改良することを含む、請求項67に記載の方法。
  69. 改良データの前記セット内の前記符号化された改良情報を復号化することは、全ての前記改良データを復号化することを含み、前記1つ以上のベースフレームから前記入力デジタルフレームを再構築することは、全ての前記改良データを復号化することから生じる前記改良情報のサブセットを用いてアップサンプリングすることから生じる高解像度のフレームの一部のみを改良することを含む、請求項39に記載の方法。
  70. プロセッサモジュールと、
    前記プロセッサに結合されたメモリと、を備え、前記メモリは、1つ以上のダウンサンプリングされた入力デジタルフレームに対応する1つ以上の符号化されたベースフレームを含む、ベースデータのセットを含む1つ以上の符号化されたデジタルフレームを含むデータの入力セットを復号化する方法を実施するように構成された実行可能命令を含み、前記1つ以上のベースフレームは、前記入力デジタルフレームよりも低い解像度によって特徴付けられ、符号化された改良情報を含む改良データのセットは、前記1つ以上の入力デジタルフレームの画素値と前記1つ以上のベースフレームのアップサンプリングされたバージョンの対応する画素値との間の差に対応し、前記改良情報は、エッジを発見するように、前記1つ以上の入力デジタルフレームを分析することにより作成されたエッジ改良データであり、前記方法は、
    前記1つ以上のベースフレームを生成するように、デコーダによりベースデータの前記セット内の前記1つ以上の符号化されたベースフレームを復号化することと、
    前記改良情報を生成するように、デコーダにより改良データの前記セット内の前記符号化された改良情報を復号化することと、
    デコーダにより前記1つ以上のベースフレーム及び前記改良情報から前記入力デジタルフレームを再構築することと、
    ディスプレイにより前記入力デジタルフレームを表示し、又はメモリに前記入力デジタルフレームを記憶することと、
    を含む、システム。
  71. 内部で具体化された、1つ以上のダウンサンプリングされた入力デジタルフレームに対応する1つ以上の符号化されたベースフレームを含む、ベースデータのセットを含む1つ以上の符号化されたデジタルフレームを含むデータの入力セットを復号化する方法を実施するように構成されたコンピュータ可読命令を有する非一時的コンピュータ可読媒体であって、前記1つ以上のベースフレームは、前記入力デジタルフレームよりも低い解像度によって特徴付けられ、符号化された改良情報を含む改良データのセットは、前記1つ以上の入力デジタルフレームの画素値と前記1つ以上のベースフレームのアップサンプリングされたバージョンの対応する画素値との間の差に対応し、前記改良情報は、エッジを発見するように、前記1つ以上の入力デジタルフレームを分析することにより作成されたエッジ改良データであり、前記方法は、
    前記1つ以上のベースフレームを生成するように、デコーダによりベースデータの前記セット内の前記1つ以上の符号化されたベースフレームを復号化することと、
    前記改良情報を生成するように、デコーダにより改良データの前記セット内の前記符号化された改良情報を復号化することと、
    デコーダにより前記1つ以上のベースフレーム及び前記改良情報から前記入力デジタルフレームを再構築することと、
    ディスプレイにより前記入力デジタルフレームを表示し、又はメモリに前記入力デジタルフレームを記憶することと、
    を含む、非一時的コンピュータ可読媒体。
  72. 1つ以上のダウンサンプリングされた入力デジタルフレームに対応する1つ以上の符号化されたベースフレームを含む、ベースデータのセットを含む1つ以上の符号化されたデジタルフレームを含むデータの入力セットを復号化する方法であって、前記1つ以上のベースフレームは、前記入力デジタルフレームよりも低い解像度によって特徴付けられ、改良情報を含む改良データのセットは、前記1つ以上の入力デジタルフレームの画素値と前記1つ以上のベースフレームのアップサンプリングされたバージョンの対応する画素値との間の差に対応し、前記改良情報は、エッジを発見するように、前記1つ以上の入力デジタルフレームを分析することにより作成されたエッジ改良データであり、前記方法は、
    前記1つ以上のベースフレームを生成するように、デコーダによりベースデータの前記セットを復号化することと、
    改良データの前記セットを無視することと、
    ディスプレイにより前記1つ以上のベースフレームを表示し、又はメモリに前記1つ以上のベースフレームを記憶することと、
    を含む、方法。
  73. プロセッサモジュールと、
    前記プロセッサに結合されたメモリと、を備え、前記メモリは、1つ以上のダウンサンプリングされた入力デジタルフレームに対応する1つ以上の符号化されたベースフレームを含む、ベースデータのセットを含む1つ以上の符号化されたデジタルフレームを含むデータの入力セットを復号化する方法を実施するように構成された実行可能命令を含み、前記1つ以上のベースフレームは、前記入力デジタルフレームよりも低い解像度によって特徴付けられ、改良情報を含む改良データのセットは、前記1つ以上の入力デジタルフレームの画素値と前記1つ以上のベースフレームのアップサンプリングされたバージョンの対応する画素値との間の差に対応し、前記改良情報は、エッジを発見するように、前記1つ以上の入力デジタルフレームを分析することにより作成されたエッジ改良データであり、前記方法は、
    前記1つ以上のベースフレームを生成するように、デコーダによりベースデータの前記セットを復号化することと、
    改良データの前記セットを無視することと、
    ディスプレイにより前記1つ以上のベースフレームを表示し、又はメモリに前記1つ以上のベースフレームを記憶することと、
    を含む、システム。
  74. 内部で具体化された、1つ以上のダウンサンプリングされた入力デジタルフレームに対応する1つ以上の符号化されたベースフレームを含む、ベースデータのセットを含む1つ以上の符号化されたデジタルフレームを含むデータの入力セットを復号化する方法を実施するように構成されたコンピュータ可読命令を有する非一時的コンピュータ可読媒体であって、前記1つ以上のベースフレームは、前記入力デジタルフレームよりも低い解像度によって特徴付けられ、改良情報を含む改良データのセットは、前記1つ以上の入力デジタルフレームの画素値と前記1つ以上のベースフレームのアップサンプリングされたバージョンの対応する画素値との間の差に対応し、前記改良情報は、エッジを発見するように、前記1つ以上の入力デジタルフレームを分析することにより作成されたエッジ改良データであり、前記方法は、
    前記1つ以上のベースフレームを生成するように、デコーダによりベースデータの前記セットを復号化することと、
    改良データの前記セットを無視することと、
    ディスプレイにより前記1つ以上のベースフレームを表示し、又はメモリに前記1つ以上のベースフレームを記憶することと、
    を含む、非一時的コンピュータ可読媒体。
JP2018568747A 2016-06-30 2017-06-29 改良情報を用いてダウンサンプリング/アップサンプリングすることによるデジタルフレームの符号化/復号化 Active JP6701391B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/199,686 2016-06-30
US15/199,686 US10616583B2 (en) 2016-06-30 2016-06-30 Encoding/decoding digital frames by down-sampling/up-sampling with enhancement information
PCT/US2017/040071 WO2018005845A1 (en) 2016-06-30 2017-06-29 Encoding/decoding digital frames by down-sampling/up-sampling with enhancement information

Publications (2)

Publication Number Publication Date
JP2019526195A JP2019526195A (ja) 2019-09-12
JP6701391B2 true JP6701391B2 (ja) 2020-05-27

Family

ID=60787433

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018568747A Active JP6701391B2 (ja) 2016-06-30 2017-06-29 改良情報を用いてダウンサンプリング/アップサンプリングすることによるデジタルフレームの符号化/復号化

Country Status (5)

Country Link
US (1) US10616583B2 (ja)
EP (1) EP3479297A4 (ja)
JP (1) JP6701391B2 (ja)
CN (1) CN109952577A (ja)
WO (1) WO2018005845A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170249521A1 (en) * 2014-05-15 2017-08-31 Arris Enterprises, Inc. Automatic video comparison of the output of a video decoder
US11064204B2 (en) 2014-05-15 2021-07-13 Arris Enterprises Llc Automatic video comparison of the output of a video decoder
US20180146019A1 (en) * 2016-11-21 2018-05-24 International Business Machines Corporation Light-weight resolution switching for online video streaming
EP3370419B1 (en) * 2017-03-02 2019-02-13 Axis AB A video encoder and a method in a video encoder
US11212536B2 (en) 2017-07-14 2021-12-28 Sony Interactive Entertainment Inc. Negative region-of-interest video coding
GB2574575A (en) * 2018-04-27 2019-12-18 V Nova Int Ltd Video decoder chipset
CN112703738A (zh) * 2018-08-03 2021-04-23 V-诺瓦国际有限公司 针对信号增强编码的上采样
US11523118B2 (en) * 2018-10-09 2022-12-06 V-Nova International Limited Dynamic range support within a multi-layer hierarchical coding scheme
RU2697928C1 (ru) 2018-12-28 2019-08-21 Самсунг Электроникс Ко., Лтд. Способ сверхразрешения изображения, имитирующего повышение детализации на основе оптической системы, выполняемый на мобильном устройстве, обладающем ограниченными ресурсами, и мобильное устройство, его реализующее
CN111479165B (zh) * 2019-01-23 2021-08-06 上海哔哩哔哩科技有限公司 软硬件解码分辨率无缝切换方法、装置及存储介质
US10886943B2 (en) 2019-03-18 2021-01-05 Samsung Electronics Co., Ltd Method and apparatus for variable rate compression with a conditional autoencoder
US11164339B2 (en) 2019-11-12 2021-11-02 Sony Interactive Entertainment Inc. Fast region of interest coding using multi-segment temporal resampling
US20230362412A1 (en) * 2019-12-19 2023-11-09 Telefonaktiebolaget Lm Ericsson (Publ) Output process disable indicator
CN117426094A (zh) * 2021-05-14 2024-01-19 抖音视界有限公司 用于视频处理的方法、设备和介质
CN114640849B (zh) * 2022-03-23 2024-03-12 广州方硅信息技术有限公司 直播视频编码方法、装置、计算机设备及可读存储介质
EP4383729A1 (en) * 2022-12-07 2024-06-12 Axis AB Video failover recording

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69525127T2 (de) 1994-10-28 2002-10-02 Oki Electric Ind Co Ltd Gerät und Verfahren zur Kodierung und Dekodierung von Bildern unter Verwendung einer Kantensynthese und einer Wavelet-Rücktransformation
US6618443B1 (en) 1997-03-12 2003-09-09 Matsushita Electric Industrial Co., Ltd. Upsampling filter for a down conversion system
CN1253008C (zh) * 2001-10-26 2006-04-19 皇家飞利浦电子股份有限公司 空间可分级压缩的方法和设备
EP1576730A1 (en) * 2002-12-19 2005-09-21 Koninklijke Philips Electronics N.V. Digital filter with spatial scalability
US8005148B2 (en) * 2003-01-30 2011-08-23 Koninklijke Philips Electronics N.V. Video coding
KR20050105222A (ko) 2003-02-17 2005-11-03 코닌클리케 필립스 일렉트로닉스 엔.브이. 비디오 부호화
JP2007535263A (ja) 2004-04-27 2007-11-29 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データ値をダウンサンプリングする方法
US9071847B2 (en) 2004-10-06 2015-06-30 Microsoft Technology Licensing, Llc Variable coding resolution in video codec
US8077769B2 (en) 2006-03-28 2011-12-13 Sony Corporation Method of reducing computations in transform and scaling processes in a digital video encoder using a threshold-based approach
US7929608B2 (en) 2006-03-28 2011-04-19 Sony Corporation Method of reducing computations in intra-prediction and mode decision processes in a digital video encoder
US8218641B2 (en) 2006-10-31 2012-07-10 Sony Computer Entertainment Inc. Picture encoding using same-picture reference for pixel reconstruction
CN101018333A (zh) * 2007-02-09 2007-08-15 上海大学 空域可分级信噪比精细可分级视频编码方法
CN101272489B (zh) * 2007-03-21 2011-08-10 中兴通讯股份有限公司 视频图像质量增强的编解码装置与编解码方法
US20090141809A1 (en) * 2007-12-04 2009-06-04 Sony Corporation And Sony Electronics Inc. Extension to the AVC standard to support the encoding and storage of high resolution digital still pictures in parallel with video
US8848799B2 (en) 2009-09-02 2014-09-30 Sony Computer Entertainment Inc. Utilizing thresholds and early termination to achieve fast motion estimation in a video encoder
US8379718B2 (en) 2009-09-02 2013-02-19 Sony Computer Entertainment Inc. Parallel digital picture encoding
US8879623B2 (en) 2009-09-02 2014-11-04 Sony Computer Entertainment Inc. Picture-level rate control for video encoding a scene-change I picture
US8711933B2 (en) 2010-08-09 2014-04-29 Sony Computer Entertainment Inc. Random access point (RAP) formation using intra refreshing technique in video coding
US8780976B1 (en) 2011-04-28 2014-07-15 Google Inc. Method and apparatus for encoding video using granular downsampling of frame resolution
JP2014523695A (ja) * 2011-06-30 2014-09-11 ヴィディオ・インコーポレーテッド スケーラブルビデオ符号化技法
TWI616087B (zh) 2012-01-31 2018-02-21 Vid衡器股份有限公司 可縮放高效率視訊編碼(hevc)參考圖集(rps)傳訊
GB2501517A (en) * 2012-04-27 2013-10-30 Canon Kk Scalable Encoding and Decoding of a Digital Image
US20140003504A1 (en) * 2012-07-02 2014-01-02 Nokia Corporation Apparatus, a Method and a Computer Program for Video Coding and Decoding
US20140087877A1 (en) 2012-09-27 2014-03-27 Sony Computer Entertainment Inc. Compositing interactive video game graphics with pre-recorded background video content
CN104662912B (zh) * 2012-09-28 2018-07-10 夏普株式会社 图像解码装置
US20150245063A1 (en) * 2012-10-09 2015-08-27 Nokia Technologies Oy Method and apparatus for video coding
CN104813667B (zh) * 2012-11-15 2018-03-16 联发科技股份有限公司 用于可伸缩视频编码的帧间层预测方法及装置
US9357211B2 (en) * 2012-12-28 2016-05-31 Qualcomm Incorporated Device and method for scalable and multiview/3D coding of video information
GB2509705B (en) * 2013-01-04 2016-07-13 Canon Kk Encoding and decoding methods and devices, and corresponding computer programs and computer readable media
JP2014168150A (ja) 2013-02-28 2014-09-11 Mitsubishi Electric Corp 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法及び画像符号化復号システム
US20140348222A1 (en) * 2013-05-23 2014-11-27 Mediatek Inc. Method of Sample Adaptive Offset Processing for Video Coding and Inter-Layer Scalable Coding
CN104427320A (zh) * 2013-09-02 2015-03-18 苏州威迪斯特光电科技有限公司 基于敏感信息增强的视频监控***视频质量提高方法
CN105765978B (zh) * 2013-10-11 2019-01-29 韩国电子通信研究院 用于编码/解码图像的方法和使用其的装置
KR20160074601A (ko) * 2013-10-22 2016-06-28 브이아이디 스케일, 인크. 비디오 송신 시스템에 대한 에러 은닉 모드 시그널링
EP3090549A1 (en) * 2014-01-02 2016-11-09 VID SCALE, Inc. Methods and systems for scalable video coding with mixed interlace and progressive content
US9906804B2 (en) * 2014-01-16 2018-02-27 Qualcomm Incorporated Reference layer sample position derivation for scalable video coding
US10204658B2 (en) 2014-07-14 2019-02-12 Sony Interactive Entertainment Inc. System and method for use in playing back panorama video content
US9386317B2 (en) 2014-09-22 2016-07-05 Sony Interactive Entertainment Inc. Adaptive picture section encoding mode decision control
US10602187B2 (en) * 2015-11-30 2020-03-24 Intel Corporation Efficient, compatible, and scalable intra video/image coding using wavelets and HEVC coding

Also Published As

Publication number Publication date
EP3479297A1 (en) 2019-05-08
US20180007362A1 (en) 2018-01-04
EP3479297A4 (en) 2020-07-29
US10616583B2 (en) 2020-04-07
WO2018005845A1 (en) 2018-01-04
CN109952577A (zh) 2019-06-28
JP2019526195A (ja) 2019-09-12

Similar Documents

Publication Publication Date Title
JP6701391B2 (ja) 改良情報を用いてダウンサンプリング/アップサンプリングすることによるデジタルフレームの符号化/復号化
RU2736421C1 (ru) Способ кодирования и декодирования изображений и устройство кодирования и декодирования
US9386317B2 (en) Adaptive picture section encoding mode decision control
US9872018B2 (en) Random access point (RAP) formation using intra refreshing technique in video coding
US10178390B2 (en) Advanced picture quality oriented rate control for low-latency streaming applications
US9445114B2 (en) Method and device for determining slice boundaries based on multiple video encoding processes
JP4384130B2 (ja) 動画像復号方法及び装置
TWI399097B (zh) 用於編碼視訊之系統及方法,以及電腦可讀取媒體
EP2441265B1 (en) Motion based dynamic resolution multiple bit rate video encoding
JP5861752B2 (ja) 映像復号装置、映像復号方法及びプログラム
US9071841B2 (en) Video transcoding with dynamically modifiable spatial resolution
US11006112B2 (en) Picture quality oriented rate control for low-latency streaming applications
US20130083840A1 (en) Advance encode processing based on raw video data
US11212536B2 (en) Negative region-of-interest video coding
JP2013515448A (ja) キャッシュヒットを向上させるための復号器内での時間的及び空間的ビデオブロックの再順序付け
CA2836192A1 (en) Video pre-encoding analyzing method for multiple bit rate encoding system
US8891616B1 (en) Method and apparatus for entropy encoding based on encoding cost
JP2008544621A (ja) ビデオエラー隠蔽を向上させる符号化及び復号の方法及び装置
US20110051815A1 (en) Method and apparatus for encoding data and method and apparatus for decoding data
KR20180032570A (ko) 디스플레이 스트림 압축에서의 변환 모드를 위한 블록 크기에 대한 수정
RU2782400C2 (ru) Способ кодирования и декодирования изображений, устройство кодирования и декодирования и соответствующие компьютерные программы
Bier Introduction to video compression
Lonetti et al. Temporal video transcoding for multimedia services
Shoham et al. Introduction to video compression
Lee et al. A new adaptive colorization filter for Video decompression

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200107

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20200309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200325

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200428

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200501

R150 Certificate of patent or registration of utility model

Ref document number: 6701391

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250