(57)【特許請求の範囲】
【請求項１】
ビデオシーケンスを第１のフォーマット（９３０）で表す第１のビットストリーム（９３０）をトランスコーダ（９１０）に提供するように設定され、
前記ビデオシーケンスを、前記第１のフォーマットから第２のフォーマットにトランスコーディングするために、前記トランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を表す第２のビットストリーム（９４０）を作り出すようにさらに設定され、
前記第２のビットストリーム（９４０）を前記トランスコーダに提供するようにさらに設定された、ビデオエンコーダ（９００）であって、
前記トランスコーディング情報は、残差が前記トランスコーダにおいて再生成される必要があるかどうか、または前記残差が前記エンコーダから提供されるかどうかを少なくとも示す少なくとも１つのシンタックス要素を含み、前記残差は、前記第２のフォーマットの前記ビデオシーケンスと、トランスコーディング情報に従って生成された前記第２のフォーマットの前記ビデオシーケンスの予測との間の相違に由来する、ビデオエンコーダ。
【請求項２】
前記少なくとも１つのシンタックス要素は、変換スキップフラグである、請求項１に記載のビデオエンコーダ。
【請求項３】
０に等しい前記変換スキップフラグは、前記残差が前記エンコーダから提供されることを示し、１に等しい前記変換スキップフラグは、前記残差が前記エンコーダから提供されないことを示す、請求項２に記載のビデオエンコーダ。
【請求項４】
前記トランスコーディング情報は、符号化された変換係数の複数のパターンのうちの１つを含み、１つの特定のパターンは、残差が前記トランスコーダにおいて再生成される必要があることを示しており、残りのパターンは、前記残差が前記エンコーダから提供されることを示しており、前記残差は、前記第２のフォーマットの前記ビデオシーケンスと、トランスコーディング情報に従って生成された前記第２のフォーマットの前記ビデオシーケンスの予測との間の相違に由来する、請求項３に記載のビデオエンコーダ。
【請求項５】
前記第２のフォーマットの前記ビデオシーケンスと、トランスコーディング情報に従って生成された前記第２のフォーマットの前記ビデオシーケンスの予測との間の前記相違は、変換符号化される、請求項１から４のいずれか一項に記載のビデオエンコーダ。
【請求項６】
前記トランスコーディング情報は、少なくとも、前記トランスコーダがフルトランスコーディングを実施する必要があることを示すシンタックス要素を含む、請求項５に記載のビデオエンコーダ。
【請求項７】
前記第１のフォーマットは、高品質圧縮フォーマットであり、前記第２のフォーマットは、低品質圧縮フォーマットである、請求項１から６のいずれか一項に記載のビデオエンコーダ。
【請求項８】
ビデオシーケンスを第１のフォーマットで表す第１のビットストリーム（９３０）をエンコーダ（９００）から受信するように設定され、
前記ビデオシーケンスを、前記第１のフォーマットから第２のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を表す第２のビットストリーム（９４０）を受信するように設定され、
前記第１のビットストリームを、前記第１のフォーマットから前記第２のフォーマット（９５０）に、前記示されたトランスコーディング方法を使用してトランスコーディングするように設定された、ビデオトランスコーダ（９１０）であって、
前記トランスコーディング情報は、残差が前記トランスコーダにおいて再生成される必要があるかどうか、または前記残差が前記エンコーダから受信されるかどうかを少なくとも示す少なくとも１つのシンタックス要素を含み、前記残差は、前記第２のフォーマットの前記ビデオシーケンスと、トランスコーディング情報に従って生成された前記第２のフォーマットの前記ビデオシーケンスの予測との間の相違に由来する、ビデオトランスコーダ。
【請求項９】
前記少なくとも１つのシンタックス要素は、変換スキップフラグである、請求項８に記載のビデオトランスコーダ。
【請求項１０】
０に等しい前記変換スキップフラグは、前記残差が前記エンコーダから受信されることを示し、１に等しい前記変換スキップフラグは、前記残差が前記エンコーダから提供されないことを示す、請求項９に記載のビデオトランスコーダ。
【請求項１１】
前記トランスコーディング情報は、符号化された変換係数の複数のパターンのうちの１つを含み、１つの特定のパターンは、残差が前記トランスコーダにおいて再生成される必要があることを示しており、残りのパターンは、前記残差が前記エンコーダから受信されることを示しており、前記残差は、前記第２のフォーマットの前記ビデオシーケンスと、トランスコーディング情報に従って生成された前記第２のフォーマットの前記ビデオシーケンスの予測との間の相違に由来する、請求項１０に記載のビデオトランスコーダ。
【請求項１２】
前記第２のフォーマットの前記ビデオシーケンスと、トランスコーディング情報に従って生成された前記第２のフォーマットの前記ビデオシーケンスの予測との間の前記相違は、変換符号化される、請求項８から１１のいずれか一項に記載のビデオトランスコーダ。
【請求項１３】
前記トランスコーディング情報は、少なくとも、前記トランスコーダがフルトランスコーディングを実施する必要があることを示すシンタックス要素を含む、請求項１２に記載のビデオトランスコーダ。
【請求項１４】
前記第１のフォーマットは、高品質圧縮フォーマットであり、前記第２のフォーマットは、低品質圧縮フォーマットである、請求項８から１３のいずれか一項に記載のビデオトランスコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書で説明される実施形態は、トランスコーディングのための方法および構成に関し、詳細には、トランスコーディングを改善するためのメカニズムに関する。
【背景技術】
【０００２】
ビデオトランスコーディングは、１つのビデオ符号化フォーマットを別のビデオフォーマットにトランスコーディングするための技法である。
【０００３】
図１に示されるように、オリジンエンコーダ（ｏｒｉｇｉｎ  ｅｎｃｏｄｅｒ）１１０は、ビデオシーケンス１００を、第１のフォーマット１２０を用いる第１のビットストリームにエンコードし、第１のビットストリームをトランスコーダ１３０に送る。フォーマットは、ビデオ画像解像度、ビットレート、および／またはフォーマットが対応するビデオ符号化規格の情報を備える。トランスコーダ１３０は、第１のビットストリーム１２０を第２のフォーマット１４０にトランスコーディングし、第２のフォーマットは、エンドデバイス１５０に適合される。例えば、小型ディスプレイを有するユーザデバイスにとって、低解像度（すなわち、ビデオ画像解像度）は、十分であるが、より大型のディスプレイを有するユーザデバイスは、より高い解像度、およびそれによって別のフォーマットを要求する。
【０００４】
トランスコーディングは、トランスコーダが、符号化ビットストリームを、第１のビットレートおよび第１のビデオ画像解像度で受信し、トランスコーダが、符号化ビットストリームを第２のビットストリームに、第２のビットレートおよび（第１のビデオ画像解像度と異なってよく、または異ならなくてよい）第２のビデオ画像解像度でトランスコーディングするということを含意することがある。トランスコーダによって受信された符号化ビットストリームは、以下で、第１のビットストリームと呼ばれ、オリジンエンコーダによってエンコードされる。それ故に、第１のビットストリームは、トランスコーダによって復号され、（第２の解像度が第１の解像度より低い場合、）第２の解像度にダウンサンプルされ、第２のビットレートおよび第２の解像度で再エンコードされる。これは、本明細書において、「フルトランスコーディング」と表記される、在来の、または正式のトランスコーディングである。フルトランスコーディングに伴う１つの欠点は、例えば、変換サイズ、係数、内部予測および動きに関連したパラメータは、レート歪み（ｒａｔｅ  ｄｉｓｔｏｒｔｉｏｎ）の意味で最適化される必要があるので、トランスコーダに対して非常に演算的に多くを求めている、すなわちトランスコーダ内の再エンコーディングステップは、演算的に多くを求めているということである。フルトランスコーディングは、図２に示される。
【０００５】
図２は、ネットワークノード内に設置されたオリジンエンコーダ２００およびトランスコーダ２１０を概略的に示す。オリジンエンコーダ２００は、元のビデオＯをエンコードし、エンコードされたビットストリームＡをトランスコーダ２１０に送り、トランスコーダ２１０は、トランスコードする。（すなわち、エンコードされたビットストリームを復号し、エンドポイント、例えばユーザデバイスに送られる第２のフォーマットＢを用いるエンコードされたビットストリームを生成する。）
【０００６】
フルトランスコーディングに代わるものはサイマルキャストである。サイマルキャストにおいて、第１のフォーマットを用いるビットストリームと第２のフォーマットを用いるビットストリームの両方は、オリジンエンコーダにおいて元のビデオから生成され、ネットワーク上で送信される。これは、ネットワークトラフィックを増加させる結果になるが、トランスコーディングノードはいかなる演算も実施する必要がない。サイマルキャストのケースにおいて、トランスコーダは、チャネル容量／エンドデバイス能力などに最もよく対応するフォーマットを選択する必要があるだけであり、このことは、トランスコーダが、選択されたフォーマットでビットストリームのうちの１つを転送することを含意する。図３は、サイマルキャストを示し、ここで、オリジンエンコーダは、元のビデオをエンコードし、第１のフォーマットを用いる第１のエンコードされたビットストリーム、および第２のフォーマットを用いる第２のエンコードされたビットストリームを生成し、両方のビットストリームを受信器に送る。
【０００７】
Ｈ．２６４またはＨＥＶＣなどの、今日のビデオ符号化規格に対する符号化ビデオのビットストリームは、２つのタイプのデータ、つまり、（１）画像間または画像内の予測モード、および関連する動きベクトルを示すデータ、（２）復号中に、予測信号間／予測信号内に追加するべき残差情報を示す変換係数、を本質的に含むと言われることがある。ビデオのエンコーディング／再エンコーディングにおいて、最も演算的に多くを求める部分は、データを取得することである。一度これが利用可能になると、変換係数を取得することには、比較的低い演算上の複雑性の要求が課される。
【０００８】
ＷＯ２０１５／０５３６７３Ａ１において説明されたような、ガイドされたトランスコーディングは、再エンコーダ内での複雑な評価の必要性を低減する再エンコーディング処理におけるサイド情報（ｓｉｄｅ  ｉｎｆｏｒｍａｔｉｏｎ）を適用することによって、トランスコーディングオペレーションの演算上の複雑性を低減するために使用されることがある。サイド情報は、オリジンエンコーダにおいて、第１のビットストリームと一緒に生成され、トランスコーダに送られる。サイド情報を生成することは、同様に、演算的に複雑であることがある。しかし、例えば、サイド情報が、（オリジンノードで）一度だけ生成され、そして（いくつかの周辺ノードにおける）多くのトランスコーダにおいて適用されるシナリオでは、サイド情報の生成のための演算上の複雑性の欠点は、トランスコーディング中の演算上の複雑性の欠点より、ずっと低いことがある。ＷＯ２０１５／０５３６９７において、サイド情報のビットストリームは、パフォーマンスを改善するために、ガイドされたトランスコーディングにおいて生成された残差に追加される残差を格納する。
【０００９】
図４は、ガイドされたトランスコーディングを概略的に示す。オリジンエンコーダ４００は、元のビデオを、第１のフォーマットＡを用いる第１のビットストリームにエンコードし、第１のビットストリームを第２のフォーマットにトランスコーディングするときにトランスコーダ４１０によって使用されることになるサイド情報Ｂを生成する。それ故に、サイド情報は、第１のビットストリームを、第１のフォーマットから第２のフォーマットに転換する方法に関する情報を含み、このことは、トランスコーダが、追加のサイド情報のおかげで、第２のビットストリームを第１のビットストリームから、比較的複雑でない状態で、ずっと速く生成できるという結果をもたらす。
【００１０】
フルトランスコーディングとも呼ばれる正式のトランスコーディングに比較すると、ガイドされたトランスコーディングは、サイド情報を送ることを代償にして、比較的複雑でないトランスコーディングを提供する。サイマルキャストに比較すると、ガイドされたトランスコーディングは、ネットワーク内で送られる情報を低減するが、ネットワーク内のトランスコーダにおいて単純なトランスコーディングを要求し、かつ、既に圧縮されたビットストリームが他の圧縮されたビットストリームを生成するために使用されるので、圧縮効率を低減する。ガイドされたトランスコーディングの典型的な実装形態において、例えば、変換サイズ、係数、内部予測および動きに関連したパラメータは、サイド情報として送信される。
【発明の概要】
【００１１】
トランスコーディングおよびガイドされたトランスコーディングに伴う１つの問題は、これらが両方、第１の解像度からトランスコーディングせずに第２のビットレートおよび第２の解像度に直接エンコーディングすることに比較して、符号化効率の損失があることであり、なぜなら、再エンコーディングが、既に圧縮されたビデオに基づいて実施されるからである。ガイドされたトランスコーディングとフルトランスコーディングを比較すると、ガイドされたトランスコーディングは、比較的複雑ではないトランスコーディングを課すが、ガイドされたトランスコーディングは、追加のサイド情報の送信を要求し、したがって、帯域幅はあまり効率的ではない。
【００１２】
すなわち、フルトランスコーディング、ガイドされたトランスコーディング、および（第２のビットストリームが必要とされる）エンドデバイスへのサイマルキャストを比較すると、オリジンからエンドデバイスへの送信帯域幅の要求、トランスコーディングの複雑性、および第２のビットストリームの符号化効率の間にトレードオフがある。
【００１３】
実施形態に伴う１つのアイデアは、フルトランスコーディング、ガイドされたトランスコーディング、およびサイマルキャストなどの、トランスコーディングに関する異なる方法間の切換えを可能にすることである。したがって、実施形態は、どのトランスコーディング方法がトランスコーダによって使用されることになるかを、第２のビットストリーム内で示すことによって、このような切換えを可能にするためのメカニズム、およびトランスコーダにおいて使用されることになるトランスコーディング方法を示す（ｉｎｄｉｃａｔｉｖｅ  ｏｆ）トランスコーディング情報に基づいて、異なる方法を適用するためのメカニズムを提供する。
【００１４】
いくつかの実施形態によって解決される特定の問題は、既存のビデオコーデックのビットストリームフォーマットを維持しながらトランスコーディング情報を提供することであり、これにより、既存のビデオエンコーダおよびデコーダの実装を再使用することがかなりの程度まで許容される。これは、ビットストリームの１つまたはいくつかのシンタックス要素からトランスコーディング情報を導き出すトランスコーダを有することに関する。シンタックス要素の値に基づいてトランスコーダがすべきことを判定するための、いくつかのメカニズムを追加するだけで、既存のオープンソースのデコーダを、トランスコーディング情報を復号するためにトランスコーダ内で使用することができる。さらに、オープンソースのエンコーダは、復号されたトランスコーディング情報からの復号された符号化パラメータに基づいて、トランスコーディングされたビットストリームにエンコードするために、かなりの程度までトランスコーダ内で再使用することができる。
【００１５】
いくつかの実施形態を使用することによって、例えば、あるブロック、スライス、または画像全体に対しては（サイマルキャストを含意する）通常のエンコーディングを実装し、他のものに対してはガイドされたトランスコーディングを実装することが可能である。通常のエンコーディングは、真の符号化された残差をトランスコーダに送られるビットストリームに含ませることに対応し、ガイドされたトランスコーディングは、トランスコーダにおいて符号化された残差を再生成することに対応する。トランスコーダは、トランスコーディング指標とも呼ばれるトランスコーディング情報に基づいて、符号化された残差を再生成する必要があるかどうか、または、符号化された残差を使用することができるかどうかを決定する。トランスコーディング情報は、対応するｃｂｆ（符号化されたブロックフラグ）がゼロ以外の（符号化された残差が存在する）場合、明示的に合図されるか、または符号化された残差から暗黙のうちに導き出されることがある。
【００１６】
１つの態様によれば、ビデオエンコーダのための方法が提供される。方法において、ビデオシーケンスを第１のフォーマットで表す第１のビットストリームが、トランスコーダに提供され、第２のビットストリームが生成される。ここで、第２のビットストリームは、ビデオシーケンスを第１のフォーマットから第２のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を表している。第２のビットストリームは、トランスコーダに提供される。
【００１７】
１つの態様によれば、ビデオトランスコーダのための方法が提供される。方法において、ビデオシーケンスを第１のフォーマットで表す第１のビットストリームは、エンコーダから受信され、第２のビットストリームは、受信され、第１のビットストリームは、第１のフォーマットから第２のフォーマットに、示されたトランスコーディング方法を使用してトランスコーディングされる。ここで、第２のビットストリームは、ビデオシーケンスを第１のフォーマットから第２のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を表す。
【００１８】
１つの態様によれば、ビデオ処理ノードのための方法が提供される。方法において、ビデオシーケンスを第２のフォーマットで表す第２のビットストリームは、エンコーダから受信され、ビデオシーケンスを第１のフォーマットから第２のフォーマットにトランスコーディングするためにトランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報は、第２のビットストリーム内に挿入され、ビデオシーケンスを第１のフォーマットから第２のフォーマットにトランスコーディングするためにトランスコーダによって使用されるべきトランスコーディング方法を示す挿入されたトランスコーディング情報を含む第２のビットストリームは、トランスコーダに送信される。
【００１９】
１つの態様によれば、ビデオエンコーダが提供される。ビデオエンコーダは、ビデオシーケンスを第１のフォーマットで表す第１のビットストリームをトランスコーダに提供するように設定され、ビデオシーケンスを第１のフォーマットから第２のフォーマットにトランスコーディングするためにトランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を表す第２のビットストリームを作り出すようにさらに設定され、第２のビットストリームをトランスコーダに提供するようにさらに設定される。
【００２０】
１つの態様によれば、ビデオトランスコーダのための方法が提供される。ビデオトランスコーダは、ビデオシーケンスを第１のフォーマットで表す第１のビットストリームをエンコーダから受信するように設定され、ビデオシーケンスを第１のフォーマットから第２のフォーマットにトランスコーディングするためにトランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を表す第２のビットストリームを受信するように設定され、第１のビットストリームを第１のフォーマットから第２のフォーマットに、示されたトランスコーディング方法を使用してトランスコーディングするように設定される。
【００２１】
１つの態様によれば、ビデオ処理ノードが提供される。ビデオ処理ノードは、ビデオシーケンスを第２のフォーマットで表す第２のビットストリームをエンコーダから受信するように設定され、ビデオシーケンスを第１のフォーマットから第２のフォーマットにトランスコーディングするためにトランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を、第２のビットストリーム内に挿入することを行うように設定され、ビデオシーケンスを第１のフォーマットから第２のフォーマットにトランスコーディングするためにトランスコーダによって使用されるべきトランスコーディング方法を示す挿入されたトランスコーディング情報を含む第２のビットストリームを送信することを行うように設定される。
【００２２】
１つの態様によれば、ビデオエンコーダのための方法が提供される。ビデオエンコーダは、ビデオシーケンスを第１のフォーマットで表す第１のビットストリームをトランスコーダに提供するための送信器と、ビデオシーケンスを第１のフォーマットから第２のフォーマットにトランスコーディングするためにトランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を表す第２のビットストリームを作り出すためのビットストリームクリエータを備え、送信器は、第２のビットストリームをトランスコーダに提供するようにさらに設定される。
【００２３】
１つの態様によれば、ビデオトランスコーダのための方法が提供される。ビデオトランスコーダは、ビデオシーケンスを第１のフォーマットで表す第１のビットストリームをエンコーダから受信するための、およびビデオシーケンスを第１のフォーマットから第２のフォーマットにトランスコーディングするためにトランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を表す第２のビットストリームを受信するための受信器を備える。
【００２４】
１つの態様によれば、ビデオ処理ノードが提供される。ビデオ処理ノードは、ビデオシーケンスを第２のフォーマットで表す第２のビットストリームをエンコーダから受信するための受信器と、ビデオシーケンスを第１のフォーマットから第２のフォーマットにトランスコーディングするためにトランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を第２のビットストリーム内に挿入するための挿入器、およびビデオシーケンスを、第１のフォーマットから第２のフォーマットにトランスコーディングするためにトランスコーダによって使用されるべきトランスコーディング方法を示す挿入されたトランスコーディング情報を含む第２のビットストリームを送信するための送信器を備える。
【００２５】
１つの態様によれば、コンピュータプログラムが提供される。コンピュータプログラムは、プロセッサによって実行されるとき、ビデオシーケンスを第１のフォーマットで表す第１のビットストリームをトランスコーダに提供すること、ビデオシーケンスを第１のフォーマットから第２のフォーマットにトランスコーディングするためにトランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を表す第２のビットストリームを作り出すこと、第２のビットストリームをトランスコーダに提供することを、前記プロセッサに行わせる命令を含む。
【００２６】
１つの態様によれば、コンピュータプログラムが提供される。コンピュータプログラムは、プロセッサによって実行されるとき、ビデオシーケンスを第１のフォーマットで表す第１のビットストリームをエンコーダから受信すること、およびビデオシーケンスを第１のフォーマットから第２のフォーマットにトランスコーディングするためにトランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を表す第２のビットストリームを受信することを、前記プロセッサに行わせる命令を含む。
【００２７】
１つの態様によれば、コンピュータプログラムが提供される。コンピュータプログラムは、プロセッサによって実行されるとき、ビデオシーケンスを第２のフォーマットで表す第２のビットストリームをエンコーダから受信すること、ビデオシーケンスを第１のフォーマットから第２のフォーマットにトランスコーディングするためにトランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を第２のビットストリーム内に挿入すること、およびビデオシーケンスを第１のフォーマットから第２のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示す挿入されたトランスコーディング情報を含む第２のビットストリームを送信することを、前記プロセッサに行わせる命令を含む。
【００２８】
トランスコーディング方法は、サイマルキャスト、フルトランスコーディング、または／およびガイドされたトランスコーディングであってよい。
【００２９】
実施形態のうちのいくつかによるさらなる利点は、通常のトランスコーディングまたはガイドされたトランスコーディングを導入することに関する符号化効率の損失（すなわち、トランスコーディングされたビットストリームと関連付けられたビットレートのオーバヘッド）は、トランスコーダ（またはガイドされたトランスコーダ）において残差情報を生成することの代わりに、残差情報をトランスコーダに、例えば、ブロック毎に、選択的に送信することによって低減され得るというものである。なぜなら、送信された残差データは、元のビデオについての情報を考慮に入れることができるが、トランスコーダにおいて生成された残差情報は、既に圧縮されたビデオに基づく必要があるからである。
【００３０】
実施形態のうちのいくつかによるさらなる利点は、トランスコーディング情報が（ＨＥＶＣ（高効率ビデオコーデック）などの）既存のコーデックのビットストリームフォーマットに準拠しているフォーマット内で送られるとき、既存のエンコーダまたはデコーダを再使用することが、容易に可能であるというものである。
【図面の簡単な説明】
【００３１】
【図１】従来技術によるトランスコーダのオペレーションを概略的に示す図である。
【図２】従来技術によるフルトランスコーディングのオペレーションを概略的に示す図である。
【図３】従来技術によるサイマルキャストを概略的に示す図である。
【図４】従来技術によるサイド情報を用いるトランスコーディングを概略的に示す図である。
【図５】係数エクストラクタ（ｃｏｅｆｆｉｃｉｅｎｔ  ｅｘｔｒａｃｔｏｒ）とも呼ばれるビデオ処理ノードを用いる実施形態を概略的に示す図である。
【図６】本発明の実施形態による方法の流れ図である。
【図７】本発明の実施形態による方法の流れ図である。
【図８】本発明の実施形態による方法の流れ図である。
【図９】本発明の実施形態によるエンコーダおよびトランスコーダを概略的に示す図である。
【図１０】係数エクストラクタとも呼ばれるビデオ処理ノードを用いる実施形態を概略的に示す図である。
【図１１】本発明の実施形態の異なる態様を示す図である。
【図１２】本発明の実施形態の異なる態様を示す図である。
【図１３】本発明の実施形態の異なる態様を示す図である。
【図１４】本発明の実施形態の異なる態様を示す図である。
【発明を実施するための形態】
【００３２】
実施形態は、オリジンエンコーダおよびトランスコーダを伴う。オリジンエンコーダは、入力ビデオである第１のビットストリームを受信し、これを第１のフォーマット、例えば、トランスコーダに送られる（高品質（ＨＱ）ビットストリームと呼ばれる）高品質圧縮ビデオ表現にエンコードする。トランスコーダは、第１のフォーマットのビデオを第２のフォーマットにトランスコーディング、例えば、高品質ビデオを低品質圧縮ビデオ表現（低ビットレート、および場合によっては低画像解像度）にトランスコーディングする。第１のビットストリームに加えて、サイド情報のビットストリーム（ＳＩビットストリーム）とも呼ばれる第２のビットストリームは、オリジンエンコーダからトランスコーダに送られる。ＳＩビットストリームは、ＷＯ２０１５／０５３６７３Ａ１による、ガイドされたトランスコーディングのために使用され得る情報を格納してもよい。追加として、および本発明の実施形態によれば、第２のビットストリームは、フルトランスコーディング、ガイドされたトランスコーディング、またはサイマルキャストとも呼ばれる第２のビットストリームから明示的に送信された情報をコピーすることなどの、使用されるべき異なるトランスコーディング方法のセットのうちの１つを、トランスコーダに示すための情報を格納する。
【００３３】
本発明の実施形態を示すために、以下の例が提供される。オリジンエンコーダは、（第１のビットストリームとも呼ばれる）ＨＱ（高品質）ビットストリーム、および（第２のビットストリームとも呼ばれる）ＳＩ（サイド情報）ビットストリームを作り出す。本発明の実施形態によれば、ＳＩビットストリームは、トランスコーダによって使用されることになるトランスコーディング方法についての情報を収める。１つのアプローチは、ブロック毎、例えば、ＨＥＶＣにおけるように、予測ユニット毎、または変換ユニット毎に使用されることになるトランスコーディング方法を選択することである。トランスコーディング方法を選択する際の１つのやり方は、それぞれのトランスコーディング方法に対して、トランスコーディングの後のビットレートや歪みと同様に、ＳＩビットストリームのビットレートにおける方法決定のインパクトを考慮することである。すなわち、例えば、ラグランジュ損失関数（ｃｏｓｔ  ｆｕｎｃｔｉｏｎ）を用いてこれらの因子を組み合わせ、最低損失の方法を選択することである。トランスコーディングオペレーションの複雑性に関する損失（これは、異なるトランスコーディング方法に対して異なることがある）は、同様に損失関数の中で考慮に入れられることがある。
【００３４】
１つの例は、３つの異なるトランスコーディング方法が選択されることができ、これらは、
−  動きベクトルだけを送ること、およびガイドされたトランスコーディングを用いて、トランスコーダにおいて残差を生成させること（方法１）、
−  サイマルキャストとも呼ばれるトランスコーダによって、トランスコーディングされたビットストリームにコピーされる動きベクトルと残差データの両方を送ること（方法２）、ならびに、
−  トランスコーダが全てのものを導き出す、例えば、フルトランスコーディングするので、何も送らないこと（方法３）
であるというものである。
【００３５】
オリジンエンコーダおよびトランスコーダは、好ましくは同期すべきであり、全く同じ再構築されたピクセル値が、エンコーダとトランスコーダの両方において参照のために生成および使用されることを意味する。これは、ガイドされたトランスコーディング（方法１）およびフルトランスコーディング（方法３）においてトランスコーダによって生成された残差データは、オリジンエンコーダにおいて生成されるがトランスコーダに送信されない残差データと好ましくは同一であるべきである。そうでなければ、オリジンエンコーダとトランスコーダとの間にドリフトが生じ、符号化効率のよくないトランスコーディングされたビットストリームを生成するだろう。オリジンエンコーダとトランスコーダを同期させるための１つの方法は、エンコーダとトランスコーダの両方に対して、例えば同じ変換など、同じアルゴリズムおよびセッティングを実装することであり、これらは、残差データを生成するために使用される。一般に、ＳＩビットストリーム内で必要とされるビットの数は、方法１および方法３に対する数より、方法２に対する数の方が多くなると予測される一方、トランスコーディングされたビットストリームの符号化効率は、方法２が使用されるときに好都合なことがある。したがって、本アプローチを説明すると、方法１および方法２に対するＳＩビットストリーム内で必要とされるビット間の相違は小さいが、方法２が、トランスコーディングされたビットストリームの符号化効率をずっと良くする場合、方法２（サイマルキャスト）が選択されるべきである。逆に、方法２に対するＳＩビットストリーム内で必要とされるビットの数が、方法１に対する数よりずっと多いが、トランスコーディングされたビットストリームの符号化効率における相違が、２つの方法に対して小さい場合、方法１が選択されるべきである。ビットの数が方法３に対する数より方法１に対する数の方がずっと高いが、トランスコーディングされたビットストリームの符号化効率における相違が、方法１と方法３の両方に対して小さい場合、方法３が選択されるべきである。
【００３６】
ＳＩビットストリームにおけるトランスコーディング方法を示す１つの方式は、（ＳＥＩメッセージを含む）具体的なシンタックスを設計して、方法を、例えば、数値として合図することである。別の方式は、トランスコーディング方法を示すために、（ＳＥＩメッセージを含む）ＨＥＶＣまたはＨ．２６４のビットストリームシンタックスなどの既存のビデオコーデックのシンタックスを利用することである。既存のシンタックスおよび標準デコーダオペレーションの使用が有用である。
【００３７】
既存のビデオコーデックのシンタックスを使用する例は、ＳＩビットストリーム（すなわち、第２のビットストリーム）内で変換スキップフラグ（ｔｒａｎｓｆｏｒｍ  ｓｋｉｐ  ｆｌａｇ）または符号化されたビットフラグ（ｃｏｄｅｄ  ｂｉｔ  ｆｌａｇ）（ｃｂｆ）のような既存のフラグを使用して、ブロックに対する残差が再生成される必要があることを示すことである。変換スキップフラグのケースにおいて、変換スキップフラグは、変換が使用されるか使用されないかを宣言する代わりに、残差が変換を使用して再生成される必要があること、またはないことを示すために再解釈されてよい。このケースにおいて、トランスコーディングされたビットストリームは、変換スキップフラグを、０にセットして、残差が存在する（ｃｂｆが１に等しい）場合に残差が変換によって再生成される必要があることを示すか、または、１にセットして、残差が存在する（ｃｂｆが１に等しい）場合に残差が再生成される必要がないことを示すことができる。反対のやり方、すなわちトランスコーディングされたビットストリームは、変換スキップフラグを、１にセットして、残差が存在する（ｃｂｆが１に等しい）場合に残差が変換によって再生成される必要があることを示すか、または、０にセットして、残差が存在する（ｃｂｆが１に等しい）場合に残差が再生成される必要がないことを示すことも可能であることに留意されたい。符号化されたビットフラグについて、符号化されたビットフラグが、残差がビットストリーム内にないことを示す場合、トランスコーダは、ブロックを評価し、本当に残差がないかどうか、または残差が挿入されるべきかどうかを確かめる必要がある。別の例は、ＳＩビットストリーム、すなわち第２のビットストリームにおける符号化された変換係数の一定のパターンは、例えば、トランスコーディングされたビットストリームにおける残差の再生成によって置換される「ダミー」の残差とみなされるというものである。一定の符号化された変換係数のパターンの例は、１つの係数が１に等しいことを除いて残差を全てゼロにして、残差が置換されるべきであることを示すことである。どの位置を使用するべきかは、本技術を実装するシステムにおいて決められる必要がある。１つの位置の例は、ＤＣ係数に対応する位置である。別の例は、指し示しを、２を法とする絶対係数値の合計に基づき、奇数の合計を「ダミー」の残差に対応させるか、または偶数の合計を「ダミー」の残差に対応させることである。これらの「ダミー」パターンの１つまたはいくつかが使用されるとき、エンコーダは、係数が明示的に送信されるべきいかなるブロックに対しても「ダミー」パターンを使用することを回避する必要がある、すなわちエンコーダの量子化オペレーションの結果が、偶然に「ダミー」パターンと同一であるとき、エンコーダは、異なるパターンを選ぶか、またはトランスコーダがこのブロックに対する係数を再生成することを受け入れる必要がある。量子化からの出力として取得されたもの以外に異なるパターンを選ぶことは、ブロックに対するレート歪みのパフォーマンスの観点から、わずかに不利なことがある。
【００３８】
「ダミー」の符号化された変換係数のパターンを決定する別の方法は、画像またはスライスを最初に符号化することであり、「従来の」方式で（すなわち、「ダミー」パターンを使用せずに）全ての変換係数を生成し、次に、どの係数パターンが使用されたかを分析し、その後、この画像またはスライスに対するレート歪みのパフォーマンスが最大化されるように、「ダミー」係数パターンを選択する。選択された「ダミー」係数パターンは、次に、例えば、ＳＥＩメッセージが、ＳＩビットストリームの符号化されたスライスまたは画像と一緒に送られることによって、トランスコーダに示されるべきである。
【００３９】
別の例は、完全にトランスコーディングされるべきブロックを含むことである。これは、良好なエンコーディングを比較的見つけやすいエリアに対して行われることがある。このケースにおけるトランスコーディング情報は、例えば、ビットストリームにおける６４ｘ６４ブロックのピクセルに対してスキップフラグをセットすることによって合図されることがある。これは、通常、ブロックは、デフォルトの予測モードを使用すべきであり、変換係数を使用しないが、その代わり、トランスコーダが、適切なブロックサイズ、予測モード、および変換係数を、６４ｘ６４ブロックの範囲内で決定するべきであるという意味として再解釈されることを意味する。代替として、これは、例えば、ＳＡＯが６４ｘ６４のような一定のブロックサイズに対して使用される別の符号化パラメータと一緒に使用される。トランスコーディング情報が、ＳＡＯが６４ｘ６４ブロックに対して使用されるために示されること、およびブロックはスキップフラグのセットを有することの両方からなるこのケースにおいて、トランスコーダは、適切なブロックサイズ、予測モード、および変換係数を、６４ｘ６４ブロックの範囲内で決定し、そうでなければ、６４ｘ６４ブロックは、本当にスキップされる。
【００４０】
トランスコーディングは、第１のビットストリームを復号すること、場合によっては、トランスコーディングした後で第１のビットストリームを目標解像度に対して再サンプリングすること、およびＳＩビットストリーム（すなわち、第２のビットストリーム）を復号することによって達成され、それに応じて、ＳＩビットストリーム内で受信されたトランスコーディング情報を解釈し、トランスコーディング情報内で示されたトランスコーディング方法を適用する。
【００４１】
１つの例として、動きベクトルだけを受信すること（方法１）、および動きベクトルと残差データの両方を受信すること（方法２）という２つの異なるトランスコーディング方法のうちの１つは、予測ユニットに対して示されることができる。１つの実施形態による既存のビデオコーデックのシンタックスを使用して、方法１は、「ダミー」変換係数パターンを使用することによって示されることがある。「ダミー」変換係数パターンがトランスコーダにおいて検出されるケースにおいて、トランスコーダは、第１のビットストリームからの復号された（および場合によっては、再サンプルされた）サンプルを使用し、第１のビットストリームからの復号された（および場合によっては、再サンプルされた）サンプルと、予めトランスコーディングされた画像に動きベクトルを適用することによって生成された予測信号との間の相違として新しい残差を導き出し、その後残差信号を変換係数に変換し、その後係数をトランスコーディングされたビットストリームに書き出す（例えば、エントロピーエンコーディングを行う）。あるいは、「ダミー」パターンが検出されない場合、ＳＩビットストリーム内で受信された変換係数は、方法２に従ってトランスコーディングされたビットストリームに単にコピーされる。
【００４２】
オリジンエンコーダを、トランスコーディング情報を提供するように設定する代わりに、係数エクストラクタとも呼ばれるビデオ処理ノードは、このようなトランスコーディング情報を提供するように設定される。
【００４３】
係数エクストラクタを用いる実施形態が、以下および図５に例証される。標準エンコーダ５０２（例えば、トランスコーダで知られるオープンソースまたは任意の他のエンコーダ）は、第２のフォーマット５０６にエンコードされたビデオシーケンスを作り出すために使用される。圧縮された（エンコードされた）サンプル、または（ＹＵＶ／ＲＧＢもしくは任意の他のソースフォーマットのオリジナルサンプルだが、さらに以前の別のフォーマットからの展開が起源のことがある）圧縮されていないサンプル、または両方からなることがあるビデオシーケンスの、第１のフォーマット５０５から第２のフォーマット５０６内の圧縮されていないサンプルへの転換は、プリプロセッサ５０１によって実施されることがある。第１のフォーマットにおける圧縮されたサンプルおよび圧縮されていないサンプルの両方が、プリプロセッサに対して利用可能であるケースにおいて、一連の圧縮されていないサンプルの生成が可能である。ここで、いくつかの画像は、第１のフォーマットからの圧縮されていないサンプルに基づき、いくつかの画像は、第１のフォーマットからの圧縮されたサンプルに基づく。この情報は、トランスコーダが生成できない係数を取り除かないように、係数エクストラクタに与えられることもある。
第２のフォーマット５０６’のエンコードされた（例えば、ＨＥＶＣに従ってエンコードされた）ビデオシーケンスは、係数エクストラクタ５０３に供給され、係数エクストラクタ５０３は、例えば、場合によっては選択的に、トランスコーダが係数を再生成する必要があることを示すために、従来の変換係数を「ダミー」係数パターンで置換することによって、トランスコーディング情報を第２のビットストリーム５０７に挿入する。トランスコーディング方法が、例えば、ブロック毎に、選択的に示されることである場合、係数エクストラクタは、例えば、オリジンエンコーダから、またはトランスコーディング方法を判断する別のエンティティから、所望のトランスコーディング方法についての情報を受信する必要がある。オリジンエンコーダがトランスコーダにおいても利用可能である、既に圧縮されたビデオに基づいて係数を生成したことを、係数エクストラクタが知っているとき、係数エクストラクタは、方法１（ダミー係数、すなわちガイドされたトランスコーディング）を示すトランスコーディング情報を、方法２（実際の係数、すなわちサイマルキャスト）を示すトランスコーディング情報の代わりに、挿入することができる。オリジンエンコーダが同様にトランスコーダが導き出せるブロックまたは画像を生成したことを、係数エクストラクタが知っている場合、係数エクストラクタは、方法３（フルトランスコーディング）を示すトランスコーディング情報を挿入することができる。実際の係数がダミー係数に対応する場合、係数は残るが、トランスコーダは、係数を正確に再生成することができるので、トランスコーダによって方法１として解釈され、オリジンエンコーダとトランスコーダとの間の整合が依然として存在する。オリジンエンコーダが圧縮ビデオと元のビデオの両方に基づいて係数を生成したとき、トランスコーダが（例えば、方法１を使用せずに）再生成できない係数を取り除かないように、係数エクストラクタは、トランスコーディング方法についての情報を受信する必要がある。
トランスコーディング方法についての情報を受信する代わりに、係数エクストラクタは、トランスコーダのように係数（方法１）または少なくとも１つのブロック（方法３）を再生成することによってトランスコーディング方法を決定することができ、係数エクストラクタが同じ係数または同じブロックを生成できない場合、係数エクストラクタは、これらを維持する必要がある。係数または少なくとも１つのブロックを再生成できるように、係数エクストラクタは、第１のフォーマットからの再構築されたサンプル（場合によっては、第２のフォーマットの解像度にこれらをダウンサンプルする）、または第１のフォーマットのビットストリームを有する必要がある（次に、必要なら復号およびサブサンプルする）。
オリジンエンコーダが、トランスコーダによって再生成されることができず、「ダミー」係数と同じパターンを有する係数を生成したケースにおいて、スライスまたは画像に対する全ての係数が維持される場合（方法２）でない限り、オリジンエンコーダとトランスコーダとの間に不整合が存在するだろう。
それ故に、トランスコーダ５０４は、ビデオシーケンスを第１のフォーマット５０５で表す第１のビットストリーム、およびトランスコーディング情報を伴う第２のビットストリームを受信し、ビットストリームを、第１のフォーマットから第２のフォーマット５０８にトランスコーディングする。
【００４４】
トランスコーダが異なる画像またはブロックに対して異なる方式で動作する能力を有する場合、第２のビットストリームを受信する場合に行うべきことを知っている必要がある。係数エクストラクタは、このように、トランスコーダが動作することを確実にする必要がある。ビデオのいくつかの画像は、フルトランスコーディングによって再生成されることがあり、いくつかの画像に対して、トランスコーダは、いかなる情報も再生成する必要がない。
【００４５】
フルトランスコーディングが実装されることになるとき、一連の第２のビットストリームの完全な継続時間は必要とされない。だから、係数エクストラクタは、第２のビットストリームを完璧に取り除くことができる。いくつかの画像がフルトランスコーディングから恩恵を受けることができる場合、これらの画像は、トランスコーダがこれらの画像を適切に扱えるように示される必要がある。同じように、画像がサイマルキャストである場合、係数エクストラクタは、トランスコーダがこれらを理解することを確かめる。
【００４６】
特定のケースにおいて、係数エクストラクタは、符号化されたスライスまたは画像に対して、ダミー係数パターン、または係数がないことを示すフラグによって、全ての変換係数パターンを置換する。この方式において、単純なガイドされたトランスコーディングの導入に対するＳＩエンコーダは、既存の標準エンコーダおよび係数エクストラクタをカスケードすることによって実現されることがある。
【００４７】
図６に示されるように、ビデオエンコーダのための方法が提供される。方法は、ビデオシーケンスを第１のフォーマットで表す第１のビットストリームをトランスコーダに提供すること６０１を含み、エンコーダは、次に、ビデオシーケンスを、第１のフォーマットから第２のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を表す第２のビットストリームを作り出すこと６０２を行い、エンコーダは、第２のビットストリームをトランスコーダに提供すること６０３を行う。
【００４８】
図７に図示されるように、ビデオトランスコーダのための方法が提供される。方法は、ビデオシーケンスを第１のフォーマットで表す第１のビットストリームをエンコーダから受信すること７０１を含む。ビデオトランスコーダは、ビデオシーケンスを、第１のフォーマットから第２のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を表す第２のビットストリームをさらに受信すること７０２を行い、第１のビットストリームを、第１のフォーマットから第２のフォーマットに、示されたトランスコーディング方法を使用してトランスコーディングすること７０３を行う。
【００４９】
図８に示されるように、ビデオ処理ノードのための方法が提供される。方法は、ビデオシーケンスを第２のフォーマットで表す第２のビットストリームをエンコーダから受信すること８０１、およびビデオシーケンスを、第１のフォーマットから第２のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を、第２のビットストリーム内に挿入すること８０２を含む。ビデオ処理ノードは、ビデオシーケンスを、第１のフォーマットから第２のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示す挿入されたトランスコーディング情報を含む第２のビットストリームをトランスコーダに送信すること８０３を行う。
【００５０】
本明細書で説明された方法およびデバイスは、様々な方式で組み合わされ、再構成されてよいことが理解されよう。
【００５１】
例えば、実施形態は、適切な処理回路機器またはその組合せによる実行のために、ハードウェアに、またはソフトウェアに実装されてよい。
【００５２】
本明細書で説明されたステップ、機能、手順、モジュール、および／またはブロックは、汎用の電子回路機器とアプリケーション固有の回路機器の両方を含む、ディスクリート回路または集積回路技術などの、任意の従来技術を使用してハードウェア内に実装されてよい。
【００５３】
特定の例は、１つまたは複数の適切に設定されたデジタル信号プロセッサおよび他の既知の電子回路、例えば、特化された機能を実施するために相互接続されたディスクリート論理ゲート、または特定用途向け集積回路（ＡＳＩＣ）を含む。処理回路機器の例は、１つもしくは複数のマイクロプロセッサ、１つもしくは複数のデジタル信号プロセッサ（ＤＳＰ）、１つもしくは複数の中央処理装置（ＣＰＵ）、ビデオアクセレレーションハードウェア、および／あるいは、１つもしくは複数のフィールドプログラマブルゲートアレイ（ＦＰＧＡ）、または１つもしくは複数のプログラマブル論理制御装置（ＰＬＣ）などの、任意の適切なプログラマブル論理回路機器を含むが、限定されない。
【００５４】
提案された技術が実装される任意の従来デバイスまたはユニットの一般的な処理能力を再使用することが可能なことがあることも理解されたい。例えば、既存のソフトウェアを再プログラムすることによって、または新しいソフトウェアコンポーネントを追加することによって、既存のソフトウェアを再使用することが可能なこともある。
【００５５】
図９は、特定の実装形態を示す。
【００５６】
ビデオエンコーダ９００は、ビデオシーケンスを第１のフォーマットで表す第１のビットストリーム９３０をトランスコーダ９１０に提供するように設定され、エンコーダ９００は、ビデオシーケンスを、第１のフォーマットから第２のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を表す第２のビットストリーム９４０を作り出すようにさらに設定され、エンコーダは、第２のビットストリーム９４０をトランスコーダに提供するようにさらに設定される。
【００５７】
図９にさらに示されるように、ビデオトランスコーダ９１０は、ビデオシーケンスを第１のフォーマットで表す第１のビットストリーム９３０をエンコーダ９００から受信するように設定され、ビデオシーケンスを、第１のフォーマットから第２のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を表す第２のビットストリーム９４０を受信するように設定され、第１のビットストリームを、第１のフォーマットから第２のフォーマット９５０に、示されたトランスコーディング方法を使用してトランスコーディングするように設定される。
【００５８】
ビデオ処理ノードは、また、図５に示されるように提供される。ビデオ処理ノードは、ビデオシーケンスを第２のフォーマットで表す第２のビットストリームをエンコーダから受信するように設定される。ビデオ処理ノードは、ビデオシーケンスを、第１のフォーマットから第２のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を、第２のビットストリーム内に挿入することを行うように設定され、ビデオシーケンスを、第１のフォーマットから第２のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示す挿入されたトランスコーディング情報を含む第２のビットストリームを送信することを行うように設定される。
【００５９】
１つの実施形態によれば、トランスコーディング情報は、残差がトランスコーダにおいて再生成される必要がある（トランスコーディングが必要とされている）かどうか、または（サイマルキャストについて）残差がエンコーダから受信されるかどうかを少なくとも示す少なくとも１つのシンタックス要素を含む。ここで、残差は、第２のフォーマットのビデオシーケンスと、トランスコーディング情報に従って生成された第２のフォーマットのビデオシーケンスの予測との間の相違に由来している。
【００６０】
少なくとも１つのシンタックス要素は、変換スキップフラグであってよく、０に等しい変換スキップフラグは、残差がエンコーダから受信されることを示してよく、１に等しい変換スキップフラグは、残差がエンコーダから提供されないことを示してよい。
【００６１】
さらなる実施形態によれば、トランスコーディング情報は、符号化された変換係数の複数のパターンのうちの１つを含んでよく、１つの具体的なパターンは、残差がトランスコーダにおいて再生成される必要があることを示してもよく、残りのパターンは、残差がエンコーダから受信されることを示してもよく、残差は、第２のフォーマットのビデオシーケンスと、トランスコーディング情報に従って生成された第２のフォーマットのビデオシーケンスの予測との間の相違に由来してよい。
【００６２】
第２のフォーマットのビデオシーケンスと、トランスコーディング情報に従って生成された第２のフォーマットのビデオシーケンスの予測との間の相違は、変換符号化（ｔｒａｎｓｆｏｒｍ  ｃｏｄｅｄ）されてよい。
【００６３】
さらに、トランスコーディング情報は、トランスコーダがフルトランスコーディングを実施する必要があることを示すために、少なくともシンタックス要素を含んでよい。シンタックス要素は、トランスコーダがフルトランスコーディングを実施する必要があることを示すために再解釈されるスキップフラグであってよい。
【００６４】
また、トランスコーディング情報は、サイマルキャストを示す第２のフォーマットを用いるビットストリームを含んでよい。
【００６５】
第１のフォーマットは、高品質圧縮フォーマットであってよく、第２のフォーマットは、低品質圧縮フォーマットであってよい。トランスコーディング情報は、画像のグループ毎、画像毎、スライス毎、またはブロック毎に有効であってよい。
【００６６】
それ故に、図９は、実施形態によるエンコーダ９００の特定のハードウェアの実装を示す。
【００６７】
ビデオエンコーダ９００は、ビデオシーケンスを第１のフォーマットで表す第１のビットストリーム９３０をトランスコーダ９１０に提供するための送信器９６５、ビデオシーケンスを、第１のフォーマットから第２のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を表す第２のビットストリームを作り出すためのビットストリームクリエータ９７５を備え、送信器９６５は、第２のビットストリームをトランスコーダに提供するようにさらに設定される。エンコーディングモジュール９８５は、ビットストリームを第１のフォーマットで符号化するように設定される。
【００６８】
ビデオトランスコーダ９１０は、ビデオシーケンスを第１のフォーマットで表す第１のビットストリーム９３０をエンコーダ９００から受信するための、およびビデオシーケンスを、第１のフォーマットから第２のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を表す第２のビットストリーム９４０を受信するための受信器９３５を備える。トランスコーダは、第１のビットストリームを復号するための復号モジュール９１５、ならびに第２のビットストリームを復号するため、および第２のビットストリームからの復号されたトランスコーディング情報を使用することによって、第１のビットストリームを第２のフォーマットにエンコーディングするためのトランスコーディングモジュール９２５を備える。第２のフォーマット９５０を用いる第１のビットストリームは、次に、送信器９４５によってエンドデバイス９２０に送られ、第２のフォーマットは、エンドデバイス９２０にとって求められていることがある。
【００６９】
ビデオ処理ノード５０３は、ビデオシーケンスを第２のフォーマットで表す第２のビットストリーム５０６’をエンコーダから受信するための、図１０に図示されるような受信器１０４０、ビデオシーケンスを、第１のフォーマットから第２のフォーマットにトランスコーディングするために、トランスコーダ５０４によって使用されるべきトランスコーディング方法を示すトランスコーディング情報１０００を、第２のビットストリーム内に挿入するための挿入器１０１０を備える。ビデオ処理ノードは、ビデオシーケンスを、第１のフォーマットから第２のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示す（シンタックス要素などの）挿入されたトランスコーディング情報１０００を含む第２のビットストリームを送信するための送信器１０２０をさらに備える。
【００７０】
代替として、本明細書で説明されたステップ、機能、手順、モジュール、および／またはブロックのうちの少なくともいくつかは、１つまたは複数のプロセッサまたは処理ユニットなどの、適切な処理回路機器による実行のために、コンピュータプログラムなどのソフトウェア内に実装されてよい。
【００７１】
それに応じて、図１１に示されるように、コンピュータプログラムが提供される。コンピュータプログラム１１４０は、プロセッサ１１１０によって実行されるとき、ビデオシーケンスを第１のフォーマットで表す第１のビットストリームをトランスコーダに提供すること、ビデオシーケンスを、第１のフォーマットから第２のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を表す第２のビットストリームを作り出すこと、第２のビットストリームをトランスコーダに提供することを、前記プロセッサ１１１０に行わせる、例えば、メモリ内に格納された命令１１３０を含む。
【００７２】
図１２に示されるように、さらなるコンピュータプログラムが提供される。コンピュータプログラム１２４０は、プロセッサ１２１０によって実行されるとき、ビデオシーケンスを第１のフォーマットで表す第１のビットストリームをエンコーダから受信すること、およびビデオシーケンスを、第１のフォーマットから第２のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を表す第２のビットストリームを受信することを、前記プロセッサ１２１０に行わせる、例えば、メモリ内に格納された命令１２３０を含む。
【００７３】
図１３に図示されるように、さらなるコンピュータプログラム１３４０が提供される。コンピュータプログラムは、プロセッサ１３１０によって実行されるとき、ビデオシーケンスを第２のフォーマットで表す第２のビットストリームをエンコーダから受信すること、ビデオシーケンスを、第１のフォーマットから第２のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を、第２のビットストリーム内に挿入すること、およびビデオシーケンスを、第１のフォーマットから第２のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示す挿入されたトランスコーディング情報を含む第２のビットストリームを送信することを、前記プロセッサ１３１０に行わせる、例えば、メモリ内に格納された命令１３３０を含む。
【００７４】
特定の実施形態において、個々のプロセッサがオペレーション中であるとき、メモリに格納された命令を実行して、上記で説明されたオペレーションを実施する。プロセッサは、そのためにメモリに相互接続され、通常のソフトウェア実行を可能にする。
【００７５】
１つの例では、本明細書で説明されたステップ、機能、手順、モジュール、および／またはブロックのうちの少なくともいくつかは、コンピュータプログラム内に実装され、１つまたは複数のプロセッサを含む処理回路機器による実行のために、メモリにロードされる。プロセッサおよびメモリは、互いに相互接続され、通常のソフトウェア実行を可能にする。通信回路機器も、プロセッサおよび／またはメモリに相互接続され、個々のビットストリームの入力および／または出力を可能にする。
【００７６】
ビデオエンコーダ、ビデオトランスコーダ、およびビデオ処理ノードは、ビデオのビットストリームを受信／送信、および処理できる、任意のデバイスまたはネットワークノードであってよい。例えば、このようなデバイスまたはネットワークノードは、ラップトップ、スマートフォン、タブレット、セットトップボックス、他などの、据え置き型またはポータブルのサーバまたはコンピュータであることがある。
【００７７】
用語「プロセッサ」は、特定の処理、決定、またはコンピューティングタスクを実施するために、プログラムコードまたはコンピュータプログラム命令を実行できる任意のシステムまたはデバイスとして、一般的な意味で、解釈されるべきである。
【００７８】
１つまたは複数のプロセッサを含む処理回路機器は、したがって、コンピュータプログラムを実行するとき、本明細書で説明されたタスクなどの、明確に規定された処理タスクを実施するように設定される。
【００７９】
処理回路機器は、上記で説明されたステップ、機能、手順、および／またはブロックを実行するためだけに専用である必要はなく、他のタスクを実行してもよい。
【００８０】
図１４に示されるように、提案された技術は、また、コンピュータプログラム１４１０を備えるキャリア１４２０を提供する。キャリア１４２０は、電子信号、光信号、電磁気信号、磁気信号、電気信号、無線信号、マイクロ波信号、またはコンピュータ可読ストレージ媒体のうちの１つである。
【００８１】
例として、ソフトウェアすなわちコンピュータプログラム１４１０は、コンピュータプログラム製品として実現されてよく、コンピュータ可読媒体、好ましくは不揮発性コンピュータ可読ストレージ媒体上で、通常、搬送または格納される。コンピュータ可読媒体は、１つまたは複数のリムーバブルまたは非リムーバブルのメモリデバイスを含んでよく、リードオンリメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）、ブルーレイディスク、ユニバーサルシリアルバス（ＵＳＢ）メモリ、ハードディスクドライブ（ＨＤＤ）ストレージデバイス、フラッシュメモリ、磁気テープ、または任意の他の従来のメモリデバイスを含むが、限定されない。
【００８２】
コンピュータプログラムは、このように、コンピュータまたは同等の処理デバイスのオペレーティングメモリにロードされてよい。
【００８３】
本明細書で提示された流れ図または図は、したがって、１つまたは複数のプロセッサによって実施されるとき、コンピュータの流れ図または図とみなされてよい。
【００８４】
上記で説明された実施形態は、本発明の数個の説明に役立つ実例として理解されることになる。様々な修正、組合せ、および変更は、本発明の範囲から逸脱することなく、実施形態に対してなされてよいことが当業者によって理解されよう。特に、異なる実施形態における異なる部分のソリューションは、技術的に可能な場合、他の設定の中に組み合わされてよい。しかし、本発明の範囲は、添付の特許請求の範囲によって規定される。
【図１】
0006632638.tif 000002
【図２】
0006632638.tif 000003
【図３】
0006632638.tif 000004
【図４】
0006632638.tif 000005
【図５】
0006632638.tif 000006
【図６】
0006632638.tif 000007
【図７】
0006632638.tif 000008
【図８】
0006632638.tif 000009
【図９】
0006632638.tif 000010
【図１０】
0006632638.tif 000011
【図１１】
0006632638.tif 000012
【図１２】
0006632638.tif 000013
【図１３】
0006632638.tif 000014
【図１４】
0006632638.tif 000015