【課題を解決するための手段】
【0007】
第1の態様から見た場合、本発明は、基準フレームとしてエンコードされるべきソースビデオフレームのシーケンスにおける1つまたは複数のソースフレームを使用してエンコードされるべきソースビデオフレームのシーケンスのうちの少なくともいくつかのフレームをエンコードするビデオエンコード処理を使用する場合、ビデオデータのフレームのシーケンスのフレームをエンコードおよびデコードする方法を提供し、
この方法は、
新たなソースフレームのための基準フレームとなる、エンコードされているソースフレームのシーケンスにおける別のフレームの解像度とは異なる解像度を有し、エンコードされているソースフレームのシーケンスにおける新たなソースフレームをエンコードすることが所望される場合、
新たなソースフレームのための基準フレームとなるように新たなソースフレームの解像度へスケールされる、新たなソースフレームのための基準フレームとなる、エンコードされているソースフレームのシーケンスにおける別のフレームのスケールされたコピーを生成するステップと、
別のフレームの生成されたスケールされたコピーを表すエンコードされた出力ビデオ画像データを提供するために、別のフレームの生成されたスケールされたコピーをエンコードするステップと、
新たなソースフレームを表すエンコードされた出力ビデオ画像データを提供するために、基準フレームとして別のフレームのスケールされたコピーを使用して新たなソースフレームをエンコードするステップと、
別のフレームのスケールされたコピーを表すエンコードされたビデオ画像データと、新たなソースフレームを表すエンコードされたビデオ画像データとをビデオデコーダへ送信するステップと、
ビデオデコーダにおいて、
別のフレームのスケールされたコピーのためのエンコードされたビデオ画像データをデコードするステップと、
新たなソースフレームのための出力ビデオ画像データを提供するために、基準フレームとして、別のフレームのデコードされたスケールされたコピーを使用して、新たなソースフレームのためのエンコードされたビデオ画像データをデコードするステップとを含む。
【0008】
第2の態様から見た場合、本発明は、ビデオデータのフレームのシーケンスのフレームをエンコードおよびデコードするためのシステムを提供し、このシステムは、
基準フレームとしてエンコードされるべきソースビデオフレームのシーケンスにおける1つまたは複数のソースフレームを使用してエンコードされるべきソースビデオフレームのシーケンスのうちの少なくともいくつかのフレームをエンコードするように構成されたエンコード処理回路を備え、
エンコード処理回路はさらに、
新たなソースフレームのための基準フレームとなる、エンコードされているソースフレームのシーケンスにおける別のフレームの解像度とは異なる解像度を有する、エンコードされているソースフレームのシーケンスにおける新たなソースフレームをエンコードすることが所望される場合、
新たなソースフレームのための基準フレームとなるように新たなソースフレームの解像度へスケールされる新たなソースフレームのための基準フレームとなる、エンコードされているソースフレームのシーケンスにおける別のフレームのスケールされたコピーを生成し、
別のフレームの生成されたスケールされたコピーを表すエンコードされた出力ビデオ画像データを提供するために、別のフレームの生成されたスケールされたコピーをエンコードし、
新たなソースフレームを表すエンコードされた出力ビデオ画像データを提供するために、基準フレームとして別のフレームのスケールされたコピーを使用して新たなソースフレームをエンコードするように構成され、
システムはさらに、
別のフレームのスケールされたコピーを表すエンコードされたビデオ画像データと、新たなソースフレームを表すエンコードされたビデオ画像データとをビデオデコーダへ送信するように構成された処理回路と、
デコード処理回路を備えるビデオデコーダとを備え、デコード処理回路は、
デコード処理回路が、別のソースフレームのスケールされたコピーを基準フレームとして使用してエンコードされたソースフレームのための、エンコードされたビデオ画像データを受信した場合、
別のソースフレームのスケールされたコピーのための受信したエンコードされたビデオ画像データをデコードし、別のソースフレームのスケールされたコピーを基準フレームとして使用してエンコードされたソースフレームのための出力ビデオ画像データを提供するために、別のフレームのデコードされたスケールされたコピーを基準フレームとして使用して、別のソースフレームのスケールされたコピーを基準フレームとして使用してエンコードされたソースフレームのためのエンコードされたビデオ画像データをデコードするように構成される。
【0009】
本発明では、基準フレームとしてシーケンス内のフレームを使用して、シーケンス内のソースフレームをエンコードすることによって、(たとえば、デコード処理回路を備える)ビデオデコーダへの送信(ストリーミング)のために、フレームのシーケンスが(たとえば、エンコード処理回路を使用して)エンコードされる。基準フレームは、ソースフレームのシーケンスにおける1つまたは複数の他のソースフレーム(すなわち、エンコードされているソースフレームではないシーケンスにおけるソースフレーム)から導出される。エンコードされたフレームの送信されたシーケンスはその後、たとえば、表示のために、フレームのシーケンスのための出力ビデオ画像データを提供するために(たとえば、デコード処理回路を使用して)デコードされる。
【0010】
たとえば、エンコードされたビデオ画像データ(のビットストリーム)を送信するために利用可能な帯域幅における変化によって、エンコードのためにエンコーダによって受信されるフレームの解像度は変化し得る。エンコードされるべきものに対して別の(たとえば、直前の)フレームの解像度に対する異なる「新たな」解像度におけるソースフレームをエンコードするために、基準フレームとなる別のフレームのスケールされたコピーが生成される。次いで、スケールされたコピーは、(新たな)ソースフレームの解像度に等しい解像度を有する。異なる解像度において、オリジナルの別のフレームに対してソースフレームをエンコードする代わりに、たとえば、従来方式では、新たな異なる解像度のソースフレームは、基準フレームとして、スケールされたコピーを使用してエンコードされる。
【0011】
エンコードされたソースフレームおよびエンコードされたスケールされたコピー基準フレームは、後続するデコードのために(デコード処理回路を備える)ビデオデコーダへ送信(たとえば、ストリーミング)される。すなわち、スケールされたコピー基準フレームが、ビデオデコーダへ送信されるエンコードされたビットストリームにおけるフレームとして提供される。デコード処理回路は、たとえば、(エンコードされたソースフレームおよびスケールされたコピー基準フレームを含む)送信されたエンコードされたビデオデータを受信すると、デコード処理のための基準フレームとして、スケールされたコピー基準フレームを使用して、エンコードされたソースフレームを(新たな解像度で)デコードする。
【0012】
以下にさらに議論されるように、スケールされたコピー基準フレーム(直前のフレームのスケールされたコピー)は、好適には表示されないが、新たな解像度でソースフレームをエンコードおよびデコードする目的のために単に使用される「隠蔽」フレームとして設定される。
【0013】
新たな解像度においてソースフレームがエンコードされるものに対して、新たなソースフレームと同じ解像度において、スケールされたコピー基準フレームを生成することによって、基準フレームとなる別のフレーム(のコピー)が、新たなソースフレームをエンコードするために提供される前に(新たなソースフレームの解像度へ)スケールされることが可能となる。これは、新たな解像度におけるソースフレームが、その後、異なる解像度におけるオリジナルの別のフレームを使用してエンコードされる必要なく、同じ解像度を有するフレーム(つまり、スケールされたコピー基準フレーム)に対してエンコードされ得ることを意味する。
【0014】
したがって、これは、たとえば、フィルタリング動作(たとえば、現在スケーリングと動き補償との両方を共に実行しているVP9における)を、基準フレームとして使用するため、スケールされたコピーを生成する初期スケーリング動作と、ソースフレームをエンコードするために、スケールされたコピー基準フレームを使用する場合、後続する動き補償動作とへ分離する。これは、スケールされるべき別のフレームが、最初に(スケーリングおよび動き補償が単一のフィルタリング動作において共に実行される場合に必要である)何れかの動きベクトルを計算する必要もなくスケールされ得ることを意味する。
【0015】
エンコード処理回路は既に、スケーリングおよび差分エンコードを実行するように構成され得るので、(たとえば、エンコードパイプラインに既に存在するスケーリングと動き補償とが組み合わされた任意のハードウェアの前に)基準フレームとして使用するためにスケールされたコピーを生成するために、任意の追加の、たとえば、専用のハードウェアを提供することが必要ではない場合があり得る。
【0016】
スケールされたコピー基準フレームに対するソースフレームをエンコードすることはまた、たとえあるにしても、デコーダに対する極めてわずかな変更しか必要としない。これは、デコード処理回路は単に、エンコードされたソースフレームを、オリジナルの別のフレームとは異なるスケールされたコピー基準フレームを使用してデコードでき得るからである。
【0017】
本発明においてエンコードおよびデコードされるビデオデータのソースフレームのシーケンスは、ビデオフレームの任意の適切な、所望されるシーケンスであり得る。ビデオフレームのシーケンスには、少なくとも2つのフレームが存在するであろうが、好適には、ビデオフレームのシーケンスには、2つよりも多くのフレームが存在する。
【0018】
エンコードされるべきフレームのシーケンスは、好適には、ビデオデータのフレームのシーケンスを表すビデオ画像データのビットストリームの形式で提供され、その後、出力ビデオフレームのシーケンスを提供するため、たとえば、好適には、表示の目的のために、本発明の方式でエンコードされ、送信され、デコードされる。
【0019】
したがって、好適には、この方法は、エンコードされるべきビデオデータのソースフレームのシーケンスを受信するステップと、ソースフレームのシーケンスにおけるフレームの解像度における変化に応じて、本発明の方式で1つまたは複数のソースフレームをエンコードするステップとを含む(また、エンコード処理回路は、これらステップを実行するように構成される)。
【0020】
エンコードされるべきソースフレームのシーケンスにおけるソースフレームの解像度における変化は、任意の適切な、所望される方式で、判定、たとえば、検出され得る。たとえば、エンコード処理回路は、(たとえば、エンコードのためにエンコード処理回路が受信する)新たなソースフレームの解像度が、(たとえば、エンコードされるべきソースフレームの解像度が、エンコードされた直前のソースフレームから変化したことを検出するために、)以前のソースフレームまたは直前のソースフレームとは異なることを検出するように構成され得る。
【0021】
しかしながら、好適な実施形態では、システムは、ソースフレームのシーケンスにおけるソースフレームの解像度(および、それにより、エンコード処理回路がビデオ画像データのフレームをエンコードする必要がある解像度)が、たとえば、エンコードされたビデオデータをストリーミングするために利用可能である帯域幅における変化によって、別のソースフレームの解像度とは異なることを示すために、たとえば、エンコード処理回路へシグナリングするホストプロセッサ(たとえば、エンコードされるべきソースフレームのシーケンスを生成および/または提供するCPUまたはGPU)を含む。
【0022】
したがって、好適には、システムは、エンコードされるべきフレームのシーケンスにおけるソースフレームの解像度が、エンコードされるべきソースフレームのシーケンスにおける別のフレームの解像度とは異なる場合をエンコード処理回路へ示すように構成されたホスト処理回路を備える。
【0023】
相応して、好適には、この方法は、エンコードされるべきフレームのシーケンスにおける(次の)ソースフレームの解像度が、上記別のソースフレームまたはさらに別のソースフレームの解像度とは異なる場合、エンコードされるべきソースフレームが、上記別のソースフレームまたはさらに別のソースフレームの解像度とは異なる解像度を有していることを示すステップを含む。
【0024】
たとえば、ホスト処理回路からエンコード処理回路へのこのインジケーションは、任意の適切な、所望される方式で提供され得る。たとえば、このインジケーションは、(ソースフレームの解像度が、別のソースフレームとは異なる場合、)エンコードされるべきソースフレームを、たとえば、フラグの形式で同伴し得る。あるいは、または、それに加えて、このインジケーションは、たとえば、ホストからエンコード処理回路へダイレクトにシグナリングされた、ソースフレームから分離された信号を備え得る。
【0025】
ホストは、エンコードされるべきソースフレームの解像度が、任意の適切な、所望される方式で、別のソースフレームの解像度と異なっているか、異なっていなければならないことを判定し得る。好適には、たとえば、ホストが、その後、ソースフレームのシーケンスにおけるソースフレームが生成または提供される解像度を変化させることができるように、ホストは、利用可能な帯域幅における変化(増加または減少)を検出するために、エンコードされたビデオ画像データをストリーミングする(送信する)ために利用可能な帯域幅をモニタし、その後、エンコードされるべき(次の)ソースフレームの解像度が別のソースフレームとは異なることをエンコード処理回路へ示す。
【0026】
ソースフレームの解像度における変化は、たとえば、利用可能な帯域幅における減少による低下であり得るか、または、たとえば、利用可能な帯域幅における(その後の)改善による増加であり得ることが理解されるであろう。
【0027】
基準フレームは、任意の適切な、所望される方式で、ソースビデオフレームのシーケンスにおける別のフレーム(すなわち、エンコードされているソースフレーム以外のソースフレーム)から生成(たとえば、導出)され得る。好適には、基準フレームは、直前にエンコードされた(そして、たとえば、デコードされた)ソースフレームから導出される。したがって、好適には、基準フレームは、(別のソースフレームから導出されているが、基準フレームが、オリジナルのソースフレームのスケールされたコピーではないことがあり得るように、)たとえば、エンコードされデコードされた再構築されたソースフレームのスケールされたコピーを備える。
【0028】
新たな「変更された解像度」のソースフレームをエンコードおよびデコードするためのスケールされた基準フレーム(すなわち、基準フレームが導出された別のフレーム)を提供するためにスケールされたビデオデータの別のフレームは、ソースフレームのシーケンスにおける他の任意のフレームであり得る。それは、直前にエンコードされたソースフレームのシーケンスにおけるフレーム(直前にエンコードされたフレーム)であるべきであり、好適にはそうであるが、それは必ずしもソースフレームのシーケンスにおける直前のフレームである必要はない(なぜなら、エンコーダは、所望されるのであれば、エンコードされているソースフレームのシーケンスにおいて、将来のフレームから、および/または、直前と将来との両方のフレーム等から、基準を取得するために、順不同でフレームをエンコードし得るからである)。
【0029】
したがって、スケールされた基準フレーム(すなわち、基準フレームが導出される別のフレーム)を提供するためにスケールされたビデオデータの別のフレームは、ソースフレームのシーケンスにおける将来のフレーム(すなわち、ソースフレームのシーケンスにおいて、変更された解像度のソースフレームに続くフレーム)であるのみならず、ソースフレームのシーケンスにおける直前のフレームでもあり得る。
【0030】
好適な実施形態では、新たな「変更された解像度」のソースフレームをエンコードおよびデコードするためのスケールされた基準フレームを提供するためにスケールされたビデオデータの別のフレームは、ソースフレームのシーケンスにおける直前のフレームである(しかし、前述したように、それは不可欠ではない)。
【0031】
このケースでは、新たな「変更された解像度」のソースフレームをエンコードおよびデコードするための、スケールされた基準フレームを提供するためにスケールされたビデオデータの直前のフレームは、ソースフレームのシーケンスにおける任意の直前のフレームであり得る。
【0032】
1つの好適な実施形態では、スケールされた基準フレームのために使用されるフレームは、エンコードされるべき新たな変更された解像度のソースフレームに対するソースフレームのシーケンスにおける直前のソースフレームである。
【0033】
しかしながら、これは不可欠ではなく、スケールされた基準フレームを提供するためにスケールされた直前のフレームは、エンコードされるべきソースフレームのシーケンスにおけるより早期のフレーム(すなわち、エンコードされるべき新たな変更された解像度のソースフレームからの他のソースフレームによって間隔を置かれたフレーム)であり得る。
【0034】
所望されるのであれば、ソースフレームのシーケンスにおける複数の他のフレーム(たとえば、ソースフレームのシーケンスにおける直前および将来のフレーム)を参照して、新たな「変更された解像度」のソースフレームをエンコード(および、相応してデコード)することもまた可能になるであろう。たとえば、VP9ビデオエンコードでは、最大3つの基準フレームが、フレームをエンコードするために使用され得る。他のビデオコーディング規格は、最大16の基準フレームを使用し得る。
【0035】
したがって、好適な実施形態では、新たな「変更された解像度」のソースフレームが、ソースフレームのシーケンスにおける複数の他のフレームを参照して(たとえば、ソースフレームのシーケンスにおける直前のフレームおよび将来のフレームを参照して)エンコードされる。
【0036】
エンコードされている変更された解像度のソースフレームが、ソースフレームのシーケンスにおける複数の他のフレームを参照してエンコードされるべきであるケースでは、その後、ソースフレームのシーケンスにおけるそのような各基準フレームは、相応して、新たな、変更された解像度のソースフレームの解像度に一致するように最初にスケールされるべきであり、好適には、そのようにスケールされ、その後、新たな、変更された解像度のソースフレームは、他の基準フレームの各々のスケールされたコピーに関してエンコードされる。
【0037】
新たな、変更された解像度のソースフレームをエンコードするための、スケールされた基準フレームを提供するためにスケールされた別のフレーム(または複数のフレーム)は、スケールされたコピー基準フレームを提供するためにスケールされる目的のために、適切に記憶される(たとえば、バッファされる)べきである。これは、任意の適切な、所望される方式で達成され得る。
【0038】
エンコード処理(エンコード処理回路)が、エンコードされるべきソースフレームのシーケンスにおけるソースフレームのための基準フレームとなるソースフレームを(自動的に)記憶するように構成されている場合、解像度変化がなかったのであれば、エンコードされているソースフレームのための基準フレームとしてサービス提供したであろう別のフレームの(そのオリジナルの解像度において)既に記憶されたコピーが、それをスケールする目的のために記憶された場所から検索され得、好適には、検索される。
【0039】
したがって、好適な実施形態では、エンコード処理およびエンコード処理回路は、後続してエンコードされるべきソースフレームのための基準フレームとなるようにエンコードされているソースフレームのシーケンスにおけるソースフレームを記憶するように動作し、別のフレーム(または複数のフレーム)の記憶されたコピーがその後、スケールされたコピー基準フレーム(または複数のコピー基準フレーム)を提供するためにスケールされ、そのスケールされたコピー基準フレーム(または複数のコピー基準フレーム)は、その後、ソースフレーム解像度変更がある場合に、1つまたは複数のソースフレームを後続してエンコードするために使用する基準フレーム(または複数の基準フレーム)として記憶される。
【0040】
別のフレームのスケールされたコピー、すなわち、エンコードされるべき新たな解像度におけるソースフレームの解像度へスケールされたコピーが、任意の適切な、所望される方式で(エンコード処理回路によって)生成され得る。スケール機能は既に、たとえばVP9のような、使用されているエンコードフォーマット内で提供され得、これによって、(たとえば、ビデオエンコードフォーマット(たとえば、VP9)に従ってビデオ画像データをエンコードするように構成された)エンコード処理回路は、既に、スケーリングを実行するように構成され得る(そして、好適には、構成されている)。好適には、(既に他のスケーリング動作のために提供されている)そのようなスケール機能は、別のフレームのスケールされたコピーを生成するために使用され、これによって、このスケーリングのための(専用の)追加ハードウェアを提供する必要がないようにされ得る。
【0041】
好適な実施形態では、エンコード処理回路は、エンコードされるべき新たなソースフレームの解像度へスケールされる別のフレームのコピーを生成するように(たとえば、ビデオエンコードフォーマットの既存のスケール機能を使用して)構成されたスケール処理回路(たとえば、スケーリングステージ)を備える。
【0042】
好適には、エンコード処理回路はまた、新たな、異なる解像度のソースフレームのためのエンコードされた出力ビデオ画像データを提供するために、スケールされたコピー基準フレームを使用して(スケールされたコピー基準フレームに対する)新たな解像度において新たなソースフレームをエンコードするように構成されたエンコードステージを備える。
【0043】
したがって、好適には、エンコード処理回路は、スケーリングステージおよびエンコードステージ(これらは、スケールとエンコードとが組み合わされたステージであり得る)を備える。好適には、スケーリングステージからの結果、すなわち、別のフレームのスケールされたコピーが、(たとえば、動き補償を使用して)直前のフレームのスケールされたコピーに対するソースフレームをエンコードするためのエンコードステージへ渡される。
【0044】
異なる解像度のソースフレームは、任意の適切な、所望される方式で、スケールされたコピー基準フレームを使用して(スケールされたコピー基準フレームに対して)エンコードされ得る。好適には、ソースフレームは、使用されている、たとえばVP9のようなビデオエンコードフォーマットのために、通常の方式でスケールされたコピー基準フレームを使用してエンコードされる。
【0045】
したがって、好適には、ソースフレーム内のピクセルの各ブロックは、スケールされたコピー基準フレーム内のピクセルの対応するブロックに関してエンコードされる。好適には、(ソースフレームのための)エンコードされたデータブロックは、スケールされたコピー基準フレームのためのデータを示す動きベクトルと、(ソースフレームの)現在のデータブロックにおいてエンコードされたデータと、(スケールされたコピー基準フレームの)エンコードされた基準データとの間の差分を記述する残差とを備える。
【0046】
ソースフレームおよびスケールされたコピー基準フレームは、同じ解像度を有するので、スケールされた基準フレームのピクセルの、ソースフレームのピクセルに対するマッチングは、比較的簡単であることが理解されるであろう。
【0047】
スケールされたコピー基準フレームは、任意の適切な、所望される方式で、ビットストリームでデコーダへ送信するために、新たなソースフレームのためにエンコードされたビデオ画像データとともにエンコードされ得る。
【0048】
好適には、スケールされたコピー基準フレームまたはそれぞれのスケールされたコピー基準フレームは、ベースとする別のフレーム(のオリジナルのバージョン)を使用して(に対して)エンコードされる。したがって、好適には、スケールされたコピー基準フレームは、好適には、ソースフレームのシーケンスにおける他の任意のソースフレームが、基準フレームに対してエンコードされるのと同じ方式で、そのスケールされたコピーである別のフレームに対してエンコードされる。
【0049】
そのスケールされたコピー基準フレームおよびそれぞれのスケールされたコピー基準フレームは単に、(たとえば、解像度以外、オリジナルの基準フレームとの違いがない)対象とする別のフレームのスケールされたコピーであるので、出願人は、スケールされたコピー基準フレームが(0,0)動きベクトルを使用してエンコードされ、エンコードされ得ると仮定され得ることを認識している。たとえば、(0,0)動きベクトルを使用して、スケールされたコピー基準フレームをこのようにエンコードすることは、(使用されるビットに関して)非常に安価である。なぜなら、スケールされたコピー基準フレームのためのエンコードされたビデオデータは、単に、フレームにおけるブロックの表現と、(0,0)動きベクトルとを備え得るからである。したがって、好適には、スケールされたコピー基準フレームのエンコードは、何れの残差も必要としない。
【0050】
さらに、たとえば、エンコード処理回路の動き補償フィルタリングは、スケーリングのみを含み相対的な動きを含まない別のフレームのスケールされたコピーとオリジナルとの間の差分により、別のフレームのスケールされたコピーのエンコードのためにアクティブになる必要がない場合がある。したがって、スケールされたコピー基準フレームをエンコードする場合、動き補償判定(動作)は、(そうすることが可能である場合)好適には無効化される。
【0051】
これは、その後、すべて、エンコードされたビデオフレームのシーケンスにおけるスケールされたコピー基準フレームの追加の生成および包含は、実際には、ソースフレームのシーケンスのために送信されているエンコードされたビデオデータに、ほとんど追加の負担を加えることはなく、したがって、たとえば、処理のレイテンシに悪影響を与える可能性を少なくすることを意味する。
【0052】
スケールされたコピー基準フレームが、スケールされたコピー基準フレームがそのスケールされたコピーであるオリジナルの(スケールされていない)別のフレームを使用して(に対して)エンコードされる場合、デコーダは、スケールされたコピー基準フレームをデコードし再生成することを可能にするために、スケールされていない別のフレームを必要とするであろう。
【0053】
相応して、スケールされたコピー基準フレームが、(そのオリジナルの解像度において)表示されるべき別のソースフレームから生成される場合、デコーダは、それを表示できるようにするために、スケールされていない別のソースフレームを必要とするであろう。
【0054】
したがって、特定の好適な実施形態では、スケールされたコピー基準フレームがそのスケールされたコピーである別のフレーム(たとえば、別のソースフレーム)が、(そのオリジナルの解像度において)その別のフレームを表すエンコードされた出力ビデオ画像データを提供するために(そのオリジナルの解像度において)エンコードされ、(そのオリジナルの解像度において)その別のフレームのためにエンコードされたビデオ画像データもまた、ビデオデコーダへ送信される。
【0055】
したがって、特定の好適な実施形態では、スケールされたコピー基準フレームがそのオリジナルの解像度におけるもののスケールされたコピーである別のフレームと、そのフレームのスケールされたコピーとの両方が、デコーダへ送信されるエンコードされたビデオフレームのシーケンスに含まれる。言い換えれば、スケールされたコピー基準フレーム(変更された解像度のソースフレームをデコードする場合に基準フレームとして使用されるべき別のフレームのスケールされたコピー)は、(デコーダへ送信されるエンコードされたソースフレームのシーケンスに追加されたフレームとして)デコーダへ送信されるエンコードされたビデオフレームのシーケンスにおける更なる(追加の)フレームとして含まれる。
【0056】
したがって、好適な実施形態では、デコーダへ送信されるエンコードされたビデオフレームのシーケンスは、エンコードされているソースフレームの解像度に変更がある場合、第1の解像度におけるソースフレームのスケールされたコピーである第2の異なる解像度においてエンコードされたフレームが(好適には直後に)後続し、その後、別の第2の解像度においてエンコードされたソースフレームが(好適には直後に)後続する、第1の解像度においてエンコードされたソースフレームを備える。
【0057】
別のフレームは、任意の適切な、所望される方式で、たとえば、好適には、使用されているビデオエンコードフォーマットのための通常の方式で、そのオリジナルの解像度においてエンコードされ得る。
【0058】
ビデオデコーダは、相応して、好適には、そのオリジナルの解像度において、別のフレームのためのエンコードされたビデオ画像データをデコードし、好適には、その後、スケールされた基準フレームのための出力ビデオ画像データを提供するために、スケールされた基準フレームのためのエンコードされたビデオ画像データをデコードする場合に、そのオリジナルの解像度において、デコードされた別のフレームを使用する。
【0059】
最も好適には、別のフレームのオリジナルの解像度のバージョンもまた、たとえば、好適には、表示のために出力される(そして、好適には、新たな異なる解像度におけるソースフレームによって表示されたフレームのシーケンスが後続するであろう)。
【0060】
スケールされたコピー基準フレームは好適には、(ビデオデコーダへ)送信されたエンコードされたビデオデータのフレームのシーケンスにおけるようなものとして識別される。好適には、送信されたエンコードされたビデオデータは、スケールされたコピー基準フレームに関連付けられた、たとえばヘッダデータにおける、たとえばフラグのようなインジケータを備える。これは、任意の適切な、所望される方式でなされ得る。これは、スケールされたコピー基準フレームが、(たとえば、デコード処理回路によって)識別されることを可能にする。
【0061】
デコーダへ送信されるエンコードされたビデオフレームのシーケンスはまた、好適には、ソースフレームのシーケンスにおける「変更された解像度」のエンコードされたソースフレームをデコードする場合に、スケールされたコピー基準フレームが基準フレームとして使用されるべきであるという適切なインジケーションを含む。
【0062】
これは、たとえば、好適には、使用されているビデオエンコードフォーマットに依存して、任意の適切な、所望される方式で示され得る。これは、好適には、使用されているビデオエンコードフォーマットのためにデコードされるべきビデオフレームのシーケンスにおけるエンコードされたフレームをデコードするために、どの基準フレームが使用されるべきであるかを示すための通常の方式でなされる。
【0063】
たとえば、スケールされたコピー基準フレームが、エンコードされた新たな解像度のソースフレームをデコードするために使用されるべきであることを(たとえば、デコード処理回路へ)示す、たとえばフラグのようなインジケータが、エンコードされたスケールされたコピー基準フレームとともに(たとえば、関連付けられたヘッダデータにおいて)提供され(関連付けられ)得る。
【0064】
それに加えて、または、その代わりに、エンコードされた新たな解像度のソースフレーム自体は、使用しているデコードされるべき基準フレームが、エンコードされたフレームのシーケンスに含まれるスケールされたコピー基準フレームであるというインジケーションを(そのエンコードされたフレームに関連付けられたメタデータまたは他のデータに)含み得るか、または、関連付けている。これは、エンコードされた各フレームが、フレームがエンコードされているものに対する1つまたは複数の基準フレームの識別情報であるというインジケーションを関連付けた場合、ビデオエンコードシステムにおいて適切であり得る。
【0065】
それに加えて、または、その代わりに、デコーダは、実際、エンコードされた新たな解像度のソースフレームをデコードする場合、スケールされたコピー基準フレームを基準フレームとして自動的に使用するように構成され得る。これは、たとえば、基準フレームのためにどれを使用するのかを決定するために使用されるべき特定の、好適には所定のパターンが設定される場合、たとえば、好適には、ホストプロセッサによって、(ソースフレームの全シーケンスについて)ソースフレームのシーケンスのエンコードおよびデコードの開始時において行われ得る。
【0066】
したがって、好適な実施形態では、エンコードされているソースフレームのシーケンスのためにシステムのホストプロセッサによって設定されたソースフレームをエンコード(および、したがってデコード)する場合に、基準フレームのために何を使用するのかを決定するために使用される固定されたパターンが存在する。この例は、たとえば、デコーダは単に、シーケンスにおいて次にエンコードされたフレームをデコードするための基準フレームとして、シーケンス内の直前のエンコードされたフレームを使用するように構成されている場合である。そのようなケースでは、エンコードされたスケールされたコピー基準フレームに後続するエンコードされたフレームは、その後、スケールされたコピー基準フレームを使用して自動的にデコードされるであろう。
【0067】
特に好適な実施形態では、スケールされたコピー基準フレームは表示されない(ビデオデコーダによって表示のために出力されない)が、エンコードされた変更された解像度の1つまたは複数のソースフレームをデコードするための基準フレームとしてのみ使用される。したがって、このケースでは、スケールされたコピー基準フレームがそのスケールされたコピーである別のフレームは、たとえば、好適には、そのオリジナルの解像度で表示され得、新たな変更された解像度のソースフレームが、その解像度において表示されるが、スケールされたコピー基準フレームは表示されない。
【0068】
このスケールされたコピー基準フレームの非表示または出力は、任意の適切な、所望される方式で引き起こされ得る。好適には、これは、デコーダへ送信されるエンコードされたビデオデータ内に、デコーダに対して、スケールされたコピー基準フレームが表示されないように指示するための(デコーダに対して、表示のために、スケールされたコピー基準フレームを出力させない)ある形態のインジケーションを含めることによってなされる。
【0069】
したがって、好適には、方法は、スケールされたコピー基準フレームを、表示されるべきではないフレームであるとして(「隠蔽」フレームであるとして)、(たとえば、好適には、ビデオデコーダへ送信されるスケールされたコピー基準フレームを表すエンコードされたビデオ画像データにおいて)設定する(明示する)ステップを含む(また、エンコード処理回路は、上記ステップを行うように構成される)。
【0070】
スケールされたコピー基準フレームは、任意の適切な、所望される方式で、(ビデオデコーダへ)送信されたエンコードされたビデオデータのフレームのシーケンスにおける「隠蔽」フレームとして(として設定されているものとして)識別され得る。好適には、送信されたエンコードされたビデオデータは、基準フレームのスケールされたコピーが表示されるべきではない(隠蔽フレームである)ことを示すために、スケールされたコピー基準フレームに関連付けられた、たとえばヘッダデータにおける、たとえばフラグのようなインジケータを備える。
【0071】
出願人は、この点に関し、ビットストリームにおいて、余分な、たとえば「隠蔽」フレームをエンコードする可能性は、既に、使用されているビデオエンコードフォーマットのために提供され得ることを認識している(たとえば、VP9ビデオエンコードフォーマットでは、たとえば、フレームがシーケンスを外れてエンコードされ、将来のフレームから予測するために使用される場合に、異なる目的のためとはいえ「隠蔽」フレームが提供される)。これは、エンコードされたビットストリームにおけるスケールされたコピー基準フレームに適応するために、ビデオエンコードフォーマットに対する変更が必要とされないことと、さらに(エンコードおよび/またはデコードのために)さらなるハードウェアがおそらくは必要とされないこととを意味し得る。
【0072】
したがって、出願人は、たとえばVP9における「隠蔽」フレームのこのプロビジョンが、異なる使用のために、つまり、フレームのシーケンスにおけるフレーム間の解像度における変更が、より効率的に、たとえば、低減された処理および電力で取り扱われるためにエンコードされることを可能にするために使用され得ることを認識している。
【0073】
エンコードされるべきソースフレームは、ソースフレームのシーケンスの一部であることが理解されるであろう。したがって、たとえば、シーケンス内の直前のフレームに対する異なる解像度においてソースフレームがエンコードされ(そして、たとえば、その後送信およびデコードされ)ると、ソースフレームのシーケンスにおけるその後の後続するソースフレームは、(フレームのシーケンスにおけるその後の後続するフレームが、同じ新たな解像度において提供されると推定して、)たとえば、異なる解像度におけるフレームが、エンコードのために提供され(この時、新たな解像度におけるフレームが、本発明に従ってエンコードされ(そして、たとえば、送信およびデコードされ))るまで、ビデオエンコードフォーマットによって通常指定されるような方式でエンコードされ続け得る。
【0074】
したがって、好適には、エンコード処理回路は、(たとえば、使用されているビデオコーディングフォーマットに従い)基準(たとえば、直前のソース)フレームのシーケンスに対するソースフレームのシーケンスをエンコードするように構成され、ソースフレームがエンコードされることを所望される直前の基準フレームの解像度とは異なる解像度を有するソースフレームのシーケンスにおけるソースフレームが受信された場合、本発明の方法が実行され、すなわち、スケールされたコピー基準フレームが生成され、ソースフレームをエンコードするために使用される。
【0075】
上記は、主に、エンコード処理を議論している。
【0076】
デコード処理(およびデコード処理回路)は、任意の適切な、所望される方式で、たとえば、好適には、使用されているビデオエンコード(およびデコード)フォーマットに従って、エンコードされたソースフレームのシーケンスをデコードし得る。したがって、好適には、方法は、ビデオデータのエンコードされたフレームのシーケンス(を表すビットストリーム)を受信し、表示のための出力ビデオ画像フレームのシーケンスを提供するために、ビデオデータのエンコードされたフレームをデコードするステップを含む(また、デコード処理回路は上記ステップを行うように構成される)。
【0077】
デコード処理(デコード処理回路)は好適には、(たとえば、ソースフレームが、「キー」フレームであることとは反対に、差分的にエンコードされた場合、)基準フレームに対する各エンコードされたソースフレームを適切なようにデコードする。
【0078】
スケールされたコピー基準フレームを使用してエンコードされたソースフレームのケースでは、デコード処理回路は、エンコードされたソースフレームをデコードするために、(すなわち、オリジナル「サイズ」の直前のフレームの代わりに)スケールされたコピー基準フレームを使用するであろう(しかし、そうではない場合には、好適には、スケールされたコピー基準フレームを、エンコードされたソースフレームのシーケンスにおける他の任意の(差分的に)エンコードされたソースフレームが、たとえばVP9のように、使用されているビデオエンコードフォーマットにおけるそれぞれの基準(たとえば、直前のソース)フレームを使用してデコードされるであろうことと同じ方式で、基準フレームとしてスケールされたコピー基準フレームを使用して、ソースフレームをデコードするであろう)。
【0079】
相応して、スケールされたコピー基準フレームが、そのスケールされたコピーである(オリジナルの)フレームに対してエンコードされた場合、好適には、この方法は、エンコードされたスケールされたコピー基準フレームを、たとえば、好適には、そのスケールされたコピーである(オリジナルの)フレームを使用してデコードするステップを含む(また、デコード処理回路は、上記ステップを行うように構成される)。
【0080】
一実施形態では、デコード処理およびデコード処理回路は、エンコードされたフレームのシーケンスにおける直前にエンコードされたフレームを基準フレームとして使用して、エンコードされたソースフレームのシーケンスにおける各エンコードされたソースフレームをデコードするように構成される。したがって、デコード処理回路は、エンコードされたソースフレームを、エンコードされたビットストリームにおいて受信した順序でデコードし得、それらの各々を、ビットストリームにおける直前のエンコードされたフレームを(基準フレームとして)使用してデコードする。
【0081】
スケールされたコピー基準フレームを使用して、エンコードされたソースフレームをデコードする(したがって、スケールされたコピー基準フレームが、エンコードされたビットストリームにおける余分なフレームとして提供される)ために、好適には、デコード処理は、そのようにエンコードされたフレームが、(スケールされたコピーが生成されたオリジナルの解像度のソースフレームの代わりに)スケールされたコピー基準フレームを使用してデコードされるべきであることを判定するように構成される。これは、たとえば、デコードするために使用されるべき基準フレームを識別する、エンコードされたソースフレームに関連付けられたインジケーションと、および/または、それをそのようなものとして識別する、および/または、エンコードされたフレームのシーケンスにおける後続のエンコードされたフレームまたは直後のエンコードされたフレームをデコードするための基準フレームとして使用されるべきであるエンコードされたスケールされたコピー基準フレームに関連付けられたインジケーション、を使用して、および/または、所与のフレームをデコードする場合に、どのフレームを基準フレームとして使用するのかを決定するための示されたおよび/またはあらかじめ定義されたパターンにしたがって、任意の適切な、所望される方式で決定され得る。
【0082】
一実施形態では、方法は、たとえば、スケールされたコピー基準フレームに関連付けられたインジケーションを使用して、(デコード処理回路によって受信された)エンコードされたフレームのシーケンスが、(たとえば、そのオリジナルの解像度において、そのフレームについてエンコードされたビデオ画像を備えるビットストリームに加えて、)スケールされたコピー基準フレームの表現を備えている場合を判定するステップを含む(また、デコード処理回路は、上記ステップを行うように構成される)。好適には、スケールされたコピー基準フレームは、それが将来、基準フレームとして使用されるべきであることをデコーダへ示す、フラグのようなインジケータを含み、これによって、デコーダは、将来の使用のためにそれが記憶されるべきであることを認識できるようになる。
【0083】
デコード処理回路が、エンコードされたフレームを、スケールされたコピー基準フレームであるとして識別すると、好適には、スケールされたコピー基準フレームは、たとえば、フレームのシーケンスにおける適切な、たとえば、次の、エンコードされたソースフレームをデコードするために使用される。したがって、好適には、方法は、デコードされるべきフレームのシーケンスにおける、次の、エンコードされたソースフレームをデコードするための基準フレームとして、スケールされたコピー基準フレームを設定するステップを含む(また、デコード処理回路は、上記ステップを行うように構成される)。
【0084】
スケールされたコピー基準フレームがそのように識別され、そして、たとえば、使用するための基準フレームとして設定されると、デコードされるべきエンコードされたソースフレームのシーケンスにおける、たとえば、次の、エンコードされたソースフレームが、その後、フレームのための出力ビデオ画像データを提供するために、スケールされたコピー基準フレームを、たとえば、ビデオコーディングフォーマットのために必要に応じて使用して、デコード処理回路によってデコードされ得る。
【0085】
好適には、スケールされたコピー基準フレームが、デコード処理回路によって識別されると、スケールされたコピー基準フレームが、(新たな解像度において)エンコードされたソースフレームをデコードする場合における使用のために、たとえばバッファに記憶される。
【0086】
デコードされるべきフレームは、エンコードされたフレームのシーケンス(の一部)となるであろうことが理解されるであろう。したがって、たとえば、新たな解像度においてソースフレームがデコードされると、エンコードされたソースフレームのシーケンスにおけるその後の後続するエンコードされたソースフレームは、(エンコードされたソースフレームのシーケンスにおけるその後の後続するフレームが、同じ新たな解像度において提供されると推定して、)たとえば、異なる解像度におけるエンコードされたソースフレームが、デコードのために提供される(この時、新たな解像度におけるフレームが、本発明に従ってデコードされる)まで、ビデオエンコードフォーマットによって通常指定されるような方式でデコードされ続け得る。
【0087】
したがって、好適には、デコード処理回路は、(たとえば、対象とするビデオコーディングフォーマットに従い)エンコードされた基準(たとえば、直前のエンコードされたソース)フレームのシーケンスを使用して、エンコードされたソースフレームのシーケンスをデコードするように構成され、エンコードされたフレームのシーケンスにおける直前のエンコードされたソースフレームの解像度とは異なる解像度を有する、エンコードされたソースフレームのシーケンスにおけるエンコードされたソースフレームが受信された(たとえば、受信されているスケールされたコピー基準フレームによって示される)場合、本発明の方法が実行され、すなわち、スケールされたコピー基準フレームが、エンコードされたソースフレームをデコードするために使用される。
【0088】
(好適には、デコードされたスケールされたコピー基準フレームを除く)デコードされたエンコードされたソースフレームは、好適には、たとえば、好適には表示のために、ビデオデコーダによって出力される。したがって、好適な実施形態では、(好適には、デコードされたスケールされたコピー基準フレームを除く)デコードされたエンコードされたソースフレームのシーケンスが表示される。
【0089】
デコードされたエンコードされたソースフレームは、表示のために、たとえば、好適にはディスプレイコントローラによって、たとえば、ディスプレイデバイスへダイレクトにストリーミングすることによって、および/または、それらが読み取られ得る場所からメモリへ(たとえば、メモリ内のフレームバッファへ)記憶することによって、任意の適切な、所望される方式における表示のために提供され得る。
【0090】
上記で議論されたように、特に好適な実施形態では、デコーダへ送信されるエンコードされた基準フレームのシーケンスに含まれるスケールされたコピー基準フレーム自体は表示されない。上記で議論されたように、これは、好適には、スケールされたコピー基準フレームのエンコードされたバージョンとともに適切なインジケーションを含めることによって達成され、これによって、デコーダは、表示のためにそれを出力しないようになる。
【0091】
したがって、特に好適な実施形態では、デコード処理(デコード処理回路)は、エンコードされたスケールされたコピー基準フレームが表示されるべきではないことを識別し、そのような識別に応じて、スケールされたコピー基準フレームを、表示させないようにするように動作可能である。
【0092】
したがって、特定の好適な実施形態では、ビデオデコーダは、とりわけ、第1の解像度においてエンコードされたソースフレームを備え、第1の解像度におけるソースフレームのスケールされたコピーである第2の異なる解像度においてエンコードされたソースフレームによって(好適には直後に)後続され、異なる第2の解像度においてエンコードされたソースフレームによって(好適には直後に)後続されるエンコードされたビデオフレームのシーケンスを受信し、第1の解像度においてエンコードされたソースフレームと、第2の異なる解像度においてエンコードされたフレームと、異なる第2の解像度においてエンコードされたソースフレームとをデコードし、第1の解像度においてデコードされたエンコードされたソースフレームと、異なる第2の解像度においてデコードされたエンコードされたソースフレームとを、たとえば、好適には、表示のために出力するが、第1の解像度においてソースフレームのスケールされたコピーであった第2の異なる解像度においてデコードされたエンコードされたフレームを表示するために出力しないであろう。
【0093】
フレームのシーケンスのエンコードおよびデコードは、たとえば別々の時間、および、たとえば分離した場所において、分離した装置(たとえばデバイス)において実行され得る(実行されることが好ましい)ことが理解されるであろう。したがって、本発明は、ビデオデータのエンコードおよびデコードを参照して上述されたが、本発明はまた、ビデオ画像データのみのエンコードへも及ぶ。
【0094】
第3の態様から見た場合、本発明は、基準フレームとしてエンコードされるべきソースビデオフレームのシーケンスにおける1つまたは複数のソースフレームを使用してエンコードされるべきソースビデオフレームのシーケンスのうちの少なくともいくつかのフレームをエンコードするビデオエンコード処理を使用する場合に、ビデオデータのフレームのシーケンスのフレームをエンコードする方法を提供し、この方法は、
新たなソースフレームのための基準フレームとなる、エンコードされているソースフレームのシーケンスにおける別のフレームの解像度とは異なる解像度を有する、エンコードされているソースフレームのシーケンスにおける新たなソースフレームをエンコードすることが所望されている場合、
新たなソースフレームのための基準フレームとなるように新たなソースフレームの解像度へスケールされた新たなソースフレームのための基準フレームとなる、エンコードされているソースフレームのシーケンスにおける別のフレームのスケールされたコピーを生成するステップと、
別のフレームの生成されたスケールされたコピーを表すエンコードされた出力ビデオ画像データを提供するために、別のフレームの生成されたスケールされたコピーをエンコードするステップと、
新たなソースフレームを表すエンコードされた出力ビデオ画像データを提供するために、基準フレームとして別のフレームのスケールされたコピーを使用して新たなソースフレームをエンコードするステップと、
別のフレームのスケールされたコピーを表すエンコードされたビデオ画像データと、新たなソースフレームを表すエンコードされたビデオ画像データとを出力するステップとを含む。
【0095】
第4の態様から見た場合、本発明は、ビデオデータのフレームのシーケンスのフレームをエンコードするための装置を提供し、この装置は、
基準フレームとしてエンコードされるべきソースビデオフレームのシーケンスにおける1つまたは複数のソースフレームを使用してエンコードされるべきソースビデオフレームのシーケンスのうちの少なくともいくつかのフレームをエンコードするように構成されたエンコード処理回路を備え、
このエンコード処理回路はさらに、
新たなソースフレームのための基準フレームとなる、エンコードされているソースフレームのシーケンスにおける別のフレームの解像度とは異なる解像度を有する、エンコードされているソースフレームのシーケンスにおける新たなソースフレームをエンコードすることが所望されている場合、
新たなソースフレームのための基準フレームとなるように新たなソースフレームの解像度へスケールされる新たなソースフレームのための基準フレームとなる、エンコードされているソースフレームのシーケンスにおける別のフレームのスケールされたコピーを生成し、
別のフレームの生成されたスケールされたコピーを表すエンコードされた出力ビデオ画像データを提供するために、別のフレームの生成されたスケールされたコピーをエンコードし、
新たなソースフレームを表すエンコードされた出力ビデオ画像データを提供するために、基準フレームとして、別のフレームのスケールされたコピーを使用して新たなソースフレームをエンコードし、
別のフレームのスケールされたコピーを表すエンコードされたビデオ画像データと、新たなソースフレームを表すエンコードされたビデオ画像データとを出力するように構成される。
【0096】
相応して、本発明は、ビデオ画像データのみのデコードへ及ぶ。
【0097】
したがって、第5の態様から見た場合、本発明は、エンコードされたビデオフレームのシーケンスにおける1つまたは複数のフレームを基準フレームとして使用して、エンコードされたビデオフレームのシーケンスのうちの少なくともいくつかのフレームをデコードするビデオデコード処理を使用する場合、エンコードされたビデオデータのフレームのシーケンスのフレームをデコードする方法を提供し、この方法は、
デコードするためのビデオフレームのシーケンスを表すエンコードされたビデオ画像データを受信するステップであって、ビデオフレームのシーケンスを表すエンコードされたビデオ画像データは、エンコードされたフレームのシーケンスにおける別のフレームのスケールされたコピーを表す少なくともエンコードされたビデオ画像データと、別のフレームのスケールされたコピーを基準フレームとして使用してエンコードされたビデオフレームを表すエンコードされたビデオ画像データとを含む、受信するステップと、
別のフレームのスケールされたコピーのためのエンコードされたビデオ画像データをデコードするステップと、
ビデオフレームのための出力ビデオ画像データを提供するために、別のフレームのデコードされたスケールされたコピーを基準フレームとして使用して、別のフレームのスケールされたコピーを基準フレームとして使用してエンコードされたビデオフレームのためのエンコードされたビデオ画像データをデコードするステップとを含む方法を提供する。
【0098】
第6の態様から見た場合、本発明は、エンコードされたビデオフレームのシーケンスにおける1つまたは複数のフレームを基準フレームとして使用して、エンコードされたビデオフレームのシーケンスのうちの少なくともいくつかのフレームをデコードするビデオデコード処理を使用する場合、エンコードされたビデオデータのフレームのシーケンスのフレームをデコードするための装置を提供し、この装置は、
デコードするためのビデオフレームのシーケンスを表すエンコードされたビデオ画像データを受信し、ここで、ビデオフレームのシーケンスを表すエンコードされたビデオ画像データは、エンコードされたフレームのシーケンスにおける別のフレームのスケールされたコピーを表す少なくともエンコードされたビデオ画像データと、別のフレームのスケールされたコピーを基準フレームとして使用してエンコードされたビデオフレームを表すエンコードされたビデオ画像データとを含み、
別のフレームのスケールされたコピーのためのエンコードされたビデオ画像データをデコードし、
ビデオフレームのための出力ビデオ画像データを提供するために、別のフレームのデコードされたスケールされたコピーを基準フレームとして使用して、別のフレームのスケールされたコピーを基準フレームとして使用してエンコードされたビデオフレームのためのエンコードされたビデオ画像データをデコードするように構成されたデコード処理回路を備える。
【0099】
当業者によって認識されるように、本発明のこれら態様は、必要に応じて、本明細書で議論される本発明の好適なオプションの特徴のうちの任意の1つまたは複数またはすべてを含み得、好適には含む。特に、エンコード処理は、好適には、相応して、エンコード処理に関して上記で議論された好適かつオプションの特徴を含み、デコード処理は、好適には、相応して、デコード処理に関して上記で議論された好適かつオプションの特徴を含む。
【0100】
したがって、例えば、エンコード処理は、好適には、スケールされたコピー基準フレームを、表示されるべきではないフレームであるとして指定する。
【0101】
相応して、デコード処理は、好適には、別のフレームのスケールされたコピーを基準フレームとして使用して、エンコードされたビデオデータのフレームのシーケンスにおけるフレームが、デコードされるべきである場合を判定するステップと、および/または、エンコードされたビデオデータのフレームのシーケンスにおけるフレームが、別のフレームのスケールされたコピーを備えている場合を判定するステップとを含む。同様に、デコード動作は好適にはさらに、表示のために、基準フレームとして、別のフレームのスケールされたコピーを使用してエンコードされたデコードされたフレームを出力するが、表示のために、別のフレームのデコードされたスケールされたコピーを出力しないステップを含む(そして、相応して、好適には、別のフレームのエンコードされたスケールされたコピーが、表示のために出力されるべきではないことを識別するステップを含む)。
【0102】
本発明は、適切に構成されたマイクロプロセッサベースのシステムのような任意の適切なビデオ処理システムにおいて実施され得る。一実施形態では、本発明は、コンピュータおよび/またはマイクロプロセッサベースのシステムにおいて実施される。好適には、本発明は、ビデオデコーダ、エンコーダ、および/または、プロセッサにおいて(またはそれらとして)実施される。
【0103】
このシステムは、たとえば、レンダリングするための(たとえば、デコード処理回路から、出力された(デコードされた)ビデオ画像データが提供される)レンダリングユニット、レンダリングユニットから、レンダリングされたビデオのフレームが提供されるたとえばディスプレイのような出力、および、(エンコードされていないビデオデータ、結果として得られるエンコードされたデータブロック、および結果として得られる出力(デコード)されたビデオデータのような)必要とされるデータを記憶するためのメモリ、のような本発明の方式における動作を可能にするための任意の適切な、所望されるコンポーネントまたは要素を含み得る。
【0104】
エンコードされたビデオ画像データが(たとえば、エンコードされたデータのビットストリームとして)生成された場合、その後、エンコードされたビデオ画像データは、たとえば、適切に記憶されることによって、および/または、デコードのためにデコーダ(これは好適には、本発明のエンコードされたビデオ画像データをデコードするための装置である)へ送信されることによって、将来の使用のために所望されるように取り扱われ得る。そして、デコーダは、その後、たとえば、本発明のデコード方法にしたがって、エンコードされたビデオデータをデコードし得る。デコードされたビデオデータ(フレーム)は、好適には、その後、出力され、たとえば、好適には、記憶および/または表示される。
【0105】
本発明の様々な機能は、任意の所望される適切な方式で実行され得る。たとえば、所望されるように、本発明の機能は、ハードウェアまたはソフトウェアにおいて実施され得る。したがって、たとえば、別の方式で示されないのであれば、本発明の様々な機能要素、ステージ、および、「手段」は、所望される方式で動作するようにプログラムされ得る、適切に特化されたハードウェア要素(処理回路)および/またはプログラマブルハードウェア要素(処理回路)のように、様々な機能等を実行するように動作可能な適切な1つまたは複数のプロセッサ、1つまたは複数のコントローラ、機能ユニット、回路、処理ロジック、マイクロプロセッサ構成等を備え得る。
【0106】
当業者によって認識されるように、本発明の様々な機能等は、複製され得るか、および/または、所与のプロセッサにおいて並列して実行され得ることもまたここで留意されたい。所望されるのであれば、様々な処理ステージが、処理回路等を等しく共有し得る。
【0107】
上記で議論された特定の機能を実行するために必要な任意のハードウェアに従って、ビデオプロセッサは、そうではない場合には、ビデオエンコーダ、デコーダ、およびプロセッサが含む通常の機能ユニット等のうちの任意の1つまたは複数またはすべてを含み得る。
【0108】
また、本発明の記載された実施形態のすべてが、本明細書に記載された特徴のうちの任意の1つまたは複数またはすべてを必要に応じて含み得、一実施形態においても同様であることも当業者によって理解されるであろう。
【0109】
本発明に従う方法は、たとえばコンピュータプログラムのようなソフトウェアを使用して少なくとも部分的に実施され得る。したがって、さらなる実施形態から見た場合、本発明は、データプロセッサにインストールされた場合、本明細書に記載された方法を実行するために具体的に適合されたコンピュータソフトウェアと、プログラム要素がデータプロセッサにおいて実行されている場合、本明細書に記載された方法を実行するためのコンピュータソフトウェアコード部分を備えるコンピュータプログラム要素と、プログラムがデータ処理システムにおいて実行されている場合、本明細書に記載された1つまたは複数の方法のすべてのステップを実行するように適合されたコードを備えるコンピュータプログラムを提供することが理解されるであろう。データプロセッサは、マイクロプロセッサシステム、プログラマブルFPGA(フィールドプログラマブルゲートアレイ)等であり得る。
【0110】
本発明はまた、グラフィックプロセッサ、レンダラ、または、データプロセッサを備えるマイクロプロセッサシステムを動作させるために使用される場合、データプロセッサ、プロセッサ、レンダラ、またはシステムと連携して、本発明の方法のステップを実行させるそのようなソフトウェアを備えるコンピュータソフトウェアキャリアへ及ぶ。そのようなコンピュータソフトウェアキャリアは、ROMチップ、CD ROM、RAM、フラッシュメモリ、またはディスクのような物理的な記憶媒体であり得るか、または、ワイヤを介した電気信号、光信号、または、衛星等へのような無線信号であり得る。
【0111】
本発明の方法の必ずしもすべてのステップが、コンピュータソフトウェアによって実行される必要はないので、さらに広い実施形態から、本発明は、本明細書に記述された方法のステップのうちの少なくとも1つを実行するために、コンピュータソフトウェア、および、コンピュータソフトウェアキャリアにインストールされたそのようなソフトウェアを提供することがさらに理解されるであろう。
【0112】
したがって、本発明は、コンピュータシステムとともに使用するためのコンピュータプログラム製品として具体化され得る。そのような実施は、たとえばディスケット、CD ROM、ROM、RAM、フラッシュメモリ、またはハードディスクのようなコンピュータ可読媒体のような実体的な非一時的な媒体に固定された一連のコンピュータ可読命令を備え得る。それはさらに、モデムまたは他のインターフェースデバイスを経由して、限定されないが、光またはアナログ通信線を含む実体的な媒体を介して、または、限定されないが、マイクロ波、赤外線、または他の送信技術を含むワイヤレス技術を非実体的に使用して、コンピュータシステムへ送信可能な一連のコンピュータ可読命令をも備え得る。一連のコンピュータ可読命令は、本明細書に直前に記載された機能のすべてまたは一部を具体化する。
【0113】
当業者であれば、そのようなコンピュータ可読命令は、多くのコンピュータアーキテクチャまたはオペレーティングシステムとともに使用するために、複数のプログラミング言語で記述され得ることを認識するであろう。さらに、そのような命令は、限定されないが、半導体、磁気、または光を含む現在または将来の任意のメモリ技術を使用して記憶され得るか、または、限定されないが、光、赤外線、またはマイクロ波を含む現在または将来の任意の通信技術を使用して送信され得る。そのようなコンピュータプログラム製品は、たとえばシュリンクラップソフトウェアのような同伴する印刷されたまたは電子文書を伴うリムーバブル媒体として配信され得、たとえばシステムROMまたは固定ディスク上のコンピュータシステムを用いて予めロードされ得、または、たとえばインターネットまたはワールドワイドウェブのようなネットワークを介してサーバまたは電子掲示板から配信され得ることが考慮される。
【0114】
以下、本発明の複数の好適な実施形態が、例としてのみ添付図面を参照して記載される。