図面 (/)

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

出願人 株式会社ソニー・インタラクティブエンタテインメント
発明者 クリシュナン、ラティシュ
出願日 2017年6月29日 (2年10ヶ月経過) 出願番号 2018-568747
公開日 2019年9月12日 (7ヶ月経過) 公開番号 2019-526195
状態 不明
技術分野
  • -
主要キーワード 基本的パターン 情報生成アルゴリズム セクションタイプ 幾何学的形 消費者アプリケーション 部分セット グラフィカルシンボル 色インデックス
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2019年9月12日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (13)

解決手段

入力デジタルフレームは、入力デジタルフレームよりも低い解像度によって特徴付けられる1つ以上のベースフレームを作成するようにダウンサンプリングされてもよい。次いで、1つ以上の入力デジタルフレームについての画素値と1つ以上のベースフレームのアップサンプリングされたバージョンの対応する画素値との間の差に対応する改良情報が作成される。1つのベースフレームは、ベースデータのセットを形成するように符号化され、改良情報は、改良データのセットを形成するように符号化される。次いで、ベースデータ及び改良データは、ネットワークを通じて伝送され、又はメモリに記憶されてもよい。

概要

背景

デジタル信号圧縮ビデオコーディング又はビデオ符号化と称されることがある)は、多くのマルチメディアアプリケーション及びデバイスにおいて広く使用されている。コーダデコーダコーデック)を使用したデジタル信号圧縮は、音声又はビデオ信号などのストリーミング媒体インターネットを通じて伝送されること、又はコンパクトディスクに記憶されることを可能にする。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つ以上のベースフレームを作成するようにダウンサンプリングされてもよい。次いで、1つ以上の入力デジタルフレームについての画素値と1つ以上のベースフレームのアップサンプリングされたバージョンの対応する画素値との間の差に対応する改良情報が作成される。1つのベースフレームは、ベースデータのセットを形成するように符号化され、改良情報は、改良データのセットを形成するように符号化される。次いで、ベースデータ及び改良データは、ネットワークを通じて伝送され、又はメモリに記憶されてもよい。A

目的

この問題に対処する1つのアプローチは、同一のコンテンツのために低解像度のディスク及び高解像度のディスクの両方を作成することである

効果

実績

技術文献被引用数
- 件
牽制数
- 件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

該当するデータがありません

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

1つ以上の入力デジタルフレームを符号化する方法であって、前記入デジタルフレームよりも低い解像度によって特徴付けられる1つ以上のベースフレームを作成するように、前記1つ以上の入力デジタルフレームをダウンサンプリングすることと、前記1つ以上の入力デジタルフレームの画素値と前記1つ以上のベースフレームのアップサンプリングされたバージョンの対応する画素値との間の差に対応する改良情報を作成することと、ベースデータのセットを形成するように、前記1つ以上のベースフレームを符号化することと、改良データのセットを形成するように、前記改良情報を符号化することと、ネットワークを通じてベースデータの前記セット及び改良データの前記セットを伝送し、又はメモリにベースデータの前記セット及び改良データの前記セットを記憶することと、を備える、方法。

請求項2

前記改良情報は、前記1つ以上の入力デジタルフレームの前記画素値と前記1つ以上のベースフレームの前記アップサンプリングされたバージョンの対応する画素値との間の算術差を最小化する方法で作成される、請求項1に記載の方法。

請求項3

前記ベースデータ及び改良データを復号化することによってフレームを生成するために必要な平均時間は、ダウンサンプリングすることなく、及び改良データを使用することなく符号化された入力フレームを復号化するために必要な時間以下である、請求項1に記載の方法。

請求項4

前記改良情報は、ビデオフォーマットで符号化される、請求項1に記載の方法。

請求項5

