JP2015513386A - メタデータ支援ビデオ復号 - Google Patents

メタデータ支援ビデオ復号 Download PDF

Info

Publication number
JP2015513386A
JP2015513386A JP2014557749A JP2014557749A JP2015513386A JP 2015513386 A JP2015513386 A JP 2015513386A JP 2014557749 A JP2014557749 A JP 2014557749A JP 2014557749 A JP2014557749 A JP 2014557749A JP 2015513386 A JP2015513386 A JP 2015513386A
Authority
JP
Japan
Prior art keywords
decoder
decoding
metadata
video sequence
decoder engine
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.)
Pending
Application number
JP2014557749A
Other languages
English (en)
Other versions
JP2015513386A5 (ja
Inventor
ウ,ヨンジュン
サドワニ,シャム
サムプディ,ナヴィーン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2015513386A publication Critical patent/JP2015513386A/ja
Publication of JP2015513386A5 publication Critical patent/JP2015513386A5/ja
Pending legal-status Critical Current

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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Abstract

最適化決定をするためにメタデータを用いるビデオデコーダを開示する。一実施形態では、メタデータを用いて、利用可能な複数のデコーダエンジンのうちどれがビデオシーケンスを受け取るべきか選択する。他の一実施形態では、最適化決定は、ビデオシーケンスに関連するメタデータ情報の長さとロケーションとに基づき得る。かかるメタデータ情報を用いて、デコーダエンジンはスタートコードスキャニング(start-code scanning)をスキップして、復号プロセスをより効率的にできる。また、デコーダエンジンの選択に基づき、エミュレーション防止バイトの除去を、スタートコードのスキャンと共にするべきか否か決定できる。

Description

本願は、概して、復号に関し、具体的には、ファイルコンテナを有する符号化ビデオシーケンスからのメタデータを用いた復号最適化に関する。
エンジニアは、圧縮(ソースコーディングやソースエンコーディングとも呼ぶ)を用いてデジタルビデオのビットレートを低下する。圧縮により、ビデオ情報を低ビットレート形式に変換することにより、ビデオ情報の記憶と送信のコストが低下する。解凍(復号とも呼ぶ)により、圧縮形式から原情報のバージョンが再構成される。「コーデック」とはエンコーダ/デコーダシステムである。
ここ20年間にわたり、様々なビデオコーデック標準が作られてきた。これには、H.261、H.262(MPEG−2)、H.263標準及びMPEG−1、MPEG−4標準がある。最近、H.264標準(AVCまたは14496−10とも呼ばれる)とVC−1標準が作られた。次世代標準のHEVCが開発中である。詳細については、それぞれの標準の代表的バージョンを参照されたい。ビデオコーデック標準では、一般的には、符号化ビデオビットストリームのシンタックスのオプションを規定し、符号化及び復号においてある機能が利用された時のビデオシーケンスのビットストリーム中にあるパラメータを詳細に規定している。多くの場合、ビデオコーデック標準には、デコーダが実行して復号時に正しい結果を得る復号動作に関する詳細も規定している。
最近の復号にはグラフィックス処理ユニット(GPU)を使える。GPUは、ディスプレイに出力するフレームバッファ中の画像の構成を高速化するように、メモリを高速に操作し変更するように設計された特殊な電子回路である。GPUは、組み込みシステム、携帯電話、パーソナルコンピュータ、ワークステーション、ゲーム機などで用いられている。最近のGPUは非常に効率的にコンピュータグラフィックスを操作し、並列性が高い構造により、多くのデータブロックを並列に処理するアルゴリズムに対して、汎用CPUより有効である。
高速ではあっても、ほとんどのGPUは、Arbitrary Slice Order (ASO)及び/またはFlexible Macro−block Order (FMO)で符号化されたビデオを処理するようには設計されていない。かかるアルゴリズムを用いて符号化されたビデオは、一般的に、CPUのようにベースラインプロファイルを処理するように設計されたデコーダを用いて処理される。しかし、GPUは概してメインプロファイルとそれより高次のプロファイルを有するビデオシーケンスを処理するように構成されている。残念ながら、多くのH.264/AVCエンコーダは、ベースラインビットストリームを生成し、これは実際にはメインプロファイルに整合するものであるが、制約フラグ(constraint flag)の設定が正しくない。このようなフラグ設定の間違いにより、H.264/AVCデコーダは、ASOやFMOなどのアルゴリズムは使われていなくても、クリップをASOまたはFMOを含む純粋なベースラインとして扱ってしまう。
本欄では、発明の詳細な説明で詳しく説明するコンセプトの一部を選んで、簡単に説明する。本欄は、特許を請求する主題の重要な特徴や本質的な特徴を特定するものではなく、特許を請求する主題の範囲を限定するものでもない。
最適化決定をするために符号化ビデオシーケンスのメタデータを用いるビデオデコーダを開示する。例えば、一実施形態では、メタデータを用いて、どのデコーダエンジンがビデオシーケンスを受け取れるか選択する。デコーダには複数のデコーダエンジンがあり、ベースラインプロファイルを処理するもの(例えばCPU)や処理できないが一般的により効率的なもの(例えばGPU)などがある。最も効率的なデコーダエンジンを選択するのにメタデータを用いることにより、デコーダを最適化できる。
他の一実施形態では、最適化決定は、ビデオシーケンスに関連するメタデータ情報の長さとロケーションとに基づき得る。かかるメタデータ情報を用いて、デコーダエンジンはスタートコードスキャニング(start-code scanning)をスキップして、復号プロセスをより効率的にできる。
さらに他の一実施形態では、ビットストリームパーサがスライスヘッダ、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)及びサプリメンタルエンハンスメント情報(SEI)を復号する間に、エミュレーション防止バイトを動的に除去できる。ネットワークアクセスレイヤユニット(NALU)の長さ情報が利用できるとき、ハードウェア高速化復号においてスタートコードスキャニングを完全にスキップし、NALUの1対1ディレクトリをハードウェアに送る。
本発明の上記の及びその他の目的、特徴、及び効果は、添付した図面を参照して以下の詳細な説明を読めば、明らかとなるであろう。
説明する幾つかの実施形態を実装できるコンピューティング環境の一例を示す図である。
符号化ビデオシーケンス中のメタデータに基づいて復号最適化決定を行う方法を示すフローチャートである。
メタデータを用いて、利用可能などのデコーダエンジンをビデオシーケンスの復号に用いられるか決定することを示すフローチャートである。
図3のフローチャートを拡張するのに用いられる、MPEG−4ビデオシーケンスの具体例であるもっと詳細なフローチャートである。
複数のデコーダエンジンを含むデコーダのアーキテクチャ構成の一例を示す図である。
利用できるデコーダエンジンの一例を示す図である。
デコーダエンジンに長さとロケーションを送る方法を示すフローチャートである。
エミュレーション防止バイトを除去する方法を示すフローチャートである。
I.コンピューティング環境例
図1は、説明する手法とツールが実装され得る好適なコンピューティング環境(100)の一般化例を示す。コンピューティング環境(100)は、利用や機能性の範囲について限定することを意図したり示唆するものではない。本手法とツールは広範な汎用コンピューティング環境や特定目的コンピューティング環境で実施することができるからである。
図1を参照して、コンピューティング環境(100)は、コンピューティングデバイスを実装する際に利用できる一以上の処理ユニット(110,115)とメモリ(120,125)を含む。図1では、この最も基本的な構成(130)は点線内に含まれる。処理ユニット(110、115)はコンピュータ実行可能命令を実行する。処理ユニットは、汎用中央処理ユニット(CPU)、特定用途集積回路(ASIC)中のプロセッサ、その他の任意のタイプのプロセッサであり得る。マルチプロセッシングシステムにおいて、複数の処理ユニットは、コンピュータ実行可能命令を実行して、処理パワーを増加する。例えば、図1は、中央処理ユニット(110)及びグラフィックス処理ユニットまたは補助処理ユニット(115)を示す。メモリ(120、125)は、処理ユニットがアクセスできる、揮発性メモリ(例えば、レジスタ、キャッシュ、RAM)であっても、非揮発性メモリ(例えば、ROM、EEPROM、フラッシュメモリなど)であっても、またはこれら2つのの組合せであってもよい。メモリ(120,125)は、処理ユニットによる実行に適したコンピュータ実行可能命令の形式の、デコーダを最適化する一以上のイノベーションを実現するソフトウェア(180)を記憶している。
コンピューティング環境は追加的機能(features)を有していても良い。例えば、コンピューティング環境(100)は、記憶装置(140)、一以上の入力デバイス(150)、一以上の出力デバイス(160)、及び一以上の通信接続(170)を含む。バス、コントローラ、またはネットワークなどの相互接続メカニズム(図示せず)が、コンピューティング環境(100)のコンポーネントを相互接続する。一般的には、オペレーティングシステムソフトウェア(図示せず)が、そのコンピューティング環境(100)で実行している他のソフトウェアに動作環境を提供し、コンピューティング環境(100)のコンポーネントの動作を調整する。
記憶装置(140)は、リムーバブルまたは非リムーバブルであり、磁気ディスク、磁気テープやカセット、CD−ROM、DVD、またはその他の記憶媒体であって一時的でない情報の記憶に使え、コンピューティング環境(100)内でアクセスできるものを含む。ストレージ(140)は、デコーダ最適化する一以上のイノベーションを実現するソフトウェア(180)の命令を記憶できる。
入力デバイス(150)は、キーボード、マウス、ペン、トラックボールなどのタッチ入力デバイス、音声入力デバイス、スキャニングデバイス、またはその他のデバイスであってコンピューティング環境(100)に入力を提供するものである。ビデオデコーディングの場合、入力デバイス(150)は、ビデオカード、テレビチューナカード、または同様のデバイスであってアナログまたはデジタル形式のビデオ入力を受け付けるもの、またはCD−ROMやCD−RWであってコンピューティング環境(100)にビデオサンプルを読み込むものであり得る。出力デバイス(160)は、例えば、ディスプレイ、プリンタ、スピーカ、CDライタ、またはその他のデバイスであってコンピューティング環境(100)からの出力を提供するものである。
通信接続(170)により通信媒体による他のコンピューティングエンティティへの通信が実現できる。通信媒体は、コンピュータ実行可能命令、オーディオやビデオの入出力、その他のデータなどの情報を、変調データ信号として搬送する。変調データ信号は、情報を信号にエンコードするように設定または変更された特徴を有する信号である。限定ではなく例として、通信媒体は、電気的、光学的、RFまたはその他のキャリアで実装される有線または無線の技術を含む。
手法とツールは、コンピュータ読み取り可能媒体の一般的なコンテキストで説明できる。コンピュータ読み取り可能媒体は、コンピュータ環境内でアクセスできる任意の利用可能な有体媒体である。限定ではなく例として、コンピューティング環境(100)において、コンピュータ読み取り可能媒体は、メモリ(120)、ストレージ(140)、及びこれらの組み合わせを含む。
手法とツールは、プログラムモジュールに含まれ、ターゲットリアルまたはバーチャルプロセッサ上のコンピューティング環境で実行されているようなコンピュータ実行可能命令の一般的なコンテキストで説明できる。一般的に、プログラムモジュールには、あるタスクを実行し、またはある抽象的データタイプをインプリメントするルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造などが含まれる。プログラムモジュールの機能は、様々な実施形態で必要に応じて複数のプログラムモジュールに結合または分離してもよい。プログラムモジュールに対するコンピュータ実行可能命令は、ローカルまたは分散コンピューティング環境内で実行できる。
「システム」及び「デバイス」との用語はここでは交換可能に用いられる。文脈により明確に示されない限り、どちらの用語もコンピューティングシステムやコンピューティングデバイスの種類について何らかの限定を示唆するものではない。一般的に、コンピューティングシステムやコンピューティングデバイスは、ローカルまたは分散型であってもよく、特定用途ハードウェア及び/または汎用ハードウェアの任意の組み合わせを含み、ソフトウェアがここに説明する機能を実装し得る。
プレゼンテーションのため、詳細な説明では、コンピューティング環境におけるコンピュータ動作を記載するために「決定する(determine)」や「選択する(select)」などの用語を用いる。これらの用語は、コンピュータにより実行される高次元の抽象的概念であり、人間により行われる行為と近藤してはならない。これらの用語に対応する実際のコンピュータの動作は、実装によって変わる。
II.メタデータ支援復号最適化の概要
図2は、メタデータを用いて復号を最適化する方法を示すフローチャートである。処理ブロック200において、符号化ビデオシーケンスを受信する。符号化ビデオシーケンスはムービークリップその他のビデオシーケンスであってもよく、MPEG−X、AVI、MKV、ASFなどを含むいろいろなコンテナフォーマットのいずれかを用いることができる。また、H.264/AVC、VC−1、MPEG−4 Pt2などのビデオ圧縮の様々な標準を用いることができる。処理ブロック202において、復号決定をするために、符号化ビデオシーケンス中のメタデータを分析し得る。メタデータは、ビデオシーケンスの原画像データを記述または分類するときに支援するために用いられるものであれば何でもよい。例えば、MPEG−4では、シーケンスパラメータセット(SPS)やピクチャパラメータセット(PPS)などのパラメータセットに関するメタデータを取得するため、Sample Description Box(STSD)が用いられる。パラメータセットは、デコーダ最適化決定(処理ブロック204)をするのに用い得るarbitrary slice ordering(ASO)とflexible macroblock ordering(FMO)に関する追加的情報を含み得る。例えば、メタデータを用いて、符号化データを最も効率的なデコーダエンジンに転送する選択をし得る。他の例では、メタデータを用いてビットストリームパーシングを最適化できる。これについては後でさらに説明する。他のメタデータを用いることもでき、ここに説明の実施形態は使用する特定のメタデータや特定のデコーダ最適化決定には限定されない。
III.メタデータを用いたデコーダエンジン選択
図3は、図2と共に用いられる追加的な詳細または処理ブロックを示す実施形態である。処理ブロック300において、メタデータを分析して最も効率的なデコーダエンジンを決定する。効率的なデコーダエンジンは、例えば、最も短時間で復号を実行するものである。メモリ使用量、精度などの他の効率パラメータも分析できる。処理ブロック302において、デコーダは、複数の(例えば、2以上の)デコーダエンジンを含み、分析の結果、符号化データは適当なデコーダエンジンに転送され得る。第1のデコーダエンジンのタイプは、メインプロファイルまたは高次プロファイルのビットストリームを復号できるデコーダエンジンである。一般的に、GPUなどのデコーダエンジンやその他のプロセッサであって復号の一部を復号用に設計された特殊ハードウェアで実行するもの(ハードウェアアクセラレーションと呼ばれる)はこのグループに入る。第2のデコーダエンジンタイプは、ベースライン、メイン、及び高次プロファイルを復号できるものである。ソフトウェアを用いて復号する中央処理ユニット(CPU)は第2のデコーダエンジンタイプの例である。一般的に、CPUは復号以外の目的で用いられる汎用ハードウェアを有し、結果として効率が低い。処理ブロック304において、選択されたデコーダエンジンが符号化データを復号する。ユーザディスプレイなどに復号ビデオを表示するため、復号データを用いることができる。
図4は、MPEG−4の例を用いて、処理ブロック300を詳しく説明した方法を示すフローチャートである。処理ブロック400において、符号化ビットストリームメタデータ中のSPSやPPSなどのパラメータセットを解析(parse)され得る。処理ブロック402と決定ブロック404において、SPS及びPPSのメタデータを分析することにより、ASOやFMOが用いられているか、判断をする。YESであれば、ソフトウェアを用いてビットストリームを復号する(処理ブロック406)CPUなどのベースラインプロファイル、メイン及び高次を復号できるデコーダエンジンを選択する。NOであれば、処理ブロック408において、GPUやその他のハードウェア高速化復号エンジンなどの、メイン及び高次のプロファイルを復号できるデコーダエンジンが選択される。
図5は、複数のデコーダエンジン502、504を含むデコーダ500を示す図である。デコーダエンジン502は、メインプロファイルと高次の符号化データを復号することができるが、一般的にはベースラインプロファイルの復号は出来ないもしくは効率的ではない。このように、データがASOやFMOなどある種のアルゴリズムを用いて符号化されているとき、デコーダエンジン502を使うことはあまり好ましくない。デコーダエンジン504は、ベースラインプロファイル、メイン及び高次(higher)プロファイルを復号できるデコーダエンジンである。このように、デコーダエンジン504は、デコーダエンジン502より種類が多い符号化データタイプを復号できる。506において、どちらのデコーダエンジン502、504が、ここに説明するアルゴリズムを用いて、ビットストリーム中のメタデータに基づいて、受信した符号化データを復号できるか、デコーダ決定ロジックが選択する。
このように、MPEG−4ファイルフォーマットからメタデータが得られれば、フラグが符号化ビットストリーム中に正しく設定されていなくても、ハードウェア高速化ビデオ復号を行える。例えば、クリップ中のMPEG−4ファイルフォーマットからの1つの「stsd」サンプルエントリーがあれば、これはtrueであることが多いが、すべてのSPSとPPSをビットストリーム復号の始めに送信できる。H.264デコーダは、SPSを解析し、ビットストリームがベースラインプロファイルでありメインプロファイルとはコンパチブルでないことを知った後でも、H.264/AVCデコーダは、すべてのPPSを解析して、ビットストリームが本当にFMOとASOを使っているか知ることができた。使っていない場合、多くはこの場合であるが、ビデオ復号のためにビットストリームをハードウェアアクセラレータに送ることができる。基本的に、MPEG−4ファイルフォーマットから得られる追加的メタデータ情報を用いて、さらにワンステップ進んで、すべてのPPSを見て、クリップに対してハードウェア高速化ビデオ復号を使うか否か決定することができる。
IV.ビデオデコーダエンジンの例
図6は、ここに説明する任意の実施形態を用いて復号を実行できる汎用ビデオデコーダエンジン600を示す図である。別のデコーダエンジンを使うこともでき、図6は単なる一例である。デコーダエンジン600は、圧縮ビデオフレームシーケンスの情報695を(例えば、圧縮ビデオビットストリームを介して)受け取り、再構成ブロック605を含む出力を生成する。ビデオデコーダの具体的な実施形態は、汎用デコーダ600のバリエーションまたは補足バージョンを使うこともできる。
デコーダエンジン600は、インター予測及び/またはイントラ予測を用いて符号化されたブロックを解凍する。開示を目的として、図6は、デコーダエンジン600を通るイントラ符号化ブロックのパス(イントラブロックパスとして示す)と、インター符号化ブロックのパス(インターブロックパスとして示す)とを示す。デコーダエンジン600の多くのコンポーネントは、インター符号化ブロックとイントラ符号化ブロックとの両方を圧縮するのに用いられる。それらのコンポーネントにより実行される動作は、解凍される情報の種類に応じて変わり得る。
バッファ690が、圧縮ビデオシーケンスの情報695を受け取り、受け取った情報をエントロピーデコーダ680に利用できるようにする。バッファ690は、典型的には、時間的にほぼ一定なレートでこの情報を受け取る。バッファ690は、再生バッファやその他のバッファを含んでもよい。あるいは、バッファ690は、可変レートで情報を受け取る。
エントロピーデコーダ680は、典型的には、エンコーダで実行されたエントロピー符号化の逆変換をして、量子化されエントロピー符号化されたデータ及びエントロピー符号化されたサイド情報(例えば、動き情報615、フラグ、モード、シンタックス要素、及びその他のサイド情報)をエントロピー復号する。例えば、エントロピーデコーダ680は、後で説明するカウンタベースの可変長符号化法を用いて復号(例えば、シンタックス要素の復号)を実行する。逆量子化器670は、エントロピー復号されたデータを逆量子化する。逆周波数変換器660は、逆周波数変換などの逆変換を適用することにより、量子化された周波数領域データを、空間領域ビデオ情報に変換する。
再構成されるブロック605が前方予測を用いてインター符号化されたブロックであるとき、動き補償器630は、参照フレーム625に動き情報615(例えば、予測動き情報)を適用し、再構成されるブロック605の予測635を構成する。バッファ(ストア)620は、参照フレームとして用いるため、前に再構成されたフレームを記憶する。あるいは、動き補償器は他のタイプの動き補償を適用する。動き補償器による予測が完全であることはほとんどなく、デコーダ600は、ブロック605を再構成するために予測635に加える予測残差645も再構成する。
デコーダが後の動き補償のために再構成フレームを必要とする時、ストア620が、後続フレームの予測で用いる再構成フレームをバッファする。フレーム予測の幾つかの実装では、フレームは、(図示したように)ブロックごとに予測され、フレームの各ブロックが予測され得る。同じフレームのブロックまたは異なるフレームの一以上のブロックからの動き情報を用いて、一以上の予測ブロックを予測することができる。
再構成するブロック605がイントラ符号化ブロックであるとき、イントラ予測器655は、再構成されるブロック610の予測665を構成する。バッファ(ストア)620は、前に再構成されたブロックとフレームを記憶する。動き補償器による予測が完全であることはほとんどなく、デコーダ600は、ブロック610を再構成するために予測665に加える予測残差675も再構成する。
具体的なデコーダエンジンを説明したが、いろいろなデコーダ構造を用いることができる。デコーダエンジンのタイプは設計事項であり、具体的なアプリケーションに依存する。
V.メタデータを用いる最適化ビットストリームパーサ
図7はメタデータを用いるデコーダ最適化の実施方法を示すフローチャートである。例示のため、図7のフローチャートをH.264/AVCデコーダに関して説明する。しかし、言うまでもなく、本方法は他のデコーダタイプにも適用できる。一般的に、H.264/AVCデコーダは、各ネットワークアクセスレイヤユニット(NALU)の始めにスタートコード0x00 00 001を有するビットストリームを受ける。MPEG−4ファイルフォーマットは、各ネットワークアクセスレイヤユニットの長さを示し、サンプルごとに一ピクチャをH.264/AVCデコーダに送る。NALUの長さ情報が利用できるとき、ハードウェア高速化復号においてスタートコードスキャニングを完全にスキップし、NALUの1対1ディレクトリをハードウェアに送る。
処理ブロック700において、デコーダ決定ロジックは、(図5のブロック506に示したように)NALUに関連する長さ及びロケーション情報を読み出す。かかる情報はメタデータであり、入来ビットストリームに関連するファイルコンテナ中に見いだすことができる。処理ブロック702において、長さ及びロケーション情報が、前に説明したように、選択された適当なデコーダエンジンに送られる。あるいは、本方法は、単一のデコーダエンジンを有するデコーダに適用できる。処理ブロック704において、デコーダエンジンは、長さ及びロケーションメタデータ情報を用いて、スタートコードをスキャンせずに、ビットストリームを復号できる。ロケーション情報には、データが始まるビットストリーム中の位置が記載されている。長さ情報により、スタートに対して、データがどこで終わるか分かる。スタートコードのスキャンが必要なくなることにより、CPUサイクルを大幅に節約できる。ロケーション及び長さ情報がすでに分かっているからである。
図8は、エミュレーション防止バイトを分析する追加的方法の一実施形態を示す図である。H.264/AVCビデオのソフトウェア復号では、圧縮ビットストリーム中のエミュレーション防止バイト0x03を除去して、効率的なエントロピー復号を実現できる。すなわち、ソフトウェアCABAC/CAVLC復号は、エントロピー復号のプロセスにおいてエミュレーション防止バイトを検出しない方が効率的であり得る。ソフトウェア復号において、ビットストリームパーサは、スタートコードのパーシングとエミュレーション防止バイトの除去を、ほぼ同時に実行するように設計されている。他方、ハードウェア高速化復号では、圧縮ビットストリームからエミュレーション防止0x03を除去する必要はない。別のビットストリームパーサは、スタートコードのみをスキャンして、ビットストリームパーサがスライスヘッダ、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、及びサプリメンタルエンハンスメント情報(SEI)をデコードする間に、実行中に(動的に)、エミュレーション防止バイト0x03を検出し除去するように設計されていてもよい。
決定ブロック800において、長さ及びロケーション情報がメタデータ中にあるか判断をする。YESであれば、処理ブロック802において、スタートコードの長さ及びロケーションが適当なデコーダエンジンに送られ、そのデコーダがスタートコードスキャンをしなくてすむようにする。NOであれば、スタートコードを検索して、長さ及びロケーション情報を決定できるようにする(処理ブロック804)。検索は、ビットストリームをスキャンして、各バイトをスタートコードと比較して、ロケーションを見いだすことにより行える。エンドコードを検索して、スタートコードとエンドコードの間のバイトをカウントすることにより、長さを決定できる。決定ブロック806において、ソフトウェアデコーダエンジン(例えば、CPU)を用いるか、またはエミュレーションバイトを除去して最適化する必要があるデコーダエンジンを用いるか決定する。これらのデコーダエンジンのどちらかを使う場合、処理ブロック810において、エミュレーション防止バイトをビットストリームから除去する。処理ブロック812において、エミュレーション防止バイトが除去された符号化データは、デコーダエンジンであってベースラインプロファイル、メイン及び高次プロファイルを復号できるものに送られる。長さ及びロケーション情報もデコーダに送ることができる。決定ブロック806の答えがNOであれば、処理ブロック816において、符号化データが、エミュレーション防止バイトを有するメインプロファイル以上を復号できるデコーダに、長さ及びロケーション情報と共に送られる。このように、NALUの長さ情報が利用できるとき、ハードウェア高速化復号においてスタートコードスキャニングを完全にスキップし、NALUの1対1ディレクトリをハードウェアに送る。最適化されたビットストリームパーサは、特にローエンドマシンでのハードウェア高速化ビデオ復号の場合に、CPU使用量で大きなゲインを実現する。
開示の方法はどれも、一以上のコンピュータ読み取り可能記憶媒体に記憶されたコンピュータ実行可能命令として実施でき、コンピュータ上で実行できる。コンピュータ読み取り可能記憶媒体は、例えば、一以上の光媒体ディスク、揮発性メモリコンポーネント(DRAMやSRAMなど)、または不揮発性メモリコンポーネント(ハードディスクドライブなど)などの非一時的コンピュータ読み取り可能媒体などである。コンピュータは、例えば、コンピューティングハードウェアを含むスマートフォンやその他のモバイルデバイスを含む、市販のコンピュータなどである。開示の方法を実施するコンピュータ実行可能命令、及び開示の実施形態の実施中に作成及び使用されるデータは、一以上のコンピュータ読み取り可能媒体(例えば、非一時的コンピュータ読み取り可能媒体)に記憶できる。コンピュータ実行可能命令は、例えば、専用ソフトウェアアプリケーション、またはウェブブラウザやその他のソフトウェアアプリケーションを介してアクセスまたはダウンロードするソフトウェアアプリケーションの一部であってもよい。かかるソフトウェアは、例えば、単一のローカルコンピュータ(例えば、市販の好適なコンピュータ)で、ネットワーク環境(例えば、インターネット、広域ネットワーク、ローカルエリアネットワーク、(クラウドコンピューティングネットワークなどの)クライアントサーバネットワーク、その他のネットワーク)で実行できる。
明確にするため、ソフトウェアベースの実施の、ある側面のみを説明した。本技術分野で周知であるその他の詳細は省略した。例えば、言うまでもなく、開示の技術は特定のコンピュータ言語やプログラムに限定されない。例えば、開示の技術は、C++、Java(登録商標)、Perl、JavaScript(登録商標)、Adobe Flash、その他の好適なプログラミング言語で書かれたソフトウェアにより実施できる。同様に、開示の技術は特定のコンピュータやハードウェアのタイプには限定されない。好適なコンピュータとハードウェアの詳細は周知であり、この開示で詳細に説明する必要はない。
さらに、(例えば、コンピュータに開示の方法を実行させるコンピュータ実行可能命令を有する)どんなソフトウェアベースの実施形態も、好適な通信手段を通してアップロード、ダウンロード、またはリモートアクセスできる。かかる好適な通信手段には、例えば、インターネット、ワールドワイドウェブ、イントラネット、ソフトウェアアプリケーション、ケーブル(光ファイバケーブルを含む)、磁気通信、電磁通信(RF、マイクロ波、及び赤外線通信を含む)、電子通信、その他の好適な通信手段を含む。
開示の発明の原理を適用できる多くの実施形態を考慮して、言うまでもなく、例示の実施形態は単に本発明の好ましい実施例に過ぎず、本発明の範囲を限定するものと取ってはならない。むしろ、本発明の範囲は下記の特許請求の範囲により画定される。それゆえ、これらのクレームの範囲内に入るものはすべて我々の発明として請求する。

