(57)【要約】【解決手段】入力デジタルフレームは、入力デジタルフレームよりも低い解像度によって特徴付けられる１つ以上のベースフレームを作成するようにダウンサンプリングされてもよい。次いで、１つ以上の入力デジタルフレームについての画素値と１つ以上のベースフレームのアップサンプリングされたバージョンの対応する画素値との間の差に対応する改良情報が作成される。１つのベースフレームは、ベースデータのセットを形成するように符号化され、改良情報は、改良データのセットを形成するように符号化される。次いで、ベースデータ及び改良データは、ネットワークを通じて伝送され、又はメモリに記憶されてもよい。【選択図】図４Ａ
2019526195.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上の入力デジタルフレームを符号化する方法であって、
前記入力デジタルフレームよりも低い解像度によって特徴付けられる１つ以上のベースフレームを作成するように、前記１つ以上の入力デジタルフレームをダウンサンプリングすることと、
前記１つ以上の入力デジタルフレームの画素値と前記１つ以上のベースフレームのアップサンプリングされたバージョンの対応する画素値との間の差に対応する改良情報を作成することと、
ベースデータのセットを形成するように、前記１つ以上のベースフレームを符号化することと、
改良データのセットを形成するように、前記改良情報を符号化することと、
ネットワークを通じてベースデータの前記セット及び改良データの前記セットを伝送し、又はメモリにベースデータの前記セット及び改良データの前記セットを記憶することと、
を備える、方法。
【請求項２】
前記改良情報は、前記１つ以上の入力デジタルフレームの前記画素値と前記１つ以上のベースフレームの前記アップサンプリングされたバージョンの対応する画素値との間の算術差を最小化する方法で作成される、請求項１に記載の方法。
【請求項３】
前記ベースデータ及び改良データを復号化することによってフレームを生成するために必要な平均時間は、ダウンサンプリングすることなく、及び改良データを使用することなく符号化された入力フレームを復号化するために必要な時間以下である、請求項１に記載の方法。
【請求項４】
前記改良情報は、ビデオフォーマットで符号化される、請求項１に記載の方法。
【請求項５】
前記ビデオフォーマットは、ＡＶＣ又はＨｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）フォーマットである、請求項４に記載の方法。
【請求項６】
ベースデータの前記セットは、イントラフレーム（Ｉフレーム）又は予測フレーム（Ｐフレーム）として符号化された１つ以上のベースフレームを含み、改良データの前記セットは、両方向予測フレーム（Ｂフレーム）として符号化された１つ以上のフレームを含む、請求項４に記載の方法。
【請求項７】
ベースデータの前記セットは、イントラフレーム（Ｉフレーム）として符号化された１つ以上のベースフレームを含み、改良データの前記セットは、予測フレーム（Ｐフレーム）又は両方向予測フレーム（Ｂフレーム）として符号化された１つ以上のフレームを含む、請求項４に記載の方法。
【請求項８】
ベースデータの前記セットは、イントラフレーム（Ｉフレーム）又は予測フレーム（Ｐフレーム）として符号化された１つ以上のベースフレームを含み、改良データの前記セットは、両方向予測フレーム（Ｂフレーム）として符号化された１つ以上のフレームを含む、前記１つ以上のＢフレームは、参照フレームとして前記Ｉフレーム又はＰフレームを使用することができるが、逆はそうでない、請求項４に記載の方法。
【請求項９】
ベースデータの前記セットは、イントラフレーム（Ｉフレーム）又は予測フレーム（Ｐフレーム）として符号化された１つ以上のベースフレームを含み、改良データの前記セットは、両方向予測フレーム（Ｂフレーム）として符号化された１つ以上のフレームを含み、前記Ｂフレームのうちの１つ以上は、１つ以上の他のＢフレームについての参照として使用することができる、請求項４に記載の方法。
【請求項１０】
前記改良情報は、ビデオフォーマット以外のフォーマットで符号化される、請求項１に記載の方法。
【請求項１１】
前記ベースデータ及び改良データの両方は、データの共通セットとして記憶又は伝送される、請求項１に記載の方法。
【請求項１２】
前記１つ以上のベースフレームを符号化すること、及び前記改良情報を符号化することは、単一のエンコーダにより実行される、請求項１に記載の方法。
【請求項１３】
前記１つ以上のベースフレームを符号化すること、及び前記改良情報を符号化することは、単一のエンコーダにより実行され、前記単一のエンコーダは、ベースデータの前記セット及び改良データの前記セットに対応するデータの共通セットに、前記改良データ及び前記１つ以上のベースフレームを符号化する、請求項１に記載の方法。
【請求項１４】
前記改良情報を符号化することは、共通ビットストリームにおいてデータパケットのヘッダに前記改良情報を符号化することを含む、請求項１２に記載の方法。
【請求項１５】
前記改良情報を符号化することは、共通ビットストリームにおいてデータパケットのヘッダに前記改良情報を符号化することを含み、前記データパケットの前記ヘッダは、前記データパケットと関連付けられたフレームがベースフレーム又は改良情報に対応するかどうかを示す情報を含む、請求項１２に記載の方法。
【請求項１６】
前記１つ以上のベースフレームを符号化すること、及び前記改良情報を符号化することは、単一のエンコーダにより実行され、前記単一のエンコーダは、ベースデータの前記セット及び改良データの前記セットに対応するデータの共通セットに、前記改良データ及び前記１つ以上のベースフレームを符号化し、前記ベースフレームを符号化することが、改良データの前記セットに符号化されたいずれの改良情報も完全に復号化することなく、ベースデータの前記セットが復号化されることを可能にする方法で前記改良情報と独立して符号化される、請求項１に記載の方法。
【請求項１７】
前記改良情報を符号化することは、色度情報としていくつかの輝度情報を処理することを含む、請求項１に記載の方法。
【請求項１８】
前記改良情報を符号化することは、色度情報として前記輝度情報のうちのいくつかを処理すると共に、前記輝度情報の残りが輝度情報を残すことを含む、請求項１７に記載の方法。
【請求項１９】
前記改良情報を符号化することは、薄い値として色度を処理することを含む、請求項１に記載の方法。
【請求項２０】
前記１つ以上の入力フレームの所与の入力デジタルフレームが最大解像度において送信されるのに十分な詳細を有するかどうかを判定することと、前記所与のフレームが前記最大解像度において送信されるのに十分な詳細を有さない場合、前記所与のフレームよりも少ない画素を有する低解像度のダウンサンプリングされたフレームに前記フレームをダウンサンプリングすることと、再構築されたフレームのどのセクションが前記低解像度の画素を含むかを示すパラメータと共に、均一な画素値の画素によって囲まれた低解像度の画素を含む前記再構築されたフレームとして結果として生じるダウンサンプリングされたフレームを符号化することと、を更に含み、前記再構築されたフレーム内の画素の合計数は、前記所与のフレーム内の画素と同一であるが、前記再構築されたフレームの前記画素の一部のみが前記所与のフレームの画素に対応する、請求項１に記載の方法。
【請求項２１】
高解像度において前記１つ以上の入力デジタルフレームの所与のフレームを送信することが不十分であるかどうかを判定することと、高解像度において前記所与のフレームを送信することが不十分であると判定される場合、前記所与のフレームよりも低解像度によって特徴付けられる対応するベースフレームを作成するように、前記所与のフレームをダウンサンプリングすることと、前記所与のフレームの画素値と前記対応するベースフレームのアップサンプリングされたバージョンの対応する画素値との間の差に対応する前記所与のフレームについての改良情報を作成することと、前記ベースデータに、前記対応するベースフレームを符号化することと、前記改良データに、前記所与のフレームについての前記改良情報を符号化することと、を更に含む、請求項１に記載の方法。
【請求項２２】
前記改良情報を符号化することは、輝度情報を符号化することと、色度情報を無視することと、を含む、請求項１に記載の方法。
【請求項２３】
前記改良情報を符号化することは、色度情報としていくつかの輝度情報を処理することを含む、請求項２２に記載の方法。
【請求項２４】
前記改良情報を作成することは、エッジを発見するように、前記１つ以上の入力デジタルフレームを分析することを含む、請求項１に記載の方法。
【請求項２５】
前記１つ以上の入力デジタルフレームを分析することは、アップサンプリングされた低解像度の画像を元の高解像度の画像と比較することと、前記アップサンプリングされた低解像度の画像と前記元の高解像度の画像との間の差を判定することと、を含む、請求項２４に記載の方法。
【請求項２６】
前記１つ以上の入力デジタルフレームを分析することは、グラフィックプロセシングユニット（ＧＰＵ）により、アップサンプリングされた低解像度の画像を元の高解像度の画像と比較し、前記アップサンプリングされた低解像度の画像と前記元の高解像度の画像との間の差を判定すること、を含む、請求項２４に記載の方法。
【請求項２７】
前記１つ以上の入力デジタルフレームを分析することは、中央処理装置（ＣＰＵ）により、アップサンプリングされた低解像度の画像を元の高解像の度画像と比較し、前記アップサンプリングされた低解像度の画像と前記元の高解像度の画像との間の差を判定すること、を含む、請求項２４に記載の方法。
【請求項２８】
前記１つ以上の入力デジタルフレームを分析することは、アップサンプリングされた低解像度の画像の各々の画素の値と、前記アップサンプリングされた低解像度の画像に対応する元の高解像度の画像内の対応する画素ごとの値との間の差を判定することと、前記アップサンプリングされた低解像度の画像又は前記元の高解像度の画像の画素値ごとのビットの数よりも少ない数のビットを有する差を表すことと、を含む、請求項２４に記載の方法。
【請求項２９】
前記改良情報を閾値と比較することと、ダウンサンプリング及び改良情報を生成することが有効でないかどうかを判定することと、ダウンサンプリング及び改良情報を生成することなく、ダウンサンプリング及び改良情報を生成することが有効でない前記１つ以上の入力フレームの入力フレームを、元の高解像度のフレームとして符号化することと、を更に備える、請求項１に記載の方法。
【請求項３０】
前記改良情報をビデオ圧縮のためにより適切にするように、前記改良情報をフィルタリングすることを更に含む、請求項１に記載の方法。
【請求項３１】
前記改良情報をフィルタリングすることは、周囲画素とはるかに異なる値の画素である分離した画素を取り除くことを含む、請求項３０に記載の方法。
【請求項３２】
前記１つ以上のデジタルフレームは、１つ以上のビデオフレームに対応する、請求項１に記載の方法。
【請求項３３】
前記１つ以上のデジタルフレームは、１つ以上の音声フレームに対応する、請求項１に記載の方法。
【請求項３４】
前記１つ以上のデジタルフレームは、１つ以上の静止画像フレームに対応する、請求項１に記載の方法。
【請求項３５】
ベースストリームよりも改良ストリーム内に多くのフレームが存在する、請求項１に記載の方法。
【請求項３６】
改良ストリームよりもベースストリーム内に多くのフレームが存在する、請求項１に記載の方法。
【請求項３７】
前記１つ以上のベースフレーム及び改良情報は、前記ベースフレームを前記改良情報と組み合わせることによって構築された高解像度のフレームが、前記１つ以上の入力デジタルフレームに対応する１つ以上の再構築されたフレームをもたらすように構成され、前記１つ以上の再構築されたフレームは、前記１つ以上の入力デジタルフレームよりも高い品質によって特徴付けられる、請求項１に記載の方法。
【請求項３８】
前記１つ以上の入力デジタルフレームをダウンサンプリングすること、前記改良情報を作成すること、前記１つ以上のベースフレームを符号化すること、及び前記改良情報を符号化することは、前記１つ以上の入力デジタルフレームをダウンサンプリングし、第１のストリーム及び第２のストリームに、前記１つ以上のダウンサンプリングされたフレーム及び前記１つ以上の入力デジタルフレームを符号化することによるよりも少ないビットを使用して前記ベースデータ及び改良データを生成する、請求項１に記載の方法。
【請求項３９】
前記１つ以上の入力デジタルフレームをダウンサンプリングすること、及び前記改良情報を作成することは、１つ以上の最低解像度のベースフレーム、及び前記１つ以上の最低解像度のベースフレームについての改良情報の２つ以上のセットを生成するように、２つ以上の段階の各々において生成された改良情報のセットと共に、前記２つ以上の段階において前記１つ以上の入力デジタルフレームがより低解像度にダウンサンプリングされる、多段階直列化ダウンサンプリングスキームを含み、前記１つ以上のベースフレームを符号化すること、及び前記改良情報を符号化することは、ベースデータの前記セットを作成するように、前記１つ以上の最低解像度のベースフレームを符号化することと、前記改良データを作成するように、改良情報の前記２つ以上のセットを符号化することと、を含む、請求項１に記載の方法。
【請求項４０】
プロセッサモジュールと、
前記プロセッサに結合されたメモリと、を備え、前記メモリは、方法を実施するように構成された実行可能命令を含み、前記方法は、
入力デジタルフレームよりも低い解像度によって特徴付けられる１つ以上のベースフレームを作成するように、１つ以上の入力デジタルフレームをダウンサンプリングすることと、
前記１つ以上の入力デジタルフレームの画素値と前記１つ以上のベースフレームのアップサンプリングされたバージョンの対応する画素値との間の差に対応する改良情報を作成することと、
ベースデータのセットを形成するように、前記１つ以上のベースフレームを符号化することと、
改良データのセットを形成するように、前記改良情報を符号化することと、
ネットワークを通じてベースデータの前記セット及び改良データの前記セットを伝送し、又はメモリにベースデータの前記セット及び改良データの前記セットを記憶することと、
を含む、システム。
【請求項４１】
内部で具体化された、方法を実施するように構成されたコンピュータ可読命令を有する非一時的コンピュータ可読媒体であって、前記方法は、
入力デジタルフレームよりも低い解像度によって特徴付けられる１つ以上のベースフレームを作成するように、１つ以上の入力デジタルフレームをダウンサンプリングすることと、
前記１つ以上の入力デジタルフレームの画素値と前記１つ以上のベースフレームのアップサンプリングされたバージョンの対応する画素値との間の差に対応する改良情報を作成することと、
ベースデータのセットを形成するように、前記１つ以上のベースフレームを符号化することと、
改良データのセットを形成するように、前記改良情報を符号化することと、
ネットワークを通じてベースデータの前記セット及び改良データの前記セットを伝送し、又はメモリにベースデータの前記セット及び改良データの前記セットを記憶することと、
を含む、非一時的コンピュータ可読媒体。
【請求項４２】
１つ以上のダウンサンプリングされた入力デジタルフレームに対応する１つ以上の符号化されたベースフレームを含む、ベースデータのセットを含む１つ以上の符号化されたデジタルフレームを含むデータの入力セットを復号化する方法であって、前記１つ以上のベースフレームは、前記入力デジタルフレームよりも低い解像度によって特徴付けられ、符号化された改良情報を含む改良データのセットは、前記１つ以上の入力デジタルフレームの画素値と前記１つ以上のベースフレームのアップサンプリングされたバージョンの対応する画素値との間の差に対応し、前記方法は、
前記１つ以上のベースフレームを生成するように、デコーダによりベースデータの前記セット内の前記１つ以上の符号化されたベースフレームを復号化することと、
前記改良情報を生成するように、デコーダにより改良データの前記セット内の前記符号化された改良情報を復号化することと、
デコーダにより前記１つ以上のベースフレーム及び前記改良情報から前記入力デジタルフレームを再構築することと、
ディスプレイにより前記入力デジタルフレームを表示し、又はメモリに前記入力デジタルフレームを記憶することと、
を含む、方法。
【請求項４３】
前記改良情報は、前記１つ以上の入力デジタルフレームの前記画素値と前記１つ以上のベースフレームの対応する画素値との間の算術差を最小化する方法で作成される、請求項４２に記載の方法。
【請求項４４】
前記デコーダにより前記１つ以上のベースフレーム及び前記改良情報から前記入力デジタルフレームを再構築することは、１つ以上の対応するアップサンプリングされたフレームを作成するように、前記１つ以上のベースフレームをアップサンプリングすることと、１つ以上のアップサンプリングされたフレーム及び前記改良情報を用いて、前記改良情報を生成した演算の逆を実行することと、を含む、請求項４２に記載の方法。
【請求項４５】
改良データの前記セットは、色度データとして符号化されたいくつかの輝度データを含み、前記改良データを復号化することは、色度情報として処理された輝度情報を輝度情報に再度変化させることを含む、請求項４２に記載の方法。
【請求項４６】
改良データの前記セットは、色度データとして符号化されたいくつかの輝度データを含み、前記改良データを復号化することは、色度情報として処理された輝度情報を輝度情報に再度変化させることと、前記改良情報内のいずれかの残りの色度情報を無視することと、を含む、請求項４２に記載の方法。
【請求項４７】
１つ以上の第１のデコーダは、ベースストリーム内の前記１つ以上の符号化されたベースフレームを復号化し、１つ以上の第２のデコーダは、改良ストリーム内の前記符号化された改良情報を復号化する、請求項４２に記載の方法。
【請求項４８】
前記１つ以上の第１のデコーダは、１つ以上のハードウェアデコーダを含み、前記１つ以上の第２のデコーダは、１つ以上のソフトウェアデコーダを含む、請求項４７に記載の方法。
【請求項４９】
前記１つ以上の第１のデコーダは、１つ以上のソフトウェアデコーダを含み、前記１つ以上の第２のデコーダは、１つ以上のハードウェアデコーダを含む、請求項４７に記載の方法。
【請求項５０】
前記第１のデコーダ及び前記第２のデコーダは、ソフトウェアデコーダの２つ以上のインスタンスを含む、請求項４７に記載の方法。
【請求項５１】
前記１つ以上の第１のデコーダ及び前記１つ以上の第２のデコーダは、ハードウェアデコーダである、請求項４７に記載の方法。
【請求項５２】
ベースデータの前記セット及び改良データの前記セットの両方は、共通ビットストリームにある、請求項４２に記載の方法。
【請求項５３】
ベースデータの前記セットは、改良データの前記セットに符号化されたいずれの改良情報も完全に復号化することなく、ベースデータの前記セットが復号化されることを可能にする方法において前記改良情報とは独立して符号化された、１つ以上の符号化されたベースフレームを含む、請求項４２に記載の方法。
【請求項５４】
ベースデータの前記セット内の前記１つ以上の符号化されたベースフレームを復号化することは、前記符号化された改良情報を復号化することなく、前記１つ以上の符号化されたベースフレームを復号化することを含む、請求項５３に記載の方法。
【請求項５５】
ベースデータの前記セット及び改良データの前記セットの両方は、共通ビットストリームにあり、前記符号化された改良情報は、前記共通ビットストリームにおいてデータパケットのヘッダに符号化される、請求項４２に記載の方法。
【請求項５６】
ベースデータの前記セット内の前記符号化されたベースフレームは、前記改良情報を含むいずれのフレームも参照せず、改良データの前記セット内の前記符号化された改良情報を復号化することは、前記ヘッダから前記改良情報を抽出することを含む、請求項５５に記載の方法。
【請求項５７】
ベースデータの前記セット内の前記符号化されたベースフレームは、前記改良情報を含むいずれのフレームも参照せず、改良データの前記セット内の前記符号化された改良情報を復号化することは、前記改良情報が符号化された前記データパケットの前記ヘッダから前記改良情報を抽出することと、それらデータパケットの残り部分の復号化をスキップすることと、を含む、請求項５６に記載の方法。
【請求項５８】
前記改良情報は、輝度情報を含むが、色度情報を含まない、請求項４２に記載の方法。
【請求項５９】
前記改良情報は、色度情報として処理されたいくつかの輝度情報を含む、請求項５８に記載の方法。
【請求項６０】
前記改良情報は、色度情報として処理されたいくつかの輝度情報を含む、請求項４２に記載の方法。
【請求項６１】
ベースストリーム内の前記１つ以上の符号化されたベースフレームは、所与のフレームよりも少ない画素を有するより低解像度のダウンサンプリングされたフレームにダウンサンプリングされた前記所与のフレームに対応する再構築されたフレームを含み、前記再構築されたフレームは、前記再構築されたフレームのどのセクションが前記低解像度の画素を含むかを示すパラメータと共に、均一な画素値の画素によって囲まれた前記ダウンサンプリングされたフレームのより低解像度の画素を含み、前記ベースストリーム内の前記１つ以上の符号化されたベースフレームを復号化することは、ダウンスケールされたフレームを抽出するように、前記パラメータを使用して前記再構築されたフレームを復号化し、次いで、前記抽出されダウンスケールされたフレームをアップサンプリングすることを含む、請求項４２に記載の方法。
【請求項６２】
前記再構築されたフレーム内の画素の合計数は、前記所与のフレーム内の画素の数と同一であるが、前記再構築されたフレームの前記画素の一部のみが前記所与のフレームの画素に対応する、請求項６１に記載の方法。
【請求項６３】
ベースストリームよりも改良ストリーム内に多くのフレームが存在する、請求項４２に記載の方法。
【請求項６４】
改良データの前記セットよりもベースデータの前記セット内に多くのフレームが存在する、請求項４２に記載の方法。
【請求項６５】
ベースデータの前記セットは、ダウンサンプリングすることなく元の高解像度のフレームとして符号化された１つ以上のフレームを含み、前記方法は、元の高解像度のフレームとして符号化された前記１つ以上のフレームを復号化することを更に含む、請求項４２に記載の方法。
【請求項６６】
前記１つ以上の符号化されたデジタルフレームは、１つ以上のビデオフレームに対応する、請求項４２に記載の方法。
【請求項６７】
前記１つ以上の符号化されたデジタルフレームは、１つ以上の音声フレームに対応する、請求項４２に記載の方法。
【請求項６８】
前記１つ以上の符号化されたデジタルフレームは、１つ以上の静止画像フレームに対応する、請求項４２に記載の方法。
【請求項６９】
改良データの前記セットは、ダウンサンプリングの２つ以上の段階のための符号化された改良情報を含み、前記１つ以上の入力デジタルフレームを再構築することは、１つ以上の結果として生じるアップサンプリングされたデジタルフレームを生成するように、前記ベースデータをアップサンプリングすることと、前記１つ以上の結果として生じるアップサンプリングされたデジタルフレームを、前記２つ以上の段階の１つ以上の段階のための改良情報と組み合わせることと、を含む、請求項４２に記載の方法。
【請求項７０】
階段の所与のステップにおいて生成された前記１つ以上の結果として生じるアップサンプリングされたデジタルフレームは、前記２つ以上の段階の異なる段階についてアップサンプリングし、改良情報と組み合わせる次のステップのための入力として使用される、請求項６９に記載の方法。
【請求項７１】
改良データの前記セット内の前記符号化された改良情報を復号化することは、全ての前記改良データよりも少ないサブセットのみを復号化することを含む、請求項４２に記載の方法。
【請求項７２】
前記１つ以上のベースフレーム及び前記改良情報から前記入力デジタルフレームを再構築することは、全ての前記改良データよりも少ない前記サブセットのみを復号化することから生じる前記改良情報を用いてアップサンプリングすることから生じる高解像度のフレームの一部のみを改良することを含む、請求項７１に記載の方法。
【請求項７３】
改良データの前記セット内の前記符号化された改良情報を復号化することは、全ての前記改良データを復号化することを含み、前記１つ以上のベースフレームから前記入力デジタルフレームを再構築することは、全ての前記改良データを復号化することから生じる前記改良情報のサブセットを用いてアップサンプリングすることから生じる高解像度のフレームの一部のみを改良することを含む、請求項４２に記載の方法。
【請求項７４】
プロセッサモジュールと、
前記プロセッサに結合されたメモリと、を備え、前記メモリは、１つ以上のダウンサンプリングされた入力デジタルフレームに対応する１つ以上の符号化されたベースフレームを含む、ベースデータのセットを含む１つ以上の符号化されたデジタルフレームを含むデータの入力セットを復号化する方法を実施するように構成された実行可能命令を含み、前記１つ以上のベースフレームは、前記入力デジタルフレームよりも低い解像度によって特徴付けられ、符号化された改良情報を含む改良データのセットは、前記１つ以上の入力デジタルフレームの画素値と前記１つ以上のベースフレームのアップサンプリングされたバージョンの対応する画素値との間の差に対応し、前記方法は、
前記１つ以上のベースフレームを生成するように、デコーダによりベースデータの前記セット内の前記１つ以上の符号化されたベースフレームを復号化することと、
前記改良情報を生成するように、デコーダにより改良データの前記セット内の前記符号化された改良情報を復号化することと、
デコーダにより前記１つ以上のベースフレーム及び前記改良情報から前記入力デジタルフレームを再構築することと、
ディスプレイにより前記入力デジタルフレームを表示し、又はメモリに前記入力デジタルフレームを記憶することと、
を含む、システム。
【請求項７５】
内部で具体化された、１つ以上のダウンサンプリングされた入力デジタルフレームに対応する１つ以上の符号化されたベースフレームを含む、ベースデータのセットを含む１つ以上の符号化されたデジタルフレームを含むデータの入力セットを復号化する方法を実施するように構成されたコンピュータ可読命令を有する非一時的コンピュータ可読媒体であって、前記１つ以上のベースフレームは、前記入力デジタルフレームよりも低い解像度によって特徴付けられ、符号化された改良情報を含む改良データのセットは、前記１つ以上の入力デジタルフレームの画素値と前記１つ以上のベースフレームのアップサンプリングされたバージョンの対応する画素値との間の差に対応し、前記方法は、
前記１つ以上のベースフレームを生成するように、デコーダによりベースデータの前記セット内の前記１つ以上の符号化されたベースフレームを復号化することと、
前記改良情報を生成するように、デコーダにより改良データの前記セット内の前記符号化された改良情報を復号化することと、
デコーダにより前記１つ以上のベースフレーム及び前記改良情報から前記入力デジタルフレームを再構築することと、
ディスプレイにより前記入力デジタルフレームを表示し、又はメモリに前記入力デジタルフレームを記憶することと、
を含む、非一時的コンピュータ可読媒体。
【請求項７６】
１つ以上のダウンサンプリングされた入力デジタルフレームに対応する１つ以上の符号化されたベースフレームを含む、ベースデータのセットを含む１つ以上の符号化されたデジタルフレームを含むデータの入力セットを復号化する方法であって、前記１つ以上のベースフレームは、前記入力デジタルフレームよりも低い解像度によって特徴付けられ、改良情報を含む改良データのセットは、前記１つ以上の入力デジタルフレームの画素値と前記１つ以上のベースフレームのアップサンプリングされたバージョンの対応する画素値との間の差に対応し、前記方法は、
前記１つ以上のベースフレームを生成するように、デコーダによりベースデータの前記セットを復号化することと、
改良データの前記セットを無視することと、
ディスプレイにより前記１つ以上のベースフレームを表示し、又はメモリに前記１つ以上のベースフレームを記憶することと、
を含む、方法。
【請求項７７】
プロセッサモジュールと、
前記プロセッサに結合されたメモリと、を備え、前記メモリは、１つ以上のダウンサンプリングされた入力デジタルフレームに対応する１つ以上の符号化されたベースフレームを含む、ベースデータのセットを含む１つ以上の符号化されたデジタルフレームを含むデータの入力セットを復号化する方法を実施するように構成された実行可能命令を含み、前記１つ以上のベースフレームは、前記入力デジタルフレームよりも低い解像度によって特徴付けられ、改良情報を含む改良データのセットは、前記１つ以上の入力デジタルフレームの画素値と前記１つ以上のベースフレームのアップサンプリングされたバージョンの対応する画素値との間の差に対応し、前記方法は、
前記１つ以上のベースフレームを生成するように、デコーダによりベースデータの前記セットを復号化することと、
改良データの前記セットを無視することと、
ディスプレイにより前記１つ以上のベースフレームを表示し、又はメモリに前記１つ以上のベースフレームを記憶することと、
を含む、システム。
【請求項７８】
内部で具体化された、１つ以上のダウンサンプリングされた入力デジタルフレームに対応する１つ以上の符号化されたベースフレームを含む、ベースデータのセットを含む１つ以上の符号化されたデジタルフレームを含むデータの入力セットを復号化する方法を実施するように構成されたコンピュータ可読命令を有する非一時的コンピュータ可読媒体であって、前記１つ以上のベースフレームは、前記入力デジタルフレームよりも低い解像度によって特徴付けられ、改良情報を含む改良データのセットは、前記１つ以上の入力デジタルフレームの画素値と前記１つ以上のベースフレームのアップサンプリングされたバージョンの対応する画素値との間の差に対応し、前記方法は、
前記１つ以上のベースフレームを生成するように、デコーダによりベースデータの前記セットを復号化することと、
改良データの前記セットを無視することと、
ディスプレイにより前記１つ以上のベースフレームを表示し、又はメモリに前記１つ以上のベースフレームを記憶することと、
を含む、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の態様は、ストリーミングアプリケーションについてのデジタルデータの符号化及び復号化に関する。特に、本開示は、複数の解像度において同一のビデオコンテンツを符号化することに関する。
【背景技術】
【０００２】
デジタル信号圧縮（ビデオコーディング又はビデオ符号化と称されることがある）は、多くのマルチメディアアプリケーション及びデバイスにおいて広く使用されている。コーダ／デコーダ（コーデック）を使用したデジタル信号圧縮は、音声又はビデオ信号などのストリーミング媒体がインターネットを通じて伝送されること、又はコンパクトディスクに記憶されることを可能にする。Ｈ．２６１、Ｈ．２６３；ＤＶ；ＭＰＥＧ−ｌ、ＭＰＥＧ−２、ＭＰＥＧ−４、ＶＣ１；ＡＶＣ（Ｈ．２６４）、及びＨＥＶＣ（Ｈ．２６５）を含むデジタルビデオ圧縮のいくつかの異なる標準が登場している。それらの標準と共に他のビデオ圧縮技術は、ピクチャ内の、及び連続するピクチャの間の空間的及び時間的冗長性を取り除くことによって、ビデオフレームピクチャを効率的に表そうとする。そのような圧縮の標準を通じて、高度に圧縮されたビデオビットストリームにおいてビデオコンテンツを搬送することができ、よって、効率的にディスクに記憶することができ、又はネットワークを通じて伝送することができる。
【０００３】
複数の解像度において同一のビデオコンテンツを符号化することは、ネットワークを通じてビデオストリーミングすること、及び異なる計算能力を有する異なる復号化ハードウェアをターゲットとすることが必要となることが多い。例えば、帯域幅の制限に起因して、並びにビデオ符号化及び復号化ハードウェアの能力における最近の進化に起因して、複数の解像度によりビデオを符号化することが必要な場合がある。４Ｋディスプレイ（３８４０〜４０９６画素のピクチャ幅）の人気が高まるにつれて、より高解像度のビデオコンテンツについての要求が増加している。４Ｋビデオに必要とされる記憶装置は、１０８０ｐのＨＤビデオについてのものよりもはるかに高い。いくつかのケースでは、同一のビデオコンテンツのより低解像度のバージョン及び同一のビデオコンテンツのより高解像度のバージョンの両方を記憶することは、例えば、異なるハードウェア上で表示するために必要となることがある。ブルーレイディスク上でＨＤ解像度のビデオストリーム及び４Ｋ解像度のビデオストリームの両方を有することは、より低出力のビデオプレイヤがＨＤコンテンツを表示すること、及びより強力なビデオプレイヤが４Ｋコンテンツを表示することを可能にする。しかしながら、物理ディスク上の記憶の制限に起因して、単一のディスク上で両方の解像度に適合することが可能でないことがある。この問題に対処する１つのアプローチは、同一のコンテンツのために低解像度のディスク及び高解像度のディスクの両方を作成することである。ネットワークを通じたビデオストリーミングのために、帯域幅が高いときにより高解像度のビデオが表示され、ネットワークが混雑している間により低解像度が表示されることがある。高解像度（例えば、４Ｋ）のビデオよりも低い解像度の符号化されたビデオ（例えば、１０８０ｐのＨＤビデオ）を伝送するためにビットがあまり必要とされない。
【０００４】
別のアプローチは、低解像度のビデオを符号化し、より高解像度のハードウェア上でそれを表すときにそれをアップサンプリングすることである。しかしながら、アップサンプリングされた低解像度のビデオが高解像度のハードウェア上で再生されるときにビデオ品質が影響を受ける。更なる別のアプローチは、実に高解像度の符号化されたビデオをディスクに記憶することである。残念ながら、低出力のハードウェアは、それがより高解像度のビデオのために所望のフレームレートを維持するために十分に強力でないことを理由に、フレームをスキップする必要があることがある。
【０００５】
複数のディスクを有することは製造コストを増加させると共に、ディスクに１つの解像度のみのビデオを記憶することは、より低出力の再生機又はより高出力の再生機のいずれに対しても最良の経験を可能にしない。より低解像度のビデオのみがディスクに記憶される場合、表示されるピクチャは、より高解像度のディスプレイ上でのアップサンプリングを必要とする。アップサンプリングされたビデオコンテンツのピクチャ品質は、元々はより高解像度の品質であるコンテンツの品質よりも低い。より高解像度のビデオのみがディスクに記憶される場合、より低出力のデバイスは、元のフレームレートにおいてコンテンツを表示することが可能でないことがあり、フレームをドロップさせる必要があることがあり、又はフレームレートを低下させる必要があることがある。これは、ユーザの楽しみの減少をももたらす。
【０００６】
スケーラブルビデオコーディング（ＳＶＣ）として知られるアドバンスドビデオコーディング（ＡＶＣ）への拡張は、複数の解像度についての効率的な圧縮を可能にすると共に、この拡張をサポートするデバイスの数は、そうではないものと比較してはるかに低い。結果として、複数の解像度を扱う共通のアプローチは、符号化の前に複数の解像度にビデオコンテンツのサイズを変更し、相互に独立して復号化され得る解像度ごとに別個のビットストリームを生成することである。
【発明の概要】
【０００７】
本開示の態様が生まれるのはこのコンテキスト内である。
【図面の簡単な説明】
【０００８】
添付図面と共に以下の詳細な説明を考慮することによって、本開示の教示を容易に理解することができる。
【０００９】
【図１Ａ】本開示の態様のコンテキスト内でストリーミングデータピクチャの１つの可能な分割を例示する概略図である。
【図１Ｂ】従来の複数の解像度のピクチャ符号化を例示するフローチャートである。
【図１Ｃ】従来の複数の解像度のピクチャ復号化を例示するフローチャートである。
【図２Ａ】本開示の態様に従った、ベースフレーム及び改良データを含むフレームを含む符号化されたフレームのストリームの構成を例示する概略図である。
【図２Ｂ】本開示の態様に従った、ベースフレーム及び改良データを含むフレームを含む符号化されたフレームのストリームの代替的な構成を例示する概略図である。
【図２Ｃ】本開示の態様と共に使用することができる従来のデジタルピクチャ符号化を例示するフローチャートである。
【図３】本開示の態様と共に使用することができるストリーミングデータ復号化における可能な処理フローの例を例示するフローチャートである。
【図４Ａ】本開示の態様に従った、ビデオ及びエッジ改良ストリームを符号化することを例示するフローチャートである。
【図４Ｂ】本開示の態様に従った、低出力のハードウェア上でビデオ及びエッジ改良ストリームを符号化することを例示するフローチャートである。
【図４Ｃ】本開示の態様に従った、高出力のハードウェア上でビデオ及びエッジ改良ストリームを符号化することを例示するフローチャートである。
【図５】本開示の態様に従った、ピクチャ品質指向レート制御調節を実施するように構成されたデジタルピクチャを符号化及び／又は復号化するための装置を例示するブロック図である。
【図６】従来から符号化され、本開示の態様に従って符号化されたデジタルフレームについての品質対ビットレートのプロットを比較するグラフである。
【発明を実施するための形態】
【００１０】
以下の詳細な説明は、例示を目的として多くの詳細を含むが、当業者のいずれも、以下の詳細への変更及び修正が本発明の範囲内にあることを認識するであろう。したがって、以下で説明される本発明の例示的な実施形態は、何等の一般性を失うことなく、及び特許請求される発明に限定を課すことなく示される。
【００１１】
［導入］
図１Ｂは、複数の解像度のビデオ１２１の従来の符号化の例を例示する。エンコーダ１２２は、符号化された高解像度のビデオフレームを表すビットの高解像度のストリーム１２４を生成するために、高解像度のビデオを符号化する。高解像度のビデオ用に構成されていないより旧式のハードウェアに適合し、又は帯域幅が混雑している間に伝送のために必要とされる帯域幅を削減するために、１２３において示されるように、高解像度のビデオがダウンサンプリングされ、結果として生じるダウンサンプリングされたビデオ１２１’は、符号化されダウンサンプリングされたビデオフレームを表すビット１２４’のストリームを生成するために、例えば、別のエンコーダ１２２’によって符号化される。
【００１２】
図１Ｃに例示されるデコーダ側では、デコーダ１３２は、高解像度のストリーム１２４を受信し、復号化された高解像度のビデオフレームの形式にある高解像度の出力１２６を生成するためにそれを復号化する。高解像度のストリームを復号化するように備えられていないデバイスは、高解像度のストリームを無視してもよく、例えば、異なるデコーダ１３２’を使用して、ダウンサンプリングされたストリーム１２４’を受信及び復号化してもよい。
【００１３】
本開示の態様は、ビデオコーディング標準への拡張を利用することなく、効率的なビデオ圧縮を可能にする。本明細書で説明されるアプローチは、別個のビットストリームとして同一のコンテンツの複数の解像度を符号化する既存の方法と比較して、より低いビット使用率により高いピクチャ品質を可能にする。より高解像度において別個のビットストリームを作成する代わりに、エンコーダは、より少ないビットを使用する改良ストリームを作成する。デコーダは、より低解像度のベースストリーム及び改良ストリームを組み合わせることによって、表示のための出力ビデオを作成する。出力ビデオを生成するために必要とされる追加の処理は、グラフィックプロセッサユニット（ＧＰＵ）上で効率的に実行されてもよい。提案されるアプローチは特に、提案されるものを使用して高解像度のフレームを生成するために必要な平均時間が、別個の高解像度のビットストリームを使用してフレームを復号化するために必要な時間以下である場合に有益である。
【００１４】
本開示の態様に従って、提案されるアプローチは、低解像度のビデオのアップサンプリングと改良情報とを組み合わせることを使用する。低解像度のビデオが高解像度にアップサンプリングされるとき、何らかの鮮明さが喪失する。結果として、ビデオがぼやけて見える。「改良情報」は、表示のための高品質画像を作成するために、アップサンプリングされた低解像度のビデオと組み合わされてもよい。エッジ改良データは、低解像度のビデオを高解像度にアップサンプリングするときに喪失する情報を捕捉する。エッジ改良情報は、画像内のエッジに対応する画素値に関連する。エッジ改良とアップサンプリングを組み合わせることは、別個のより高解像度のビデオビットストリームを記憶する必要性をなくし、代わりに、改良ストリームのみが記憶される必要があり、より少ないビットを必要とし、したがって、記憶空間をはるかに少なくする。このアプローチは特に、符号化前の低解像度のビデオに加えエッジ改良情報について必要とされるデータの量が、符号化前の高解像度のビデオについて必要とされるデータの量以下である場合に有益である。そのような状況は、高解像度のビデオが低解像度のビデオにダウンサンプリングされ、ダウンサンプリングの前に高解像度のビデオデータからエッジ改良データが作成される実施形態において生じることがある。特定の実装態様では、ダウンサンプリングは、整数ダウンサンプリング、例えば、代替画素を取り除くことを含んでもよい。整数ダウンサンプリングの例は、４Ｋ（２１６０Ｐ）から１０８０Ｐへのダウンサンプリングであってもよい。
【００１５】
いくつかの実装態様では、改良情報は、デコーダが認識し、既存のエンコーダがどのように符号化するかを理解する既存のビデオフォーマットで符号化されてもよい。例として、及び限定することなく、改良情報は、ビデオ再生をサポートするデバイスにおいて一般的に発見される既存のＡＶＣ又はＨｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）デコーダを使用して符号化されてもよく、標準への拡張についてのサポートを追加するためにデバイスを必要としない。この解決策はまた、複数のデコーダ（例えば、ハードウェアベースのデコーダ及びソフトウェアベースのデコーダの両方）を含むデバイスにおいて高解像度のビデオビットストリームを復号化するためのＣＰＵ及びＧＰＵの負荷を減少させるために使用されてもよい。
【００１６】
改良ストリームは、ビデオフォーマットで記憶される必要がないが、それを行うことは、既存のハードウェアにより非常に良好に作用する。代替的な実装態様では、エッジ改良情報は、例えば、ＪＰＥＧ圧縮又はいずれかの他の算術的コーディング標準を使用して符号化されてもよい。
【００１７】
本明細書で説明される改良情報を用いてアップサンプリングすることはまた、例えば、ＪＰＥＧ符号化又はいくつかの他の画像圧縮標準がベース及び改良情報の両方を圧縮するために使用される静止画像に適用されてもよい。
【００１８】
生のビデオは、輝度（明暗度）及び色度（色）値によって表される。多くのエンコーダは、色度データを記憶するためにより少ないビットを使用し、それによって、人間の目が色度よりも輝度における差により敏感であるにつれて、より多くのビットが輝度データに対して要することがある。
【００１９】
特定の実装態様では、改良情報生成アルゴリズムは、画像内のエッジを発見するためにビデオデータ内の画像を分析してもよい。エッジ改良データは、低解像度のベース画像のアップサンプリングされたバージョンを対応する元の高解像度の画像と比較した結果を分析し、画像の間の差を判定することによって判定されてもよい。低解像度の画像をアップサンプリングすることは、標準アルゴリズム、例えば、バイリニア（最速且つ最低品質）又はバイキュービック（品質はより良好であるがより低速）を使用してもよい。特定の実施形態では、この比較は、ＧＰＵによって実行されてもよい。代替的な実施形態では、この比較は、ＣＰＵによって実行されてもよい。いくつかのケースでは、高解像度のビデオとアップサンプリングされた低解像度のビデオとの間に著しい差が存在しないことを理由に、フレームについてのエッジ改良情報が存在しない。そのようなシナリオが高解像度のストリーミングを伴う状況で発生するとき、著しい差が存在しないそれらのフレームは、エッジ改良情報なしに元の高解像度のフレームとして符号化されてもよい。代替的な実施形態では、エッジ改良情報は、以下で提供され、続いて閾値と比較されるものとして判定されてもよく、そのような比較の結果は次いで、符号化前にフレームをダウンサンプリングするか否かを判定するために使用されてもよい。
【００２０】
例として、及び限定することなく、改良情報は、アップサンプリングされた低解像度の画像と元の高解像度の画像との間の画素値（例えば、色度値若しくは輝度値、又はその両方）における差を判定し、画素値についての中間点（例えば、８ビットについて１２８）を追加することによって生成されてもよい。本開示の特定の態様に従って、改良情報は、入力フレームとダウンサンプリングされたフレームのアップサンプリングされたバージョンとの間の算術差を最小化するような方法で作成されてもよい。本明細書で使用されるように、用語「差」は、算術差（すなわち、減算の結果）を含むがそれに限定されない算術的な意味での差を指す。差を判定することは、二乗にすること、平方根をとること、倍率により乗算することなど、減算前の画素値に対する他の数学的演算を含んでもよい。差を判定することはまた、減算の結果に対する数学的演算を含んでもよい。例えば、いくつかの実装態様では、減算から生じる負の値は、ゼロに設定されてもよく、ビットの数についての最大値を上回る値は、最大値に設定されてもよい（例えば、８ビットの画素について、２５５よりも大きい値が２５５に設定される）。加えて、同一の数のビットが各々のより低解像度の画素を表すために利用されてもよいが、より多い数のビットが小さい差を表すために必要とされないことがあるので、より少ないビットがエッジ改良データを表すために使用されてもよい。例として、及び限定することなく、計算された１６ビットの差は、８ビットの表現に減少した値を有してもよい。エッジ改良情報を生成する他の例は、Ｓｏｂｅｌ演算子又はＲｏｂｅｒｔｓ  ｃｒｏｓｓ演算子を使用するなどの特徴及びエッジ検出方法を含む。
【００２１】
特定の実装態様では、輝度値における差は、低解像度のビデオのアップサンプリングが実行されるときに喪失する色度情報についての観点なく判定されてもよい。これは、追加の色度データがそのような処理の利用の間に保存されないので、計算及びメモリリソースを解放する。この処理はまた、色度値についての差を計算することがもはや必要とされないので、符号化処理の効率を増大させる。例として、及び限定することなく、輝度情報は、輝度情報の一部を色度情報として符号化すると共に、輝度情報の残りが輝度情報を残すエンコーダを操作するために、色度情報に記憶されてもよい。デコーダ側では、色度情報として記憶された輝度情報は、輝度情報に再度変化され、色度情報が無視される。代わりに、実施形態は、色度を薄いグレーとして符号化することを可能にする。
【００２２】
特定の代替的な実施形態では、フィルタリング段階は、例えば、ノイズ画素を取り除くことによって、ビデオ圧縮に対してより適切なエッジ改良情報を作成するために追加される。ノイズ画素は、例えば、周囲の画素とははるかに異なる値の画素である分離した画素である。
【００２３】
特定の実装態様では、低解像度のハードウェア上で実行される復号化は、低解像度のビデオを復号化すること、及び改良データを用いた動作を行わないことを含んでもよい。本発明の代替的な実施形態では、高解像度のハードウェア上で実行される復号化は、低解像度のビデオ及び改良データを復号化すること、並びに再構築された高解像度のビデオをもたらすために改良データを生成した比較の逆を実行することを含んでもよい。逆比較は、ＧＰＵ又はＣＰＵのいずれかの上で実行されてもよい。データをアップサンプリングすることは、エッジ改良情報を生成するために使用されたアルゴリズムに従ってバイリニア又はバイキュービックを使用してもよい。
【００２４】
本発明の代替的な実施形態では、２つのデコーダが利用される。第１のデコーダは、低解像度のビデオを復号化してもよく、第２のデコーダは、エッジ改良データを復号化してもよい。特定の実施形態では、ハードウェアデコーダがビデオについて使用されてもよく、ソフトウェアデコーダが改良データについて使用されてもよい。代替的な実施形態では、ソフトウェアデコーダの２つのインスタンス又は２つのハードウェアデコーダが任意選択で利用されてもよい。更に、特定の代替的な実施形態は、音声データに関して上記説明された符号化／復号化処理、方法、及びデバイスを適用してもよい。
【００２５】
他の代替的な実施形態では、１つのデコーダのみが利用されてもよい。そのようなケースでは、１つのエンコーダのみにより符号化が実施されてもよく、改良データは、符号化されたベースビデオデータと同一のビットストリームに符号化されてもよい。符号化されたベースビデオデータは、改良データを含むいずれのフレームも参照せず、改良データを完全に復号化することなく独立して復号化されてもよい。例として、スライスヘッダは、データがベースビデオ又は改良ビデオに対応して復号化されるかどうか、及び改良データが必要とされるかどうかを判定するために使用されてもよく、復号化の残りは、そのフレームに対してスキップされてもよい。より低出力のハードウェアでは、ベースビデオピクチャのみが復号化される。より高出力のハードウェアでは、全てのフレームが復号化され、最後の高解像度のフレームが復号化されたベースビデオ及び改良データから再構築される。
【００２６】
上記説明された処理、方法、及びデバイスは代わりに、高解像度のビデオをダウンサンプリングすること、及び対応するエッジ改良データを用いてダウンサンプリングされたビデオを記憶することが高解像度のビデオを単純に記憶することよりも少ない記憶空間を必要とすることがあるので、記憶のために高解像度のビデオを圧縮するために使用されてもよい。
【００２７】
特定の実装態様では、エッジ改良アルゴリズムは、いずれかのフレームが高解像度（例えば、４Ｋ解像度）において送信されるのに十分な詳細を有するかどうかを判定するために使用されてもよく、そうである場合、フレームは、ダウンサンプリングすることなく高解像度において符号化されてもよい。例として、及び限定することなく、フレームが高解像度において送信されるのに十分な詳細を有するかどうかを判定することは、いくつかの参照値、例えば、１２８に等しくない画素の合計数の分散又はカウントなどの測定基準を使用してもよく、改良情報が重要であるかどうかを判定するために経験によるデータから確立された閾値を使用してもよい。フレームが４Ｋ解像度において送信されるのに十分な詳細を有しないと判定される場合、フレームは、より低解像度（例えば、１０８０Ｐ）にダウンサンプリングされてもよく、より低解像度のデータを含むフレームのセクションを示すパラメータと共に、均一な色度及び輝度値、例えば、薄いグレーの画素によって囲まれる低解像度の画素を含む再構築されたフレームとして符号化されてもよい。デコーダ側では、それらの再構築されたフレームは、ダウンスケールされたフレームを抽出するためにパラメータを使用し、次いで、抽出されたダウンスケールされたフレームをアップサンプリングすることによって復号化されてもよい。代わりに、高解像度（例えば、４Ｋ解像度）においてフレームを送信することが不十分であると判定される場合、フレームは、より低解像度（例えば、１０８０Ｐ）にダウンスケールされてもよく、その後、改良情報の生成、並びにベースフレーム及び改良情報の符号化が続く。そのような実装態様では、デコーダは、低解像度のフレームをアップサンプリングすることができ、改良情報とそれらを組み合わせることができ、４Ｋフレームを通常に扱うことができる。いくつかのフレームを低解像度として選択的に送信することによって、それらの実施形態は、ビットストリームサイズを削減することが可能である。
【００２８】
本開示の態様に従ってエッジ改良を伴うアップサンプリングを説明する前に、デジタルピクチャ、例えば、ビデオピクチャがストリーミングアプリケーションのためにどのように符号化されるかを理解することが有益である。更に、ピクチャ又はピクチャの一部が符号化される方式が、それがどのように復号化されるかに影響を与えるので、符号化されたストリーミングデジタルピクチャデータがどのように復号化されるかを理解することが有益である。
【００２９】
例として、及び限定することなく、図１に示されるように、単一のピクチャ１００（例えば、デジタルビデオフレーム）は、１つ以上のセクションに分解されてもよい。本明細書で使用されるように、用語「セクション」は、ピクチャ１００内の１つ以上の画素のグループを指すことができる。セクションは、ピクチャ内の単一の画素からピクチャ全体までの範囲にわたることができる。セクションの非限定的な例は、スライス（例えば、マクロブロック行）１０２、マクロブロック１０４、サブマクロブロック１０６、ブロック１０８、及び個々の画素１１０を含む。他の例は、コーディングツリーブロック（ＣＴＢ）、及びＨＥＶＣ（Ｈ．２６５）コーディング標準に特有な他のセクションタイプを含む。図１に例示されるように、各々のスライス１０２は、マクロブロック１０４の１つ以上の行、又は１つ以上のそのような行の一部を含む。行内のマクロブロックの数は、マクロブロックのサイズ、並びにピクチャ１００のサイズ及び解像度に依存する。例えば、各々のマクロブロックが１６×１６の画素を含む場合、各々の行内のマクロブロックの数は、ピクチャ１００の幅（画素内の）を１６により除算することによって判定されてもよい。各々のマクロブロック１０４は、いくつかのサブマクロブロック１０６に分解されてもよい。各々のサブマクロブロック１０６は、いくつかのブロック１０８に分解されてもよく、各々のブロックは、いくつかの画素１１０を含んでもよい。例として、及び本発明を限定することなく、共通ビデオコーディングスキームでは、各々の１６×１６の画素のマクロブロック１０４は、４つの８×８の画素のサブマクロブロック１０６に分解されてもよい。各々のサブマクロブロックは、４つのブロック１０８に分解されてもよく、各々のブロックは、１６個の画素１１０の４×４配置を含んでもよい。
【００３０】
各々のピクチャは、フレーム又はフィールドのいずれかであってもよいことに留意されたい。フレームは、完全な画像を指す。フィールドは、特定のタイプのディスプレイデバイス上で画像を表示することを促進するために使用される画像の一部である。概して、画像内の画素は、行をなして配置される。表示を促進するために、画像は時に、２つの異なるフィールドに画素を交互に置くことによって分割されることがある。２つのフィールド内の画素の行は次いで、完全な画像を形成するように織り交ざってもよい。陰極線管（ＣＲＴ）ディスプレイなどのいくつかのディスプレイデバイスについて、２つのフィールドは単純に、高速に連続して相互に表示されてもよい。蛍光体、又はディスプレイに画素を照明するために使用される他の発光素子の残光は、残像と組み合わされて、２つのフィールドを連続した画像として認知する結果を生じる。液晶ディスプレイなど特定のディスプレイデバイスについて、表示される前に単一のピクチャに２つのフィールドをインタレースする必要があることがある。符号化された画像を表すストリーミングデータは典型的には、画像がフィールド又はフレームであるかどうかを示す情報を含む。そのような情報は、画像へのヘッダに含まれてもよい。
【００３１】
ＭＰＥＧ２、ＭＰＥＧ４、及びＨ．２６４などの最新のビデオコーダ／デコーダ（コーデック）は概して、典型的には、Ｉフレーム、Ｐフレーム、及びＢフレームとそれぞれ称される、イントラフレーム、予測フレーム、及び両方向予測フレームとして知られる３つの基本的なタイプのうちの１つとしてビデオフレームを符号化する。
【００３２】
Ｉフレームは、それ自体を除くいずれのピクチャも参照することなくコーディングされたピクチャである。Ｉフレームは、ランダムアクセスのために使用され、他のＰフレーム又はＢフレームの復号化のための参照として使用される。Ｉフレームは、ランダムアクセスポイント（デコーダが所与のピクチャ位置においてスクラッチから適切に復号化を開始することを可能にするための）を生じさせるためにエンコーダによって生成されてもよい。Ｉフレームは、画像の詳細を区別することが、有効なＰフレーム又はＢフレームの生成を禁止するときに、生成されてもよい。Ｉフレームが完全なピクチャを含むことを理由に、Ｉフレームは典型的には、Ｐフレーム又はＢフレームよりも符号化するために多くのビットを必要とする。ビデオフレームは、入力ビデオ内でシーンの変更が検出されるときにＩフレームとしてとして符号化されることが多い。
【００３３】
Ｐフレームは、復号化されるためにいくつかの他のピクチャ（複数可）の先行する復号化を必要とする。Ｐフレームは典型的には、Ｉフレームよりも符号化のために少ないビットを必要とする。Ｐフレームは、復号化順序において前のＩフレームに対する差に関する符号化された情報を含む。Ｐフレームは典型的には、グループオブピクチャ（ＧｏＰ）内の先行するＩフレームを参照する。Ｐフレームは、画像データの変位及び動きベクトルの変位の両方、並びに２つの組み合わせを含んでもよい。いくつかの標準コーデック（ＭＰＥＧ−２など）では、Ｐフレームは、前に復号化された１つのピクチャのみを復号化の間の参照として使用し、そのピクチャが表示順序においてＰフレームに先行することも必要とする。Ｈ．２６４では、Ｐフレームは、前に復号化された複数のピクチャを復号化の間の参照として使用することができ、その予測のために使用されるピクチャ（複数可）に対するいずれかの任意の表示順序関係を有することができる。
【００３４】
Ｂフレームは、復号化されるためにＩフレーム又はＰフレームのいずれかの先行する復号化を必要とする。Ｐフレームと同様に、Ｂフレームは、画像データの変位及び動きベクトルの変位の両方、及び／又は２つの組み合わせを含んでもよい。Ｂフレームは、前に復号化された２つの異なる参照領域を使用して取得された予測を平均化することによって、動き領域（例えば、マクロブロック又はより小さなエリアなどのフレームのセグメント）の予測を形成するいくつかの予測モードを含んでもよい。いくつかのコーデック（ＭＰＥＧ−２など）では、Ｂフレームは、他のピクチャの予測のための参照として使用されない。結果として、より低い品質の符号化（他に使用されるより少ないビットの使用をもたらす）は、詳細の損失が後続のピクチャについての予測品質に悪影響を与えないことを理由に、そのようなＢピクチャのために使用されてもよい。Ｈ．２６４などの他のコーデックでは、Ｂフレームは、他のピクチャの復号化（エンコーダの裁量における）のための参照として使用されてもよく、又は使用されなくてもよい。Ｈ．２６４では、２つのタイプのＢフレーム、参照Ｂフレーム及び非参照Ｂフレームが存在する。参照Ｂフレームは、Ｂフレームコーディングのための参照フレームとして使用されてもよく、非参照Ｂフレームはそうでなくてもよい。いくつかのコーデック（ＭＰＥＧ−２など）は、復号化の間の参照として前に復号化された丁度２つのピクチャを使用し、それらのピクチャのうちの１つが表示順序においてＢフレームピクチャに先行し、他の１つがそれに続くことを必要とする。Ｈ．２６４などの他のコーデックでは、Ｂフレームは、復号化の間の参照として前に復号化された１つ、２つ、又は２つよりも多いピクチャを使用することができ、その予測のために使用されるピクチャ（複数可）に対するいずれかの任意の表示順序関係を有することができる。Ｂフレームは典型的には、Ｉフレーム又はＰフレームのいずれかよりも符号化のために少ないビットを必要とする。
【００３５】
本明細書で使用されるように、用語Ｉフレーム、Ｂフレーム、及びＰフレームは、例えば、ストリーミングビデオのコンテキストに関して上記説明されたように、Ｉフレーム、Ｂフレーム、及びＰフレームに対して同様の特性を有するストリーミングデータ単位に適用されてもよい。
【００３６】
例として、及び限定することなく、符号化されたベースフレーム及び符号化された改良データを含む共通ビットストリームは、図２Ａに示されるように構成されてもよい。この例では、ベースフレームは、Ｉフレーム０、１３、又はＰフレーム１、５、９としてコーディングされる。改良データについてのフレームは、Ｂフレーム２、３、４、６、７、８、１０、１１、１２、１４、１５、１６として符号化される。改良フレームは、矢印によって示されるように、参照としてベースフレームを使用することができるが、逆はそうではない。図２Ａでは、Ｉフレーム０、１３は、ベースフレームデータに対応してもよく、フレームの残りは、符号化された改良データを含んでもよい。この例では、Ｂフレームの全てが非参照フレームである。
【００３７】
代替的な構成（図示せず）では、Ｉフレーム０、１３のみがベースフレームデータに対応し、Ｐフレーム１、５、９及びＢフレーム２、３、４，６、７、８、１０、１１、１２、１４、１５、１６が改良データに対応する。そのような実装態様では、Ｐフレームは、Ｂフレームについての参照フレームとして使用されてもよい。
【００３８】
図２Ｂは、本開示の態様に従った、共通ビットストリームについての代替的な構成を例示する。この例では、ビットストリームは、階層Ｂ構造を使用して作成され、階層Ｂ構造では、特定のＢフレーム２、６、１０、１４が他のＢフレームについての参照として使用される。特に、フレーム２は、フレーム３及び４についての参照として使用されてもよく、フレーム６は、フレーム７及び８についての参照として使用されてもよく、フレーム１０は、フレーム１１及び１２についての参照として使用されてもよく、フレーム１４は、フレーム１５及び１６についての参照として使用されてもよい。この例では、Ｂフレームは、ベースフレーム０、１、５、９、１３の復号化に影響を与えることなくスキップされてもよい。
【００３９】
例として、及び限定することなく、デジタルピクチャは、図２Ｃに例示される一般化された方法２００に従って符号化されてもよい。エンコーダは、複数のデジタル画像２０１を受信し、各々の画像を復号化する。デジタルピクチャ２０１の符号化は、セクション単位で続行してもよい。セクションごとの符号化処理は任意選択で、パディング２０２、画像圧縮２０４、及び動き補償２０６を含んでもよい。イントラコーディングされたピクチャ及びインターコーディングされたピクチャの両方についての共通の処理フローを促進するために、現在処理しているピクチャ２０１内の全ての復号化されていない画素は、２０２において示されるように、パディングされたピクチャを作成するために、一時的画素値によりパディングされてもよい。パディングは、例えば、参照により本明細書に組み込まれる、米国特許第８，７１１，９３３号において上述したように続行してもよい。パディングされたピクチャは、バッファに記憶された参照ピクチャのリスト２０３に追加されてもよい。２０２においてピクチャをパディングすることは、画像圧縮２０４及び動き補償２０６の間の後続の処理において参照ピクチャとして現在処理しているピクチャを使用することを促進する。そのようなパディングは、参照により本明細書に組み込まれる、譲受人が共通である米国特許第８，２１８，６４１号において詳細に説明されている。
【００４０】
本明細書で使用されるように、画像圧縮は、デジタル画像へのデータ圧縮のアプリケーションを指す。画像圧縮２０４の目的は、圧縮されたデータの効率的な形式でその画像についてのデータを記憶又は伝送することを可能にするために、所与の画像２０１についての画像データの冗長性を削減することである。画像圧縮２０４は、不可逆又は可逆であってもよい。可逆圧縮は、製図、アイコン、又はコミックなど人工的画像について好ましい場合がある。これは、不可逆圧縮方法が、特に低いビットレートにおいて使用されるとき、圧縮アーチファクトを導入するからである。可逆圧縮方法はまた、医療画像又は保存を目的として行われる画像スキャンなど、高い値のコンテンツについて好ましい場合がある。不可逆方法は特に、忠実性のわずかな（時に、感知できない）損失がビットレートにおける十分な減少を達成するために許容可能であるアプリケーションにおける写真などの自然画像に適している。
【００４１】
可逆画像圧縮のための方法の例は、ＰＣＸにおけるデフォルトの方法として、及びＢＭＰ、ＴＧＡ、ＴＩＦＦ、エントロピーコーディングにおいて可能な１つとして使用されるランレングス符号化、ＧＩＦ及びＴＩＦＦにおいて使用されるＬＺＷなどのアダプティブディクショナリアルゴリズム、並びにＰＮＧ、ＭＮＧ、及びＴＩＦＦにおいて使用されるデフレーションを含むが、それらに限定されない。不可逆圧縮のための方法の例は、ピクチャ２０１の色空間を画像内の最も共通した色に削減すること、色度サブサンプリング、変換コーディング、及びフラクタル圧縮を含む。
【００４２】
色空間削減では、選択された色は、圧縮された画像のヘッダ内の色パレットにおいて指定されてもよい。各々の画素はまさに、色パレット内の色インデックスを参照する。この方法は、ポスタリゼーションを回避するためにディザリングと組み合わされてもよい。色度サブサンプリングは、画像内の色度情報の半分以上をドロップさせることによって、目が色よりも鮮明に明度を感知する事実を利用する。変換コーディングはおそらく、最も一般的に使用される画像圧縮方法である。変換コーディングは典型的には、量子化及びエントロピーコーディングがそれに続く、離散コサイン変換（ＤＣＴ）又はウェーブレット変換などのフーリエ関連変換を適用する。フラクタル圧縮は、特定の画像内で、画像の一部が同一の画像の他の部分に類似する事実に依存する。フラクタルアルゴリズムは、それらの部分、又はより正確には幾何学的形状を、符号化された画像を再作成するために使用される「フラクタルコード」と称される数学的データに変換する。
【００４３】
画像圧縮２０４は、画像２０１の特定の部分が他よりも高い品質により符号化される関心の領域のコーディングを含んでもよい。これは、画像の特定の部分を最初に符号化し、後に他の部分を符号化することを含む、スケーラビリティと組み合わされてもよい。圧縮されたデータは、画像を分類、探索、又は閲覧するために使用することができる画像に関する情報（メタ情報又はメタデータと称される場合がある）を含むことができる。そのような情報は、色及びテクスチャ統計、小さいプレビュー画像、及び著者／著作権情報を含むことができる。
【００４４】
例として、及び限定することなく、２０４における画像圧縮の間、エンコーダは、画素のブロックを圧縮するための最良の方法を探索してもよい。エンコーダは、良好な一致のために、現在パディングされているピクチャを含む、参照ピクチャリスト２０３内の参照ピクチャの全てを探索することができる。カレントピクチャ（又は、サブセクション）がイントラピクチャ（又は、サブセクション）としてコーディングされる場合、パディングされたピクチャのみが参照リストにおいて利用可能である。２０４における画像圧縮は、動きベクトルＭＶを作成し、２０６における動き補償の間に参照ピクチャ（パディングされたピクチャを含む）のうちの１つ以上と共に続いて使用される係数２０７を変換する。
【００４５】
画像圧縮２０４は概して、最良のインター予測一致のための動き探索ＭＳ、最良のイントラ予測一致のためのイントラ探索ＩＳ、カレントマクロブロックがインターコーディング又はイントラインターコーディングされているかどうかを決定するためのインター／イントラ比較Ｃ、可逆的残差画素２０５を計算するために最良に一致して予測された画素と共に符号化されているセクションからの元の入力画素の減算Ｓを含む。残差画素は次いで、変換係数２０７を作成するために変換及び量子化ＸＱを受ける。変換は典型的には、離散コサイン変換（ＤＣＴ）などのフーリエ変換に基づいている。
【００４６】
変換は、係数のセットを出力し、係数の各々は、標準の基本的パターンについての重み値である。組み合わされるとき、重み付けられた基本的パターンは、残差サンプルのブロックを再作成する。変換の出力、変換係数のブロックは量子化され、すなわち、各々の係数は、整数値により分割される。量子化は、量子化パラメータ（ＱＰ）に従って変換係数の精度を減少させる。典型的には、結果は、係数のほとんど又は全てが、いくつかの非ゼロ係数がある状態でゼロであるブロックである。高い値にＱＰを設定することは、ゼロに設定される係数が多いほど、復号化された画像の不良な品質を犠牲にして高い圧縮をもたらすことを意味する。低いＱＰ値について、量子化の後に残る非ゼロ係数が多いほど、より良好な復号化された画像品質であるが、より低い圧縮をもたらす。逆に、高いＱＰ値について、量子化の後に残る非ゼロ係数が少ないほど、より高い画像圧縮であるが、より低い画像品質をもたらす。
【００４７】
モード決定とも称されるインター／イントラ比較Ｃは、ＱＰに関連するラグランジュ乗数λとして知られるパラメータを使用する。基本的には、コスト関数Ｊは、ＱＰの値から判定されたλの値を使用して計算される。符号化モードは、インターモードコーディングについての計算されたコスト関数Ｊがイントラモードコーディングについての計算されたコストを上回り又は下回るかどうかに基づいて判定される。例として、Ｈ．２６４／ＡＶＣ  コーデックは、セクションのオーバーヘッド（例えば、動きベクトル、タイプ）を符号化するための実ビット消費Ｒ及び再構築歪み（例えば、元のセクションと再構築されたセクションとの間の絶対的差の和、ＳＡＤとして測定された）を計算することによって最小化される必要がある、コスト関数ＪＨをサポートする。そのようなケースでは、コスト関数ＪＨは、
ＪＨ＝Ｄ＋λ・Ｒ
に従って計算される。
【００４８】
代替的な実施態様では、歪みＤは、異なって計算されてもよい。歪み、例えば、二乗した差の和（ＳＳＤ）、絶対的な変換された差の和（ＳＡＴＤ）、及び平均絶対差（ＭＡＤ）などを表す多くの方法が存在する。当業者は、異なる歪み測定について、コスト関数がそれに従って修正又は再調整される必要があることを認識するであろう。
【００４９】
いくつかの状況の下、適切でない符号化モード決定は、不必要なＩＤＲ又はＩフレーム挿入をトリガすることができる。オンラインビデオゲーミングの間のストリーミングビデオの例を考える。エンコーダは、ゲームアプリケーションによって生成されたビデオストリームについてのターゲットビットレートを満たすことを試みる。ターゲットビットレートは、フレームごとのビットの数に関連する。ゲームが中断される場合、ビデオは必然的に、静止フレームのストリームである。静止フレームについて、ＱＰは、レート歪み最適化処理におけるフレームについてのターゲットビットを満たすために低い。ＱＰが低いとき、モード決定は、静止フレーム内のほとんどのセクション（例えば、マクロブロック）についてのイントラコーディングを選択する。フレーム内のイントラコーディングされたセクションの数が閾値を上回る場合、コーデックは、シーン変更検出をトリガし、次のフレームが極端に低いＱＰによりイントラフレームとしてコーディングされ、それは、符号化するために多数のビットを必要とする。これは、極端に低いＱＰの値（例えば、ＱＰ＝１、２）がこのケースにおけるほぼ可逆のコーディングを意味する事実に起因している。例として、及び限定することなく、シーン変更検出をトリガするための閾値は、フレーム内の約６０〜８０％のイントラＭＢであってもよい。静止フレームのシーケンスは、基本的には同一のフレームが繰り返されるときでさえ、シーン変更検出のシーケンスを引き起こす。イントラフレームのシーケンスは、帯域幅が制限された通信チャネルにおいてビットレート使用率の大きな且つ頻繁なスパイクを引き起こすことがある。
【００５０】
通常、λとＱＰとの関係は、コーデックによって固定され、全てのピクチャに対して同一である。本開示の態様に従って、λとＱＰとの関係は、ピクチャ内のセクションごとのビットの数に応じて、ピクチャごとに調節されてもよい。
【００５１】
本開示の態様に従って、λとＱＰとの関係は、セクションごとにビットの数に基づいて適合されてもよく、それによって、符号化モード決定は、不必要なＩＤＲ又はＩフレーム挿入の可能性を減少させる方法で構成されてもよい。
【００５２】
本開示の態様に従って、λとＱＰとの関係は、セクション符号化モード決定が「イントラ」コーディングモードの代わりに「インター」コーディング決定をもたらす可能性を高める方法で、符号化の間、例えば、ビデオストリームの符号化の開始又はストリーム内の各々のビデオフレームの開始において選択的に調節されてもよい。
【００５３】
いくつかの実装態様では、例えば、Ｈ．２６５において可能なように、フレーム内に異なるサイズのセクションが存在する場合、セクションごとのλ対ＱＰ関係を変更することが更に可能である。これは、第１のパスがピクチャセクションのコンテンツに関する更なる洞察を提供し、それによって、より良好なコーディングモード決定を行うことができるので、例えば、２つのパス符号化のユースケースにおいて有益である。
【００５４】
例として、及び限定することなく、λとＱＰとの関係への調節は、セクション内のビットの数（ＮＢＳ）に依存することがあり、それは概して、ターゲットビットレート（例えば、１秒ごとのビット内の）、フレームレート（例えば、１秒ごとのフレーム内の）、及びフレーム内のセクションの数に依存する。セクション内のビットの数ＮＢＳは、ターゲットビットレートＢＲを、フレームレートＦＲとフレームごとのセクションの数ＮＳＦとの積によって除算することによって計算されてもよい。例として、及び限定することなく、これは、
ＮＢＳ＝ＢＲ／（ＦＲ・ＮＳＦ）
として表現されてもよい。
【００５５】
より一般的には、セクションごとのビットの数（ＮＢＳ）は、ＮＢＳ＝（ＢＰＦ）／（ＮＳＦ）として広義に表現されてもよく、ＢＰＦは、フレームごとのビットのターゲット数である。
【００５６】
この広義の表現は、例えば、内在するレート制御スキームによって割り当てられたターゲットビットに応じて、ＮＢＳの値がフレームごとに異なる可能性を可能にする。フレームごとのビットの固定されたターゲット数のケースでは、ＢＰＦはＢＲ／ＦＲになる。
【００５７】
フレームごとのセクションの数（例えば、ＭＢ）は、解像度に依存する。テーブルへの変更は、解像度、フレームレート、及びビットレートの組み合わせによってトリガされてもよい。例えば、テーブルの変更は、９６０×５４０の解像度、３０フレーム／秒のフレームレート、及び８〜１０メガビット／秒又はそれよりも高いターゲットレートを有するフレームについてトリガされる。所与のビットレート及び解像度について、テーブルの変更は、解像度が増加する場合にトリガされる可能性は低い。所与のビットレート及び解像度について、テーブルの変更は、フレームレートが増加する場合にトリガされる可能性は低い。所与のフレームレート及び解像度について、テーブルの変更は、ビットレートが減少する場合にトリガされる可能性は低い。
【００５８】
λとＱＰとの関係は典型的には、非線形である。概して、ＱＰが高いときはλが高く、ＱＰが低いときはλが低い。λとＱＰとの関係の例は、その全体の内容が参照により本明細書に組み込まれた、２０１４年９月２２日に出願され、米国特許出願公開公報第２０１６／００８８２９９号として公開された米国特許出願第１４／４９３，２３８号（代理人整理番号ＳＣＥＡ１４０１７ＵＳ００）において説明される。
【００５９】
ＱＰ値は、ターゲットビットレートに応じて調節されてもよい。ＱＰが符号化においてビット使用率を制御するので、多くの符号化プログラムは、所望のビットレートを達成するためにＱＰを調節するレートコントローラを利用する。エンコーダは、圧縮されていないソースデータ（例えば、入力ビデオ）を受信し、圧縮された出力を作成する。ビデオコーディング方法は典型的には、ビデオセクションを符号化するためのビット使用率に影響を与え、したがって、ビットレートに影響を与えるＱＰ値を使用する。概して、より低いビット使用率は、より高いビットレートをもたらす。レートコントローラは、外部アプリケーションによって指定することができる要求されたビットレートに基づいてＱＰ値を判定する。エンコーダは、レートコントローラによって判定されたＱＰ値を使用し、実際の結果として生じるビット使用率及びビットレートを判定する。レートコントローラは、フィードバックループにおいてＱＰ値を調節するために実ビットレートを使用することができる。
【００６０】
ビットレートのＱＰの値との間の関係は、存在する画像の複雑度に部分的に依存する。ビットレート対ＱＰの関係は、異なるレベルの複雑度についての異なる曲線を有する曲線のセットに関して表現されてもよい。レートコントローラによって実施されるアルゴリズムの核心は、ＱＰ、実ビットレート、及び複雑度のいくつかの測定値の間の関係を記述した量的モデルである。関連するビットレート及び複雑度は概して、ソース画素と予測された画素との間の差（残差と称されることが多い）のみと関連付けられ、なぜならば、量子化パラメータＱＰが、変換された残差で搬送された情報の詳細のみに影響を与えることがあるからである。
【００６１】
複雑度は概して、ピクチャ又はピクチャの部分内の空間的変動の量を指す。局所的レベルで、例えば、ブロック又はマクロブロックレベルで、空間的変動は、関連するセクション内の画素値の分散によって測定されてもよい。しかしながら、ビデオシーケンスについて、複雑度はまた、画像のシーケンスのシーンの時間的変動に関連することがある。例えば、ビデオシーケンスは、ビューのフィールドにわたって低速に転換する実質的な空間的変動を有する１つのオブジェクトから構成され、時間的予測が単一の参照ピクチャ及び一連の動きベクトルを使用して動きを容易に捕捉することができることを理由に、あまり多くのビットを必要としないことがある。計算することが容易でもある包括的なビデオ複雑度測定基準を定義することは困難であるが、予測誤差（ソース画素値と予測された画素値との間の差）の平均差（ＭＡＤ）がこの目的で使用されることが多い。
【００６２】
量子化パラメータＱＰは、ソースピクチャのピクチャタイプ、ソースピクチャの複雑度、ビットの推定されたターゲット数、及び内在するレート歪みモデルを含むが、それらに限定されない複数の因子から判定されてもよいことに留意されたい。例えば、ＱＰは、現在符号化しているピクチャのセクションについての変動、例えば、セクション（例えば、ＭＢ）分散を使用してセクションごとに判定されてもよい。代わりに、現在符号化しているセクションについてのＱＰは、前のフレーム内の同一位置にあるセクション（例えば、ＭＢ）を符号化するための実ビットカウントを使用して判定されてもよい。そのようなＱＰレベルの計算の例は、例えば、参照により本明細書に組み込まれる、譲受人が共通である米国特許出願公開第２０１１／００５１８０６号、今は、Ｈｕｎｇ−Ｊｕ  Ｌｅｅへの特許第８，８７９，６２３号において説明される。
【００６３】
動き探索及び予測は、符号化されているピクチャのタイプに依存する。図２Ｃを再度参照して、イントラピクチャがコーディングされる場合、動き探索ＭＳ及びインター／イントラ比較Ｃがターンオフされる。しかしながら、本発明の実施形態では、パディングされたピクチャが参照として利用可能であるので、それらの機能はターンオフされない。その結果として、画像圧縮２０４は、イントラコーディングされたピクチャ及びインターコーディングされたピクチャに対して同一である。
【００６４】
動き探索ＭＳは、インターコーディングされたピクチャについて通常行われるように、動き補償についての最良に一致するブロック又はマクロブロックについてピクチャ２０１を探索することによって、動きベクトルＭＶを生成してもよい。カレントピクチャ２０１がイントラコーディングされたピクチャである場合、その一方で、既存のコーデックは典型的には、ピクチャにわたる予測を可能にしない。代わりに、全ての動き補償は通常、イントラピクチャ（例えば、Ｉフレーム）、及び変換係数を生成し、画素予測を実行することによってコーディングされたピクチャに対してターンオフされる。しかしながら、いくつかの実装態様では、イントラピクチャは、カレントピクチャ内のセクションをその同一のピクチャ内の別のオフセットされたセクションに一致させることによってインター予測を行うために使用されてもよい。２つのセクションの間のオフセットは、２０６において動き補償のために使用することができる動きベクトルＭＶ’としてコーディングされてもよい。例として、エンコーダは、イントラピクチャ内のブロック又はマクロブロックを同一のピクチャ内のいくつかの他のオフセットされたセクションと一致させ、次いで、２つの間のオフセットを動きベクトルとしてコーディングすることを試みてもよい。「インター」ピクチャについてのコーデックの通常の動きベクトル補償は次いで、「イントラ」ピクチャに対する動きベクトル補償を行うために使用されてもよい。特定の既存のコーデックは、２つのブロック又はマクロブロックの間のオフセットを動きベクトルに変換することができ、その後、２０６において動き補償を行うことが続くことができる機能を有する。しかしながら、それらの機能は従来から、イントラピクチャの符号化のためにターンオフされる。本発明の実施形態では、コーデックは、イントラピクチャの符号化のためにそのような「インター」ピクチャ機能をターンオフしないように命令されてもよい。
【００６５】
本明細書で使用されるように、動き補償は、現在処理している画像への参照画像の変換に関してピクチャを記述するための技術を指す。概して、動き補償２０６は、符号化処理２００を実施するエンコーダ内で局所的デコーダとしての役目を果たす。特に、動き補償２０６は、動きベクトルＭＶ又はＭＶ’を使用して画像圧縮２０４から予測された画素ＰＰを取得し、参照リスト内のピクチャから参照画素を取得するためのインター予測ＩＰ１及び（任意選択で）イントラ予測ＩＰ２を含む。画像圧縮２０４からの変換係数２０７を使用した逆量子化及び逆変換ＩＱＸは、復号化された画素２０９を生成するために予測された画素ＰＰに追加される不可逆残差画素２０５Ｌを作成する。復号化された画素２０９は、参照ピクチャに挿入され、現在処理しているピクチャ２０１の後続のセクションについての画像圧縮２０４及び動き補償２０６において使用するために利用可能である。復号化された画素が挿入された後、参照ピクチャ内の復号化されていない画素がパディング２０２を受けてもよい。
【００６６】
いくつかのエンコーダの実装態様では、カレントピクチャがイントラコーディングされる場合、動き補償のために使用することができる他のピクチャが存在しないことを理由に、動き補償２０６のインター予測部はターンオフされる。代わりに、動き補償は、特定のピクチャがインターコーディング又はイントラインターコーディングされるかどうかに関わらず、いずれかのピクチャ２０１に対して実行されてもよい。いくつかの実装態様では、実施しているエンコーダは、参照ピクチャリスト２０３にパディングされたピクチャを追加するように修正されてもよく、動き補償２０６のインター予測部は、現在処理している画像がイントラコーディングされる場合でさえターンオフされない。結果として、インターコーディングされたセクション及びイントラコーディングされたセクションの両方についての処理フローは、動き補償２０６の間は同一である。唯一の大きな差は、符号化のために使用される参照ピクチャの選択である。いくつかの実装態様では、動き補償が全てのピクチャに対して実行される必要はなく、パディングされたピクチャが参照ピクチャリストに追加される必要はないことに留意されたい。
【００６７】
例として、及び限定することなく、ブロック動き補償（ＢＭＣ）として知られる１つのタイプの動き補償では、各々の画像は、画素のブロック（例えば、１６×１６画素のマクロブロック）に区分化されてもよい。各々のブロックは、参照フレーム内の等しいサイズのブロックから予測される。ブロックは、予測されたブロックの位置にシフトされることを除き変換されない。このシフトは、動きベクトルＭＶによって表される。隣接するブロックベクトルの間の冗長性を利用するために（例えば、複数のブロックによってカバーされる単一の動いているオブジェクトについての）、ビットストリーム内のカレント動きベクトルと前の動きベクトルとの間の差のみを符号化することが一般的である。この差分処理の結果は、パニングすることが可能な全体的な動き補償と数学的に等しい。更に下の符号化パイプラインでは、方法２００は任意選択で、ゼロベクトルの周りの動きベクトルの結果として生じる統計的分布を利用して出力サイズを削減するために、エントロピーコーディング２０８を使用してもよい。
【００６８】
サブ画素精度と称される、非整数の画素によってブロックをシフトさせることが可能である。中間の画素は、隣接する画素を補間することによって生成される。一般的に、２分の１画素又は４分の１画素精度が使用される。サブ画素精度の計算による費用は、補間に必要とされる追加の処理に起因してはるかに高く、エンコーダ側では、評価される潜在的なソースブロックの数がはるかに多い。
【００６９】
ブロック動き補償は、重なっていないブロックに現在符号化している画像を分割し、それらのブロックが参照画像から来ることを示す動き補償ベクトルを計算する。参照ブロックは典型的には、ソースフレーム内で重なる。いくつかのビデオ圧縮アルゴリズムは、参照画像リスト２０３内のいくつかの異なる参照画像の一部からのカレント画像を組み立てる。
【００７０】
画像圧縮２０４及び動き補償２０６、並びに（任意選択で）エントロピーコーディング２０８の結果は、コーディングされたピクチャとして便宜上参照されるデータ２１１のセットである。動きベクトルＭＶ（及び／又は、イントラ予測モード動きベクトルＭＶ’）、並びに変換係数２０７は、コーディングされたピクチャ２１１に含まれてもよい。デジタルピクチャ又は他の形式のストリーミングデータが符号化されると、符号化されたデータは、伝送され、次いで、復号化されてもよい。
【００７１】
図３は、本開示の態様と共に使用することができるストリーミングデータ３０１の復号化のための方法３００における可能な処理フローの例を例示する。この特定の例は、例えば、ＡＶＣ（Ｈ．２６４）標準を使用したビデオ復号化のための処理フローを示す。コーディングされたストリーミングデータ３０１は最初に、バッファに記憶されてもよい。コーディングされたストリーミングデータ３０１（例えば、ビデオデータビットストリーム）がネットワーク、例えば、インターネットを通じて転送されている場合、データ３０１は最初に、３０２において示されるように、ネットワーク抽出層（ＮＡＬ）復号化と称される処理を受けてもよい。ネットワーク抽出層（ＮＡＬ）は、Ｈ．２６４／ＡＶＣ及びＨＥＶＣビデオコーディング標準など、ストリーミングデータ標準の一部である。ＮＡＬの主要な目標は、「会話型」（例えば、ビデオ電話）及び「非会話型」（例えば、記憶、ブロードキャスト、又はストリーミング）アプリケーションについてのストリーミングデータの「ネットワークフレンドリーな」表現のプロビジョニングである。ＮＡＬ復号化は、データ３０１から、データを伝送することを支援するために追加される情報を取り除いてもよい。「ネットワークラッパ」と称されるそのような情報は、ビデオデータとしてデータ２０１を識別することができ、又はビットストリームの開始若しくは終了、データの調整のためのビット、及び／又はビデオデータ自体に関するメタデータを示すことができる。
【００７２】
加えて、例として、ネットワークラッパは、例えば、解像度、ピクチャ表示フォーマット、データを表示するための色パレット変換マトリックス、各々のピクチャ、スライス、又はマクロブロック内のビットの数に関する情報と共に、より低いレベルの復号化に使用される情報、例えば、スライスの開始又は終了を示すデータを含むデータ３０１に関する情報を含んでもよい。この情報は、単一のセクション内のタスクグループの各々に渡すマクロブロックの数を判定するために使用されてもよい。その複雑度に起因して、ＮＡＬ復号化は典型的には、ピクチャ及びスライスレベルに対して行われる。ＮＡＬ復号化のために使用される最小のＮＡＬバッファは通常、サイズ変更されたスライスである。図３に例示される例は、マクロブロック及びＡＶＣ（Ｈ．２６５）標準に関して説明される。しかしながら、それらは、本開示の態様の特徴を限定しない。例えば、最新のＨ２６５（ＨＥＶＣ）標準では、マクロブロックの概念が存在しない。代わりに、より柔軟なコーディングユニット（ＣＵ）、予測ユニット（ＰＵ）、変換ユニット（ＴＵ）の概念が導入される。本開示の態様は、そのようなコーディング標準と共に機能してもよい。
【００７３】
いくつかの実施形態では、３０２におけるＮＡＬ復号化の後、図３に例示される残りの復号化は、ビデオコーディングされた層（ＶＣＬ）復号化３０４、動きベクトル（ＭＶ）再構築３１０、及びピクチャ再構築３１４と本明細書で称される３つの異なるスレッドグループ又はタスクグループにおいて実施されてもよい。ピクチャ再構築タスクグループ２１４は、画素予測及び再構築３１６、並びに事後処理３２０を含んでもよい。本発明のいくつかの実施形態では、それらのタスクグループは、データ依存性に基づいて選択されてもよく、それによって、各々のタスクグループは、マクロブロックが後続の処理のために次のタスクグループに送信される前に、ピクチャ（例えば、フレーム又はフィールド）又はセクション内の全てのマクロブロックのその処理を完了することができる。
【００７４】
特定のコーディング標準は、空間ドメインから周波数ドメインへの画素情報の変換を含むデータ圧縮の形式を使用してもよい。とりわけ、１つのそのような変換は、離散コサイン変換（ＤＣＴ）として知られる。そのような圧縮されたデータについての復号化処理は、周波数ドメインから再度空間ドメインへの逆変換を含む。ＤＣＴを使用して圧縮されたデータのケースでは、逆処理は、逆離散コサイン変換（ＩＤＣＴ）として知られる。変換されたデータは、離散変換されたデータ内の数を表すために使用されるビットの数を削減するように量子化されることがある。例えば、数１、２、３は全て、２にマッピングされてもよく、数４、５、６は全て、５にマッピングされてもよい。データを解凍するために、逆量子化（ＩＱ）として知られる処理は、周波数ドメインから空間ドメインへの逆変換を実行する前に使用される。ＶＣＬ  ＩＱ／ＩＤＣＴ復号化処理３０４についてのデータ依存性は典型的には、同一のスライス内のマクロブロックについてのマクロブロックレベルにある。その結果として、ＶＣＬ復号化処理３０４によって生じる結果は、マクロブロックレベルにおいてバッファされてもよい。
【００７５】
ＶＣＬ復号化３０４は、ＶＣＬシンタックスを復号化するために使用される、エントロピー復号化３０６と称される処理を含むことが多い。ＡＶＣ（Ｈ．２６４）などの多くのコーデックは、エントロピー符号化と称される符号化の層を使用する。エントロピー符号化は、コード長が信号の確率に一致するように信号にコードを割り当てるコーディングスキームである。典型的には、エントロピーエンコーダは、等しい長さのコードによって表されるシンボルを、確率の負の対数に比例したコードによって表されるシンボルと置き換えることによって、データを圧縮するために使用される。ＡＶＣ（Ｈ．２６４）は、２つのエントロピー符号化スキーム、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）及びコンテキスト適応型二値算術的コーディング（ＣＡＢＡＣ）をサポートする。ＣＡＢＡＣは、ＣＡＶＬＣよりも約１０％大きい圧縮を提供する傾向があるので、ＣＡＢＡＣは、ＡＶＣ（Ｈ．２６４）ビットストリームを生成する際に、多くのビデオエンコーダによって好まれる。ＡＶＣ（Ｈ．２６４）コーディングされたデータストリームのエントロピー層を復号化することは、計算的に負荷が高いことがあり、汎用マイクロプロセッサを使用してＡＶＣ（Ｈ．２６４）コーディングされたビットストリームを復号化するデバイスに対して課題を提示することがある。この理由により、多くのシステムは、ハードウェアデコーダ加速器を使用する。
【００７６】
エントロピー復号化３０６に加えて、ＶＣＬ復号化処理３０４は、３０８において示されるように、逆量子化（ＩＱ）及び／又は逆離散コサイン変換（ＩＤＣＴ）を含んでもよい。それらの処理は、マクロブロックからヘッダ３０９及びデータを復号化してもよい。復号化されたヘッダ３０９は、隣接するマクロブロックのＶＣＬ復号化を支援するために使用されてもよい。
【００７７】
ＶＣＬ復号化３０４は、マクロブロックレベルのデータ依存周波数において実施されてもよい。特に、同一のスライス内の異なるマクロブロックは、ＶＣＬ復号化を並列に受けてもよく、結果は、更なる処理のために動きベクトル再構築タスクグループ２１０に送信されてもよい。
【００７８】
その後、ピクチャ又はセクション内の全てのマクロブロックは、動きベクトル再構築３１０を受けてもよい。ＭＶ再構築処理３１０は、所与のマクロブロック３１１からのヘッダ及び同一位置にあるマクロブロックヘッダ３１３を使用した動きベクトル再構築３１２を含んでもよい。動きベクトルは、ピクチャ内の明白な動きを記述する。そのような動きベクトルは、前のピクチャの画素の知識及びピクチャからピクチャへのそれらの画素の相対的な動きに基づいて、ピクチャ（又は、それらの一部）の再構築を可能にする。動きベクトルが回復すると、画素は、ＶＣＬ復号化処理３０４からの残差画素及びＭＶ再構築処理３１０からの動きベクトルに基づいた処理を使用して、３１６において再構築されてもよい。ＭＶについてのデータ依存周波数（及び、並列処理のレベル）は、ＭＶ再構築処理３１０が他のピクチャからの同一位置にあるマクロブロックを含むかどうかに依存する。他のピクチャからの同一位置にあるＭＢヘッダを含まないＭＶ再構築について、ＭＶ再構築処理３１０は、スライスレベル又はピクチャレベルにおいて並列に実施されてもよい。同一位置にあるＭＢヘッダを含むＭＶ再構築について、データ依存周波数は、ピクチャレベルにあり、ＭＶ再構築処理３１０は、スライスレベルにおける並列処理により実施されてもよい。
【００７９】
動きベクトル再構築３１０の結果は、ピクチャ周波数レベルに対して並列化されてもよい、ピクチャ再構築タスクグループ３１４に送信される。ピクチャ再構築タスクグループ３１４内で、ピクチャ又はセクション内の全てのマクロブロックは、デブロッキング３２０と共に画素予測及び再構築３１６を受けてもよい。画素予測及び再構築タスク３１６並びにデブロッキングタスク３２０は、復号化の効率を高めるために並列化されてもよい。それらのタスクは、データ依存性に基づいてマクロブロックレベルにおいてピクチャ再構築タスクグループ３１４内で並列化されてもよい。例えば、画素予測及び再構築３１６は、１つのマクロブロックに対して実行されてもよく、デブロッキング３２０がそれに続いてもよい。デブロッキング３２０によって取得された復号化されたピクチャからの参照画素は、後続のマクロブロックに対して画素予測及び再構築３１６において使用されてもよい。画素予測及び再構築３１８は、後続のマクロブロックについての画素予測及び再構築処理３１８への入力として使用することができる隣接画素を含む復号化されたセクション３１９（例えば、復号化されたブロック又はマクロブロック）を作成する。画素予測及び再構築３１６についてのデータ依存性は、同一のスライス内のマクロブロックについてのマクロブロックレベルにおける或る程度の並列処理を可能にする。
【００８０】
事後処理タスクグループ３２０は、ブロックコーディング技術が使用されるとき、ブロックの間で形成することができる鮮明なエッジを平滑化することによって視覚品質及び予測性能を改善するために、復号化されたセクション３１９内のブロックに適用されるデブロッキングフィルタ３２２を含んでもよい。デブロッキングフィルタ３２２は、結果として生じるデブロッキングされたセクション３２４の外観を改善するために使用されてもよい。
【００８１】
復号化されたセクション３１９又はデブロッキングされたセクション３２４は、隣接するマクロブロックをデブロッキングする際に使用するための隣接する画素を提供することができる。加えて、現在復号化しているピクチャからのセクションを含む復号化されたセクション３１９は、後続のマクロブロックについての画素予測及び再構築３１８のための参照画素を提供することができる。それは、カレントピクチャ内からのその画素が任意選択で、ピクチャ（又は、それらのサブセクション）がインターコーディングされ又はイントラコーディングされているかどうかに関わらず、上記説明されたように、その同一のカレントピクチャ内で画素予測のために使用されてもよい段階の間である。デブロッキング３２０は、同一のピクチャ内のマクロブロックについてのマクロブロックレベルに対して並列化されてもよい。
【００８２】
事後処理３２０の前に作成された復号化されたセクション３１９、及び事後処理されたセクション３２４は、同一のバッファ、例えば、含まれる特定のコーデックに依存した出力ピクチャバッファに記憶されてもよい。デブロッキングがＨ．２６４における事後処理フィルタであることに留意されたい。なぜならば、Ｈ．２６４は、隣接するマクロブロックイントラ予測のための参照としての事前デブロッキングマクロブロック及び後のピクチャマクロブロックインター予測のための事後デブロッキングマクロブロックを使用するからである。事前デブロッキング画素及び事後デブロッキング画素の両方が予測のために使用されることを理由に、デコーダ又はエンコーダは、事前デブロッキングマクロブロック及び事後デブロッキングマクロブロックの両方をバッファする必要がある。元も低いコスト消費者アプリケーションについて、事前デブロッキングされたピクチャ及び事後デブロッキングされたピクチャは、メモリ使用率を減少させるために同一のバッファを共有する。ＭＰＥＧ４  ｐａｒｔ１０（注：Ｈ．２６４は、ＭＰＥＧ４  ｐａｒｔ１０とも称される）を除くＭＰＥＧ２又はＭＰＥＧ４など、Ｈ．２６４よりも前の標準について、事前事後処理マクロブロック（例えば、事前デブロッキングマクロブロック）のみが他のマクロブロック予測のための参照として使用される。そのようなコーデックでは、事前にフィルタリングされたピクチャは、事後にフィルタリングされるピクチャと同一のバッファを共有しなくてもよい。
【００８３】
よって、Ｈ．２６４について、画素復号化の後、復号化されたセクション３１９は、出力ピクチャバッファに保存される。後に、事後処理されたセクション３２４は、出力ピクチャバッファ内の復号化されたセクション３１９を置き換える。非Ｈ．２６４のケースについて、デコーダは、出力ピクチャバッファに復号化されたセクション３１９のみを保存する。事後処理は、表示時間において行われ、事後処理の出力は、デコーダ出力ピクチャバッファと同一のバッファを共有しなくてもよい。
【００８４】
［エッジ改良を伴うアップサンプリング］
本開示の態様は、デジタルピクチャの符号化及び復号化において改良情報を用いたアップサンプリングを実施するための方法を提供する。例として、及び限定することなく、図４Ａは、本開示の態様に従った、ビデオ及びエッジ改良ストリームを符号化する方法４００を例示する。方法４００は、高解像度のビデオ４１０を受信及び生成することによって開始する。高解像度のビデオ４１０は、４１２においてダウンサンプリングされてもよく、ベースビデオ４１３をもたらす。この高解像度のビデオ４１０から、及び、任意選択でベースビデオ４１３を使用して、改良情報４１５は、４１４において生成されてもよい。ベースビデオ４１３は次いで、符号化されてもよく、ベースデータ４１７をもたらす。ベースデータ４１７はその後、４２０において記憶又は伝送されてもよい。改良情報４１５は、４１８において符号化されてもよく、４１９において改良データに圧縮されてもよく、次いで、４２２において記憶又は伝送されてもよい。改良情報４１５がパックされる方法に応じて、ベースデータ４１７よりも改良データ４１９に多くのフレームが存在してもよく、又は逆もそうである。
【００８５】
いくつかの実装態様では、４１２において高解像度のビデオをダウンサンプリングすることは、所与のフレーム又はフレーム（複数）に、高解像度のフレームとしてそれらを送信することを正当化するための十分な詳細が存在するかどうかを判定することを含んでもよく、そうでない場合、そのようなフレームは、所与のフレームよりも少ない画素を有する低い解像度のダウンサンプリングされたフレームにダウンサンプリングされた所与のフレームに対応する再構築されたフレームとして符号化されてもよい。再構築されたフレームは、再構築されたフレームのどのセクションが低解像度の画素を含むかを示すパラメータと共に、均一な画素値の画素によって囲まれたダウンサンプリングされたフレームのより低解像度の画素を含んでもよい。
【００８６】
いくつかの実装態様では、エッジ改良情報４１５は、改良情報を生成することが減少したビット使用率に関して十分に有効であるかどうかを判定するために閾値と比較されてもよい。例として、高解像度のフレームを復号化することが可能なハードウェアによってフレームが復号化され、ダウンサンプリング及びエッジ改良によって得られたビットレートの節約が、それを行う計算コストを正当化するのにあまり十分でないことが知られる場合、フレームをダウンサンプリングし、エッジ改良情報を生成することは有効でない場合がある。エッジ改良情報を生成することが所与のフレームについて有効でない場合、そのフレームは、ダウンサンプリング及びエッジ改良情報を生成することなく、元の高解像度のフレームとして符号化されてもよい。
【００８７】
例を目的として、ダウンサンプリング４１２及び改良情報生成４１４の例示的な単一の段階は、図４Ａに示される。しかしながら、本開示の態様は、ベースデータ４１７及び改良データ４１９を生成するための、ダウンサンプリング及び改良情報生成の多段階を使用する実装態様を含む。例として、及び限定することなく、多段階ダウンサンプリングは、１つ以上の高解像度の入力フレームが２つ以上の段階においてより低解像度にダウンサンプリングされる直列スキームを含んでもよい。所与の段階において生成されたダウンサンプリングされたフレームは、次の段階についての入力フレームとしての役割を果たす。改良情報は、その段階についての入力フレームとその段階において生成されたダウンサンプリングされたフレームのアップサンプリングされたバージョンとの差から、ダウンサンプリングの各々の段階において生成されてもよい。最低解像度のフレーム又は直列の最後の段階において生成されたフレームは次いで、ベースデータ４１７のセットを作成するために符号化され、各々の段階において作成された改良情報は、改良データ４１９の複数のセットを生成するために符号化されてもよい。そのような直列スキームについての符号化は、複数のエンコーダ、例えば、最低解像度のフレームを符号化するための１つ以上のエンコーダ、及び直列の各々の段階において作成された改良情報を符号化するための別個の１つを有する２つ以上の追加のエンコーダにより実施されてもよい。ベースデータ４１９は次いで、高解像度の画像の後の復号化及び再生成のために伝送又は記憶されてもよい。ネットワーク帯域幅の制限は、ベースデータ４１７が復号化された後に、より高解像度のフレームを再生成するために、改良データのどのセット（ある場合）が後続の復号化のためにベースデータと共に送信されるかを判定してもよい。
【００８８】
更なる特定の例として、４Ｋフレームは、４Ｋから１０８０Ｐにダウンサンプリングされてもよく、第１の段階の改良情報は、４Ｋにアップサンプリングされた１０８０Ｐフレームのバージョンと元の４Ｋフレームとの間の差から生成されてもよい。結果として生じる１０８０Ｐフレームは次いで、５４０Ｐにダウンサンプリングされてもよく、第２の段階の改良情報は、１０８０Ｐにアップサンプリングされた５４０Ｐフレームのバージョンと１０８０Ｐフレームとの間の差から生成されてもよい。５４０Ｐフレームは次いで、２７０Ｐにウンサンプリングされてもよく、第３の段階の改良情報は、５４０Ｐにアップサンプリングされた２７０Ｐフレームのバージョンと５４０Ｐフレームとの間の差から生成されてもよい。エンコーダは次いで、ベースデータを生成するために２７０Ｐフレームを符号化してもよく、改良データ４１９を生成するために第１の段階の改良情報、第２の段階の改良情報、及び第３の段階の改良情報を符号化してもよい。
【００８９】
図４Ｂは、本開示の態様に従った、低出力のハードウェア上でビデオ及びエッジ改良ストリームを復号化する例示的な方法４００Ｂを例示する。ベースデータ４１７及び圧縮された改良データ４１９は、４２４においてデコーダによって受信されてもよい。この例では、上記言及したベースデータ４１７及び改良データ４１９を受信するハードウェアは、低出力のハードウェアであり、高解像度のビデオを効果的に表示も出力もすることができない。したがって、改良ストリーム４１９は、４２６において無視されてもよい。ベースデータ４１７は次いで、４２８において復号化されてもよく、結果として生じる圧縮されていないベースビデオ４１３Ｂは次いで、４３０において記憶又は表示されてもよい。
【００９０】
図４Ｃは、本開示の態様に従った、高出力のハードウェア上でビデオ及びエッジ改良ストリームを復号化する例示的な方法４００Ｃを例示する。ベースデータ４１７及び圧縮された改良ストリーム４１９は、４２４においてデコーダによって受信されてもよい。この例では、ストリーム４１７及び４１９を受信するハードウェアは、高出力のハードウェアであり、したがって、高解像度のビデオを効果的に表示又は出力することが可能である。よって、ベースデータ４１７は、圧縮されていないベースビデオ４１３Ｂを提供するために４２８において復号化されてもよく、圧縮された改良ストリーム４１９は、圧縮されていない改良データ４１５’を提供するために４３０において復号化されてもよい。圧縮されていないベースビデオ４１３Ｂ及び圧縮されていない改良データ４１５’は次いで、高解像度の出力４３３を提供するために４３２において再構築されてもよい。この高解像度の出力は次いで、４３４において表示又は記憶されてもよい。
【００９１】
上記述べたように、改良データ４１９は、フレームの複数の解像度を生成するための多段階の改良データを含んでもよい。デコーダは、複数のレベルの改良情報を生成するために、上記説明された直列スキームの逆の処理を使用してベースデータ４１９を復号化した後、より高解像度の出力４３３を再生成するために改良データ４１９のどのセットを復号化及び使用するかを判定してもよい。特に、復号化されたベースデータは、次のステップについての入力として使用されている階段の所与のステップにおけるアップサンプリングすること及び組み合わせることの結果を伴う階段方式において、２つ以上の段階においてアップサンプリングされてもよく、改良データと組み合わされてもよい。
【００９２】
上記説明されたように、直列スキームを使用して符号化されたベースデータ４１７及び多段階の改良データ４１９を復号化することは、複数のデコーダ、例えば、ベースデータを復号化するための１つ以上のデコーダ、及び直列の各々の段階において作成された改良情報を復号化するための別個の１つを有する２つ以上の追加のデコーダにより実施されてもよい。
【００９３】
更なる特定の例として、多段階符号化に関して上記説明されたケースを考える。ベースデータを復号化することは、２７０Ｐフレームを作成し、２７０Ｐフレームは、５４０Ｐフレームを生成するために、５４０Ｐにアップサンプリングされてもよく、第３の段階の改良情報と組み合わされてもよい。５４０Ｐフレームは、１０８０Ｐフレームを生成するために、アップサンプリングされてもよく、第２の段階の改良情報と組み合わされてもよい。１０８０Ｐフレームは、４Ｋフレームを生成するために、４Ｋにアップサンプリングされてもよく、第１の段階の改良情報と組み合わされてもよい。デコーダは、アップサンプリングすること及び組み合わせることを停止する段階を決定してもよい。
【００９４】
いくつかの実装態様では、ベースデータ４１７は、所与のフレームよりも少ない画素を有する低い解像度のフレームにダウンサンプリングされた元の所与の高解像度のフレームに対応する符号化され再構築されたフレームを含んでもよい。再構築されたフレーム内の画素の数は、元の所与の高解像度のフレーム内の画素の数と同一であるが、再構築されたフレームの一部のみが、元の高解像度のフレームに対応する画素を含む。再構築されたフレームは、再構築されたフレームのどのセクションが低解像度の画素を含むかを示すコード特有のパラメータと共に、均一な画素値の画素によって囲まれたダウンサンプリングされたフレームのより低解像度の画素を含む。そのようなケースでは、４２８においてベースデータを復号化することは、符号化され再構築されたフレームからダウンスケールされたフレームの低解像度の画素を抽出するために、コーデック特有のパラメータを使用し、次いで、結果として生じる抽出されダウンスケールされたフレームをアップサンプリングすることによって、そのような再構築されたフレームを復号化することを含んでもよい。
【００９５】
いくつかの実装態様では、データ４１７、４１９、例えば、ベースデータ４１７は、ダウンサンプリングしない元の高解像度のフレーム又は改良情報として符号化された１つ以上のフレームを含んでもよい。そのようなフレームは、元の高解像度のフレームについて通常行われるように復号化されてもよい。
【００９６】
本開示の態様は、改良情報がフレーム全体について使用される実装態様に限定されない。いくつかの実装態様では、デコーダは、改良データ４１９のサブセットのみを復号化してもよい。結果として生じる改良情報は、ベースフレームをアップサンプリングすることから生じる高解像度のフレームの部分、例えば、「関心の領域」に対応する部分のみを改良するために使用されてもよい。本開示の範囲内にある別の代替的な実装態様では、デコーダは、改良データを完全に復号化してもよいが、再構築段階では、改良は、関心の領域についてのみ実行される。
【００９７】
本開示の態様は、上記説明されたように、デジタルピクチャの符号化及び復号化においてエッジ改良を伴うアップサンプリングを実施するように構成されたシステムを含む。例として、及び限定することなく、図５は、本開示の態様を実施するために使用することができるコンピュータシステム５００のブロック図を例示する。本開示の態様に従って、システム５００は、組み込みシステム、携帯電話、パーソナルコンピュータ、タブレットコンピュータ、ポータブルゲームデバイス、ワークステーション、及びゲームコンソールなどであってもよい。システム５００は概して、プロセッサモジュール５０１及びメモリ５０２を含んでもよい。プロセッサモジュール５０１は、例えば、単一のコア、デュアルコア、クアッドコア、プロセッサ−コプロセッサ、ＣＰＵ−ＧＰＵ、又はセルプロセッサアーキテクチャにある１つ以上のプロセッサコアを含んでもよい。
【００９８】
メモリ５０２は、集積回路の形式にあってもよく、例えば、ＲＡＭ、ＤＲＡＭ、及びＲＯＭなどであってもよい。メモリはまた、プロセッサモジュール５０１内のプロセッサコアの全てによってアクセス可能なメインメモリであってもよい。いくつかの実施形態では、プロセッサモジュール５０１は、１つ以上のプロセッサコア又は１つ以上のコプロセッサと関連付けられたローカルメモリを有してもよい。コーデックプログラム５０３は、プロセッサモジュール５０１上で実行することができるプロセッサ可読命令の形式でメインメモリ５０２に記憶されてもよい。コーデック５０３は、デジタルピクチャを符号化するように構成されてもよい。例として、及び限定することなく、コーデック５０３は、図２Ａに関して上記議論されたように、デジタルピクチャ又はデジタルピクチャのセクションを符号化するように構成されてもよい。コーデック５０３はまた、例えば、図３に関して上記説明されたように、符号化されたデジタルピクチャを復号化するように構成されてもよい。ダウンサンプリング及び改良プログラム５０４は、図４Ａに関して上記説明されたように、コーデック５０３と共に入力された高解像度のフレーム５０７からベースフレーム５０５Ａ及び改良情報５０５Ｂを生成してもよい。アップサンプリング及び改良プログラム５０６は、例えば、図４Ｂに関して上記議論されたように、復号化されたベースフレーム５０５Ａ及び改良情報５０５Ｂから高解像度のフレーム５０７のデコーダ側の再生成を実施してもよい。アップサンプリング及び改良プログラム５０６は代わりに、例えば、図４Ｃに関して上記説明されたように、改良情報５０５Ｂを無視してもよい。コーデック５０３と、ダウンスケーリング及び改良プログラム５０４と、アップサンプリング及び改良プログラム５０６とは、いずれかの適切なプロセッサ可読言語、例えば、Ｃ、Ｃ＋＋、ＪＡＶＡ（登録商標）、アセンブリ、ＭＡＴＬＡＢ、ＦＯＲＴＲＡＮ、いくつかの他の言語で書き込まれてもよい。
【００９９】
入力又は出力された高解像度のフレーム５０７は、メモリ５０２に記憶されてもよい。メモリはまた、ピクチャの符号化の間に、又は複数のピクチャを符号化する過程で固定されたままであるλ対ＱＰテーブルなど、フレームを符号化及び／又は復号化するための他の関連するパラメータを記憶してもよい。コーデック５０３の実行の間、プログラム５０４、５０６、プログラムコードの一部、ベースフレーム５０５Ａ，改良情報５０５Ｂ、及び／又は高解像度のフレーム５０７は、プロセッサ５０１による処理のためにメモリ５０２又はプロセッサコアのローカルストアにロードされてもよい。例として、及び限定することなく、高解像度のフレーム５０７は、符号化若しくは復号化の前、又は符号化若しくは復号化の中間段階における入力フレーム（例えば、ビデオ又は音声フレーム）、又はそれらのセクションを含んでもよい。符号化のケースでは、入力された高解像度のフレーム５０７に対応するデータは、ストリーミングデータのバッファされた部分、例えば、符号化されていないフレーム又はそれらの一部を含んでもよい。復号化のケースでは、ベースデータ５０５Ａ及び改良データ５０５Ｂは、復号化されていないセクション、復号化されているが、事後処理されていないセクション、及び復号化され、事後処理されたセクションの形式にある入力データを含んでもよい。そのような入力データは、１つ以上のデジタルピクチャの１つ以上のコーディングされたセクション、コーディングされたデジタル音声デジタルフレーム、又は他のコーディングされたストリーミングデータを表すデータを含むデータパケットを含んでもよい。例として、及び限定することなく、そのようなデータパケットは、変換係数のセット及び予測パラメータの部分セットを含んでもよい。それらの様々なセクションは、１つ以上のバッファに記憶されてもよい。特に、復号化され、及び／又は事後処理されたセクションは、メモリ５０２において実装された出力ピクチャバッファに記憶されてもよい。
【０１００】
システム５００はまた、入力／出力（Ｉ／Ｏ）要素５１１、電力供給装置（Ｐ／Ｓ）５１２、クロック（ＣＬＫ）５１３、及びキャッシュ５１４などの周知のサポート機能５１０を含んでもよい。装置５００は任意選択で、プログラム及び／又はデータを記憶するためのディスクドライブ、ＣＤ−ＲＯＭドライブ、又はテープドライブなどの大容量記憶装置５１５を含んでもよい。デバイス８００はまた任意選択で、装置５００とユーザとの間の対話を促進するためのディスプレイユニット５１６及びユーザインタフェースユニット５１８を含んでもよい。ディスプレイユニット５１６は、テキスト、数字、グラフィカルシンボル、又は画像を表示する、陰極線管（ＣＲＴ）又は平面パネルスクリーンの形式にあってもよい。ユーザインタフェース５１８は、キーボード、マウス、ジョイスティック、ライトペン、又は、グラフィカルユーザインタフェース（ＧＵＩ）と共に使用することができる他のデバイスを含んでもよい。装置５００はまた、デバイスがインターネットなどのネットワーク５２２を通じて他のデバイスと通信することを可能にするためのネットワークインタフェース５２０を含んでもよい。それらの構成要素は、ハードウェア、ソフトウェア、若しくはファームウェア、又はそれらの２つ以上の何らかの組み合わせで実装されてもよい。
【０１０１】
例として、及び限定することなく、システム５００は、ネットワークインタフェース５２０を介して、ネットワーク５２２に接続された他のデバイスに、符号化され若しくは符号化されていないストリーミングデータを伝送してもよく、又はそのようなデバイスから、符号化され若しくは符号化されていないストリーミングデータを受信してもよい。特定の実装態様では、デジタルピクチャの１つ以上の符号化されたセクションの形式にある符号化されたストリーミングデータ、及び／又は符号化されたビデオの１つ以上のフレームは、ネットワーク５２２を通じてシステムから伝送されてもよい。ストリーミングデータを伝送又は受信することを実施するために、プロセッサモジュールは、ネットワークプロトコルスタックを実施する命令を実行してもよい。
【０１０２】
例として、及び限定することなく、デジタルピクチャは、デジタルカメラにより生成されてもよく、デジタルカメラは、ユーザインタフェース５１８の一部であってもよく、又は、例えば、Ｉ／Ｏ要素５１１を介してシステム５００に結合された別個の周辺機器であってもよい。いくつかの態様に従って、デジタルピクチャは、プロセッサモジュール５０１によって実行されるソフトウェアアプリケーションによって生成されてもよい。
【０１０３】
本開示の態様は、高解像度のフレームの従来の符号化についての使用率よりも低いビット使用率を可能にする。特に、本明細書で説明された入力デジタルフレームをダウンサンプリングすること、改良情報を作成すること、ダウンサンプリングされたフレーム及び改良情報を符号化することは、従来から行われているように、同一の入力デジタルフレームをダウンサンプリングし、ダウンサンプリングされたフレーム及び１つ以上の入力デジタルフレームの両方を第１のストリーム及び第２のストリームに符号化することによるよりも少ないビットを使用して、ベースストリーム及び改良ストリームを生成する。そのようなより低いビット使用率は特に、制限された帯域幅を有するネットワークを通じてフレームを伝送するときに有効である。例として、及び限定することなく、ダウンサンプリングを通じて高解像度のビデオを符号化し、次いで、エッジ改良と共にアップサンプリングすることは、復号化するときに純粋なアップサンプリングよりも良好なビデオを作成することができる。
【０１０４】
いくつかのケースについて、本明細書で説明されるタイプの符号化及び復号化は、元の高解像度のビデオと比較されるときでさえ、より良好な品質を可能にする。図６に表されるグラフは、これが当てはまる特定のタイプのシーケンス及びビットレートが存在することを示す実験的な結果を示す。表されるプロットでは、破線は、改良データの５メガビット／秒を有するダウンサンプリングされた１０８０ｐストリームを使用して再構築された４Ｋピクチャについてのピクチャ品質を表す。実線は、標準的な元々符号化されている４Ｋピクチャを表す。破線が実線よりも高いビットレートについて、エッジ改良と共にアップサンプリングを使用したピクチャ品質は、元の４Ｋよりも良好である。
【０１０５】
本開示の態様は、ビット使用率の減少をもたらし、したがって、ストリーミングビデオなど、ストリーミングデータアプリケーションにおいて利用可能な帯域幅をより良好に使用することをもたらす。ビット使用率の減少はまた、デコーダ側でＣＰＵなどのシステムリソースの利用の減少につながる。本開示の態様は、デジタルピクチャを作成し、ネットワークを通じた伝送のためにそれらを符号化し、ネットワークを通じてそれらを伝送するシステムに組み込まれてもよい。
【０１０６】
本開示の態様は、ベースデータの複数のセット及び改良データの複数のセットが存在する実装態様を含む。例として、及び限定することなく、符号化は、複数のダウンサンプリング段階を含んでもよく、各々の段階は、より低解像度に段階的に対応するデータのセットを作成する。特に、各々の段階は、より低解像度のベースフレームの異なる対応するセットを生成し、改良情報の対応するセットを生成するために、同一の高解像度の入力フレームをダウンサンプリングしてもよい。ベースフレームの各々のセット及び改良情報の対応するセットは次いで、ベースデータ及び改良データの対応するセットを作成するために符号化されてもよい。高解像度のフレームは、ベースデータ及び改良データの複数のセットからデコーダ側で再構築されてもよい。
【０１０７】
上述したことは、本発明の好ましい実施形態の完全な説明であるが、様々な変更物、修正物、及び均等物を使用することが可能である。したがって、本発明の範囲は、上述したことを参照して判定されるべきでなく、代わりに、均等物のそれらの全範囲に従った、添付の特許請求の範囲を参照して判定されるべきである。好ましいか否かに関わらず、本明細書で説明されるいずれの特徴も、好ましいか否かに関わらず、本明細書で説明されるいずれかの他の特徴と組み合わされてもよい。以下の特許請求の範囲では、不定冠詞「Ａ」又は「Ａｎ」は、他に明確に述べられない場合を除き、冠詞に続く項目のうちの１つ以上の数を指す。添付の特許請求の範囲は、ミーンズプラスファンクションの限定が明確に、フレーズ「するための手段（ｍｅａｎｓ  ｆｏｒ）を使用して所与の請求項に明確に記載されない限り、そのような限定として解釈されないことになる。
【図１】
2019526195.tif 000003
【図１Ｂ】
2019526195.tif 000004
【図１Ｃ】
2019526195.tif 000005
【図２Ａ】
2019526195.tif 000006
【図２Ｂ】
2019526195.tif 000007
【図２Ｃ】
2019526195.tif 000008
【図３】
2019526195.tif 000009
【図４Ａ】
2019526195.tif 000010
【図４Ｂ】
2019526195.tif 000011
【図４Ｃ】
2019526195.tif 000012
【図５】
2019526195.tif 000013
【図６】
2019526195.tif 000014
【国際調査報告】
2019526195.tif 000015