前記ビデオフォーマットは、AVC又はHighEfficiencyVideoCoding(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フレームを使用することができるが、逆はそうでない、請求項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つ以上の入力デジタルフレームを分析することを含む、請求項1に記載の方法。

請求項25

前記1つ以上の入力デジタルフレームを分析することは、アップサンプリングされた低解像度の画像を元の高解像度の画像と比較することと、前記アップサンプリングされた低解像度の画像と前記元の高解像度の画像との間の差を判定することと、を含む、請求項24に記載の方法。

請求項26

前記1つ以上の入力デジタルフレームを分析することは、グラフィックプロセシングユニット(GPU)により、アップサンプリングされた低解像度の画像を元の高解像度の画像と比較し、前記アップサンプリングされた低解像度の画像と前記元の高解像度の画像との間の差を判定すること、を含む、請求項24に記載の方法。

請求項27

前記1つ以上の入力デジタルフレームを分析することは、中央処理装置(CPU)により、アップサンプリングされた低解像度の画像を元の高解像度画像と比較し、前記アップサンプリングされた低解像度の画像と前記元の高解像度の画像との間の差を判定すること、を含む、請求項24に記載の方法。

請求項28

前記1つ以上の入力デジタルフレームを分析することは、アップサンプリングされた低解像度の画像の各々の画素の値と、前記アップサンプリングされた低解像度の画像に対応する元の高解像度の画像内の対応する画素ごとの値との間の差を判定することと、前記アップサンプリングされた低解像度の画像又は前記元の高解像度の画像の画素値ごとのビットの数よりも少ない数のビットを有する差を表すことと、を含む、請求項24に記載の方法。

請求項29

前記改良情報を閾値と比較することと、ダウンサンプリング及び改良情報を生成することが有効でないかどうかを判定することと、ダウンサンプリング及び改良情報を生成することなく、ダウンサンプリング及び改良情報を生成することが有効でない前記1つ以上の入力フレームの入力フレームを、元の高解像度のフレームとして符号化することと、を更に備える、請求項1に記載の方法。

請求項30

前記改良情報をビデオ圧縮のためにより適切にするように、前記改良情報をフィルタリングすることを更に含む、請求項1に記載の方法。

請求項31

前記改良情報をフィルタリングすることは、周囲画素とはるかに異なる値の画素である分離した画素を取り除くことを含む、請求項30に記載の方法。

請求項32

前記1つ以上のデジタルフレームは、1つ以上のビデオフレームに対応する、請求項1に記載の方法。

請求項33

前記1つ以上のデジタルフレームは、1つ以上の音声フレームに対応する、請求項1に記載の方法。

請求項34

前記1つ以上のデジタルフレームは、1つ以上の静止画像フレームに対応する、請求項1に記載の方法。

請求項35

ベースストリームよりも改良ストリーム内に多くのフレームが存在する、請求項1に記載の方法。

請求項36

改良ストリームよりもベースストリーム内に多くのフレームが存在する、請求項1に記載の方法。

請求項37

前記1つ以上のベースフレーム及び改良情報は、前記ベースフレームを前記改良情報と組み合わせることによって構築された高解像度のフレームが、前記1つ以上の入力デジタルフレームに対応する1つ以上の再構築されたフレームをもたらすように構成され、前記1つ以上の再構築されたフレームは、前記1つ以上の入力デジタルフレームよりも高い品質によって特徴付けられる、請求項1に記載の方法。

請求項38

前記1つ以上の入力デジタルフレームをダウンサンプリングすること、前記改良情報を作成すること、前記1つ以上のベースフレームを符号化すること、及び前記改良情報を符号化することは、前記1つ以上の入力デジタルフレームをダウンサンプリングし、第1のストリーム及び第2のストリームに、前記1つ以上のダウンサンプリングされたフレーム及び前記1つ以上の入力デジタルフレームを符号化することによるよりも少ないビットを使用して前記ベースデータ及び改良データを生成する、請求項1に記載の方法。

請求項39

前記1つ以上の入力デジタルフレームをダウンサンプリングすること、及び前記改良情報を作成することは、1つ以上の最低解像度のベースフレーム、及び前記1つ以上の最低解像度のベースフレームについての改良情報の2つ以上のセットを生成するように、2つ以上の段階の各々において生成された改良情報のセットと共に、前記2つ以上の段階において前記1つ以上の入力デジタルフレームがより低解像度にダウンサンプリングされる、多段階直列化ダウンサンプリングスキームを含み、前記1つ以上のベースフレームを符号化すること、及び前記改良情報を符号化することは、ベースデータの前記セットを作成するように、前記1つ以上の最低解像度のベースフレームを符号化することと、前記改良データを作成するように、改良情報の前記2つ以上のセットを符号化することと、を含む、請求項1に記載の方法。

請求項40

プロセッサモジュールと、前記プロセッサに結合されたメモリと、を備え、前記メモリは、方法を実施するように構成された実行可能命令を含み、前記方法は、入力デジタルフレームよりも低い解像度によって特徴付けられる1つ以上のベースフレームを作成するように、1つ以上の入力デジタルフレームをダウンサンプリングすることと、前記1つ以上の入力デジタルフレームの画素値と前記1つ以上のベースフレームのアップサンプリングされたバージョンの対応する画素値との間の差に対応する改良情報を作成することと、ベースデータのセットを形成するように、前記1つ以上のベースフレームを符号化することと、改良データのセットを形成するように、前記改良情報を符号化することと、ネットワークを通じてベースデータの前記セット及び改良データの前記セットを伝送し、又はメモリにベースデータの前記セット及び改良データの前記セットを記憶することと、を含む、システム

請求項41

内部で具体化された、方法を実施するように構成されたコンピュータ可読命令を有する非一時的コンピュータ可読媒体であって、前記方法は、入力デジタルフレームよりも低い解像度によって特徴付けられる1つ以上のベースフレームを作成するように、1つ以上の入力デジタルフレームをダウンサンプリングすることと、前記1つ以上の入力デジタルフレームの画素値と前記1つ以上のベースフレームのアップサンプリングされたバージョンの対応する画素値との間の差に対応する改良情報を作成することと、ベースデータのセットを形成するように、前記1つ以上のベースフレームを符号化することと、改良データのセットを形成するように、前記改良情報を符号化することと、ネットワークを通じてベースデータの前記セット及び改良データの前記セットを伝送し、又はメモリにベースデータの前記セット及び改良データの前記セットを記憶することと、を含む、非一時的コンピュータ可読媒体。

請求項42

1つ以上のダウンサンプリングされた入力デジタルフレームに対応する1つ以上の符号化されたベースフレームを含む、ベースデータのセットを含む1つ以上の符号化されたデジタルフレームを含むデータの入力セットを復号化する方法であって、前記1つ以上のベースフレームは、前記入力デジタルフレームよりも低い解像度によって特徴付けられ、符号化された改良情報を含む改良データのセットは、前記1つ以上の入力デジタルフレームの画素値と前記1つ以上のベースフレームのアップサンプリングされたバージョンの対応する画素値との間の差に対応し、前記方法は、前記1つ以上のベースフレームを生成するように、デコーダによりベースデータの前記セット内の前記1つ以上の符号化されたベースフレームを復号化することと、前記改良情報を生成するように、デコーダにより改良データの前記セット内の前記符号化された改良情報を復号化することと、デコーダにより前記1つ以上のベースフレーム及び前記改良情報から前記入力デジタルフレームを再構築することと、ディスプレイにより前記入力デジタルフレームを表示し、又はメモリに前記入力デジタルフレームを記憶することと、を含む、方法。

請求項43

前記改良情報は、前記1つ以上の入力デジタルフレームの前記画素値と前記1つ以上のベースフレームの対応する画素値との間の算術差を最小化する方法で作成される、請求項42に記載の方法。

請求項44

前記デコーダにより前記1つ以上のベースフレーム及び前記改良情報から前記入力デジタルフレームを再構築することは、1つ以上の対応するアップサンプリングされたフレームを作成するように、前記1つ以上のベースフレームをアップサンプリングすることと、1つ以上のアップサンプリングされたフレーム及び前記改良情報を用いて、前記改良情報を生成した演算の逆を実行することと、を含む、請求項42に記載の方法。

請求項45

改良データの前記セットは、色度データとして符号化されたいくつかの輝度データを含み、前記改良データを復号化することは、色度情報として処理された輝度情報を輝度情報に再度変化させることを含む、請求項42に記載の方法。

請求項46

改良データの前記セットは、色度データとして符号化されたいくつかの輝度データを含み、前記改良データを復号化することは、色度情報として処理された輝度情報を輝度情報に再度変化させることと、前記改良情報内のいずれかの残りの色度情報を無視することと、を含む、請求項42に記載の方法。

請求項47

1つ以上の第1のデコーダは、ベースストリーム内の前記1つ以上の符号化されたベースフレームを復号化し、1つ以上の第2のデコーダは、改良ストリーム内の前記符号化された改良情報を復号化する、請求項42に記載の方法。

請求項48

前記1つ以上の第1のデコーダは、1つ以上のハードウェアデコーダを含み、前記1つ以上の第2のデコーダは、1つ以上のソフトウェアデコーダを含む、請求項47に記載の方法。

請求項49

前記1つ以上の第1のデコーダは、1つ以上のソフトウェアデコーダを含み、前記1つ以上の第2のデコーダは、1つ以上のハードウェアデコーダを含む、請求項47に記載の方法。

請求項50

前記第1のデコーダ及び前記第2のデコーダは、ソフトウェアデコーダの2つ以上のインスタンスを含む、請求項47に記載の方法。

請求項51

前記1つ以上の第1のデコーダ及び前記1つ以上の第2のデコーダは、ハードウェアデコーダである、請求項47に記載の方法。

請求項52

ベースデータの前記セット及び改良データの前記セットの両方は、共通ビットストリームにある、請求項42に記載の方法。

請求項53

ベースデータの前記セットは、改良データの前記セットに符号化されたいずれの改良情報も完全に復号化することなく、ベースデータの前記セットが復号化されることを可能にする方法において前記改良情報とは独立して符号化された、1つ以上の符号化されたベースフレームを含む、請求項42に記載の方法。

請求項54

ベースデータの前記セット内の前記1つ以上の符号化されたベースフレームを復号化することは、前記符号化された改良情報を復号化することなく、前記1つ以上の符号化されたベースフレームを復号化することを含む、請求項53に記載の方法。

請求項55

ベースデータの前記セット及び改良データの前記セットの両方は、共通ビットストリームにあり、前記符号化された改良情報は、前記共通ビットストリームにおいてデータパケットのヘッダに符号化される、請求項42に記載の方法。

請求項56

ベースデータの前記セット内の前記符号化されたベースフレームは、前記改良情報を含むいずれのフレームも参照せず、改良データの前記セット内の前記符号化された改良情報を復号化することは、前記ヘッダから前記改良情報を抽出することを含む、請求項55に記載の方法。

請求項57

ベースデータの前記セット内の前記符号化されたベースフレームは、前記改良情報を含むいずれのフレームも参照せず、改良データの前記セット内の前記符号化された改良情報を復号化することは、前記改良情報が符号化された前記データパケットの前記ヘッダから前記改良情報を抽出することと、それらデータパケットの残り部分の復号化をスキップすることと、を含む、請求項56に記載の方法。

請求項58

前記改良情報は、輝度情報を含むが、色度情報を含まない、請求項42に記載の方法。

請求項59

前記改良情報は、色度情報として処理されたいくつかの輝度情報を含む、請求項58に記載の方法。

請求項60

前記改良情報は、色度情報として処理されたいくつかの輝度情報を含む、請求項42に記載の方法。

請求項61

ベースストリーム内の前記1つ以上の符号化されたベースフレームは、所与のフレームよりも少ない画素を有するより低解像度のダウンサンプリングされたフレームにダウンサンプリングされた前記所与のフレームに対応する再構築されたフレームを含み、前記再構築されたフレームは、前記再構築されたフレームのどのセクションが前記低解像度の画素を含むかを示すパラメータと共に、均一な画素値の画素によって囲まれた前記ダウンサンプリングされたフレームのより低解像度の画素を含み、前記ベースストリーム内の前記1つ以上の符号化されたベースフレームを復号化することは、ダウンスケールされたフレームを抽出するように、前記パラメータを使用して前記再構築されたフレームを復号化し、次いで、前記抽出されダウンスケールされたフレームをアップサンプリングすることを含む、請求項42に記載の方法。

請求項62

前記再構築されたフレーム内の画素の合計数は、前記所与のフレーム内の画素の数と同一であるが、前記再構築されたフレームの前記画素の一部のみが前記所与のフレームの画素に対応する、請求項61に記載の方法。

請求項63

ベースストリームよりも改良ストリーム内に多くのフレームが存在する、請求項42に記載の方法。

請求項64

改良データの前記セットよりもベースデータの前記セット内に多くのフレームが存在する、請求項42に記載の方法。

請求項65

ベースデータの前記セットは、ダウンサンプリングすることなく元の高解像度のフレームとして符号化された1つ以上のフレームを含み、前記方法は、元の高解像度のフレームとして符号化された前記1つ以上のフレームを復号化することを更に含む、請求項42に記載の方法。

請求項66

前記1つ以上の符号化されたデジタルフレームは、1つ以上のビデオフレームに対応する、請求項42に記載の方法。

請求項67

前記1つ以上の符号化されたデジタルフレームは、1つ以上の音声フレームに対応する、請求項42に記載の方法。

請求項68

前記1つ以上の符号化されたデジタルフレームは、1つ以上の静止画像フレームに対応する、請求項42に記載の方法。

請求項69

改良データの前記セットは、ダウンサンプリングの2つ以上の段階のための符号化された改良情報を含み、前記1つ以上の入力デジタルフレームを再構築することは、1つ以上の結果として生じるアップサンプリングされたデジタルフレームを生成するように、前記ベースデータをアップサンプリングすることと、前記1つ以上の結果として生じるアップサンプリングされたデジタルフレームを、前記2つ以上の段階の1つ以上の段階のための改良情報と組み合わせることと、を含む、請求項42に記載の方法。

請求項70

階段の所与のステップにおいて生成された前記1つ以上の結果として生じるアップサンプリングされたデジタルフレームは、前記2つ以上の段階の異なる段階についてアップサンプリングし、改良情報と組み合わせる次のステップのための入力として使用される、請求項69に記載の方法。

請求項71

改良データの前記セット内の前記符号化された改良情報を復号化することは、全ての前記改良データよりも少ないサブセットのみを復号化することを含む、請求項42に記載の方法。

請求項72

前記1つ以上のベースフレーム及び前記改良情報から前記入力デジタルフレームを再構築することは、全ての前記改良データよりも少ない前記サブセットのみを復号化することから生じる前記改良情報を用いてアップサンプリングすることから生じる高解像度のフレームの一部のみを改良することを含む、請求項71に記載の方法。

請求項73

改良データの前記セット内の前記符号化された改良情報を復号化することは、全ての前記改良データを復号化することを含み、前記1つ以上のベースフレームから前記入力デジタルフレームを再構築することは、全ての前記改良データを復号化することから生じる前記改良情報のサブセットを用いてアップサンプリングすることから生じる高解像度のフレームの一部のみを改良することを含む、請求項42に記載の方法。

請求項74

プロセッサモジュールと、前記プロセッサに結合されたメモリと、を備え、前記メモリは、1つ以上のダウンサンプリングされた入力デジタルフレームに対応する1つ以上の符号化されたベースフレームを含む、ベースデータのセットを含む1つ以上の符号化されたデジタルフレームを含むデータの入力セットを復号化する方法を実施するように構成された実行可能命令を含み、前記1つ以上のベースフレームは、前記入力デジタルフレームよりも低い解像度によって特徴付けられ、符号化された改良情報を含む改良データのセットは、前記1つ以上の入力デジタルフレームの画素値と前記1つ以上のベースフレームのアップサンプリングされたバージョンの対応する画素値との間の差に対応し、前記方法は、前記1つ以上のベースフレームを生成するように、デコーダによりベースデータの前記セット内の前記1つ以上の符号化されたベースフレームを復号化することと、前記改良情報を生成するように、デコーダにより改良データの前記セット内の前記符号化された改良情報を復号化することと、デコーダにより前記1つ以上のベースフレーム及び前記改良情報から前記入力デジタルフレームを再構築することと、ディスプレイにより前記入力デジタルフレームを表示し、又はメモリに前記入力デジタルフレームを記憶することと、を含む、システム。

請求項75

内部で具体化された、1つ以上のダウンサンプリングされた入力デジタルフレームに対応する1つ以上の符号化されたベースフレームを含む、ベースデータのセットを含む1つ以上の符号化されたデジタルフレームを含むデータの入力セットを復号化する方法を実施するように構成されたコンピュータ可読命令を有する非一時的コンピュータ可読媒体であって、前記1つ以上のベースフレームは、前記入力デジタルフレームよりも低い解像度によって特徴付けられ、符号化された改良情報を含む改良データのセットは、前記1つ以上の入力デジタルフレームの画素値と前記1つ以上のベースフレームのアップサンプリングされたバージョンの対応する画素値との間の差に対応し、前記方法は、前記1つ以上のベースフレームを生成するように、デコーダによりベースデータの前記セット内の前記1つ以上の符号化されたベースフレームを復号化することと、前記改良情報を生成するように、デコーダにより改良データの前記セット内の前記符号化された改良情報を復号化することと、デコーダにより前記1つ以上のベースフレーム及び前記改良情報から前記入力デジタルフレームを再構築することと、ディスプレイにより前記入力デジタルフレームを表示し、又はメモリに前記入力デジタルフレームを記憶することと、を含む、非一時的コンピュータ可読媒体。

請求項76

1つ以上のダウンサンプリングされた入力デジタルフレームに対応する1つ以上の符号化されたベースフレームを含む、ベースデータのセットを含む1つ以上の符号化されたデジタルフレームを含むデータの入力セットを復号化する方法であって、前記1つ以上のベースフレームは、前記入力デジタルフレームよりも低い解像度によって特徴付けられ、改良情報を含む改良データのセットは、前記1つ以上の入力デジタルフレームの画素値と前記1つ以上のベースフレームのアップサンプリングされたバージョンの対応する画素値との間の差に対応し、前記方法は、前記1つ以上のベースフレームを生成するように、デコーダによりベースデータの前記セットを復号化することと、改良データの前記セットを無視することと、ディスプレイにより前記1つ以上のベースフレームを表示し、又はメモリに前記1つ以上のベースフレームを記憶することと、を含む、方法。

請求項77

プロセッサモジュールと、前記プロセッサに結合されたメモリと、を備え、前記メモリは、1つ以上のダウンサンプリングされた入力デジタルフレームに対応する1つ以上の符号化されたベースフレームを含む、ベースデータのセットを含む1つ以上の符号化されたデジタルフレームを含むデータの入力セットを復号化する方法を実施するように構成された実行可能命令を含み、前記1つ以上のベースフレームは、前記入力デジタルフレームよりも低い解像度によって特徴付けられ、改良情報を含む改良データのセットは、前記1つ以上の入力デジタルフレームの画素値と前記1つ以上のベースフレームのアップサンプリングされたバージョンの対応する画素値との間の差に対応し、前記方法は、前記1つ以上のベースフレームを生成するように、デコーダによりベースデータの前記セットを復号化することと、改良データの前記セットを無視することと、ディスプレイにより前記1つ以上のベースフレームを表示し、又はメモリに前記1つ以上のベースフレームを記憶することと、を含む、システム。

請求項78

内部で具体化された、1つ以上のダウンサンプリングされた入力デジタルフレームに対応する1つ以上の符号化されたベースフレームを含む、ベースデータのセットを含む1つ以上の符号化されたデジタルフレームを含むデータの入力セットを復号化する方法を実施するように構成されたコンピュータ可読命令を有する非一時的コンピュータ可読媒体であって、前記1つ以上のベースフレームは、前記入力デジタルフレームよりも低い解像度によって特徴付けられ、改良情報を含む改良データのセットは、前記1つ以上の入力デジタルフレームの画素値と前記1つ以上のベースフレームのアップサンプリングされたバージョンの対応する画素値との間の差に対応し、前記方法は、前記1つ以上のベースフレームを生成するように、デコーダによりベースデータの前記セットを復号化することと、改良データの前記セットを無視することと、ディスプレイにより前記1つ以上のベースフレームを表示し、又はメモリに前記1つ以上のベースフレームを記憶することと、を含む、非一時的コンピュータ可読媒体。

技術分野

0001

本開示の態様は、ストリーミングアプリケーションについてのデジタルデータの符号化及び復号化に関する。特に、本開示は、複数の解像度において同一のビデオコンテンツを符号化することに関する。

背景技術

0002

デジタル信号圧縮ビデオコーディング又はビデオ符号化と称されることがある)は、多くのマルチメディアアプリケーション及びデバイスにおいて広く使用されている。コーダデコーダコーデック)を使用したデジタル信号圧縮は、音声又はビデオ信号などのストリーミング媒体インターネットを通じて伝送されること、又はコンパクトディスクに記憶されることを可能にする。H.261、H.263;DV;MPEG−l、MPEG−2、MPEG−4、VC1;AVC(H.264)、及びHEVC(H.265)を含むデジタルビデオ圧縮のいくつかの異なる標準が登場している。それらの標準と共に他のビデオ圧縮技術は、ピクチャ内の、及び連続するピクチャの間の空間的及び時間的冗長性を取り除くことによって、ビデオフレームピクチャを効率的に表そうとする。そのような圧縮の標準を通じて、高度に圧縮されたビデオビットストリームにおいてビデオコンテンツを搬送することができ、よって、効率的にディスクに記憶することができ、又はネットワークを通じて伝送することができる。