Claims (10)

  1. ビデオデコーダを実装するコンピューティングデバイスにおいて、
    ファイルコンテナとともに符号化ビデオシーケンスを受信するステップと、
    前記ビデオデコーダを実装するコンピューティングデバイスで、前記ファイルコンテナ中の前記符号化ビデオシーケンスに関連するメタデータを分析するステップと、
    前記メタデータを用いて、前記ビデオデコーダにおけるデコーダ最適化決定を行うステップとを有する、
    方法。
  2. 前記デコーダ最適化決定は、前記メタデータに基づき、複数のデコーダエンジンから、前記復号を実行するデコーダエンジンを選択するステップを含む、
    請求項1に記載の方法。
  3. 前記複数のデコーダエンジンは、メインプロファイル及びそれ以上のプロファイルのビデオシーケンスを復号できるデコーダエンジンと、ベースライン、メイン及びそれ以上のプロファイルを復号できるデコーダエンジンとのうち一方を含むリストから選択される、請求項2に記載の方法。
  4. 前記メインプロファイル及びそれ以上のプロファイルのビデオシーケンスを復号できるデコーダエンジンは、ハードウェア高速化用のグラフィックス処理ユニットを含み、前記ベースライン、メイン及びそれ以上のプロファイルを復号できるデコーダエンジンは、中央処理ユニットを含む、請求項3に記載の方法。
  5. 前記復号で用いられるアルゴリズムのタイプのメタデータを検索するステップと、前記アルゴリズムのタイプに基づき復号エンジンを選択するステップとをさらに含む、
    請求項1に記載の方法。
  6. 前記アルゴリズムのタイプは、arbitrary slice ordering(ASO)とflexible macroblock ordering(FMO)とを含む、請求項5に記載の方法。
  7. 前記メタデータを検索するステップは、前記符号化ビデオシーケンス中の一以上のパラメータセットを解析するステップを含む、請求項5に記載の方法。
  8. 前記符号化ビデオシーケンスに関連する長さ情報とロケーション情報とを読み出すステップと、前記長さ及びロケーション情報を前記メタデータとしてデコーダエンジンに送るステップとをさらに含む、請求項1に記載の方法。
  9. プログラムされたコンピューティングデバイスに方法を実行させるコンピュータ実行可能命令をエンコードしたコンピュータ読み取り可能記憶デバイスであって、前記方法は、
    デコーダにおいて符号化ビデオシーケンスを受け取るステップと、
    前記符号化ビデオシーケンス中のメタデータを分析して、少なくとも2つのデコーダエンジンのどちらがより効率的か決定するステップと、
    前記符号化ビデオシーケンスを前記決定されたデコーダエンジンに転送するステップとを有する、
    コンピュータ読み取り可能記憶デバイス。
  10. ビデオデコーダを実装するコンピューティングデバイスであって、一以上の処理ユニットを有し、方法を実行するように構成され、前記方法は、
    ビデオシーケンスのビットストリーム中の符号化データを受け取るステップであって、前記ビットストリームはメタデータに含まれる一以上のパラメータセットを含む、ステップと、
    前記一以上のパラメータセットを解析して、arbitrary slice orderingまたはflexible macroblock orderingが用いられるか決定するステップと、
    arbitrary slice orderingまたはflexible macroblock orderingが用いられたとき、ベースライン、メイン及びそれ以上のプロファイルを復号できる第1のデコーダエンジンに、前記符号化データを転送するステップと、
    前記arbitrary slice orderingまたはflexible macroblock orderingが用いられないとき、メインプロファイル及びそれ以上のプロファイルを復号できる、前記第1のデコーダエンジンとは異なる、第2のデコーダエンジンに、前記符号化データを転送するステップとを有する、
    コンピューティングデバイス。
