JP6632638B2 - トランスコーディングのための方法および構成 - Google Patents

トランスコーディングのための方法および構成 Download PDF

Info

Publication number
JP6632638B2
JP6632638B2 JP2017566657A JP2017566657A JP6632638B2 JP 6632638 B2 JP6632638 B2 JP 6632638B2 JP 2017566657 A JP2017566657 A JP 2017566657A JP 2017566657 A JP2017566657 A JP 2017566657A JP 6632638 B2 JP6632638 B2 JP 6632638B2
Authority
JP
Japan
Prior art keywords
format
transcoder
transcoding
video
bitstream
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017566657A
Other languages
English (en)
Other versions
JP2018524907A (ja
Inventor
ケネト アンデション,
ケネト アンデション,
トーマス ラサート,
トーマス ラサート,
ペール ウェナーストン,
ペール ウェナーストン,
Original Assignee
テレフオンアクチーボラゲット エルエム エリクソン(パブル)
テレフオンアクチーボラゲット エルエム エリクソン(パブル)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by テレフオンアクチーボラゲット エルエム エリクソン(パブル), テレフオンアクチーボラゲット エルエム エリクソン(パブル) filed Critical テレフオンアクチーボラゲット エルエム エリクソン(パブル)
Publication of JP2018524907A publication Critical patent/JP2018524907A/ja
Application granted granted Critical
Publication of JP6632638B2 publication Critical patent/JP6632638B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本明細書で説明される実施形態は、トランスコーディングのための方法および構成に関し、詳細には、トランスコーディングを改善するためのメカニズムに関する。
ビデオトランスコーディングは、1つのビデオ符号化フォーマットを別のビデオフォーマットにトランスコーディングするための技法である。
図1に示されるように、オリジンエンコーダ(origin encoder)110は、ビデオシーケンス100を、第1のフォーマット120を用いる第1のビットストリームにエンコードし、第1のビットストリームをトランスコーダ130に送る。フォーマットは、ビデオ画像解像度、ビットレート、および/またはフォーマットが対応するビデオ符号化規格の情報を備える。トランスコーダ130は、第1のビットストリーム120を第2のフォーマット140にトランスコーディングし、第2のフォーマットは、エンドデバイス150に適合される。例えば、小型ディスプレイを有するユーザデバイスにとって、低解像度(すなわち、ビデオ画像解像度)は、十分であるが、より大型のディスプレイを有するユーザデバイスは、より高い解像度、およびそれによって別のフォーマットを要求する。
トランスコーディングは、トランスコーダが、符号化ビットストリームを、第1のビットレートおよび第1のビデオ画像解像度で受信し、トランスコーダが、符号化ビットストリームを第2のビットストリームに、第2のビットレートおよび(第1のビデオ画像解像度と異なってよく、または異ならなくてよい)第2のビデオ画像解像度でトランスコーディングするということを含意することがある。トランスコーダによって受信された符号化ビットストリームは、以下で、第1のビットストリームと呼ばれ、オリジンエンコーダによってエンコードされる。それ故に、第1のビットストリームは、トランスコーダによって復号され、(第2の解像度が第1の解像度より低い場合、)第2の解像度にダウンサンプルされ、第2のビットレートおよび第2の解像度で再エンコードされる。これは、本明細書において、「フルトランスコーディング」と表記される、在来の、または正式のトランスコーディングである。フルトランスコーディングに伴う1つの欠点は、例えば、変換サイズ、係数、内部予測および動きに関連したパラメータは、レート歪み(rate distortion)の意味で最適化される必要があるので、トランスコーダに対して非常に演算的に多くを求めている、すなわちトランスコーダ内の再エンコーディングステップは、演算的に多くを求めているということである。フルトランスコーディングは、図2に示される。
図2は、ネットワークノード内に設置されたオリジンエンコーダ200およびトランスコーダ210を概略的に示す。オリジンエンコーダ200は、元のビデオOをエンコードし、エンコードされたビットストリームAをトランスコーダ210に送り、トランスコーダ210は、トランスコードする。(すなわち、エンコードされたビットストリームを復号し、エンドポイント、例えばユーザデバイスに送られる第2のフォーマットBを用いるエンコードされたビットストリームを生成する。)
フルトランスコーディングに代わるものはサイマルキャストである。サイマルキャストにおいて、第1のフォーマットを用いるビットストリームと第2のフォーマットを用いるビットストリームの両方は、オリジンエンコーダにおいて元のビデオから生成され、ネットワーク上で送信される。これは、ネットワークトラフィックを増加させる結果になるが、トランスコーディングノードはいかなる演算も実施する必要がない。サイマルキャストのケースにおいて、トランスコーダは、チャネル容量/エンドデバイス能力などに最もよく対応するフォーマットを選択する必要があるだけであり、このことは、トランスコーダが、選択されたフォーマットでビットストリームのうちの1つを転送することを含意する。図3は、サイマルキャストを示し、ここで、オリジンエンコーダは、元のビデオをエンコードし、第1のフォーマットを用いる第1のエンコードされたビットストリーム、および第2のフォーマットを用いる第2のエンコードされたビットストリームを生成し、両方のビットストリームを受信器に送る。
H.264またはHEVCなどの、今日のビデオ符号化規格に対する符号化ビデオのビットストリームは、2つのタイプのデータ、つまり、(1)画像間または画像内の予測モード、および関連する動きベクトルを示すデータ、(2)復号中に、予測信号間/予測信号内に追加するべき残差情報を示す変換係数、を本質的に含むと言われることがある。ビデオのエンコーディング/再エンコーディングにおいて、最も演算的に多くを求める部分は、データを取得することである。一度これが利用可能になると、変換係数を取得することには、比較的低い演算上の複雑性の要求が課される。
WO2015/053673A1において説明されたような、ガイドされたトランスコーディングは、再エンコーダ内での複雑な評価の必要性を低減する再エンコーディング処理におけるサイド情報(side information)を適用することによって、トランスコーディングオペレーションの演算上の複雑性を低減するために使用されることがある。サイド情報は、オリジンエンコーダにおいて、第1のビットストリームと一緒に生成され、トランスコーダに送られる。サイド情報を生成することは、同様に、演算的に複雑であることがある。しかし、例えば、サイド情報が、(オリジンノードで)一度だけ生成され、そして(いくつかの周辺ノードにおける)多くのトランスコーダにおいて適用されるシナリオでは、サイド情報の生成のための演算上の複雑性の欠点は、トランスコーディング中の演算上の複雑性の欠点より、ずっと低いことがある。WO2015/053697において、サイド情報のビットストリームは、パフォーマンスを改善するために、ガイドされたトランスコーディングにおいて生成された残差に追加される残差を格納する。
図4は、ガイドされたトランスコーディングを概略的に示す。オリジンエンコーダ400は、元のビデオを、第1のフォーマットAを用いる第1のビットストリームにエンコードし、第1のビットストリームを第2のフォーマットにトランスコーディングするときにトランスコーダ410によって使用されることになるサイド情報Bを生成する。それ故に、サイド情報は、第1のビットストリームを、第1のフォーマットから第2のフォーマットに転換する方法に関する情報を含み、このことは、トランスコーダが、追加のサイド情報のおかげで、第2のビットストリームを第1のビットストリームから、比較的複雑でない状態で、ずっと速く生成できるという結果をもたらす。
フルトランスコーディングとも呼ばれる正式のトランスコーディングに比較すると、ガイドされたトランスコーディングは、サイド情報を送ることを代償にして、比較的複雑でないトランスコーディングを提供する。サイマルキャストに比較すると、ガイドされたトランスコーディングは、ネットワーク内で送られる情報を低減するが、ネットワーク内のトランスコーダにおいて単純なトランスコーディングを要求し、かつ、既に圧縮されたビットストリームが他の圧縮されたビットストリームを生成するために使用されるので、圧縮効率を低減する。ガイドされたトランスコーディングの典型的な実装形態において、例えば、変換サイズ、係数、内部予測および動きに関連したパラメータは、サイド情報として送信される。
トランスコーディングおよびガイドされたトランスコーディングに伴う1つの問題は、これらが両方、第1の解像度からトランスコーディングせずに第2のビットレートおよび第2の解像度に直接エンコーディングすることに比較して、符号化効率の損失があることであり、なぜなら、再エンコーディングが、既に圧縮されたビデオに基づいて実施されるからである。ガイドされたトランスコーディングとフルトランスコーディングを比較すると、ガイドされたトランスコーディングは、比較的複雑ではないトランスコーディングを課すが、ガイドされたトランスコーディングは、追加のサイド情報の送信を要求し、したがって、帯域幅はあまり効率的ではない。
すなわち、フルトランスコーディング、ガイドされたトランスコーディング、および(第2のビットストリームが必要とされる)エンドデバイスへのサイマルキャストを比較すると、オリジンからエンドデバイスへの送信帯域幅の要求、トランスコーディングの複雑性、および第2のビットストリームの符号化効率の間にトレードオフがある。
実施形態に伴う1つのアイデアは、フルトランスコーディング、ガイドされたトランスコーディング、およびサイマルキャストなどの、トランスコーディングに関する異なる方法間の切換えを可能にすることである。したがって、実施形態は、どのトランスコーディング方法がトランスコーダによって使用されることになるかを、第2のビットストリーム内で示すことによって、このような切換えを可能にするためのメカニズム、およびトランスコーダにおいて使用されることになるトランスコーディング方法を示す(indicative of)トランスコーディング情報に基づいて、異なる方法を適用するためのメカニズムを提供する。
いくつかの実施形態によって解決される特定の問題は、既存のビデオコーデックのビットストリームフォーマットを維持しながらトランスコーディング情報を提供することであり、これにより、既存のビデオエンコーダおよびデコーダの実装を再使用することがかなりの程度まで許容される。これは、ビットストリームの1つまたはいくつかのシンタックス要素からトランスコーディング情報を導き出すトランスコーダを有することに関する。シンタックス要素の値に基づいてトランスコーダがすべきことを判定するための、いくつかのメカニズムを追加するだけで、既存のオープンソースのデコーダを、トランスコーディング情報を復号するためにトランスコーダ内で使用することができる。さらに、オープンソースのエンコーダは、復号されたトランスコーディング情報からの復号された符号化パラメータに基づいて、トランスコーディングされたビットストリームにエンコードするために、かなりの程度までトランスコーダ内で再使用することができる。
いくつかの実施形態を使用することによって、例えば、あるブロック、スライス、または画像全体に対しては(サイマルキャストを含意する)通常のエンコーディングを実装し、他のものに対してはガイドされたトランスコーディングを実装することが可能である。通常のエンコーディングは、真の符号化された残差をトランスコーダに送られるビットストリームに含ませることに対応し、ガイドされたトランスコーディングは、トランスコーダにおいて符号化された残差を再生成することに対応する。トランスコーダは、トランスコーディング指標とも呼ばれるトランスコーディング情報に基づいて、符号化された残差を再生成する必要があるかどうか、または、符号化された残差を使用することができるかどうかを決定する。トランスコーディング情報は、対応するcbf(符号化されたブロックフラグ)がゼロ以外の(符号化された残差が存在する)場合、明示的に合図されるか、または符号化された残差から暗黙のうちに導き出されることがある。
1つの態様によれば、ビデオエンコーダのための方法が提供される。方法において、ビデオシーケンスを第1のフォーマットで表す第1のビットストリームが、トランスコーダに提供され、第2のビットストリームが生成される。ここで、第2のビットストリームは、ビデオシーケンスを第1のフォーマットから第2のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を表している。第2のビットストリームは、トランスコーダに提供される。
1つの態様によれば、ビデオトランスコーダのための方法が提供される。方法において、ビデオシーケンスを第1のフォーマットで表す第1のビットストリームは、エンコーダから受信され、第2のビットストリームは、受信され、第1のビットストリームは、第1のフォーマットから第2のフォーマットに、示されたトランスコーディング方法を使用してトランスコーディングされる。ここで、第2のビットストリームは、ビデオシーケンスを第1のフォーマットから第2のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を表す。
1つの態様によれば、ビデオ処理ノードのための方法が提供される。方法において、ビデオシーケンスを第2のフォーマットで表す第2のビットストリームは、エンコーダから受信され、ビデオシーケンスを第1のフォーマットから第2のフォーマットにトランスコーディングするためにトランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報は、第2のビットストリーム内に挿入され、ビデオシーケンスを第1のフォーマットから第2のフォーマットにトランスコーディングするためにトランスコーダによって使用されるべきトランスコーディング方法を示す挿入されたトランスコーディング情報を含む第2のビットストリームは、トランスコーダに送信される。
1つの態様によれば、ビデオエンコーダが提供される。ビデオエンコーダは、ビデオシーケンスを第1のフォーマットで表す第1のビットストリームをトランスコーダに提供するように設定され、ビデオシーケンスを第1のフォーマットから第2のフォーマットにトランスコーディングするためにトランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を表す第2のビットストリームを作り出すようにさらに設定され、第2のビットストリームをトランスコーダに提供するようにさらに設定される。
1つの態様によれば、ビデオトランスコーダのための方法が提供される。ビデオトランスコーダは、ビデオシーケンスを第1のフォーマットで表す第1のビットストリームをエンコーダから受信するように設定され、ビデオシーケンスを第1のフォーマットから第2のフォーマットにトランスコーディングするためにトランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を表す第2のビットストリームを受信するように設定され、第1のビットストリームを第1のフォーマットから第2のフォーマットに、示されたトランスコーディング方法を使用してトランスコーディングするように設定される。
1つの態様によれば、ビデオ処理ノードが提供される。ビデオ処理ノードは、ビデオシーケンスを第2のフォーマットで表す第2のビットストリームをエンコーダから受信するように設定され、ビデオシーケンスを第1のフォーマットから第2のフォーマットにトランスコーディングするためにトランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を、第2のビットストリーム内に挿入することを行うように設定され、ビデオシーケンスを第1のフォーマットから第2のフォーマットにトランスコーディングするためにトランスコーダによって使用されるべきトランスコーディング方法を示す挿入されたトランスコーディング情報を含む第2のビットストリームを送信することを行うように設定される。
1つの態様によれば、ビデオエンコーダのための方法が提供される。ビデオエンコーダは、ビデオシーケンスを第1のフォーマットで表す第1のビットストリームをトランスコーダに提供するための送信器と、ビデオシーケンスを第1のフォーマットから第2のフォーマットにトランスコーディングするためにトランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を表す第2のビットストリームを作り出すためのビットストリームクリエータを備え、送信器は、第2のビットストリームをトランスコーダに提供するようにさらに設定される。
1つの態様によれば、ビデオトランスコーダのための方法が提供される。ビデオトランスコーダは、ビデオシーケンスを第1のフォーマットで表す第1のビットストリームをエンコーダから受信するための、およびビデオシーケンスを第1のフォーマットから第2のフォーマットにトランスコーディングするためにトランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を表す第2のビットストリームを受信するための受信器を備える。
1つの態様によれば、ビデオ処理ノードが提供される。ビデオ処理ノードは、ビデオシーケンスを第2のフォーマットで表す第2のビットストリームをエンコーダから受信するための受信器と、ビデオシーケンスを第1のフォーマットから第2のフォーマットにトランスコーディングするためにトランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を第2のビットストリーム内に挿入するための挿入器、およびビデオシーケンスを、第1のフォーマットから第2のフォーマットにトランスコーディングするためにトランスコーダによって使用されるべきトランスコーディング方法を示す挿入されたトランスコーディング情報を含む第2のビットストリームを送信するための送信器を備える。
1つの態様によれば、コンピュータプログラムが提供される。コンピュータプログラムは、プロセッサによって実行されるとき、ビデオシーケンスを第1のフォーマットで表す第1のビットストリームをトランスコーダに提供すること、ビデオシーケンスを第1のフォーマットから第2のフォーマットにトランスコーディングするためにトランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を表す第2のビットストリームを作り出すこと、第2のビットストリームをトランスコーダに提供することを、前記プロセッサに行わせる命令を含む。
1つの態様によれば、コンピュータプログラムが提供される。コンピュータプログラムは、プロセッサによって実行されるとき、ビデオシーケンスを第1のフォーマットで表す第1のビットストリームをエンコーダから受信すること、およびビデオシーケンスを第1のフォーマットから第2のフォーマットにトランスコーディングするためにトランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を表す第2のビットストリームを受信することを、前記プロセッサに行わせる命令を含む。
1つの態様によれば、コンピュータプログラムが提供される。コンピュータプログラムは、プロセッサによって実行されるとき、ビデオシーケンスを第2のフォーマットで表す第2のビットストリームをエンコーダから受信すること、ビデオシーケンスを第1のフォーマットから第2のフォーマットにトランスコーディングするためにトランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を第2のビットストリーム内に挿入すること、およびビデオシーケンスを第1のフォーマットから第2のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示す挿入されたトランスコーディング情報を含む第2のビットストリームを送信することを、前記プロセッサに行わせる命令を含む。
トランスコーディング方法は、サイマルキャスト、フルトランスコーディング、または/およびガイドされたトランスコーディングであってよい。
実施形態のうちのいくつかによるさらなる利点は、通常のトランスコーディングまたはガイドされたトランスコーディングを導入することに関する符号化効率の損失(すなわち、トランスコーディングされたビットストリームと関連付けられたビットレートのオーバヘッド)は、トランスコーダ(またはガイドされたトランスコーダ)において残差情報を生成することの代わりに、残差情報をトランスコーダに、例えば、ブロック毎に、選択的に送信することによって低減され得るというものである。なぜなら、送信された残差データは、元のビデオについての情報を考慮に入れることができるが、トランスコーダにおいて生成された残差情報は、既に圧縮されたビデオに基づく必要があるからである。
実施形態のうちのいくつかによるさらなる利点は、トランスコーディング情報が(HEVC(高効率ビデオコーデック)などの)既存のコーデックのビットストリームフォーマットに準拠しているフォーマット内で送られるとき、既存のエンコーダまたはデコーダを再使用することが、容易に可能であるというものである。
従来技術によるトランスコーダのオペレーションを概略的に示す図である。 従来技術によるフルトランスコーディングのオペレーションを概略的に示す図である。 従来技術によるサイマルキャストを概略的に示す図である。 従来技術によるサイド情報を用いるトランスコーディングを概略的に示す図である。 係数エクストラクタ(coefficient extractor)とも呼ばれるビデオ処理ノードを用いる実施形態を概略的に示す図である。 本発明の実施形態による方法の流れ図である。 本発明の実施形態による方法の流れ図である。 本発明の実施形態による方法の流れ図である。 本発明の実施形態によるエンコーダおよびトランスコーダを概略的に示す図である。 係数エクストラクタとも呼ばれるビデオ処理ノードを用いる実施形態を概略的に示す図である。 本発明の実施形態の異なる態様を示す図である。 本発明の実施形態の異なる態様を示す図である。 本発明の実施形態の異なる態様を示す図である。 本発明の実施形態の異なる態様を示す図である。
実施形態は、オリジンエンコーダおよびトランスコーダを伴う。オリジンエンコーダは、入力ビデオである第1のビットストリームを受信し、これを第1のフォーマット、例えば、トランスコーダに送られる(高品質(HQ)ビットストリームと呼ばれる)高品質圧縮ビデオ表現にエンコードする。トランスコーダは、第1のフォーマットのビデオを第2のフォーマットにトランスコーディング、例えば、高品質ビデオを低品質圧縮ビデオ表現(低ビットレート、および場合によっては低画像解像度)にトランスコーディングする。第1のビットストリームに加えて、サイド情報のビットストリーム(SIビットストリーム)とも呼ばれる第2のビットストリームは、オリジンエンコーダからトランスコーダに送られる。SIビットストリームは、WO2015/053673A1による、ガイドされたトランスコーディングのために使用され得る情報を格納してもよい。追加として、および本発明の実施形態によれば、第2のビットストリームは、フルトランスコーディング、ガイドされたトランスコーディング、またはサイマルキャストとも呼ばれる第2のビットストリームから明示的に送信された情報をコピーすることなどの、使用されるべき異なるトランスコーディング方法のセットのうちの1つを、トランスコーダに示すための情報を格納する。
本発明の実施形態を示すために、以下の例が提供される。オリジンエンコーダは、(第1のビットストリームとも呼ばれる)HQ(高品質)ビットストリーム、および(第2のビットストリームとも呼ばれる)SI(サイド情報)ビットストリームを作り出す。本発明の実施形態によれば、SIビットストリームは、トランスコーダによって使用されることになるトランスコーディング方法についての情報を収める。1つのアプローチは、ブロック毎、例えば、HEVCにおけるように、予測ユニット毎、または変換ユニット毎に使用されることになるトランスコーディング方法を選択することである。トランスコーディング方法を選択する際の1つのやり方は、それぞれのトランスコーディング方法に対して、トランスコーディングの後のビットレートや歪みと同様に、SIビットストリームのビットレートにおける方法決定のインパクトを考慮することである。すなわち、例えば、ラグランジュ損失関数(cost function)を用いてこれらの因子を組み合わせ、最低損失の方法を選択することである。トランスコーディングオペレーションの複雑性に関する損失(これは、異なるトランスコーディング方法に対して異なることがある)は、同様に損失関数の中で考慮に入れられることがある。
1つの例は、3つの異なるトランスコーディング方法が選択されることができ、これらは、
− 動きベクトルだけを送ること、およびガイドされたトランスコーディングを用いて、トランスコーダにおいて残差を生成させること(方法1)、
− サイマルキャストとも呼ばれるトランスコーダによって、トランスコーディングされたビットストリームにコピーされる動きベクトルと残差データの両方を送ること(方法2)、ならびに、
− トランスコーダが全てのものを導き出す、例えば、フルトランスコーディングするので、何も送らないこと(方法3)
であるというものである。
オリジンエンコーダおよびトランスコーダは、好ましくは同期すべきであり、全く同じ再構築されたピクセル値が、エンコーダとトランスコーダの両方において参照のために生成および使用されることを意味する。これは、ガイドされたトランスコーディング(方法1)およびフルトランスコーディング(方法3)においてトランスコーダによって生成された残差データは、オリジンエンコーダにおいて生成されるがトランスコーダに送信されない残差データと好ましくは同一であるべきである。そうでなければ、オリジンエンコーダとトランスコーダとの間にドリフトが生じ、符号化効率のよくないトランスコーディングされたビットストリームを生成するだろう。オリジンエンコーダとトランスコーダを同期させるための1つの方法は、エンコーダとトランスコーダの両方に対して、例えば同じ変換など、同じアルゴリズムおよびセッティングを実装することであり、これらは、残差データを生成するために使用される。一般に、SIビットストリーム内で必要とされるビットの数は、方法1および方法3に対する数より、方法2に対する数の方が多くなると予測される一方、トランスコーディングされたビットストリームの符号化効率は、方法2が使用されるときに好都合なことがある。したがって、本アプローチを説明すると、方法1および方法2に対するSIビットストリーム内で必要とされるビット間の相違は小さいが、方法2が、トランスコーディングされたビットストリームの符号化効率をずっと良くする場合、方法2(サイマルキャスト)が選択されるべきである。逆に、方法2に対するSIビットストリーム内で必要とされるビットの数が、方法1に対する数よりずっと多いが、トランスコーディングされたビットストリームの符号化効率における相違が、2つの方法に対して小さい場合、方法1が選択されるべきである。ビットの数が方法3に対する数より方法1に対する数の方がずっと高いが、トランスコーディングされたビットストリームの符号化効率における相違が、方法1と方法3の両方に対して小さい場合、方法3が選択されるべきである。
SIビットストリームにおけるトランスコーディング方法を示す1つの方式は、(SEIメッセージを含む)具体的なシンタックスを設計して、方法を、例えば、数値として合図することである。別の方式は、トランスコーディング方法を示すために、(SEIメッセージを含む)HEVCまたはH.264のビットストリームシンタックスなどの既存のビデオコーデックのシンタックスを利用することである。既存のシンタックスおよび標準デコーダオペレーションの使用が有用である。
既存のビデオコーデックのシンタックスを使用する例は、SIビットストリーム(すなわち、第2のビットストリーム)内で変換スキップフラグ(transform skip flag)または符号化されたビットフラグ(coded bit flag)(cbf)のような既存のフラグを使用して、ブロックに対する残差が再生成される必要があることを示すことである。変換スキップフラグのケースにおいて、変換スキップフラグは、変換が使用されるか使用されないかを宣言する代わりに、残差が変換を使用して再生成される必要があること、またはないことを示すために再解釈されてよい。このケースにおいて、トランスコーディングされたビットストリームは、変換スキップフラグを、0にセットして、残差が存在する(cbfが1に等しい)場合に残差が変換によって再生成される必要があることを示すか、または、1にセットして、残差が存在する(cbfが1に等しい)場合に残差が再生成される必要がないことを示すことができる。反対のやり方、すなわちトランスコーディングされたビットストリームは、変換スキップフラグを、1にセットして、残差が存在する(cbfが1に等しい)場合に残差が変換によって再生成される必要があることを示すか、または、0にセットして、残差が存在する(cbfが1に等しい)場合に残差が再生成される必要がないことを示すことも可能であることに留意されたい。符号化されたビットフラグについて、符号化されたビットフラグが、残差がビットストリーム内にないことを示す場合、トランスコーダは、ブロックを評価し、本当に残差がないかどうか、または残差が挿入されるべきかどうかを確かめる必要がある。別の例は、SIビットストリーム、すなわち第2のビットストリームにおける符号化された変換係数の一定のパターンは、例えば、トランスコーディングされたビットストリームにおける残差の再生成によって置換される「ダミー」の残差とみなされるというものである。一定の符号化された変換係数のパターンの例は、1つの係数が1に等しいことを除いて残差を全てゼロにして、残差が置換されるべきであることを示すことである。どの位置を使用するべきかは、本技術を実装するシステムにおいて決められる必要がある。1つの位置の例は、DC係数に対応する位置である。別の例は、指し示しを、2を法とする絶対係数値の合計に基づき、奇数の合計を「ダミー」の残差に対応させるか、または偶数の合計を「ダミー」の残差に対応させることである。これらの「ダミー」パターンの1つまたはいくつかが使用されるとき、エンコーダは、係数が明示的に送信されるべきいかなるブロックに対しても「ダミー」パターンを使用することを回避する必要がある、すなわちエンコーダの量子化オペレーションの結果が、偶然に「ダミー」パターンと同一であるとき、エンコーダは、異なるパターンを選ぶか、またはトランスコーダがこのブロックに対する係数を再生成することを受け入れる必要がある。量子化からの出力として取得されたもの以外に異なるパターンを選ぶことは、ブロックに対するレート歪みのパフォーマンスの観点から、わずかに不利なことがある。
「ダミー」の符号化された変換係数のパターンを決定する別の方法は、画像またはスライスを最初に符号化することであり、「従来の」方式で(すなわち、「ダミー」パターンを使用せずに)全ての変換係数を生成し、次に、どの係数パターンが使用されたかを分析し、その後、この画像またはスライスに対するレート歪みのパフォーマンスが最大化されるように、「ダミー」係数パターンを選択する。選択された「ダミー」係数パターンは、次に、例えば、SEIメッセージが、SIビットストリームの符号化されたスライスまたは画像と一緒に送られることによって、トランスコーダに示されるべきである。
別の例は、完全にトランスコーディングされるべきブロックを含むことである。これは、良好なエンコーディングを比較的見つけやすいエリアに対して行われることがある。このケースにおけるトランスコーディング情報は、例えば、ビットストリームにおける64x64ブロックのピクセルに対してスキップフラグをセットすることによって合図されることがある。これは、通常、ブロックは、デフォルトの予測モードを使用すべきであり、変換係数を使用しないが、その代わり、トランスコーダが、適切なブロックサイズ、予測モード、および変換係数を、64x64ブロックの範囲内で決定するべきであるという意味として再解釈されることを意味する。代替として、これは、例えば、SAOが64x64のような一定のブロックサイズに対して使用される別の符号化パラメータと一緒に使用される。トランスコーディング情報が、SAOが64x64ブロックに対して使用されるために示されること、およびブロックはスキップフラグのセットを有することの両方からなるこのケースにおいて、トランスコーダは、適切なブロックサイズ、予測モード、および変換係数を、64x64ブロックの範囲内で決定し、そうでなければ、64x64ブロックは、本当にスキップされる。
トランスコーディングは、第1のビットストリームを復号すること、場合によっては、トランスコーディングした後で第1のビットストリームを目標解像度に対して再サンプリングすること、およびSIビットストリーム(すなわち、第2のビットストリーム)を復号することによって達成され、それに応じて、SIビットストリーム内で受信されたトランスコーディング情報を解釈し、トランスコーディング情報内で示されたトランスコーディング方法を適用する。
1つの例として、動きベクトルだけを受信すること(方法1)、および動きベクトルと残差データの両方を受信すること(方法2)という2つの異なるトランスコーディング方法のうちの1つは、予測ユニットに対して示されることができる。1つの実施形態による既存のビデオコーデックのシンタックスを使用して、方法1は、「ダミー」変換係数パターンを使用することによって示されることがある。「ダミー」変換係数パターンがトランスコーダにおいて検出されるケースにおいて、トランスコーダは、第1のビットストリームからの復号された(および場合によっては、再サンプルされた)サンプルを使用し、第1のビットストリームからの復号された(および場合によっては、再サンプルされた)サンプルと、予めトランスコーディングされた画像に動きベクトルを適用することによって生成された予測信号との間の相違として新しい残差を導き出し、その後残差信号を変換係数に変換し、その後係数をトランスコーディングされたビットストリームに書き出す(例えば、エントロピーエンコーディングを行う)。あるいは、「ダミー」パターンが検出されない場合、SIビットストリーム内で受信された変換係数は、方法2に従ってトランスコーディングされたビットストリームに単にコピーされる。
オリジンエンコーダを、トランスコーディング情報を提供するように設定する代わりに、係数エクストラクタとも呼ばれるビデオ処理ノードは、このようなトランスコーディング情報を提供するように設定される。
係数エクストラクタを用いる実施形態が、以下および図5に例証される。標準エンコーダ502(例えば、トランスコーダで知られるオープンソースまたは任意の他のエンコーダ)は、第2のフォーマット506にエンコードされたビデオシーケンスを作り出すために使用される。圧縮された(エンコードされた)サンプル、または(YUV/RGBもしくは任意の他のソースフォーマットのオリジナルサンプルだが、さらに以前の別のフォーマットからの展開が起源のことがある)圧縮されていないサンプル、または両方からなることがあるビデオシーケンスの、第1のフォーマット505から第2のフォーマット506内の圧縮されていないサンプルへの転換は、プリプロセッサ501によって実施されることがある。第1のフォーマットにおける圧縮されたサンプルおよび圧縮されていないサンプルの両方が、プリプロセッサに対して利用可能であるケースにおいて、一連の圧縮されていないサンプルの生成が可能である。ここで、いくつかの画像は、第1のフォーマットからの圧縮されていないサンプルに基づき、いくつかの画像は、第1のフォーマットからの圧縮されたサンプルに基づく。この情報は、トランスコーダが生成できない係数を取り除かないように、係数エクストラクタに与えられることもある。
第2のフォーマット506’のエンコードされた(例えば、HEVCに従ってエンコードされた)ビデオシーケンスは、係数エクストラクタ503に供給され、係数エクストラクタ503は、例えば、場合によっては選択的に、トランスコーダが係数を再生成する必要があることを示すために、従来の変換係数を「ダミー」係数パターンで置換することによって、トランスコーディング情報を第2のビットストリーム507に挿入する。トランスコーディング方法が、例えば、ブロック毎に、選択的に示されることである場合、係数エクストラクタは、例えば、オリジンエンコーダから、またはトランスコーディング方法を判断する別のエンティティから、所望のトランスコーディング方法についての情報を受信する必要がある。オリジンエンコーダがトランスコーダにおいても利用可能である、既に圧縮されたビデオに基づいて係数を生成したことを、係数エクストラクタが知っているとき、係数エクストラクタは、方法1(ダミー係数、すなわちガイドされたトランスコーディング)を示すトランスコーディング情報を、方法2(実際の係数、すなわちサイマルキャスト)を示すトランスコーディング情報の代わりに、挿入することができる。オリジンエンコーダが同様にトランスコーダが導き出せるブロックまたは画像を生成したことを、係数エクストラクタが知っている場合、係数エクストラクタは、方法3(フルトランスコーディング)を示すトランスコーディング情報を挿入することができる。実際の係数がダミー係数に対応する場合、係数は残るが、トランスコーダは、係数を正確に再生成することができるので、トランスコーダによって方法1として解釈され、オリジンエンコーダとトランスコーダとの間の整合が依然として存在する。オリジンエンコーダが圧縮ビデオと元のビデオの両方に基づいて係数を生成したとき、トランスコーダが(例えば、方法1を使用せずに)再生成できない係数を取り除かないように、係数エクストラクタは、トランスコーディング方法についての情報を受信する必要がある。
トランスコーディング方法についての情報を受信する代わりに、係数エクストラクタは、トランスコーダのように係数(方法1)または少なくとも1つのブロック(方法3)を再生成することによってトランスコーディング方法を決定することができ、係数エクストラクタが同じ係数または同じブロックを生成できない場合、係数エクストラクタは、これらを維持する必要がある。係数または少なくとも1つのブロックを再生成できるように、係数エクストラクタは、第1のフォーマットからの再構築されたサンプル(場合によっては、第2のフォーマットの解像度にこれらをダウンサンプルする)、または第1のフォーマットのビットストリームを有する必要がある(次に、必要なら復号およびサブサンプルする)。
オリジンエンコーダが、トランスコーダによって再生成されることができず、「ダミー」係数と同じパターンを有する係数を生成したケースにおいて、スライスまたは画像に対する全ての係数が維持される場合(方法2)でない限り、オリジンエンコーダとトランスコーダとの間に不整合が存在するだろう。
それ故に、トランスコーダ504は、ビデオシーケンスを第1のフォーマット505で表す第1のビットストリーム、およびトランスコーディング情報を伴う第2のビットストリームを受信し、ビットストリームを、第1のフォーマットから第2のフォーマット508にトランスコーディングする。
トランスコーダが異なる画像またはブロックに対して異なる方式で動作する能力を有する場合、第2のビットストリームを受信する場合に行うべきことを知っている必要がある。係数エクストラクタは、このように、トランスコーダが動作することを確実にする必要がある。ビデオのいくつかの画像は、フルトランスコーディングによって再生成されることがあり、いくつかの画像に対して、トランスコーダは、いかなる情報も再生成する必要がない。
フルトランスコーディングが実装されることになるとき、一連の第2のビットストリームの完全な継続時間は必要とされない。だから、係数エクストラクタは、第2のビットストリームを完璧に取り除くことができる。いくつかの画像がフルトランスコーディングから恩恵を受けることができる場合、これらの画像は、トランスコーダがこれらの画像を適切に扱えるように示される必要がある。同じように、画像がサイマルキャストである場合、係数エクストラクタは、トランスコーダがこれらを理解することを確かめる。
特定のケースにおいて、係数エクストラクタは、符号化されたスライスまたは画像に対して、ダミー係数パターン、または係数がないことを示すフラグによって、全ての変換係数パターンを置換する。この方式において、単純なガイドされたトランスコーディングの導入に対するSIエンコーダは、既存の標準エンコーダおよび係数エクストラクタをカスケードすることによって実現されることがある。
図6に示されるように、ビデオエンコーダのための方法が提供される。方法は、ビデオシーケンスを第1のフォーマットで表す第1のビットストリームをトランスコーダに提供すること601を含み、エンコーダは、次に、ビデオシーケンスを、第1のフォーマットから第2のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を表す第2のビットストリームを作り出すこと602を行い、エンコーダは、第2のビットストリームをトランスコーダに提供すること603を行う。
図7に図示されるように、ビデオトランスコーダのための方法が提供される。方法は、ビデオシーケンスを第1のフォーマットで表す第1のビットストリームをエンコーダから受信すること701を含む。ビデオトランスコーダは、ビデオシーケンスを、第1のフォーマットから第2のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を表す第2のビットストリームをさらに受信すること702を行い、第1のビットストリームを、第1のフォーマットから第2のフォーマットに、示されたトランスコーディング方法を使用してトランスコーディングすること703を行う。
図8に示されるように、ビデオ処理ノードのための方法が提供される。方法は、ビデオシーケンスを第2のフォーマットで表す第2のビットストリームをエンコーダから受信すること801、およびビデオシーケンスを、第1のフォーマットから第2のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を、第2のビットストリーム内に挿入すること802を含む。ビデオ処理ノードは、ビデオシーケンスを、第1のフォーマットから第2のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示す挿入されたトランスコーディング情報を含む第2のビットストリームをトランスコーダに送信すること803を行う。
本明細書で説明された方法およびデバイスは、様々な方式で組み合わされ、再構成されてよいことが理解されよう。
例えば、実施形態は、適切な処理回路機器またはその組合せによる実行のために、ハードウェアに、またはソフトウェアに実装されてよい。
本明細書で説明されたステップ、機能、手順、モジュール、および/またはブロックは、汎用の電子回路機器とアプリケーション固有の回路機器の両方を含む、ディスクリート回路または集積回路技術などの、任意の従来技術を使用してハードウェア内に実装されてよい。
特定の例は、1つまたは複数の適切に設定されたデジタル信号プロセッサおよび他の既知の電子回路、例えば、特化された機能を実施するために相互接続されたディスクリート論理ゲート、または特定用途向け集積回路(ASIC)を含む。処理回路機器の例は、1つもしくは複数のマイクロプロセッサ、1つもしくは複数のデジタル信号プロセッサ(DSP)、1つもしくは複数の中央処理装置(CPU)、ビデオアクセレレーションハードウェア、および/あるいは、1つもしくは複数のフィールドプログラマブルゲートアレイ(FPGA)、または1つもしくは複数のプログラマブル論理制御装置(PLC)などの、任意の適切なプログラマブル論理回路機器を含むが、限定されない。
提案された技術が実装される任意の従来デバイスまたはユニットの一般的な処理能力を再使用することが可能なことがあることも理解されたい。例えば、既存のソフトウェアを再プログラムすることによって、または新しいソフトウェアコンポーネントを追加することによって、既存のソフトウェアを再使用することが可能なこともある。
図9は、特定の実装形態を示す。
ビデオエンコーダ900は、ビデオシーケンスを第1のフォーマットで表す第1のビットストリーム930をトランスコーダ910に提供するように設定され、エンコーダ900は、ビデオシーケンスを、第1のフォーマットから第2のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を表す第2のビットストリーム940を作り出すようにさらに設定され、エンコーダは、第2のビットストリーム940をトランスコーダに提供するようにさらに設定される。
図9にさらに示されるように、ビデオトランスコーダ910は、ビデオシーケンスを第1のフォーマットで表す第1のビットストリーム930をエンコーダ900から受信するように設定され、ビデオシーケンスを、第1のフォーマットから第2のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を表す第2のビットストリーム940を受信するように設定され、第1のビットストリームを、第1のフォーマットから第2のフォーマット950に、示されたトランスコーディング方法を使用してトランスコーディングするように設定される。
ビデオ処理ノードは、また、図5に示されるように提供される。ビデオ処理ノードは、ビデオシーケンスを第2のフォーマットで表す第2のビットストリームをエンコーダから受信するように設定される。ビデオ処理ノードは、ビデオシーケンスを、第1のフォーマットから第2のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を、第2のビットストリーム内に挿入することを行うように設定され、ビデオシーケンスを、第1のフォーマットから第2のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示す挿入されたトランスコーディング情報を含む第2のビットストリームを送信することを行うように設定される。
1つの実施形態によれば、トランスコーディング情報は、残差がトランスコーダにおいて再生成される必要がある(トランスコーディングが必要とされている)かどうか、または(サイマルキャストについて)残差がエンコーダから受信されるかどうかを少なくとも示す少なくとも1つのシンタックス要素を含む。ここで、残差は、第2のフォーマットのビデオシーケンスと、トランスコーディング情報に従って生成された第2のフォーマットのビデオシーケンスの予測との間の相違に由来している。
少なくとも1つのシンタックス要素は、変換スキップフラグであってよく、0に等しい変換スキップフラグは、残差がエンコーダから受信されることを示してよく、1に等しい変換スキップフラグは、残差がエンコーダから提供されないことを示してよい。
さらなる実施形態によれば、トランスコーディング情報は、符号化された変換係数の複数のパターンのうちの1つを含んでよく、1つの具体的なパターンは、残差がトランスコーダにおいて再生成される必要があることを示してもよく、残りのパターンは、残差がエンコーダから受信されることを示してもよく、残差は、第2のフォーマットのビデオシーケンスと、トランスコーディング情報に従って生成された第2のフォーマットのビデオシーケンスの予測との間の相違に由来してよい。
第2のフォーマットのビデオシーケンスと、トランスコーディング情報に従って生成された第2のフォーマットのビデオシーケンスの予測との間の相違は、変換符号化(transform coded)されてよい。
さらに、トランスコーディング情報は、トランスコーダがフルトランスコーディングを実施する必要があることを示すために、少なくともシンタックス要素を含んでよい。シンタックス要素は、トランスコーダがフルトランスコーディングを実施する必要があることを示すために再解釈されるスキップフラグであってよい。
また、トランスコーディング情報は、サイマルキャストを示す第2のフォーマットを用いるビットストリームを含んでよい。
第1のフォーマットは、高品質圧縮フォーマットであってよく、第2のフォーマットは、低品質圧縮フォーマットであってよい。トランスコーディング情報は、画像のグループ毎、画像毎、スライス毎、またはブロック毎に有効であってよい。
それ故に、図9は、実施形態によるエンコーダ900の特定のハードウェアの実装を示す。
ビデオエンコーダ900は、ビデオシーケンスを第1のフォーマットで表す第1のビットストリーム930をトランスコーダ910に提供するための送信器965、ビデオシーケンスを、第1のフォーマットから第2のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を表す第2のビットストリームを作り出すためのビットストリームクリエータ975を備え、送信器965は、第2のビットストリームをトランスコーダに提供するようにさらに設定される。エンコーディングモジュール985は、ビットストリームを第1のフォーマットで符号化するように設定される。
ビデオトランスコーダ910は、ビデオシーケンスを第1のフォーマットで表す第1のビットストリーム930をエンコーダ900から受信するための、およびビデオシーケンスを、第1のフォーマットから第2のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を表す第2のビットストリーム940を受信するための受信器935を備える。トランスコーダは、第1のビットストリームを復号するための復号モジュール915、ならびに第2のビットストリームを復号するため、および第2のビットストリームからの復号されたトランスコーディング情報を使用することによって、第1のビットストリームを第2のフォーマットにエンコーディングするためのトランスコーディングモジュール925を備える。第2のフォーマット950を用いる第1のビットストリームは、次に、送信器945によってエンドデバイス920に送られ、第2のフォーマットは、エンドデバイス920にとって求められていることがある。
ビデオ処理ノード503は、ビデオシーケンスを第2のフォーマットで表す第2のビットストリーム506’をエンコーダから受信するための、図10に図示されるような受信器1040、ビデオシーケンスを、第1のフォーマットから第2のフォーマットにトランスコーディングするために、トランスコーダ504によって使用されるべきトランスコーディング方法を示すトランスコーディング情報1000を、第2のビットストリーム内に挿入するための挿入器1010を備える。ビデオ処理ノードは、ビデオシーケンスを、第1のフォーマットから第2のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示す(シンタックス要素などの)挿入されたトランスコーディング情報1000を含む第2のビットストリームを送信するための送信器1020をさらに備える。
代替として、本明細書で説明されたステップ、機能、手順、モジュール、および/またはブロックのうちの少なくともいくつかは、1つまたは複数のプロセッサまたは処理ユニットなどの、適切な処理回路機器による実行のために、コンピュータプログラムなどのソフトウェア内に実装されてよい。
それに応じて、図11に示されるように、コンピュータプログラムが提供される。コンピュータプログラム1140は、プロセッサ1110によって実行されるとき、ビデオシーケンスを第1のフォーマットで表す第1のビットストリームをトランスコーダに提供すること、ビデオシーケンスを、第1のフォーマットから第2のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を表す第2のビットストリームを作り出すこと、第2のビットストリームをトランスコーダに提供することを、前記プロセッサ1110に行わせる、例えば、メモリ内に格納された命令1130を含む。
図12に示されるように、さらなるコンピュータプログラムが提供される。コンピュータプログラム1240は、プロセッサ1210によって実行されるとき、ビデオシーケンスを第1のフォーマットで表す第1のビットストリームをエンコーダから受信すること、およびビデオシーケンスを、第1のフォーマットから第2のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を表す第2のビットストリームを受信することを、前記プロセッサ1210に行わせる、例えば、メモリ内に格納された命令1230を含む。
図13に図示されるように、さらなるコンピュータプログラム1340が提供される。コンピュータプログラムは、プロセッサ1310によって実行されるとき、ビデオシーケンスを第2のフォーマットで表す第2のビットストリームをエンコーダから受信すること、ビデオシーケンスを、第1のフォーマットから第2のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を、第2のビットストリーム内に挿入すること、およびビデオシーケンスを、第1のフォーマットから第2のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示す挿入されたトランスコーディング情報を含む第2のビットストリームを送信することを、前記プロセッサ1310に行わせる、例えば、メモリ内に格納された命令1330を含む。
特定の実施形態において、個々のプロセッサがオペレーション中であるとき、メモリに格納された命令を実行して、上記で説明されたオペレーションを実施する。プロセッサは、そのためにメモリに相互接続され、通常のソフトウェア実行を可能にする。
1つの例では、本明細書で説明されたステップ、機能、手順、モジュール、および/またはブロックのうちの少なくともいくつかは、コンピュータプログラム内に実装され、1つまたは複数のプロセッサを含む処理回路機器による実行のために、メモリにロードされる。プロセッサおよびメモリは、互いに相互接続され、通常のソフトウェア実行を可能にする。通信回路機器も、プロセッサおよび/またはメモリに相互接続され、個々のビットストリームの入力および/または出力を可能にする。
ビデオエンコーダ、ビデオトランスコーダ、およびビデオ処理ノードは、ビデオのビットストリームを受信/送信、および処理できる、任意のデバイスまたはネットワークノードであってよい。例えば、このようなデバイスまたはネットワークノードは、ラップトップ、スマートフォン、タブレット、セットトップボックス、他などの、据え置き型またはポータブルのサーバまたはコンピュータであることがある。
用語「プロセッサ」は、特定の処理、決定、またはコンピューティングタスクを実施するために、プログラムコードまたはコンピュータプログラム命令を実行できる任意のシステムまたはデバイスとして、一般的な意味で、解釈されるべきである。
1つまたは複数のプロセッサを含む処理回路機器は、したがって、コンピュータプログラムを実行するとき、本明細書で説明されたタスクなどの、明確に規定された処理タスクを実施するように設定される。
処理回路機器は、上記で説明されたステップ、機能、手順、および/またはブロックを実行するためだけに専用である必要はなく、他のタスクを実行してもよい。
図14に示されるように、提案された技術は、また、コンピュータプログラム1410を備えるキャリア1420を提供する。キャリア1420は、電子信号、光信号、電磁気信号、磁気信号、電気信号、無線信号、マイクロ波信号、またはコンピュータ可読ストレージ媒体のうちの1つである。
例として、ソフトウェアすなわちコンピュータプログラム1410は、コンピュータプログラム製品として実現されてよく、コンピュータ可読媒体、好ましくは不揮発性コンピュータ可読ストレージ媒体上で、通常、搬送または格納される。コンピュータ可読媒体は、1つまたは複数のリムーバブルまたは非リムーバブルのメモリデバイスを含んでよく、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、ブルーレイディスク、ユニバーサルシリアルバス(USB)メモリ、ハードディスクドライブ(HDD)ストレージデバイス、フラッシュメモリ、磁気テープ、または任意の他の従来のメモリデバイスを含むが、限定されない。
コンピュータプログラムは、このように、コンピュータまたは同等の処理デバイスのオペレーティングメモリにロードされてよい。
本明細書で提示された流れ図または図は、したがって、1つまたは複数のプロセッサによって実施されるとき、コンピュータの流れ図または図とみなされてよい。
上記で説明された実施形態は、本発明の数個の説明に役立つ実例として理解されることになる。様々な修正、組合せ、および変更は、本発明の範囲から逸脱することなく、実施形態に対してなされてよいことが当業者によって理解されよう。特に、異なる実施形態における異なる部分のソリューションは、技術的に可能な場合、他の設定の中に組み合わされてよい。しかし、本発明の範囲は、添付の特許請求の範囲によって規定される。

Claims (14)

  1. ビデオシーケンスを第1のフォーマット(930)で表す第1のビットストリーム(930)をトランスコーダ(910)に提供するように設定され、
    前記ビデオシーケンスを、前記第1のフォーマットから第2のフォーマットにトランスコーディングするために、前記トランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を表す第2のビットストリーム(940)を作り出すようにさらに設定され、
    前記第2のビットストリーム(940)を前記トランスコーダに提供するようにさらに設定された、ビデオエンコーダ(900)であって、
    前記トランスコーディング情報は、残差が前記トランスコーダにおいて再生成される必要があるかどうか、または前記残差が前記エンコーダから提供されるかどうかを少なくとも示す少なくとも1つのシンタックス要素を含み、前記残差は、前記第2のフォーマットの前記ビデオシーケンスと、トランスコーディング情報に従って生成された前記第2のフォーマットの前記ビデオシーケンスの予測との間の相違に由来する、ビデオエンコーダ。
  2. 前記少なくとも1つのシンタックス要素は、変換スキップフラグである、請求項1に記載のビデオエンコーダ。
  3. 0に等しい前記変換スキップフラグは、前記残差が前記エンコーダから提供されることを示し、1に等しい前記変換スキップフラグは、前記残差が前記エンコーダから提供されないことを示す、請求項2に記載のビデオエンコーダ。
  4. 前記トランスコーディング情報は、符号化された変換係数の複数のパターンのうちの1つを含み、1つの特定のパターンは、残差が前記トランスコーダにおいて再生成される必要があることを示しており、残りのパターンは、前記残差が前記エンコーダから提供されることを示しており、前記残差は、前記第2のフォーマットの前記ビデオシーケンスと、トランスコーディング情報に従って生成された前記第2のフォーマットの前記ビデオシーケンスの予測との間の相違に由来する、請求項3に記載のビデオエンコーダ。
  5. 前記第2のフォーマットの前記ビデオシーケンスと、トランスコーディング情報に従って生成された前記第2のフォーマットの前記ビデオシーケンスの予測との間の前記相違は、変換符号化される、請求項1から4のいずれか一項に記載のビデオエンコーダ。
  6. 前記トランスコーディング情報は、少なくとも、前記トランスコーダがフルトランスコーディングを実施する必要があることを示すシンタックス要素を含む、請求項5に記載のビデオエンコーダ。
  7. 前記第1のフォーマットは、高品質圧縮フォーマットであり、前記第2のフォーマットは、低品質圧縮フォーマットである、請求項1から6のいずれか一項に記載のビデオエンコーダ。
  8. ビデオシーケンスを第1のフォーマットで表す第1のビットストリーム(930)をエンコーダ(900)から受信するように設定され、
    前記ビデオシーケンスを、前記第1のフォーマットから第2のフォーマットにトランスコーディングするために、トランスコーダによって使用されるべきトランスコーディング方法を示すトランスコーディング情報を表す第2のビットストリーム(940)を受信するように設定され、
    前記第1のビットストリームを、前記第1のフォーマットから前記第2のフォーマット(950)に、前記示されたトランスコーディング方法を使用してトランスコーディングするように設定された、ビデオトランスコーダ(910)であって、
    前記トランスコーディング情報は、残差が前記トランスコーダにおいて再生成される必要があるかどうか、または前記残差が前記エンコーダから受信されるかどうかを少なくとも示す少なくとも1つのシンタックス要素を含み、前記残差は、前記第2のフォーマットの前記ビデオシーケンスと、トランスコーディング情報に従って生成された前記第2のフォーマットの前記ビデオシーケンスの予測との間の相違に由来する、ビデオトランスコーダ。
  9. 前記少なくとも1つのシンタックス要素は、変換スキップフラグである、請求項8に記載のビデオトランスコーダ。
  10. 0に等しい前記変換スキップフラグは、前記残差が前記エンコーダから受信されることを示し、1に等しい前記変換スキップフラグは、前記残差が前記エンコーダから提供されないことを示す、請求項9に記載のビデオトランスコーダ。
  11. 前記トランスコーディング情報は、符号化された変換係数の複数のパターンのうちの1つを含み、1つの特定のパターンは、残差が前記トランスコーダにおいて再生成される必要があることを示しており、残りのパターンは、前記残差が前記エンコーダから受信されることを示しており、前記残差は、前記第2のフォーマットの前記ビデオシーケンスと、トランスコーディング情報に従って生成された前記第2のフォーマットの前記ビデオシーケンスの予測との間の相違に由来する、請求項10に記載のビデオトランスコーダ。
  12. 前記第2のフォーマットの前記ビデオシーケンスと、トランスコーディング情報に従って生成された前記第2のフォーマットの前記ビデオシーケンスの予測との間の前記相違は、変換符号化される、請求項8から11のいずれか一項に記載のビデオトランスコーダ。
  13. 前記トランスコーディング情報は、少なくとも、前記トランスコーダがフルトランスコーディングを実施する必要があることを示すシンタックス要素を含む、請求項12に記載のビデオトランスコーダ。
  14. 前記第1のフォーマットは、高品質圧縮フォーマットであり、前記第2のフォーマットは、低品質圧縮フォーマットである、請求項8から13のいずれか一項に記載のビデオトランスコーダ。
JP2017566657A 2015-06-23 2015-06-23 トランスコーディングのための方法および構成 Active JP6632638B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/SE2015/050727 WO2016209125A1 (en) 2015-06-23 2015-06-23 Methods and arrangements for transcoding

Publications (2)

Publication Number Publication Date
JP2018524907A JP2018524907A (ja) 2018-08-30
JP6632638B2 true JP6632638B2 (ja) 2020-01-22

Family

ID=57586316

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017566657A Active JP6632638B2 (ja) 2015-06-23 2015-06-23 トランスコーディングのための方法および構成

Country Status (5)

Country Link
US (1) US10841601B2 (ja)
EP (1) EP3314896B1 (ja)
JP (1) JP6632638B2 (ja)
BR (1) BR112017025820A2 (ja)
WO (1) WO2016209125A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3041856A1 (en) * 2016-12-28 2018-07-05 Sony Corporation Image processing apparatus and method
CN110198474B (zh) * 2018-02-27 2022-03-15 中兴通讯股份有限公司 一种码流处理方法及装置
WO2019208677A1 (ja) * 2018-04-27 2019-10-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法および復号方法
CN109547711A (zh) * 2018-11-08 2019-03-29 北京微播视界科技有限公司 视频合成方法、装置、计算机设备及可读存储介质
JP7453348B2 (ja) * 2019-08-31 2024-03-19 エルジー エレクトロニクス インコーポレイティド ビデオまたは画像コーディング方法及びその装置
EP4218247A1 (en) * 2020-09-24 2023-08-02 Centurylink Intellectual Property LLC Content delivery using distributed ledger and ai-based transcoding technologies
US11910056B2 (en) 2020-09-24 2024-02-20 Centurylink Intellectual Property Llc Content delivery using distributed ledger and AI-based transcoding technologies
US20220141476A1 (en) * 2020-10-30 2022-05-05 Bitmovin, Inc. Lightweight Transcoding at Edge Nodes
CN115002543B (zh) * 2021-12-23 2023-03-31 荣耀终端有限公司 视频分享方法、电子设备、存储介质
CN114501026B (zh) * 2022-02-17 2023-04-14 北京百度网讯科技有限公司 视频编码方法、装置、设备及存储介质

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003529296A (ja) * 2000-03-27 2003-09-30 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 第1形式の入力ストリームに第2形式のデータを挿入する方法
US6404814B1 (en) * 2000-04-28 2002-06-11 Hewlett-Packard Company Transcoding method and transcoder for transcoding a predictively-coded object-based picture signal to a predictively-coded block-based picture signal
US6647061B1 (en) * 2000-06-09 2003-11-11 General Instrument Corporation Video size conversion and transcoding from MPEG-2 to MPEG-4
US7085320B2 (en) * 2001-07-31 2006-08-01 Wis Technologies, Inc. Multiple format video compression
JP4275358B2 (ja) * 2002-06-11 2009-06-10 株式会社日立製作所 画像情報変換装置およびビットストリーム変換機ならびに画像情報変換送信方法
US20050265445A1 (en) * 2004-06-01 2005-12-01 Jun Xin Transcoding videos based on different transformation kernels
JP2006203682A (ja) * 2005-01-21 2006-08-03 Nec Corp 動画像圧縮符号化ビットストリームシンタックス変換装置及び動画像通信システム
US8634469B2 (en) * 2006-02-06 2014-01-21 Thomson Licensing Method and apparatus for reusing available motion information as a motion estimation predictor for video encoding
US20080049836A1 (en) * 2006-08-23 2008-02-28 C2 Microsystems Method and System for a Fast Video Transcoder
US8428142B2 (en) * 2007-03-05 2013-04-23 Stmicroelectronics International N.V. System and method for transcoding data from one video standard to another video standard
US20080247465A1 (en) * 2007-04-05 2008-10-09 Jun Xin Method and System for Mapping Motion Vectors between Different Size Blocks
US8233527B2 (en) * 2007-05-11 2012-07-31 Advanced Micro Devices, Inc. Software video transcoder with GPU acceleration
US8335266B2 (en) * 2007-06-29 2012-12-18 Cisco Technology, Inc. Expedited splicing of video streams
BRPI0818444A2 (pt) * 2007-10-12 2016-10-11 Qualcomm Inc codificação adaptativa de informação de cabeçalho de bloco de vídeo
US20100296572A1 (en) * 2007-12-11 2010-11-25 Kumar Ramaswamy Methods and systems for transcoding within the distributiion chain
US8739233B2 (en) * 2008-02-29 2014-05-27 General Instrument Corporation Method and system for providing different formats of encoded content in a switched digital video (SDV) system
US20110013692A1 (en) * 2009-03-29 2011-01-20 Cohen Robert A Adaptive Video Transcoding
US8687685B2 (en) * 2009-04-14 2014-04-01 Qualcomm Incorporated Efficient transcoding of B-frames to P-frames
KR20110063004A (ko) * 2009-12-04 2011-06-10 삼성전자주식회사 키 프레임 추출 장치 및 방법과 이를 이용한 방송 녹화 장치 및 방법
EP2685719B1 (en) * 2011-03-09 2019-10-30 Panasonic Intellectual Property Corporation of America Video image decoding device
CN103430548B (zh) * 2011-03-09 2017-10-24 松下电器(美国)知识产权公司 运动图像编码装置及运动图像编码方法
US10021409B2 (en) * 2012-05-09 2018-07-10 Integrated Device Technology, Inc. Apparatuses and methods for estimating bitstream bit counts
EP3767961B1 (en) * 2012-06-12 2023-03-29 Coherent Logix, Inc. A distributed architecture for encoding and delivering video content
US9648320B2 (en) * 2013-02-22 2017-05-09 Comcast Cable Communications, Llc Methods and systems for processing content
US9906785B2 (en) * 2013-03-15 2018-02-27 Sonic Ip, Inc. Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata
EP3055998A1 (en) * 2013-10-11 2016-08-17 Telefonaktiebolaget LM Ericsson (publ) Method and arrangement for video transcoding using mode or motion or in-loop filter information
EP3022927A4 (en) * 2013-10-11 2016-05-25 Ericsson Telefon Ab L M METHOD AND ARRANGEMENT FOR TRANSCODING A VIDEO BIT TRAIN
US9860535B2 (en) * 2015-05-20 2018-01-02 Integrated Device Technology, Inc. Method for time-dependent visual quality encoding for broadcast services

Also Published As

Publication number Publication date
EP3314896A1 (en) 2018-05-02
JP2018524907A (ja) 2018-08-30
EP3314896B1 (en) 2020-01-01
US20200036990A1 (en) 2020-01-30
US10841601B2 (en) 2020-11-17
WO2016209125A1 (en) 2016-12-29
EP3314896A4 (en) 2019-01-02
BR112017025820A2 (pt) 2018-08-14

Similar Documents

Publication Publication Date Title
JP6632638B2 (ja) トランスコーディングのための方法および構成
JP6416992B2 (ja) ビデオビットストリームをトランスコーディングする方法及び構成
TWI544787B (zh) 當跳過轉換時用於有損寫碼之內部預測模式
US9350996B2 (en) Method and apparatus for last coefficient indexing for high efficiency video coding
US10291934B2 (en) Modified HEVC transform tree syntax
US8311095B2 (en) Method and apparatus for transcoding between hybrid video codec bitstreams
US8139879B2 (en) Method and apparatus for encoding image by exponential Golomb binarization using optimal threshold, and method and apparatus for decoding image by exponential Golomb binarization using optimal threshold
KR20150105431A (ko) 비디오 스플라이싱을 단순화시키기 위한 버퍼링 정보에 대한 구문 및 의미
KR20060132972A (ko) 컨버터를 이용하는 비디오 인코더
US20170064311A1 (en) Method and Apparatus for the Single Input Multiple Output (SIMO) Media Adaptation
US10735735B2 (en) Guided transcoding
US11025931B2 (en) Methods, encoder, and transcoder for transcoding
KR20220062655A (ko) 비디오 데이터의 무손실 코딩
JP6566864B2 (ja) ビットストリーム変換装置、ビットストリーム変換方法、配信システム及びコンピュータ可読記録媒体
KR101075776B1 (ko) 트랜스코딩 방법 및 그 장치
JP2011109390A (ja) 画像符号化装置、画像符号化方法、画像復号装置、及び、画像復号方法
WO2014092434A2 (ko) 비디오 부호화 방법 및 비디오 복호화 방법과 이를 이용하는 장치
JP2023165673A (ja) ムービーレベルトラックグループ情報ボックスに基づくメディアファイルにおけるプレセレクション情報のシグナリング
JP2018011194A (ja) トランスコードシステム、トランスコード方法、コンピュータ可読記録媒体、復号装置および符号化装置
JP2013243453A (ja) 符号化データ変換装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180228

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190402

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190625

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191210

R150 Certificate of patent or registration of utility model

Ref document number: 6632638

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250