0003

複数の解像度において同一のビデオコンテンツを符号化することは、ネットワークを通じてビデオストリーミングすること、及び異なる計算能力を有する異なる復号化ハードウェアターゲットとすることが必要となることが多い。例えば、帯域幅の制限に起因して、並びにビデオ符号化及び復号化ハードウェアの能力における最近の進化に起因して、複数の解像度によりビデオを符号化することが必要な場合がある。4Kディスプレイ(3840〜4096画素のピクチャ幅)の人気が高まるにつれて、より高解像度のビデオコンテンツについての要求が増加している。4Kビデオに必要とされる記憶装置は、1080pのHDビデオについてのものよりもはるかに高い。いくつかのケースでは、同一のビデオコンテンツのより低解像度バージョン及び同一のビデオコンテンツのより高解像度のバージョンの両方を記憶することは、例えば、異なるハードウェア上で表示するために必要となることがある。ブルーレイディスク上でHD解像度のビデオストリーム及び4K解像度のビデオストリームの両方を有することは、より低出力ビデオプレイヤがHDコンテンツを表示すること、及びより強力なビデオプレイヤが4Kコンテンツを表示することを可能にする。しかしながら、物理ディスク上の記憶の制限に起因して、単一のディスク上で両方の解像度に適合することが可能でないことがある。この問題に対処する1つのアプローチは、同一のコンテンツのために低解像度のディスク及び高解像度のディスクの両方を作成することである。ネットワークを通じたビデオストリーミングのために、帯域幅が高いときにより高解像度のビデオが表示され、ネットワークが混雑している間により低解像度が表示されることがある。高解像度(例えば、4K)のビデオよりも低い解像度の符号化されたビデオ(例えば、1080pのHDビデオ)を伝送するためにビットがあまり必要とされない。

0004

別のアプローチは、低解像度のビデオを符号化し、より高解像度のハードウェア上でそれを表すときにそれをアップサンプリングすることである。しかしながら、アップサンプリングされた低解像度のビデオが高解像度のハードウェア上で再生されるときにビデオ品質が影響を受ける。更なる別のアプローチは、実に高解像度の符号化されたビデオをディスクに記憶することである。残念ながら、低出力のハードウェアは、それがより高解像度のビデオのために所望のフレームレートを維持するために十分に強力でないことを理由に、フレームスキップする必要があることがある。

0005

複数のディスクを有することは製造コストを増加させると共に、ディスクに1つの解像度のみのビデオを記憶することは、より低出力の再生機又はより高出力の再生機のいずれに対しても最良の経験を可能にしない。より低解像度のビデオのみがディスクに記憶される場合、表示されるピクチャは、より高解像度のディスプレイ上でのアップサンプリングを必要とする。アップサンプリングされたビデオコンテンツのピクチャ品質は、元々はより高解像度の品質であるコンテンツの品質よりも低い。より高解像度のビデオのみがディスクに記憶される場合、より低出力のデバイスは、元のフレームレートにおいてコンテンツを表示することが可能でないことがあり、フレームをドロップさせる必要があることがあり、又はフレームレートを低下させる必要があることがある。これは、ユーザの楽しみの減少をももたらす。

0006

スケーラブルビデオコーディングSVC)として知られるアドバンスドビデオコーディング(AVC)への拡張は、複数の解像度についての効率的な圧縮を可能にすると共に、この拡張をサポートするデバイスの数は、そうではないものと比較してはるかに低い。結果として、複数の解像度を扱う共通のアプローチは、符号化の前に複数の解像度にビデオコンテンツのサイズを変更し、相互に独立して復号化され得る解像度ごと別個ビットストリームを生成することである。

0007

本開示の態様が生まれるのはこのコンテキスト内である。

図面の簡単な説明

0008

添付図面と共に以下の詳細な説明を考慮することによって、本開示の教示を容易に理解することができる。

0009

本開示の態様のコンテキスト内でストリーミングデータピクチャの1つの可能な分割を例示する概略図である。
従来の複数の解像度のピクチャ符号化を例示するフローチャートである。
従来の複数の解像度のピクチャ復号化を例示するフローチャートである。
本開示の態様に従った、ベースフレーム及び改良データを含むフレームを含む符号化されたフレームのストリームの構成を例示する概略図である。
本開示の態様に従った、ベースフレーム及び改良データを含むフレームを含む符号化されたフレームのストリームの代替的な構成を例示する概略図である。
本開示の態様と共に使用することができる従来のデジタルピクチャ符号化を例示するフローチャートである。
本開示の態様と共に使用することができるストリーミングデータ復号化における可能な処理フローの例を例示するフローチャートである。
本開示の態様に従った、ビデオ及びエッジ改良ストリームを符号化することを例示するフローチャートである。
本開示の態様に従った、低出力のハードウェア上でビデオ及びエッジ改良ストリームを符号化することを例示するフローチャートである。
本開示の態様に従った、高出力のハードウェア上でビデオ及びエッジ改良ストリームを符号化することを例示するフローチャートである。
本開示の態様に従った、ピクチャ品質指向レート制御調節を実施するように構成されたデジタルピクチャを符号化及び/又は復号化するための装置を例示するブロック図である。
従来から符号化され、本開示の態様に従って符号化されたデジタルフレームについての品質対ビットレートプロットを比較するグラフである。

実施例

0010

以下の詳細な説明は、例示を目的として多くの詳細を含むが、当業者のいずれも、以下の詳細への変更及び修正が本発明の範囲内にあることを認識するであろう。したがって、以下で説明される本発明の例示的な実施形態は、何等の一般性を失うことなく、及び特許請求される発明に限定を課すことなく示される。

0011

[導入]
図1Bは、複数の解像度のビデオ121の従来の符号化の例を例示する。エンコーダ122は、符号化された高解像度のビデオフレームを表すビットの高解像度のストリーム124を生成するために、高解像度のビデオを符号化する。高解像度のビデオ用に構成されていないより旧式のハードウェアに適合し、又は帯域幅が混雑している間に伝送のために必要とされる帯域幅を削減するために、123において示されるように、高解像度のビデオがダウンサンプリングされ、結果として生じるダウンサンプリングされたビデオ121’は、符号化されダウンサンプリングされたビデオフレームを表すビット124’のストリームを生成するために、例えば、別のエンコーダ122’によって符号化される。

0012

図1Cに例示されるデコーダ側では、デコーダ132は、高解像度のストリーム124を受信し、復号化された高解像度のビデオフレームの形式にある高解像度の出力126を生成するためにそれを復号化する。高解像度のストリームを復号化するように備えられていないデバイスは、高解像度のストリームを無視してもよく、例えば、異なるデコーダ132’を使用して、ダウンサンプリングされたストリーム124’を受信及び復号化してもよい。

0013

本開示の態様は、ビデオコーディング標準への拡張を利用することなく、効率的なビデオ圧縮を可能にする。本明細書で説明されるアプローチは、別個のビットストリームとして同一のコンテンツの複数の解像度を符号化する既存の方法と比較して、より低いビット使用率により高いピクチャ品質を可能にする。より高解像度において別個のビットストリームを作成する代わりに、エンコーダは、より少ないビットを使用する改良ストリームを作成する。デコーダは、より低解像度のベースストリーム及び改良ストリームを組み合わせることによって、表示のための出力ビデオを作成する。出力ビデオを生成するために必要とされる追加の処理は、グラフィックプロセッサユニット(GPU)上で効率的に実行されてもよい。提案されるアプローチは特に、提案されるものを使用して高解像度のフレームを生成するために必要な平均時間が、別個の高解像度のビットストリームを使用してフレームを復号化するために必要な時間以下である場合に有益である。

0014

本開示の態様に従って、提案されるアプローチは、低解像度のビデオのアップサンプリングと改良情報とを組み合わせることを使用する。低解像度のビデオが高解像度にアップサンプリングされるとき、何らかの鮮明さが喪失する。結果として、ビデオがぼやけて見える。「改良情報」は、表示のための高品質画像を作成するために、アップサンプリングされた低解像度のビデオと組み合わされてもよい。エッジ改良データは、低解像度のビデオを高解像度にアップサンプリングするときに喪失する情報を捕捉する。エッジ改良情報は、画像内のエッジに対応する画素値に関連する。エッジ改良とアップサンプリングを組み合わせることは、別個のより高解像度のビデオビットストリームを記憶する必要性をなくし、代わりに、改良ストリームのみが記憶される必要があり、より少ないビットを必要とし、したがって、記憶空間をはるかに少なくする。このアプローチは特に、符号化前の低解像度のビデオに加えエッジ改良情報について必要とされるデータの量が、符号化前の高解像度のビデオについて必要とされるデータの量以下である場合に有益である。そのような状況は、高解像度のビデオが低解像度のビデオにダウンサンプリングされ、ダウンサンプリングの前に高解像度のビデオデータからエッジ改良データが作成される実施形態において生じることがある。特定の実装態様では、ダウンサンプリングは、整数ダウンサンプリング、例えば、代替画素を取り除くことを含んでもよい。整数ダウンサンプリングの例は、4K(2160P)から1080Pへのダウンサンプリングであってもよい。

0015

いくつかの実装態様では、改良情報は、デコーダが認識し、既存のエンコーダがどのように符号化するかを理解する既存のビデオフォーマットで符号化されてもよい。例として、及び限定することなく、改良情報は、ビデオ再生をサポートするデバイスにおいて一般的に発見される既存のAVC又はHigh Efficiency Video Coding(HEVC)デコーダを使用して符号化されてもよく、標準への拡張についてのサポートを追加するためにデバイスを必要としない。この解決策はまた、複数のデコーダ(例えば、ハードウェアベースのデコーダ及びソフトウェアベースのデコーダの両方)を含むデバイスにおいて高解像度のビデオビットストリームを復号化するためのCPU及びGPUの負荷を減少させるために使用されてもよい。

0016

改良ストリームは、ビデオフォーマットで記憶される必要がないが、それを行うことは、既存のハードウェアにより非常に良好に作用する。代替的な実装態様では、エッジ改良情報は、例えば、JPEG圧縮又はいずれかの他の算術的コーディング標準を使用して符号化されてもよい。

0017

本明細書で説明される改良情報を用いてアップサンプリングすることはまた、例えば、JPEG符号化又はいくつかの他の画像圧縮標準がベース及び改良情報の両方を圧縮するために使用される静止画像に適用されてもよい。

0018

生のビデオは、輝度明暗度)及び色度(色)値によって表される。多くのエンコーダは、色度データを記憶するためにより少ないビットを使用し、それによって、人間の目が色度よりも輝度における差により敏感であるにつれて、より多くのビットが輝度データに対して要することがある。

0019

特定の実装態様では、改良情報生成アルゴリズムは、画像内のエッジを発見するためにビデオデータ内の画像を分析してもよい。エッジ改良データは、低解像度のベース画像のアップサンプリングされたバージョンを対応する元の高解像度の画像と比較した結果を分析し、画像の間の差を判定することによって判定されてもよい。低解像度の画像をアップサンプリングすることは、標準アルゴリズム、例えば、バイリニア最速且つ最低品質)又はバイキュービック(品質はより良好であるがより低速)を使用してもよい。特定の実施形態では、この比較は、GPUによって実行されてもよい。代替的な実施形態では、この比較は、CPUによって実行されてもよい。いくつかのケースでは、高解像度のビデオとアップサンプリングされた低解像度のビデオとの間に著しい差が存在しないことを理由に、フレームについてのエッジ改良情報が存在しない。そのようなシナリオが高解像度のストリーミングを伴う状況で発生するとき、著しい差が存在しないそれらのフレームは、エッジ改良情報なしに元の高解像度のフレームとして符号化されてもよい。代替的な実施形態では、エッジ改良情報は、以下で提供され、続いて閾値と比較されるものとして判定されてもよく、そのような比較の結果は次いで、符号化前にフレームをダウンサンプリングするか否かを判定するために使用されてもよい。