JP2014557749A 2012-02-17 2013-02-13 メタデータ支援ビデオ復号 Pending JP2015513386A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/399,769 2012-02-17
US13/399,769 US9241167B2 (en) 2012-02-17 2012-02-17 Metadata assisted video decoding
PCT/US2013/026004 WO2013123100A1 (en) 2012-02-17 2013-02-13 Metadata assisted video decoding

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2017199533A Division JP6423061B2 (ja) 2012-02-17 2017-10-13 ビデオデコーダを実装するコンピューティングデバイス及びその方法

Publications (2)

Publication Number Publication Date
JP2015513386A true JP2015513386A (ja) 2015-05-11
JP2015513386A5 JP2015513386A5 (ja) 2016-03-10

Family

ID=48982247

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2014557749A Pending JP2015513386A (ja) 2012-02-17 2013-02-13 メタデータ支援ビデオ復号
JP2017199533A Active JP6423061B2 (ja) 2012-02-17 2017-10-13 ビデオデコーダを実装するコンピューティングデバイス及びその方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2017199533A Active JP6423061B2 (ja) 2012-02-17 2017-10-13 ビデオデコーダを実装するコンピューティングデバイス及びその方法

Country Status (6)

Country Link
US (2) US9241167B2 (ja)
EP (1) EP2815574B1 (ja)
JP (2) JP2015513386A (ja)
KR (1) KR102006044B1 (ja)
CN (1) CN104106264B (ja)
WO (1) WO2013123100A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7467675B2 (ja) 2021-01-08 2024-04-15 テンセント・アメリカ・エルエルシー ビデオコーディングのための方法および装置

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014154288A1 (en) * 2013-03-28 2014-10-02 Irdeto B.V. Processing digital content
US9911460B2 (en) 2014-03-24 2018-03-06 Microsoft Technology Licensing, Llc Fast and smart video trimming at frame accuracy on generic platform
US9516147B2 (en) 2014-10-30 2016-12-06 Microsoft Technology Licensing, Llc Single pass/single copy network abstraction layer unit parser
US9854261B2 (en) * 2015-01-06 2017-12-26 Microsoft Technology Licensing, Llc. Detecting markers in an encoded video signal
US10129566B2 (en) * 2015-03-16 2018-11-13 Microsoft Technology Licensing, Llc Standard-guided video decoding performance enhancements
US9979983B2 (en) * 2015-03-16 2018-05-22 Microsoft Technology Licensing, Llc Application- or context-guided video decoding performance enhancements
US10271069B2 (en) 2016-08-31 2019-04-23 Microsoft Technology Licensing, Llc Selective use of start code emulation prevention
US10362241B2 (en) 2016-12-30 2019-07-23 Microsoft Technology Licensing, Llc Video stream delimiter for combined frame
US10931930B2 (en) * 2018-07-06 2021-02-23 Mediatek Singapore Pte. Ltd. Methods and apparatus for immersive media content overlays
US11265580B2 (en) * 2019-03-22 2022-03-01 Tencent America LLC Supplemental enhancement information messages for neural network based video post processing
US11356706B2 (en) 2020-01-08 2022-06-07 Qualcomm Incorporated Storage and delivery of video data for video coding
CN115866254A (zh) * 2022-11-24 2023-03-28 亮风台(上海)信息科技有限公司 一种传输视频帧及摄像参数信息的方法与设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008252818A (ja) * 2007-03-30 2008-10-16 Toshiba Corp 情報処理装置
JP2009503950A (ja) * 2005-07-19 2009-01-29 アップル インコーポレイテッド メディアデータ送信方法及び装置
JP2010098725A (ja) * 2008-10-14 2010-04-30 Nvidia Corp デコーディングパイプラインにおける第2デブロッカー