0020

例として、及び限定することなく、改良情報は、アップサンプリングされた低解像度の画像と元の高解像度の画像との間の画素値(例えば、色度値若しくは輝度値、又はその両方)における差を判定し、画素値についての中間点(例えば、8ビットについて128)を追加することによって生成されてもよい。本開示の特定の態様に従って、改良情報は、入力フレームとダウンサンプリングされたフレームのアップサンプリングされたバージョンとの間の算術差を最小化するような方法で作成されてもよい。本明細書で使用されるように、用語「差」は、算術差(すなわち、減算の結果)を含むがそれに限定されない算術的な意味での差を指す。差を判定することは、二乗にすること、平方根をとること、倍率により乗算することなど、減算前の画素値に対する他の数学演算を含んでもよい。差を判定することはまた、減算の結果に対する数学的演算を含んでもよい。例えば、いくつかの実装態様では、減算から生じる負の値は、ゼロに設定されてもよく、ビットの数についての最大値を上回る値は、最大値に設定されてもよい(例えば、8ビットの画素について、255よりも大きい値が255に設定される)。加えて、同一の数のビットが各々のより低解像度の画素を表すために利用されてもよいが、より多い数のビットが小さい差を表すために必要とされないことがあるので、より少ないビットがエッジ改良データを表すために使用されてもよい。例として、及び限定することなく、計算された16ビットの差は、8ビットの表現に減少した値を有してもよい。エッジ改良情報を生成する他の例は、Sobel演算子又はRoberts cross演算子を使用するなどの特徴及びエッジ検出方法を含む。

0021

特定の実装態様では、輝度値における差は、低解像度のビデオのアップサンプリングが実行されるときに喪失する色度情報についての観点なく判定されてもよい。これは、追加の色度データがそのような処理の利用の間に保存されないので、計算及びメモリリソース解放する。この処理はまた、色度値についての差を計算することがもはや必要とされないので、符号化処理の効率を増大させる。例として、及び限定することなく、輝度情報は、輝度情報の一部を色度情報として符号化すると共に、輝度情報の残りが輝度情報を残すエンコーダを操作するために、色度情報に記憶されてもよい。デコーダ側では、色度情報として記憶された輝度情報は、輝度情報に再度変化され、色度情報が無視される。代わりに、実施形態は、色度を薄いグレーとして符号化することを可能にする。

0022

特定の代替的な実施形態では、フィルタリング段階は、例えば、ノイズ画素を取り除くことによって、ビデオ圧縮に対してより適切なエッジ改良情報を作成するために追加される。ノイズ画素は、例えば、周囲の画素とははるかに異なる値の画素である分離した画素である。

0023

特定の実装態様では、低解像度のハードウェア上で実行される復号化は、低解像度のビデオを復号化すること、及び改良データを用いた動作を行わないことを含んでもよい。本発明の代替的な実施形態では、高解像度のハードウェア上で実行される復号化は、低解像度のビデオ及び改良データを復号化すること、並びに再構築された高解像度のビデオをもたらすために改良データを生成した比較の逆を実行することを含んでもよい。逆比較は、GPU又はCPUのいずれかの上で実行されてもよい。データをアップサンプリングすることは、エッジ改良情報を生成するために使用されたアルゴリズムに従ってバイリニア又はバイキュービックを使用してもよい。

0024

本発明の代替的な実施形態では、2つのデコーダが利用される。第1のデコーダは、低解像度のビデオを復号化してもよく、第2のデコーダは、エッジ改良データを復号化してもよい。特定の実施形態では、ハードウェアデコーダがビデオについて使用されてもよく、ソフトウェアデコーダが改良データについて使用されてもよい。代替的な実施形態では、ソフトウェアデコーダの2つのインスタンス又は2つのハードウェアデコーダが任意選択で利用されてもよい。更に、特定の代替的な実施形態は、音声データに関して上記説明された符号化/復号化処理、方法、及びデバイスを適用してもよい。

0025

他の代替的な実施形態では、1つのデコーダのみが利用されてもよい。そのようなケースでは、1つのエンコーダのみにより符号化が実施されてもよく、改良データは、符号化されたベースビデオデータと同一のビットストリームに符号化されてもよい。符号化されたベースビデオデータは、改良データを含むいずれのフレームも参照せず、改良データを完全に復号化することなく独立して復号化されてもよい。例として、スライスヘッダは、データがベースビデオ又は改良ビデオに対応して復号化されるかどうか、及び改良データが必要とされるかどうかを判定するために使用されてもよく、復号化の残りは、そのフレームに対してスキップされてもよい。より低出力のハードウェアでは、ベースビデオピクチャのみが復号化される。より高出力のハードウェアでは、全てのフレームが復号化され、最後の高解像度のフレームが復号化されたベースビデオ及び改良データから再構築される。

0026

上記説明された処理、方法、及びデバイスは代わりに、高解像度のビデオをダウンサンプリングすること、及び対応するエッジ改良データを用いてダウンサンプリングされたビデオを記憶することが高解像度のビデオを単純に記憶することよりも少ない記憶空間を必要とすることがあるので、記憶のために高解像度のビデオを圧縮するために使用されてもよい。

0027

特定の実装態様では、エッジ改良アルゴリズムは、いずれかのフレームが高解像度(例えば、4K解像度)において送信されるのに十分な詳細を有するかどうかを判定するために使用されてもよく、そうである場合、フレームは、ダウンサンプリングすることなく高解像度において符号化されてもよい。例として、及び限定することなく、フレームが高解像度において送信されるのに十分な詳細を有するかどうかを判定することは、いくつかの参照値、例えば、128に等しくない画素の合計数の分散又はカウントなどの測定基準を使用してもよく、改良情報が重要であるかどうかを判定するために経験によるデータから確立された閾値を使用してもよい。フレームが4K解像度において送信されるのに十分な詳細を有しないと判定される場合、フレームは、より低解像度(例えば、1080P)にダウンサンプリングされてもよく、より低解像度のデータを含むフレームのセクションを示すパラメータと共に、均一な色度及び輝度値、例えば、薄いグレーの画素によって囲まれる低解像度の画素を含む再構築されたフレームとして符号化されてもよい。デコーダ側では、それらの再構築されたフレームは、ダウンスケールされたフレームを抽出するためにパラメータを使用し、次いで、抽出されたダウンスケールされたフレームをアップサンプリングすることによって復号化されてもよい。代わりに、高解像度(例えば、4K解像度)においてフレームを送信することが不十分であると判定される場合、フレームは、より低解像度(例えば、1080P)にダウンスケールされてもよく、その後、改良情報の生成、並びにベースフレーム及び改良情報の符号化が続く。そのような実装態様では、デコーダは、低解像度のフレームをアップサンプリングすることができ、改良情報とそれらを組み合わせることができ、4Kフレームを通常に扱うことができる。いくつかのフレームを低解像度として選択的に送信することによって、それらの実施形態は、ビットストリームサイズを削減することが可能である。

0028

本開示の態様に従ってエッジ改良を伴うアップサンプリングを説明する前に、デジタルピクチャ、例えば、ビデオピクチャがストリーミングアプリケーションのためにどのように符号化されるかを理解することが有益である。更に、ピクチャ又はピクチャの一部が符号化される方式が、それがどのように復号化されるかに影響を与えるので、符号化されたストリーミングデジタルピクチャデータがどのように復号化されるかを理解することが有益である。

0029

例として、及び限定することなく、図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配置を含んでもよい。

0030

各々のピクチャは、フレーム又はフィールドのいずれかであってもよいことに留意されたい。フレームは、完全な画像を指す。フィールドは、特定のタイプのディスプレイデバイス上で画像を表示することを促進するために使用される画像の一部である。概して、画像内の画素は、行をなして配置される。表示を促進するために、画像は時に、2つの異なるフィールドに画素を交互に置くことによって分割されることがある。2つのフィールド内の画素の行は次いで、完全な画像を形成するように織り交ざってもよい。陰極線管(CRT)ディスプレイなどのいくつかのディスプレイデバイスについて、2つのフィールドは単純に、高速に連続して相互に表示されてもよい。蛍光体、又はディスプレイに画素を照明するために使用される他の発光素子残光は、残像と組み合わされて、2つのフィールドを連続した画像として認知する結果を生じる。液晶ディスプレイなど特定のディスプレイデバイスについて、表示される前に単一のピクチャに2つのフィールドをインタレースする必要があることがある。符号化された画像を表すストリーミングデータは典型的には、画像がフィールド又はフレームであるかどうかを示す情報を含む。そのような情報は、画像へのヘッダに含まれてもよい。

0031

MPEG2、MPEG4、及びH.264などの最新ビデオコーダ/デコーダ(コーデック)は概して、典型的には、Iフレーム、Pフレーム、及びBフレームとそれぞれ称される、イントラフレーム予測フレーム、及び両方向予測フレームとして知られる3つの基本的なタイプのうちの1つとしてビデオフレームを符号化する。

0032

Iフレームは、それ自体を除くいずれのピクチャも参照することなくコーディングされたピクチャである。Iフレームは、ランダムアクセスのために使用され、他のPフレーム又はBフレームの復号化のための参照として使用される。Iフレームは、ランダムアクセスポイント(デコーダが所与のピクチャ位置においてスクラッチから適切に復号化を開始することを可能にするための)を生じさせるためにエンコーダによって生成されてもよい。Iフレームは、画像の詳細を区別することが、有効なPフレーム又はBフレームの生成を禁止するときに、生成されてもよい。Iフレームが完全なピクチャを含むことを理由に、Iフレームは典型的には、Pフレーム又はBフレームよりも符号化するために多くのビットを必要とする。ビデオフレームは、入力ビデオ内でシーンの変更が検出されるときにIフレームとしてとして符号化されることが多い。

0033

Pフレームは、復号化されるためにいくつかの他のピクチャ(複数可)の先行する復号化を必要とする。Pフレームは典型的には、Iフレームよりも符号化のために少ないビットを必要とする。Pフレームは、復号化順序において前のIフレームに対する差に関する符号化された情報を含む。Pフレームは典型的には、グループオブピクチャ(GoP)内の先行するIフレームを参照する。Pフレームは、画像データの変位及び動きベクトルの変位の両方、並びに2つの組み合わせを含んでもよい。いくつかの標準コーデック(MPEG−2など)では、Pフレームは、前に復号化された1つのピクチャのみを復号化の間の参照として使用し、そのピクチャが表示順序においてPフレームに先行することも必要とする。H.264では、Pフレームは、前に復号化された複数のピクチャを復号化の間の参照として使用することができ、その予測のために使用されるピクチャ(複数可)に対するいずれかの任意の表示順序関係を有することができる。

0034

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フレームのいずれかよりも符号化のために少ないビットを必要とする。

0035

本明細書で使用されるように、用語Iフレーム、Bフレーム、及びPフレームは、例えば、ストリーミングビデオのコンテキストに関して上記説明されたように、Iフレーム、Bフレーム、及びPフレームに対して同様の特性を有するストリーミングデータ単位に適用されてもよい。

0036

例として、及び限定することなく、符号化されたベースフレーム及び符号化された改良データを含む共通ビットストリームは、図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フレームの全てが非参照フレームである。

0037

代替的な構成(図示せず)では、Iフレーム0、13のみがベースフレームデータに対応し、Pフレーム1、5、9及びBフレーム2、3、4,6、7、8、10、11、12、14、15、16が改良データに対応する。そのような実装態様では、Pフレームは、Bフレームについての参照フレームとして使用されてもよい。

0038

図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の復号化に影響を与えることなくスキップされてもよい。

0039

例として、及び限定することなく、デジタルピクチャは、図2Cに例示される一般化された方法200に従って符号化されてもよい。エンコーダは、複数のデジタル画像201を受信し、各々の画像を復号化する。デジタルピクチャ201の符号化は、セクション単位で続行してもよい。セクションごとの符号化処理は任意選択で、パディング202、画像圧縮204、及び動き補償206を含んでもよい。イントラコーディングされたピクチャ及びインターコーディングされたピクチャの両方についての共通の処理フローを促進するために、現在処理しているピクチャ201内の全ての復号化されていない画素は、202において示されるように、パディングされたピクチャを作成するために、一時的画素値によりパディングされてもよい。パディングは、例えば、参照により本明細書に組み込まれる、米国特許第8,711,933号において上述したように続行してもよい。パディングされたピクチャは、バッファに記憶された参照ピクチャリスト203に追加されてもよい。202においてピクチャをパディングすることは、画像圧縮204及び動き補償206の間の後続の処理において参照ピクチャとして現在処理しているピクチャを使用することを促進する。そのようなパディングは、参照により本明細書に組み込まれる、譲受人が共通である米国特許第8,218,641号において詳細に説明されている。

0040

本明細書で使用されるように、画像圧縮は、デジタル画像へのデータ圧縮アプリケーションを指す。画像圧縮204の目的は、圧縮されたデータの効率的な形式でその画像についてのデータを記憶又は伝送することを可能にするために、所与の画像201についての画像データの冗長性を削減することである。画像圧縮204は、不可逆又は可逆であってもよい。可逆圧縮は、製図アイコン、又はコミックなど人工的画像について好ましい場合がある。これは、不可逆圧縮方法が、特に低いビットレートにおいて使用されるとき、圧縮アーチファクトを導入するからである。可逆圧縮方法はまた、医療画像又は保存を目的として行われる画像スキャンなど、高い値のコンテンツについて好ましい場合がある。不可逆方法は特に、忠実性のわずかな(時に、感知できない)損失がビットレートにおける十分な減少を達成するために許容可能であるアプリケーションにおける写真などの自然画像に適している。

0041

可逆画像圧縮のための方法の例は、PCXにおけるデフォルトの方法として、及びBMP、TGA、TIFFエントロピーコーディングにおいて可能な1つとして使用されるランレングス符号化GIF及びTIFFにおいて使用されるLZWなどのアダプティブディクショナリアルゴリズム、並びにPNG、MNG、及びTIFFにおいて使用されるデフレーションを含むが、それらに限定されない。不可逆圧縮のための方法の例は、ピクチャ201の色空間を画像内の最も共通した色に削減すること、色度サブサンプリング、変換コーディング、及びフラクタル圧縮を含む。

0042

色空間削減では、選択された色は、圧縮された画像のヘッダ内の色パレットにおいて指定されてもよい。各々の画素はまさに、色パレット内の色インデックスを参照する。この方法は、ポスタリゼーションを回避するためにディザリングと組み合わされてもよい。色度サブサンプリングは、画像内の色度情報の半分以上をドロップさせることによって、目が色よりも鮮明に明度を感知する事実を利用する。変換コーディングはおそらく、最も一般的に使用される画像圧縮方法である。変換コーディングは典型的には、量子化及びエントロピーコーディングがそれに続く、離散コサイン変換(DCT)又はウェーブレット変換などのフーリエ関連変換を適用する。フラクタル圧縮は、特定の画像内で、画像の一部が同一の画像の他の部分に類似する事実に依存する。フラクタルアルゴリズムは、それらの部分、又はより正確には幾何学的形状を、符号化された画像を再作成するために使用される「フラクタルコード」と称される数学的データに変換する。

0043

画像圧縮204は、画像201の特定の部分が他よりも高い品質により符号化される関心の領域のコーディングを含んでもよい。これは、画像の特定の部分を最初に符号化し、後に他の部分を符号化することを含む、スケーラビリティと組み合わされてもよい。圧縮されたデータは、画像を分類、探索、又は閲覧するために使用することができる画像に関する情報(メタ情報又はメタデータと称される場合がある)を含むことができる。そのような情報は、色及びテクスチャ統計、小さいプレビュー画像、及び著者著作権情報を含むことができる。

0044

例として、及び限定することなく、204における画像圧縮の間、エンコーダは、画素のブロックを圧縮するための最良の方法を探索してもよい。エンコーダは、良好な一致のために、現在パディングされているピクチャを含む、参照ピクチャリスト203内の参照ピクチャの全てを探索することができる。カレントピクチャ(又は、サブセクション)がイントラピクチャ(又は、サブセクション)としてコーディングされる場合、パディングされたピクチャのみが参照リストにおいて利用可能である。204における画像圧縮は、動きベクトルMVを作成し、206における動き補償の間に参照ピクチャ(パディングされたピクチャを含む)のうちの1つ以上と共に続いて使用される係数207を変換する。

0045

画像圧縮204は概して、最良のインター予測一致のための動き探索MS、最良のイントラ予測一致のためのイントラ探索IS、カレントマクロブロックがインターコーディング又はイントラインターコーディングされているかどうかを決定するためのインター/イントラ比較C、可逆的残差画素205を計算するために最良に一致して予測された画素と共に符号化されているセクションからの元の入力画素の減算Sを含む。残差画素は次いで、変換係数207を作成するために変換及び量子化XQを受ける。変換は典型的には、離散コサイン変換(DCT)などのフーリエ変換に基づいている。

0046

変換は、係数のセットを出力し、係数の各々は、標準の基本的パターンについての重み値である。組み合わされるとき、重み付けられた基本的パターンは、残差サンプルのブロックを再作成する。変換の出力、変換係数のブロックは量子化され、すなわち、各々の係数は、整数値により分割される。量子化は、量子化パラメータ(QP)に従って変換係数の精度を減少させる。典型的には、結果は、係数のほとんど又は全てが、いくつかの非ゼロ係数がある状態でゼロであるブロックである。高い値にQPを設定することは、ゼロに設定される係数が多いほど、復号化された画像の不良な品質を犠牲にして高い圧縮をもたらすことを意味する。低いQP値について、量子化の後に残る非ゼロ係数が多いほど、より良好な復号化された画像品質であるが、より低い圧縮をもたらす。逆に、高いQP値について、量子化の後に残る非ゼロ係数が少ないほど、より高い画像圧縮であるが、より低い画像品質をもたらす。

0047

モード決定とも称されるインター/イントラ比較Cは、QPに関連するラグランジュ乗数λとして知られるパラメータを使用する。基本的には、コスト関数Jは、QPの値から判定されたλの値を使用して計算される。符号化モードは、インターモードコーディングについての計算されたコスト関数Jがイントラモードコーディングについての計算されたコストを上回り又は下回るかどうかに基づいて判定される。例として、H.264/AVCコーデックは、セクションのオーバーヘッド(例えば、動きベクトル、タイプ)を符号化するための実ビット消費R及び再構築歪み(例えば、元のセクションと再構築されたセクションとの間の絶対的差の和、SADとして測定された)を計算することによって最小化される必要がある、コスト関数JHをサポートする。そのようなケースでは、コスト関数JHは、
JH=D+λ・R
に従って計算される。

0048

代替的な実施態様では、歪みDは、異なって計算されてもよい。歪み、例えば、二乗した差の和(SSD)、絶対的な変換された差の和(SATD)、及び平均絶対差(MAD)などを表す多くの方法が存在する。当業者は、異なる歪み測定について、コスト関数がそれに従って修正又は再調整される必要があることを認識するであろう。

0049

いくつかの状況の下、適切でない符号化モード決定は、不必要なIDR又はIフレーム挿入トリガすることができる。オンラインビデオゲーミングの間のストリーミングビデオの例を考える。エンコーダは、ゲームアプリケーションによって生成されたビデオストリームについてのターゲットビットレートを満たすことを試みる。ターゲットビットレートは、フレームごとのビットの数に関連する。ゲームが中断される場合、ビデオは必然的に、静止フレームのストリームである。静止フレームについて、QPは、レート歪み最適化処理におけるフレームについてのターゲットビットを満たすために低い。QPが低いとき、モード決定は、静止フレーム内のほとんどのセクション(例えば、マクロブロック)についてのイントラコーディングを選択する。フレーム内のイントラコーディングされたセクションの数が閾値を上回る場合、コーデックは、シーン変更検出をトリガし、次のフレームが極端に低いQPによりイントラフレームとしてコーディングされ、それは、符号化するために多数のビットを必要とする。これは、極端に低いQPの値(例えば、QP=1、2)がこのケースにおけるほぼ可逆のコーディングを意味する事実に起因している。例として、及び限定することなく、シーン変更検出をトリガするための閾値は、フレーム内の約60〜80%のイントラMBであってもよい。静止フレームのシーケンスは、基本的には同一のフレームが繰り返されるときでさえ、シーン変更検出のシーケンスを引き起こす。イントラフレームのシーケンスは、帯域幅が制限された通信チャネルにおいてビットレート使用率の大きな且つ頻繁なスパイクを引き起こすことがある。

0050

通常、λとQPとの関係は、コーデックによって固定され、全てのピクチャに対して同一である。本開示の態様に従って、λとQPとの関係は、ピクチャ内のセクションごとのビットの数に応じて、ピクチャごとに調節されてもよい。

0051

本開示の態様に従って、λとQPとの関係は、セクションごとにビットの数に基づいて適合されてもよく、それによって、符号化モード決定は、不必要なIDR又はIフレーム挿入の可能性を減少させる方法で構成されてもよい。

0052

本開示の態様に従って、λとQPとの関係は、セクション符号化モード決定が「イントラ」コーディングモードの代わりに「インター」コーディング決定をもたらす可能性を高める方法で、符号化の間、例えば、ビデオストリームの符号化の開始又はストリーム内の各々のビデオフレームの開始において選択的に調節されてもよい。

0053

いくつかの実装態様では、例えば、H.265において可能なように、フレーム内に異なるサイズのセクションが存在する場合、セクションごとのλ対QP関係を変更することが更に可能である。これは、第1のパスがピクチャセクションのコンテンツに関する更なる洞察を提供し、それによって、より良好なコーディングモード決定を行うことができるので、例えば、2つのパス符号化のユースケースにおいて有益である。

0054

例として、及び限定することなく、λとQPとの関係への調節は、セクション内のビットの数(NBS)に依存することがあり、それは概して、ターゲットビットレート(例えば、1秒ごとのビット内の)、フレームレート(例えば、1秒ごとのフレーム内の)、及びフレーム内のセクションの数に依存する。セクション内のビットの数NBSは、ターゲットビットレートBRを、フレームレートFRとフレームごとのセクションの数NSFとの積によって除算することによって計算されてもよい。例として、及び限定することなく、これは、
NBS=BR/(FR・NSF)
として表現されてもよい。

0055

より一般的には、セクションごとのビットの数(NBS)は、NBS=(BPF)/(NSF)として広義に表現されてもよく、BPFは、フレームごとのビットのターゲット数である。

0056

この広義の表現は、例えば、内在するレート制御スキームによって割り当てられたターゲットビットに応じて、NBSの値がフレームごとに異なる可能性を可能にする。フレームごとのビットの固定されたターゲット数のケースでは、BPFはBR/FRになる。

0057

フレームごとのセクションの数(例えば、MB)は、解像度に依存する。テーブルへの変更は、解像度、フレームレート、及びビットレートの組み合わせによってトリガされてもよい。例えば、テーブルの変更は、960×540の解像度、30フレーム/秒のフレームレート、及び8〜10メガビット/秒又はそれよりも高いターゲットレートを有するフレームについてトリガされる。所与のビットレート及び解像度について、テーブルの変更は、解像度が増加する場合にトリガされる可能性は低い。所与のビットレート及び解像度について、テーブルの変更は、フレームレートが増加する場合にトリガされる可能性は低い。所与のフレームレート及び解像度について、テーブルの変更は、ビットレートが減少する場合にトリガされる可能性は低い。

0058

λとQPとの関係は典型的には、非線形である。概して、QPが高いときはλが高く、QPが低いときはλが低い。λとQPとの関係の例は、その全体の内容が参照により本明細書に組み込まれた、2014年9月22日に出願され、米国特許出願公開公報第2016/0088299号として公開された米国特許出願第14/493,238号(代理人整理番号SCEA14017US00)において説明される。

0059

QP値は、ターゲットビットレートに応じて調節されてもよい。QPが符号化においてビット使用率を制御するので、多くの符号化プログラムは、所望のビットレートを達成するためにQPを調節するレートコントローラを利用する。エンコーダは、圧縮されていないソースデータ(例えば、入力ビデオ)を受信し、圧縮された出力を作成する。ビデオコーディング方法は典型的には、ビデオセクションを符号化するためのビット使用率に影響を与え、したがって、ビットレートに影響を与えるQP値を使用する。概して、より低いビット使用率は、より高いビットレートをもたらす。レートコントローラは、外部アプリケーションによって指定することができる要求されたビットレートに基づいてQP値を判定する。エンコーダは、レートコントローラによって判定されたQP値を使用し、実際の結果として生じるビット使用率及びビットレートを判定する。レートコントローラは、フィードバックループにおいてQP値を調節するために実ビットレートを使用することができる。