Family Cites Families (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6311204B1 (en) * 1996-10-11 2001-10-30 C-Cube Semiconductor Ii Inc. Processing system with register-based process sharing
US7082166B2 (en) * 2000-04-17 2006-07-25 Pts Corporation Decoder for decoding segment-based encoding of video data using segmentation performed at a decoder
AU2002332706A1 (en) * 2001-08-30 2003-03-18 Faroudja Cognition Systems, Inc. Multi-layer video compression system with synthetic high frequencies
US7613727B2 (en) * 2002-02-25 2009-11-03 Sont Corporation Method and apparatus for supporting advanced coding formats in media files
US7924921B2 (en) * 2003-09-07 2011-04-12 Microsoft Corporation Signaling coding and display options in entry point headers
US7609762B2 (en) * 2003-09-07 2009-10-27 Microsoft Corporation Signaling for entry point frames with predicted first field
US20050259729A1 (en) * 2004-05-21 2005-11-24 Shijun Sun Video coding with quality scalability
US20060013305A1 (en) * 2004-07-14 2006-01-19 Sharp Laboratories Of America, Inc. Temporal scalable coding using AVC coding tools
WO2006013854A1 (ja) * 2004-08-05 2006-02-09 Matsushita Electric Industrial Co., Ltd. 画像復号化装置および画像符号化装置
US20060126726A1 (en) 2004-12-10 2006-06-15 Lin Teng C Digital signal processing structure for decoding multiple video standards
US20060215754A1 (en) 2005-03-24 2006-09-28 Intel Corporation Method and apparatus for performing video decoding in a multi-thread environment
PL1869833T3 (pl) * 2005-04-15 2016-08-31 Thomson Licensing Sposób zdalnego zarządzania urządzeniem zdalnym i odpowiednie urządzenie wideo
WO2006124885A2 (en) * 2005-05-12 2006-11-23 Kylintv, Inc. Codec for iptv
US8879857B2 (en) * 2005-09-27 2014-11-04 Qualcomm Incorporated Redundant data encoding methods and device
US8436889B2 (en) * 2005-12-22 2013-05-07 Vidyo, Inc. System and method for videoconferencing using scalable video coding and compositing scalable video conferencing servers
US8731051B1 (en) 2006-02-10 2014-05-20 Nvidia Corporation Forward and inverse quantization of data for video compression
US8619865B2 (en) * 2006-02-16 2013-12-31 Vidyo, Inc. System and method for thinning of scalable video coding bit-streams
CN101115195B (zh) 2006-07-24 2010-08-18 同济大学 视频码流的宏块级耦合的解码和环路滤波方法和装置
US8331772B1 (en) * 2006-09-07 2012-12-11 Opentv, Inc. Systems and methods to position and play content
JP4320673B2 (ja) * 2006-12-08 2009-08-26 ソニー株式会社 情報処理装置および方法、並びにプログラム
US20130166580A1 (en) * 2006-12-13 2013-06-27 Quickplay Media Inc. Media Processor
US9124650B2 (en) * 2006-12-13 2015-09-01 Quickplay Media Inc. Digital rights management in a mobile environment
US8428125B2 (en) * 2006-12-22 2013-04-23 Qualcomm Incorporated Techniques for content adaptive video frame slicing and non-uniform access unit coding
US8411734B2 (en) * 2007-02-06 2013-04-02 Microsoft Corporation Scalable multi-thread video decoding
US9648325B2 (en) 2007-06-30 2017-05-09 Microsoft Technology Licensing, Llc Video decoding implementations for a graphics processing unit
US8254455B2 (en) 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
US8265144B2 (en) 2007-06-30 2012-09-11 Microsoft Corporation Innovations in video decoder implementations
US8208745B2 (en) * 2008-01-31 2012-06-26 Analog Devices, Inc. Spatial domain video enhancement/scaling system and method
TWI361009B (en) * 2008-03-06 2012-03-21 Realtek Semiconductor Corp Method and apparatus for processing audio/vedio bi
US9848209B2 (en) * 2008-04-02 2017-12-19 Microsoft Technology Licensing, Llc Adaptive error detection for MPEG-2 error concealment
US8503991B2 (en) * 2008-04-03 2013-08-06 The Nielsen Company (Us), Llc Methods and apparatus to monitor mobile devices
US20090290645A1 (en) * 2008-05-21 2009-11-26 Broadcast International, Inc. System and Method for Using Coded Data From a Video Source to Compress a Media Signal
PT104083A (pt) 2008-06-02 2009-12-02 Inst Politecnico De Leiria Método para transcodificar imagens de vídeo h.264/avc em mpeg-2
KR101444907B1 (ko) 2008-06-24 2014-10-01 (주)휴맥스 홀딩스 Avc 적응적 동영상 복호화 장치 및 방법
US20100027974A1 (en) * 2008-07-31 2010-02-04 Level 3 Communications, Inc. Self Configuring Media Player Control
US8964828B2 (en) 2008-08-19 2015-02-24 Qualcomm Incorporated Power and computational load management techniques in video processing
US8320448B2 (en) 2008-11-28 2012-11-27 Microsoft Corporation Encoder with multiple re-entry and exit points
EP2392138A4 (en) 2009-01-28 2012-08-29 Nokia Corp METHOD AND APPARATUS FOR VIDEO ENCODING AND DECODING
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
US20100226444A1 (en) * 2009-03-09 2010-09-09 Telephoto Technologies Inc. System and method for facilitating video quality of live broadcast information over a shared packet based network
KR101632297B1 (ko) 2009-03-31 2016-07-01 삼성전자주식회사 디지털 데이터 인터페이스를 통한 압축 데이터 전송 방법 및 장치, 수신 방법 및 장치
CN101577110B (zh) 2009-05-31 2012-04-25 腾讯科技(深圳)有限公司 视频播放方法及视频播放器
CN102138335B (zh) * 2009-07-10 2013-02-06 松下电器产业株式会社 再现装置、记录方法及记录介质再现系统
US8737825B2 (en) 2009-09-10 2014-05-27 Apple Inc. Video format for digital video recorder
US20110080425A1 (en) * 2009-10-05 2011-04-07 Electronics And Telecommunications Research Institute System for providing multi-angle broadcasting service
US9369720B2 (en) * 2009-12-28 2016-06-14 Panasonic Intellectual Property Management Co., Ltd. Image coding apparatus and image coding method
JP5996439B2 (ja) * 2010-02-19 2016-09-21 テレフオンアクチーボラゲット エルエム エリクソン(パブル) Httpストリーミングにおける表現切り替えのための方法及び装置
US9100689B2 (en) * 2010-03-24 2015-08-04 Google Technology Holdings LLC Moving content between set top box and end devices in home
US20110261885A1 (en) * 2010-04-27 2011-10-27 De Rivaz Peter Francis Chevalley Method and system for bandwidth reduction through integration of motion estimation and macroblock encoding
US8576184B2 (en) * 2010-08-19 2013-11-05 Nokia Corporation Method and apparatus for browsing content files
US9411795B2 (en) * 2010-09-13 2016-08-09 Hewlett-Packard Development Company, L.P. Content placement
JP2012085211A (ja) * 2010-10-14 2012-04-26 Sony Corp 画像処理装置および方法、並びにプログラム
CN101986708A (zh) 2010-10-29 2011-03-16 北京中星微电子有限公司 一种视频解码方法及解码器
US9071848B2 (en) * 2011-03-15 2015-06-30 Broadcom Corporation Sub-band video coding architecture for packet based transmission
US9338465B2 (en) * 2011-06-30 2016-05-10 Sharp Kabushiki Kaisha Context initialization based on decoder picture buffer
GB2492540B (en) * 2011-06-30 2015-10-14 Samsung Electronics Co Ltd Receiving a broadcast stream
WO2013030458A1 (en) * 2011-08-31 2013-03-07 Nokia Corporation Multiview video coding and decoding
US8891630B2 (en) * 2011-10-24 2014-11-18 Blackberry Limited Significance map encoding and decoding using partition set based context assignment
US9942580B2 (en) * 2011-11-18 2018-04-10 At&T Intellecutal Property I, L.P. System and method for automatically selecting encoding/decoding for streaming media
US20130148947A1 (en) * 2011-12-13 2013-06-13 Ati Technologies Ulc Video player with multiple grpahics processors
US9819949B2 (en) * 2011-12-16 2017-11-14 Microsoft Technology Licensing, Llc Hardware-accelerated decoding of scalable video bitstreams
US9924162B2 (en) * 2012-01-19 2018-03-20 Sun Patent Trust Image decoding method including switching a decoding order to either a fixed processing order or an adaptive processing order
US9729870B2 (en) * 2012-01-31 2017-08-08 Apple Inc. Video coding efficiency with camera metadata
US11240515B2 (en) * 2012-09-10 2022-02-01 Apple Inc. Video display preference filtering

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009503950A (ja) * 2005-07-19 2009-01-29 アップル インコーポレイテッド メディアデータ送信方法及び装置
JP2008252818A (ja) * 2007-03-30 2008-10-16 Toshiba Corp 情報処理装置
JP2010098725A (ja) * 2008-10-14 2010-04-30 Nvidia Corp デコーディングパイプラインにおける第2デブロッカー

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7467675B2 (ja) 2021-01-08 2024-04-15 テンセント・アメリカ・エルエルシー ビデオコーディングのための方法および装置

Also Published As

Publication number Publication date
CN104106264B (zh) 2017-05-17
EP2815574A4 (en) 2015-10-07
JP2018026871A (ja) 2018-02-15
US9807409B2 (en) 2017-10-31
US20130215978A1 (en) 2013-08-22
KR102006044B1 (ko) 2019-07-31
EP2815574A1 (en) 2014-12-24
JP6423061B2 (ja) 2018-11-14
KR20140123957A (ko) 2014-10-23
CN104106264A (zh) 2014-10-15
WO2013123100A1 (en) 2013-08-22
US20160219288A1 (en) 2016-07-28
EP2815574B1 (en) 2019-07-24
US9241167B2 (en) 2016-01-19

Similar Documents

Publication Publication Date Title
JP6423061B2 (ja) ビデオデコーダを実装するコンピューティングデバイス及びその方法
US20230254504A1 (en) Representative motion information for temporal motion prediction in video encoding and decoding
TWI603609B (zh) 簡化視訊隨機存取之限制及單元類型
JP5782522B2 (ja) ビデオ符号化方法および装置
US9271013B2 (en) Merge mode for motion information prediction
US8218640B2 (en) Picture decoding using same-picture reference for pixel reconstruction
US20150146794A1 (en) Decoding For High Efficiency Video Transcoding
US10298931B2 (en) Coupling sample metadata with media samples
US8121189B2 (en) Video decoding using created reference pictures
KR102589712B1 (ko) 비디오 디코딩 방법 및 장치, 저장 매체
JP7297089B2 (ja) コード化ピクチャにおける混合nalユニット・タイプをサポートする方法、システム及びコンピュータ・プログラム
JP7437426B2 (ja) インター予測方法および装置、機器、記憶媒体
WO2020255771A1 (ja) 画像処理装置および方法
US20120147972A1 (en) Image decoding apparatus, image decoding method, image encoding apparatus, image encoding method, and program
JP2014017621A (ja) 映像圧縮フォーマット変換装置、映像圧縮フォーマット変換方法、およびプログラム
Israr et al. Code Improvements Towards Implementing HEVC Decoder
JP2023543592A (ja) ビデオエンコーダの少なくとも1つのプロセッサによって実行される方法、システム、及びコンピュータプログラム、並びにビデオデコーダの少なくとも1つのプロセッサによって実行される方法
JP2022522842A (ja) ビデオコーディングのための方法、装置及びプログラム
KR20110061791A (ko) 비디오 트랜스코딩 또는 이를 이용한 비디오 디코딩을 수행하기 위한 방법, 시스템, 및 컴퓨터 판독 가능한 기록 매체
JP2014150307A (ja) 映像圧縮フォーマット変換装置、映像圧縮フォーマット変換方法、およびプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160118

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160118

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170526

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170613