0060

ビットレートのQPの値との間の関係は、存在する画像の複雑度に部分的に依存する。ビットレート対QPの関係は、異なるレベルの複雑度についての異なる曲線を有する曲線のセットに関して表現されてもよい。レートコントローラによって実施されるアルゴリズムの核心は、QP、実ビットレート、及び複雑度のいくつかの測定値の間の関係を記述した量的モデルである。関連するビットレート及び複雑度は概して、ソース画素と予測された画素との間の差(残差と称されることが多い)のみと関連付けられ、なぜならば、量子化パラメータQPが、変換された残差で搬送された情報の詳細のみに影響を与えることがあるからである。

0061

複雑度は概して、ピクチャ又はピクチャの部分内の空間的変動の量を指す。局所的レベルで、例えば、ブロック又はマクロブロックレベルで、空間的変動は、関連するセクション内の画素値の分散によって測定されてもよい。しかしながら、ビデオシーケンスについて、複雑度はまた、画像のシーケンスのシーンの時間的変動に関連することがある。例えば、ビデオシーケンスは、ビューのフィールドにわたって低速に転換する実質的な空間的変動を有する1つのオブジェクトから構成され、時間的予測が単一の参照ピクチャ及び一連の動きベクトルを使用して動きを容易に捕捉することができることを理由に、あまり多くのビットを必要としないことがある。計算することが容易でもある包括的なビデオ複雑度測定基準を定義することは困難であるが、予測誤差(ソース画素値と予測された画素値との間の差)の平均差(MAD)がこの目的で使用されることが多い。

0062

量子化パラメータQPは、ソースピクチャピクチャタイプ、ソースピクチャの複雑度、ビットの推定されたターゲット数、及び内在するレート歪みモデルを含むが、それらに限定されない複数の因子から判定されてもよいことに留意されたい。例えば、QPは、現在符号化しているピクチャのセクションについての変動、例えば、セクション(例えば、MB)分散を使用してセクションごとに判定されてもよい。代わりに、現在符号化しているセクションについてのQPは、前のフレーム内の同一位置にあるセクション(例えば、MB)を符号化するための実ビットカウントを使用して判定されてもよい。そのようなQPレベルの計算の例は、例えば、参照により本明細書に組み込まれる、譲受人が共通である米国特許出願公開第2011/0051806号、今は、Hung−Ju Leeへの特許第8,879,623号において説明される。

0063

動き探索及び予測は、符号化されているピクチャのタイプに依存する。図2Cを再度参照して、イントラピクチャがコーディングされる場合、動き探索MS及びインター/イントラ比較Cがターンオフされる。しかしながら、本発明の実施形態では、パディングされたピクチャが参照として利用可能であるので、それらの機能はターンオフされない。その結果として、画像圧縮204は、イントラコーディングされたピクチャ及びインターコーディングされたピクチャに対して同一である。

0064

動き探索MSは、インターコーディングされたピクチャについて通常行われるように、動き補償についての最良に一致するブロック又はマクロブロックについてピクチャ201を探索することによって、動きベクトルMVを生成してもよい。カレントピクチャ201がイントラコーディングされたピクチャである場合、その一方で、既存のコーデックは典型的には、ピクチャにわたる予測を可能にしない。代わりに、全ての動き補償は通常、イントラピクチャ(例えば、Iフレーム)、及び変換係数を生成し、画素予測を実行することによってコーディングされたピクチャに対してターンオフされる。しかしながら、いくつかの実装態様では、イントラピクチャは、カレントピクチャ内のセクションをその同一のピクチャ内の別のオフセットされたセクションに一致させることによってインター予測を行うために使用されてもよい。2つのセクションの間のオフセットは、206において動き補償のために使用することができる動きベクトルMV’としてコーディングされてもよい。例として、エンコーダは、イントラピクチャ内のブロック又はマクロブロックを同一のピクチャ内のいくつかの他のオフセットされたセクションと一致させ、次いで、2つの間のオフセットを動きベクトルとしてコーディングすることを試みてもよい。「インター」ピクチャについてのコーデックの通常の動きベクトル補償は次いで、「イントラ」ピクチャに対する動きベクトル補償を行うために使用されてもよい。特定の既存のコーデックは、2つのブロック又はマクロブロックの間のオフセットを動きベクトルに変換することができ、その後、206において動き補償を行うことが続くことができる機能を有する。しかしながら、それらの機能は従来から、イントラピクチャの符号化のためにターンオフされる。本発明の実施形態では、コーデックは、イントラピクチャの符号化のためにそのような「インター」ピクチャ機能をターンオフしないように命令されてもよい。

0065

本明細書で使用されるように、動き補償は、現在処理している画像への参照画像の変換に関してピクチャを記述するための技術を指す。概して、動き補償206は、符号化処理200を実施するエンコーダ内で局所的デコーダとしての役目を果たす。特に、動き補償206は、動きベクトルMV又はMV’を使用して画像圧縮204から予測された画素PPを取得し、参照リスト内のピクチャから参照画素を取得するためのインター予測IP1及び(任意選択で)イントラ予測IP2を含む。画像圧縮204からの変換係数207を使用した逆量子化及び逆変換IQXは、復号化された画素209を生成するために予測された画素PPに追加される不可逆残差画素205Lを作成する。復号化された画素209は、参照ピクチャに挿入され、現在処理しているピクチャ201の後続のセクションについての画像圧縮204及び動き補償206において使用するために利用可能である。復号化された画素が挿入された後、参照ピクチャ内の復号化されていない画素がパディング202を受けてもよい。

0066

いくつかのエンコーダの実装態様では、カレントピクチャがイントラコーディングされる場合、動き補償のために使用することができる他のピクチャが存在しないことを理由に、動き補償206のインター予測部はターンオフされる。代わりに、動き補償は、特定のピクチャがインターコーディング又はイントラインターコーディングされるかどうかに関わらず、いずれかのピクチャ201に対して実行されてもよい。いくつかの実装態様では、実施しているエンコーダは、参照ピクチャリスト203にパディングされたピクチャを追加するように修正されてもよく、動き補償206のインター予測部は、現在処理している画像がイントラコーディングされる場合でさえターンオフされない。結果として、インターコーディングされたセクション及びイントラコーディングされたセクションの両方についての処理フローは、動き補償206の間は同一である。唯一の大きな差は、符号化のために使用される参照ピクチャの選択である。いくつかの実装態様では、動き補償が全てのピクチャに対して実行される必要はなく、パディングされたピクチャが参照ピクチャリストに追加される必要はないことに留意されたい。

0067

例として、及び限定することなく、ブロック動き補償(BMC)として知られる1つのタイプの動き補償では、各々の画像は、画素のブロック(例えば、16×16画素のマクロブロック)に区分化されてもよい。各々のブロックは、参照フレーム内の等しいサイズのブロックから予測される。ブロックは、予測されたブロックの位置にシフトされることを除き変換されない。このシフトは、動きベクトルMVによって表される。隣接するブロックベクトルの間の冗長性を利用するために(例えば、複数のブロックによってカバーされる単一の動いているオブジェクトについての)、ビットストリーム内カレント動きベクトルと前の動きベクトルとの間の差のみを符号化することが一般的である。この差分処理の結果は、パニングすることが可能な全体的な動き補償と数学的に等しい。更に下の符号化パイプラインでは、方法200は任意選択で、ゼロベクトル周りの動きベクトルの結果として生じる統計的分布を利用して出力サイズを削減するために、エントロピーコーディング208を使用してもよい。

0068

サブ画素精度と称される、非整数の画素によってブロックをシフトさせることが可能である。中間の画素は、隣接する画素を補間することによって生成される。一般的に、2分の1画素又は4分の1画素精度が使用される。サブ画素精度の計算による費用は、補間に必要とされる追加の処理に起因してはるかに高く、エンコーダ側では、評価される潜在的なソースブロックの数がはるかに多い。

0069

ブロック動き補償は、重なっていないブロックに現在符号化している画像を分割し、それらのブロックが参照画像から来ることを示す動き補償ベクトルを計算する。参照ブロックは典型的には、ソースフレーム内で重なる。いくつかのビデオ圧縮アルゴリズムは、参照画像リスト203内のいくつかの異なる参照画像の一部からのカレント画像を組み立てる。

0070

画像圧縮204及び動き補償206、並びに(任意選択で)エントロピーコーディング208の結果は、コーディングされたピクチャとして便宜上参照されるデータ211のセットである。動きベクトルMV(及び/又は、イントラ予測モード動きベクトルMV’)、並びに変換係数207は、コーディングされたピクチャ211に含まれてもよい。デジタルピクチャ又は他の形式のストリーミングデータが符号化されると、符号化されたデータは、伝送され、次いで、復号化されてもよい。

0071

図3は、本開示の態様と共に使用することができるストリーミングデータ301の復号化のための方法300における可能な処理フローの例を例示する。この特定の例は、例えば、AVC(H.264)標準を使用したビデオ復号化のための処理フローを示す。コーディングされたストリーミングデータ301は最初に、バッファに記憶されてもよい。コーディングされたストリーミングデータ301(例えば、ビデオデータビットストリーム)がネットワーク、例えば、インターネットを通じて転送されている場合、データ301は最初に、302において示されるように、ネットワーク抽出層NAL)復号化と称される処理を受けてもよい。ネットワーク抽出層(NAL)は、H.264/AVC及びHEVCビデオコーディング標準など、ストリーミングデータ標準の一部である。NALの主要な目標は、「会話型」(例えば、ビデオ電話)及び「非会話型」(例えば、記憶、ブロードキャスト、又はストリーミング)アプリケーションについてのストリーミングデータの「ネットワークフレンドリーな」表現のプロビジョニングである。NAL復号化は、データ301から、データを伝送することを支援するために追加される情報を取り除いてもよい。「ネットワークラッパ」と称されるそのような情報は、ビデオデータとしてデータ201を識別することができ、又はビットストリームの開始若しくは終了、データの調整のためのビット、及び/又はビデオデータ自体に関するメタデータを示すことができる。

0072

加えて、例として、ネットワークラッパは、例えば、解像度、ピクチャ表示フォーマット、データを表示するための色パレット変換マトリックス、各々のピクチャ、スライス、又はマクロブロック内のビットの数に関する情報と共に、より低いレベルの復号化に使用される情報、例えば、スライスの開始又は終了を示すデータを含むデータ301に関する情報を含んでもよい。この情報は、単一のセクション内のタスクグループの各々に渡すマクロブロックの数を判定するために使用されてもよい。その複雑度に起因して、NAL復号化は典型的には、ピクチャ及びスライスレベルに対して行われる。NAL復号化のために使用される最小のNALバッファは通常、サイズ変更されたスライスである。図3に例示される例は、マクロブロック及びAVC(H.265)標準に関して説明される。しかしながら、それらは、本開示の態様の特徴を限定しない。例えば、最新のH265(HEVC)標準では、マクロブロックの概念が存在しない。代わりに、より柔軟なコーディングユニット(CU)、予測ユニット(PU)、変換ユニット(TU)の概念が導入される。本開示の態様は、そのようなコーディング標準と共に機能してもよい。

0073

いくつかの実施形態では、302におけるNAL復号化の後、図3に例示される残りの復号化は、ビデオコーディングされた層(VCL)復号化304、動きベクトル(MV)再構築310、及びピクチャ再構築314と本明細書で称される3つの異なるスレッドグループ又はタスクグループにおいて実施されてもよい。ピクチャ再構築タスクグループ214は、画素予測及び再構築316、並びに事後処理320を含んでもよい。本発明のいくつかの実施形態では、それらのタスクグループは、データ依存性に基づいて選択されてもよく、それによって、各々のタスクグループは、マクロブロックが後続の処理のために次のタスクグループに送信される前に、ピクチャ(例えば、フレーム又はフィールド)又はセクション内の全てのマクロブロックのその処理を完了することができる。

0074

特定のコーディング標準は、空間ドメインから周波数ドメインへの画素情報の変換を含むデータ圧縮の形式を使用してもよい。とりわけ、1つのそのような変換は、離散コサイン変換(DCT)として知られる。そのような圧縮されたデータについての復号化処理は、周波数ドメインから再度空間ドメインへの逆変換を含む。DCTを使用して圧縮されたデータのケースでは、逆処理は、逆離散コサイン変換(IDCT)として知られる。変換されたデータは、離散変換されたデータ内の数を表すために使用されるビットの数を削減するように量子化されることがある。例えば、数1、2、3は全て、2にマッピングされてもよく、数4、5、6は全て、5にマッピングされてもよい。データを解凍するために、逆量子化(IQ)として知られる処理は、周波数ドメインから空間ドメインへの逆変換を実行する前に使用される。VCL IQ/IDCT復号化処理304についてのデータ依存性は典型的には、同一のスライス内のマクロブロックについてのマクロブロックレベルにある。その結果として、VCL復号化処理304によって生じる結果は、マクロブロックレベルにおいてバッファされてもよい。

0075

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)コーディングされたビットストリームを復号化するデバイスに対して課題を提示することがある。この理由により、多くのシステムは、ハードウェアデコーダ加速器を使用する。

0076

エントロピー復号化306に加えて、VCL復号化処理304は、308において示されるように、逆量子化(IQ)及び/又は逆離散コサイン変換(IDCT)を含んでもよい。それらの処理は、マクロブロックからヘッダ309及びデータを復号化してもよい。復号化されたヘッダ309は、隣接するマクロブロックのVCL復号化を支援するために使用されてもよい。

0077

VCL復号化304は、マクロブロックレベルのデータ依存周波数において実施されてもよい。特に、同一のスライス内の異なるマクロブロックは、VCL復号化を並列に受けてもよく、結果は、更なる処理のために動きベクトル再構築タスクグループ210に送信されてもよい。

0078

その後、ピクチャ又はセクション内の全てのマクロブロックは、動きベクトル再構築310を受けてもよい。MV再構築処理310は、所与のマクロブロック311からのヘッダ及び同一位置にあるマクロブロックヘッダ313を使用した動きベクトル再構築312を含んでもよい。動きベクトルは、ピクチャ内の明白な動きを記述する。そのような動きベクトルは、前のピクチャの画素の知識及びピクチャからピクチャへのそれらの画素の相対的な動きに基づいて、ピクチャ(又は、それらの一部)の再構築を可能にする。動きベクトルが回復すると、画素は、VCL復号化処理304からの残差画素及びMV再構築処理310からの動きベクトルに基づいた処理を使用して、316において再構築されてもよい。MVについてのデータ依存周波数(及び、並列処理のレベル)は、MV再構築処理310が他のピクチャからの同一位置にあるマクロブロックを含むかどうかに依存する。他のピクチャからの同一位置にあるMBヘッダを含まないMV再構築について、MV再構築処理310は、スライスレベル又はピクチャレベルにおいて並列に実施されてもよい。同一位置にあるMBヘッダを含むMV再構築について、データ依存周波数は、ピクチャレベルにあり、MV再構築処理310は、スライスレベルにおける並列処理により実施されてもよい。

0079

動きベクトル再構築310の結果は、ピクチャ周波数レベルに対して並列化されてもよい、ピクチャ再構築タスクグループ314に送信される。ピクチャ再構築タスクグループ314内で、ピクチャ又はセクション内の全てのマクロブロックは、デブロッキング320と共に画素予測及び再構築316を受けてもよい。画素予測及び再構築タスク316並びにデブロッキングタスク320は、復号化の効率を高めるために並列化されてもよい。それらのタスクは、データ依存性に基づいてマクロブロックレベルにおいてピクチャ再構築タスクグループ314内で並列化されてもよい。例えば、画素予測及び再構築316は、1つのマクロブロックに対して実行されてもよく、デブロッキング320がそれに続いてもよい。デブロッキング320によって取得された復号化されたピクチャからの参照画素は、後続のマクロブロックに対して画素予測及び再構築316において使用されてもよい。画素予測及び再構築318は、後続のマクロブロックについての画素予測及び再構築処理318への入力として使用することができる隣接画素を含む復号化されたセクション319(例えば、復号化されたブロック又はマクロブロック)を作成する。画素予測及び再構築316についてのデータ依存性は、同一のスライス内のマクロブロックについてのマクロブロックレベルにおける或る程度の並列処理を可能にする。

0080

事後処理タスクグループ320は、ブロックコーディング技術が使用されるとき、ブロックの間で形成することができる鮮明なエッジを平滑化することによって視覚品質及び予測性能を改善するために、復号化されたセクション319内のブロックに適用されるデブロッキングフィルタ322を含んでもよい。デブロッキングフィルタ322は、結果として生じるデブロッキングされたセクション324の外観を改善するために使用されてもよい。

0081

復号化されたセクション319又はデブロッキングされたセクション324は、隣接するマクロブロックをデブロッキングする際に使用するための隣接する画素を提供することができる。加えて、現在復号化しているピクチャからのセクションを含む復号化されたセクション319は、後続のマクロブロックについての画素予測及び再構築318のための参照画素を提供することができる。それは、カレントピクチャ内からのその画素が任意選択で、ピクチャ(又は、それらのサブセクション)がインターコーディングされ又はイントラコーディングされているかどうかに関わらず、上記説明されたように、その同一のカレントピクチャ内で画素予測のために使用されてもよい段階の間である。デブロッキング320は、同一のピクチャ内のマクロブロックについてのマクロブロックレベルに対して並列化されてもよい。

0082

事後処理320の前に作成された復号化されたセクション319、及び事後処理されたセクション324は、同一のバッファ、例えば、含まれる特定のコーデックに依存した出力ピクチャバッファに記憶されてもよい。デブロッキングがH.264における事後処理フィルタであることに留意されたい。なぜならば、H.264は、隣接するマクロブロックイントラ予測のための参照としての事前デブロッキングマクロブロック及び後のピクチャマクロブロックインター予測のための事後デブロッキングマクロブロックを使用するからである。事前デブロッキング画素及び事後デブロッキング画素の両方が予測のために使用されることを理由に、デコーダ又はエンコーダは、事前デブロッキングマクロブロック及び事後デブロッキングマクロブロックの両方をバッファする必要がある。元も低いコスト消費者アプリケーションについて、事前デブロッキングされたピクチャ及び事後デブロッキングされたピクチャは、メモリ使用率を減少させるために同一のバッファを共有する。MPEG4 part10(注:H.264は、MPEG4 part10とも称される)を除くMPEG2又はMPEG4など、H.264よりも前の標準について、事前事後処理マクロブロック(例えば、事前デブロッキングマクロブロック)のみが他のマクロブロック予測のための参照として使用される。そのようなコーデックでは、事前にフィルタリングされたピクチャは、事後にフィルタリングされるピクチャと同一のバッファを共有しなくてもよい。

0083

よって、H.264について、画素復号化の後、復号化されたセクション319は、出力ピクチャバッファに保存される。後に、事後処理されたセクション324は、出力ピクチャバッファ内の復号化されたセクション319を置き換える。非H.264のケースについて、デコーダは、出力ピクチャバッファに復号化されたセクション319のみを保存する。事後処理は、表示時間において行われ、事後処理の出力は、デコーダ出力ピクチャバッファと同一のバッファを共有しなくてもよい。

0084

[エッジ改良を伴うアップサンプリング]
本開示の態様は、デジタルピクチャの符号化及び復号化において改良情報を用いたアップサンプリングを実施するための方法を提供する。例として、及び限定することなく、図4Aは、本開示の態様に従った、ビデオ及びエッジ改良ストリームを符号化する方法400を例示する。方法400は、高解像度のビデオ410を受信及び生成することによって開始する。高解像度のビデオ410は、412においてダウンサンプリングされてもよく、ベースビデオ413をもたらす。この高解像度のビデオ410から、及び、任意選択でベースビデオ413を使用して、改良情報415は、414において生成されてもよい。ベースビデオ413は次いで、符号化されてもよく、ベースデータ417をもたらす。ベースデータ417はその後、420において記憶又は伝送されてもよい。改良情報415は、418において符号化されてもよく、419において改良データに圧縮されてもよく、次いで、422において記憶又は伝送されてもよい。改良情報415がパックされる方法に応じて、ベースデータ417よりも改良データ419に多くのフレームが存在してもよく、又は逆もそうである。

0085

いくつかの実装態様では、412において高解像度のビデオをダウンサンプリングすることは、所与のフレーム又はフレーム(複数)に、高解像度のフレームとしてそれらを送信することを正当化するための十分な詳細が存在するかどうかを判定することを含んでもよく、そうでない場合、そのようなフレームは、所与のフレームよりも少ない画素を有する低い解像度のダウンサンプリングされたフレームにダウンサンプリングされた所与のフレームに対応する再構築されたフレームとして符号化されてもよい。再構築されたフレームは、再構築されたフレームのどのセクションが低解像度の画素を含むかを示すパラメータと共に、均一な画素値の画素によって囲まれたダウンサンプリングされたフレームのより低解像度の画素を含んでもよい。

0086

いくつかの実装態様では、エッジ改良情報415は、改良情報を生成することが減少したビット使用率に関して十分に有効であるかどうかを判定するために閾値と比較されてもよい。例として、高解像度のフレームを復号化することが可能なハードウェアによってフレームが復号化され、ダウンサンプリング及びエッジ改良によって得られたビットレートの節約が、それを行う計算コストを正当化するのにあまり十分でないことが知られる場合、フレームをダウンサンプリングし、エッジ改良情報を生成することは有効でない場合がある。エッジ改良情報を生成することが所与のフレームについて有効でない場合、そのフレームは、ダウンサンプリング及びエッジ改良情報を生成することなく、元の高解像度のフレームとして符号化されてもよい。

0087

例を目的として、ダウンサンプリング412及び改良情報生成414の例示的な単一の段階は、図4Aに示される。しかしながら、本開示の態様は、ベースデータ417及び改良データ419を生成するための、ダウンサンプリング及び改良情報生成の多段階を使用する実装態様を含む。例として、及び限定することなく、多段階ダウンサンプリングは、1つ以上の高解像度の入力フレームが2つ以上の段階においてより低解像度にダウンサンプリングされる直列スキームを含んでもよい。所与の段階において生成されたダウンサンプリングされたフレームは、次の段階についての入力フレームとしての役割を果たす。改良情報は、その段階についての入力フレームとその段階において生成されたダウンサンプリングされたフレームのアップサンプリングされたバージョンとの差から、ダウンサンプリングの各々の段階において生成されてもよい。最低解像度のフレーム又は直列の最後の段階において生成されたフレームは次いで、ベースデータ417のセットを作成するために符号化され、各々の段階において作成された改良情報は、改良データ419の複数のセットを生成するために符号化されてもよい。そのような直列スキームについての符号化は、複数のエンコーダ、例えば、最低解像度のフレームを符号化するための1つ以上のエンコーダ、及び直列の各々の段階において作成された改良情報を符号化するための別個の1つを有する2つ以上の追加のエンコーダにより実施されてもよい。ベースデータ419は次いで、高解像度の画像の後の復号化及び再生成のために伝送又は記憶されてもよい。ネットワーク帯域幅の制限は、ベースデータ417が復号化された後に、より高解像度のフレームを再生成するために、改良データのどのセット(ある場合)が後続の復号化のためにベースデータと共に送信されるかを判定してもよい。

0088

更なる特定の例として、4Kフレームは、4Kから1080Pにダウンサンプリングされてもよく、第1の段階の改良情報は、4Kにアップサンプリングされた1080Pフレームのバージョンと元の4Kフレームとの間の差から生成されてもよい。結果として生じる1080Pフレームは次いで、540Pにダウンサンプリングされてもよく、第2の段階の改良情報は、1080Pにアップサンプリングされた540Pフレームのバージョンと1080Pフレームとの間の差から生成されてもよい。540Pフレームは次いで、270Pにウンサンプリングされてもよく、第3の段階の改良情報は、540Pにアップサンプリングされた270Pフレームのバージョンと540Pフレームとの間の差から生成されてもよい。エンコーダは次いで、ベースデータを生成するために270Pフレームを符号化してもよく、改良データ419を生成するために第1の段階の改良情報、第2の段階の改良情報、及び第3の段階の改良情報を符号化してもよい。

0089

図4Bは、本開示の態様に従った、低出力のハードウェア上でビデオ及びエッジ改良ストリームを復号化する例示的な方法400Bを例示する。ベースデータ417及び圧縮された改良データ419は、424においてデコーダによって受信されてもよい。この例では、上記言及したベースデータ417及び改良データ419を受信するハードウェアは、低出力のハードウェアであり、高解像度のビデオを効果的に表示も出力もすることができない。したがって、改良ストリーム419は、426において無視されてもよい。ベースデータ417は次いで、428において復号化されてもよく、結果として生じる圧縮されていないベースビデオ413Bは次いで、430において記憶又は表示されてもよい。

0090

図4Cは、本開示の態様に従った、高出力のハードウェア上でビデオ及びエッジ改良ストリームを復号化する例示的な方法400Cを例示する。ベースデータ417及び圧縮された改良ストリーム419は、424においてデコーダによって受信されてもよい。この例では、ストリーム417及び419を受信するハードウェアは、高出力のハードウェアであり、したがって、高解像度のビデオを効果的に表示又は出力することが可能である。よって、ベースデータ417は、圧縮されていないベースビデオ413Bを提供するために428において復号化されてもよく、圧縮された改良ストリーム419は、圧縮されていない改良データ415’を提供するために430において復号化されてもよい。圧縮されていないベースビデオ413B及び圧縮されていない改良データ415’は次いで、高解像度の出力433を提供するために432において再構築されてもよい。この高解像度の出力は次いで、434において表示又は記憶されてもよい。

0091

上記述べたように、改良データ419は、フレームの複数の解像度を生成するための多段階の改良データを含んでもよい。デコーダは、複数のレベルの改良情報を生成するために、上記説明された直列スキームの逆の処理を使用してベースデータ419を復号化した後、より高解像度の出力433を再生成するために改良データ419のどのセットを復号化及び使用するかを判定してもよい。特に、復号化されたベースデータは、次のステップについての入力として使用されている階段の所与のステップにおけるアップサンプリングすること及び組み合わせることの結果を伴う階段方式において、2つ以上の段階においてアップサンプリングされてもよく、改良データと組み合わされてもよい。

0092

上記説明されたように、直列スキームを使用して符号化されたベースデータ417及び多段階の改良データ419を復号化することは、複数のデコーダ、例えば、ベースデータを復号化するための1つ以上のデコーダ、及び直列の各々の段階において作成された改良情報を復号化するための別個の1つを有する2つ以上の追加のデコーダにより実施されてもよい。

0093

更なる特定の例として、多段階符号化に関して上記説明されたケースを考える。ベースデータを復号化することは、270Pフレームを作成し、270Pフレームは、540Pフレームを生成するために、540Pにアップサンプリングされてもよく、第3の段階の改良情報と組み合わされてもよい。540Pフレームは、1080Pフレームを生成するために、アップサンプリングされてもよく、第2の段階の改良情報と組み合わされてもよい。1080Pフレームは、4Kフレームを生成するために、4Kにアップサンプリングされてもよく、第1の段階の改良情報と組み合わされてもよい。デコーダは、アップサンプリングすること及び組み合わせることを停止する段階を決定してもよい。

0094

いくつかの実装態様では、ベースデータ417は、所与のフレームよりも少ない画素を有する低い解像度のフレームにダウンサンプリングされた元の所与の高解像度のフレームに対応する符号化され再構築されたフレームを含んでもよい。再構築されたフレーム内の画素の数は、元の所与の高解像度のフレーム内の画素の数と同一であるが、再構築されたフレームの一部のみが、元の高解像度のフレームに対応する画素を含む。再構築されたフレームは、再構築されたフレームのどのセクションが低解像度の画素を含むかを示すコード特有のパラメータと共に、均一な画素値の画素によって囲まれたダウンサンプリングされたフレームのより低解像度の画素を含む。そのようなケースでは、428においてベースデータを復号化することは、符号化され再構築されたフレームからダウンスケールされたフレームの低解像度の画素を抽出するために、コーデック特有のパラメータを使用し、次いで、結果として生じる抽出されダウンスケールされたフレームをアップサンプリングすることによって、そのような再構築されたフレームを復号化することを含んでもよい。

0095

いくつかの実装態様では、データ417、419、例えば、ベースデータ417は、ダウンサンプリングしない元の高解像度のフレーム又は改良情報として符号化された1つ以上のフレームを含んでもよい。そのようなフレームは、元の高解像度のフレームについて通常行われるように復号化されてもよい。

0096

本開示の態様は、改良情報がフレーム全体について使用される実装態様に限定されない。いくつかの実装態様では、デコーダは、改良データ419のサブセットのみを復号化してもよい。結果として生じる改良情報は、ベースフレームをアップサンプリングすることから生じる高解像度のフレームの部分、例えば、「関心の領域」に対応する部分のみを改良するために使用されてもよい。本開示の範囲内にある別の代替的な実装態様では、デコーダは、改良データを完全に復号化してもよいが、再構築段階では、改良は、関心の領域についてのみ実行される。

0097

本開示の態様は、上記説明されたように、デジタルピクチャの符号化及び復号化においてエッジ改良を伴うアップサンプリングを実施するように構成されたシステムを含む。例として、及び限定することなく、図5は、本開示の態様を実施するために使用することができるコンピュータシステム500のブロック図を例示する。本開示の態様に従って、システム500は、組み込みシステム携帯電話パーソナルコンピュータタブレットコンピュータポータブルゲームデバイスワークステーション、及びゲームコンソールなどであってもよい。システム500は概して、プロセッサモジュール501及びメモリ502を含んでもよい。プロセッサモジュール501は、例えば、単一のコアデュアルコア、クアッドコア、プロセッサコプロセッサ、CPU−GPU、又はセルプロセッサアーキテクチャにある1つ以上のプロセッサコアを含んでもよい。

0098

メモリ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、いくつかの他の言語で書き込まれてもよい。

0099

入力又は出力された高解像度のフレーム507は、メモリ502に記憶されてもよい。メモリはまた、ピクチャの符号化の間に、又は複数のピクチャを符号化する過程で固定されたままであるλ対QPテーブルなど、フレームを符号化及び/又は復号化するための他の関連するパラメータを記憶してもよい。コーデック503の実行の間、プログラム504、506、プログラムコードの一部、ベースフレーム505A,改良情報505B、及び/又は高解像度のフレーム507は、プロセッサ501による処理のためにメモリ502又はプロセッサコアのローカルストアにロードされてもよい。例として、及び限定することなく、高解像度のフレーム507は、符号化若しくは復号化の前、又は符号化若しくは復号化の中間段階における入力フレーム(例えば、ビデオ又は音声フレーム)、又はそれらのセクションを含んでもよい。符号化のケースでは、入力された高解像度のフレーム507に対応するデータは、ストリーミングデータのバッファされた部分、例えば、符号化されていないフレーム又はそれらの一部を含んでもよい。復号化のケースでは、ベースデータ505A及び改良データ505Bは、復号化されていないセクション、復号化されているが、事後処理されていないセクション、及び復号化され、事後処理されたセクションの形式にある入力データを含んでもよい。そのような入力データは、1つ以上のデジタルピクチャの1つ以上のコーディングされたセクション、コーディングされたデジタル音声デジタルフレーム、又は他のコーディングされたストリーミングデータを表すデータを含むデータパケットを含んでもよい。例として、及び限定することなく、そのようなデータパケットは、変換係数のセット及び予測パラメータ部分セットを含んでもよい。それらの様々なセクションは、1つ以上のバッファに記憶されてもよい。特に、復号化され、及び/又は事後処理されたセクションは、メモリ502において実装された出力ピクチャバッファに記憶されてもよい。

0100

システム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つ以上の何らかの組み合わせで実装されてもよい。

0101

例として、及び限定することなく、システム500は、ネットワークインタフェース520を介して、ネットワーク522に接続された他のデバイスに、符号化され若しくは符号化されていないストリーミングデータを伝送してもよく、又はそのようなデバイスから、符号化され若しくは符号化されていないストリーミングデータを受信してもよい。特定の実装態様では、デジタルピクチャの1つ以上の符号化されたセクションの形式にある符号化されたストリーミングデータ、及び/又は符号化されたビデオの1つ以上のフレームは、ネットワーク522を通じてシステムから伝送されてもよい。ストリーミングデータを伝送又は受信することを実施するために、プロセッサモジュールは、ネットワークプロトコルスタックを実施する命令を実行してもよい。

0102

例として、及び限定することなく、デジタルピクチャは、デジタルカメラにより生成されてもよく、デジタルカメラは、ユーザインタフェース518の一部であってもよく、又は、例えば、I/O要素511を介してシステム500に結合された別個の周辺機器であってもよい。いくつかの態様に従って、デジタルピクチャは、プロセッサモジュール501によって実行されるソフトウェアアプリケーションによって生成されてもよい。

0103

本開示の態様は、高解像度のフレームの従来の符号化についての使用率よりも低いビット使用率を可能にする。特に、本明細書で説明された入力デジタルフレームをダウンサンプリングすること、改良情報を作成すること、ダウンサンプリングされたフレーム及び改良情報を符号化することは、従来から行われているように、同一の入力デジタルフレームをダウンサンプリングし、ダウンサンプリングされたフレーム及び1つ以上の入力デジタルフレームの両方を第1のストリーム及び第2のストリームに符号化することによるよりも少ないビットを使用して、ベースストリーム及び改良ストリームを生成する。そのようなより低いビット使用率は特に、制限された帯域幅を有するネットワークを通じてフレームを伝送するときに有効である。例として、及び限定することなく、ダウンサンプリングを通じて高解像度のビデオを符号化し、次いで、エッジ改良と共にアップサンプリングすることは、復号化するときに純粋なアップサンプリングよりも良好なビデオを作成することができる。

0104

いくつかのケースについて、本明細書で説明されるタイプの符号化及び復号化は、元の高解像度のビデオと比較されるときでさえ、より良好な品質を可能にする。図6に表されるグラフは、これが当てはまる特定のタイプのシーケンス及びビットレートが存在することを示す実験的な結果を示す。表されるプロットでは、破線は、改良データの5メガビット/秒を有するダウンサンプリングされた1080pストリームを使用して再構築された4Kピクチャについてのピクチャ品質を表す。実線は、標準的な元々符号化されている4Kピクチャを表す。破線が実線よりも高いビットレートについて、エッジ改良と共にアップサンプリングを使用したピクチャ品質は、元の4Kよりも良好である。

0105

本開示の態様は、ビット使用率の減少をもたらし、したがって、ストリーミングビデオなど、ストリーミングデータアプリケーションにおいて利用可能な帯域幅をより良好に使用することをもたらす。ビット使用率の減少はまた、デコーダ側でCPUなどのシステムリソースの利用の減少につながる。本開示の態様は、デジタルピクチャを作成し、ネットワークを通じた伝送のためにそれらを符号化し、ネットワークを通じてそれらを伝送するシステムに組み込まれてもよい。

0106

本開示の態様は、ベースデータの複数のセット及び改良データの複数のセットが存在する実装態様を含む。例として、及び限定することなく、符号化は、複数のダウンサンプリング段階を含んでもよく、各々の段階は、より低解像度に段階的に対応するデータのセットを作成する。特に、各々の段階は、より低解像度のベースフレームの異なる対応するセットを生成し、改良情報の対応するセットを生成するために、同一の高解像度の入力フレームをダウンサンプリングしてもよい。ベースフレームの各々のセット及び改良情報の対応するセットは次いで、ベースデータ及び改良データの対応するセットを作成するために符号化されてもよい。高解像度のフレームは、ベースデータ及び改良データの複数のセットからデコーダ側で再構築されてもよい。

0107

上述したことは、本発明の好ましい実施形態の完全な説明であるが、様々な変更物、修正物、及び均等物を使用することが可能である。したがって、本発明の範囲は、上述したことを参照して判定されるべきでなく、代わりに、均等物のそれらの全範囲に従った、添付の特許請求の範囲を参照して判定されるべきである。好ましいか否かに関わらず、本明細書で説明されるいずれの特徴も、好ましいか否かに関わらず、本明細書で説明されるいずれかの他の特徴と組み合わされてもよい。以下の特許請求の範囲では、不定詞「A」又は「An」は、他に明確に述べられない場合を除き、冠詞に続く項目のうちの1つ以上の数を指す。添付の特許請求の範囲は、ミーンズプラスファンクションの限定が明確に、フレーズ「するための手段(means for)を使用して所与の請求項に明確に記載されない限り、そのような限定として解釈されないことになる。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

該当するデータがありません

関連する公募課題

該当するデータがありません

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

該当するデータがありません

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

この 技術と関連性が強い技術

該当するデータがありません

この 技術と関連性が強い法人

該当するデータがありません

この 技術と関連性が強い人物

該当するデータがありません

この 技術と関連する社会課題

該当するデータがありません

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