JP2008527945A - リアルタイム並列符号化の方法及び装置 - Google Patents

リアルタイム並列符号化の方法及び装置 Download PDF

Info

Publication number
JP2008527945A
JP2008527945A JP2007552197A JP2007552197A JP2008527945A JP 2008527945 A JP2008527945 A JP 2008527945A JP 2007552197 A JP2007552197 A JP 2007552197A JP 2007552197 A JP2007552197 A JP 2007552197A JP 2008527945 A JP2008527945 A JP 2008527945A
Authority
JP
Japan
Prior art keywords
separate
encoder
processors
encoded
gops
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
JP2007552197A
Other languages
English (en)
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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=36123806&utm_source=***_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2008527945(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of JP2008527945A publication Critical patent/JP2008527945A/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/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/124Quantisation
    • 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/127Prioritisation of hardware or computational resources
    • 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/177Methods 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 a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

複数のプロセッサ間で符号化処理を並列化する装置及び方法を提供する。装置は、計算資源バランサ(199)及びスプリッタ(145)を含む。計算資源バランサ(199)は、スレッド・アフィニティ及び処理アフィニティの少なくとも一方に基づいて複数のプロセッサのそれぞれに符号器インスタンスを割り当てる。スプリッタ(145)は、符号器インスタンスそれぞれが、別個のGOPそれぞれが複数のプロセッサそれぞれで符号化されるように入力ビデオ系列を並列に符号化することができるように入力ビデオ系列を別個のGOPに時間的に分割する。

Description

関連出願への相互参照
本願は、その内容全体を本明細書及び特許請求の範囲に援用する、「METHOD AND APPARATUS FOR REAL TIME PARALLEL VIDEO ENCODING」と題する西暦2005年1月19日付出願の米国仮出願第60/645,179号(代理人整理番号PU0500013)の利益を主張する。
本発明は一般に、ビデオ符号器及びビデオ復号器に関し、特に、リアルタイム並列ビデオ符号化の方法及び装置に関する。
ビデオ・データのリアルタイム符号化は、計算量の要求が非常に厳しく、かなりの量のメモリ及び計算資源を必要とする。
並列システム及び分散システムを用いたビデオ符号化は過去に、いくつかの事例においてMPEG1システム及びMPEG2システムに用いられている。最も顕著な事例の1つには、並列バークレー符号器プロジェクトがある。このプロジェクトの目標は、ビデオ系列を時間方向において並列化することによってビデオ符号化処理を加速化させることであった。並列バークレー符号器プロジェクトは、いくつかのフレームを各プロセッサに計算量測定に基づいて割り当てる動的スケジューリング手法を利用する。計算量測定において、かつ符号化中にアンバランスが見出されるにつれ、新たな作業負荷割り当てが、符号化対象の将来の系列について算出される。
しかし、並列システム及び分散システムを用いたビデオ符号化には欠点がない訳でない。よって、符号化時間が一定であるように並列アーキテクチャにリアルタイム符号化(例えば、JVT/H.264/MPEG−4 AVC(「JVT」)標準による)のために時間的ビデオ系列をスケジューリングするという課題を解決するリアルタイム並列ビデオ符号化の方法及び装置を有することが望ましく、大いに効果的である。更に、並列ビデオ符号器の複数のインスタンスに関して正確なレート制御を維持するという別の課題を解決するリアルタイム並列ビデオ符号化の方法及び装置を有することが望ましく、大いに効果的である。更に、マルチプロセッサPCプラットフォーム上でのリアルタイム符号化という更に別の課題を解決する方法及び装置を有することが望ましく、大いに効果的である。
従来技術の前述並びにその他の欠点及び不利点は、リアルタイム並列ビデオ符号化の方法及び装置に関する本発明によって解決される。
本発明の一局面によれば、複数のプロセッサ間で符号化処理を並列化する装置を提供する。装置は、計算資源バランサ及びスプリッタを含む。計算資源バランサは、スレッド・アフィニティ及び処理アフィニティの少なくとも一方に基づいて複数のプロセッサのそれぞれに符号器インスタンスを割り当てる。スプリッタは、符号器インスタンスそれぞれが、別個のGOPそれぞれが複数のプロセッサそれぞれで符号化されるように入力ビデオ系列を並列に符号化することができるように入力ビデオ系列を別個のピクチャ群(GOP)に時間的に分割する。
本発明の別の局面によれば、複数のプロセッサ間で符号化処理を並列化する方法を提供する。この方法は、スレッド・アフィニティ及び処理アフィニティの少なくとも一方に基づいて複数のプロセッサのそれぞれに符号器インスタンスを割り当てる工程を含む。この方法は、符号器インスタンスそれぞれが、別個のGOPそれぞれが複数のプロセッサそれぞれで符号化されるように入力ビデオ系列を並列に符号化するように入力ビデオ系列を別個のGOPに時間的に分割する工程も含む。
本発明の更に別の局面によれば、複数のプロセッサ間で符号化処理を並列化する装置を提供する。装置は、計算資源バランサ及びスプリッタを含む。計算資源バランサは、スレッド・アフィニティ及び処理アフィニティの少なくとも一方に基づいて複数のコンピュータ・プロセッサのそれぞれに符号器インスタンスを割り当てる。スプリッタは、別個のスライスそれぞれが複数のプロセッサそれぞれで符号化されるように符号器インスタンスそれぞれが入力ビデオ系列を並列に符号化することができるように入力ビデオ系列を別個のスライスに空間的に分割する。
本発明の更に別の局面によれば、複数のプロセッサ間で符号化処理を並列化する方法を提供する。この方法は、スレッド・アフィニティ及び処理アフィニティの少なくとも一方に基づいて複数のプロセッサのそれぞれに符号器インスタンスを割り当てる工程を含む。この方法は、符号器インスタンスそれぞれが、別個のスライスそれぞれが複数のプロセッサそれぞれで符号化されるように入力ビデオ系列を並列に符号化することができるように入力ビデオ系列を別個のスライスに空間的に分割する工程も含む。
本発明の前述並びにその他の局面、特徴及び利点は、添付図面に関して検討するものとする、以下の、例示的な実施例の詳細な説明から明らかになるであろう。
本発明は、リアルタイム並列ビデオ符号化の方法及び装置に関する。効果的には、本発明は、標準的なマルチプロセッサ・デスクトップPCを用いたリアルタイム・ビデオ符号化を提供するが、特許請求の範囲は、マルチプロセッサ・デスクトップPCの環境に限定されると解されないものとする。本発明は、JVT/H.264/MPEG−4 AVC (「JVT」)標準ビデオ符号化環境において説明しているが、本発明の原理は、他のビデオ圧縮標準に用いることにも適用可能である。
前述の通り、リアルタイムJVT符号化は、計算量の要求が非常に厳しく、かなりの量のメモリ及び計算資源を必要とする。本明細書及び特許請求の範囲では、時間的なピクチャ群(GOP)単位で、複数プロセッサ間でJVTビデオ符号化処理を並列化してリアルタイム符号化を達成する方法及び装置が提供される。本発明では、手法(例えば、マルチスレッド・ソフトウェア・スケジューリング手法と組み合わせたピクチャ計算量解析及びシーン切り換え検出など)を組み合わせている。
ビデオ系列の一部をプロセッサ間でスケジューリングすべき方法を求めるための性能メトリックに全面的に注力するよりも、更なる要素(例えば、時間ウィンドウに加えたシーン切り換え検出など)を用いて系列をスケジューリングする。更に、並列JVT符号器では、符号化対象の系列の各セグメントは互いに独立している(前述の並列バークレー符号器プロジェクトではそうでない)。並列バークレー符号器プロジェクトでは、符号器のインスタンス間の復号化参照フレームの多少の交換が存在しており、これは、望ましくない更なる負荷をもたらし得る。独立している系列を用いることによって、並列に符号化されるデータの相互依存性が最小にされ、その結果、各符号器インスタンス間の最小の通信しかもたらさない。更に、符号器インスタンス間の正確なビットレート制御、及びシーン切り換え検出は並列バークレー符号器プロジェクトでは解決されていないことも特筆すべきである。よって、本発明及びバークレー符号器プロジェクトは並列ビデオ符号化に関するが、本発明は、並列符号化を達成するのに用いる基本的なステップ及びアプローチの多く(ピクチャ系列がプロセッサ間でスケジューリングされる方法、及びレート制御が正確に維持される方法を含むが、これらに限定されない)において異なる。
効果的には、本発明は、符号化時間が一定であるように並列アーキテクチャにリアルタイムJVT符号化のためにビデオの時間系列をスケジューリングするという課題を解決する。更に、本発明は効果的には、並列JVTビデオ符号器の複数インスタンスに関して正確なレート制御を維持するという別の課題を解決する。更に、本発明は効果的には、マルチプロセッサPCプラットフォーム上のリアルタイム符号化という更に別の課題を解決する。
本明細書は、本発明の原理を例証する。よって、本明細書及び特許請求の範囲に明示的に説明されているものでないか、又は示されているものでないが、本発明の原理を実施し、その趣旨及び範囲内に含まれる種々の構成を当業者が考え出すことができるであろう。
本明細書及び特許請求の範囲記載の、例、及び条件付き言い回しは全て、本発明の原理、及び、技術を進展させるために本願発明者が貢献する本願の概念の理解を支援するという教示の目的のためであることが意図されており、前述の特に記載された例及び条件に限定されないものと解されることとする。
更に、本発明の原理、局面及び実施例、並びにその特定の例を記載した、本明細書及び特許請求の範囲内の提示は全て、その構造的な均等物及び機能的な均等物を包含することが意図されている。更に、現在知られている均等物、及び、将来において開発される均等物(すなわち、構造に係わらず、同じ機能を行う、開発された何れかの構成要素)を前述の均等物が含むことが意図されている。
よって、例えば、本明細書記載のブロック図が、本発明の原理を実施する例証的な回路の概念図を表すことが当業者によって分かるであろう。同様に、コンピュータ又はプロセッサを明示的に示しているか否かに係わらず、コンピュータ読み取り可能媒体において実質的に表し、よって、コンピュータ又はプロセッサによって実行することができる種々の処理を、何れかのフローチャート、フロー図、状態遷移図、疑似コード等が表すことが分かるであろう。
図に示す種々の構成要素の機能は、専用ハードウェア、及び適切なハードウェアに関連してソフトウェアを実行することができるハードウェアを用いることによって提供することができる。プロセッサによって備えられる場合、機能は、単一の専用プロセッサによって、単一の共有プロセッサによって、又は複数の個々のプロセッサ(一部は共有され得る)によって備えることができる。更に、「プロセッサ」又は「コントローラ」の語を明示的に用いていることは、ソフトウェアを実行することができるハードウェアを排他的に表すものと解されないものとし、ディジタル信号プロセッサ(「DSP」)ハードウェア、ソフトウェアを記憶するリード・オンリー・メモリ(「ROM」)、ランダム・アクセス・メモリ(「RAM」)、及び不揮発性記憶装置を限定なしで暗黙的に含み得る。
他のハードウェア(通常のハードウェア及び/又はカスタム)も含むことができる。同様に、図に示すスイッチは何れも、概念的なものに過ぎない。その機能は、プログラム・ロジックの処理によって、専用ロジックによって、プログラム制御と専用ロジックとの相互作用によって行うことができ、又は手作業によっても行うことができる。特定の手法は、意味合いから、より具体的に理解されるように実施者によって選択可能である。
本願の特許請求の範囲では、特定された機能を行う手段として記載された構成要素は、その規定された機能を行うやり方(例えば、a)その機能を行う回路要素の組み合わせ、b)何れかの形態のソフトウェア(よって、上記機能を行うために上記ソフトウェアを実行する適切な回路と組み合わせた、ファームウェア、マイクロコード等を含む)を含む)を包含することが意図されている。前述の特許請求の範囲記載の本発明は、特許請求の範囲が要求するやり方で、記載された種々の手段によって提供される機能が組み合わせられ、集約されることにある。よって、前述の機能を提供することが可能な如何なる手段も、本明細書及び特許請求の範囲記載のものと均等であるものとする。
効果的には、本発明は、複数のプロセッサ(例えば、標準マルチプロセッサ・デスクトップPC上)間でリアルタイムJVT符号化を達成する新しい手法を提供する。リアルタイムJVT符号化を達成する計算量集約的な要件を前提とすれば、この目標を達成するために、並列アーキテクチャが必要と考えられた。ビデオ符号器を並列化し、マクロブロックを並列に符号化するための手法(例えば、内部アルゴリズム(すなわち、動き推定、モード決定等)における並列性の活用など)はいくつか、別々のものが存在しているが、ピクチャ又はGOPの系列を並列に符号化する手法が選ばれた。この手法は、複数のプロセッサ間のスケーリングの可能性が高く、既存のJVT符号器のコア・アーキテクチャ及び機能に行う必要がある変更も制限する。
図1に移れば、JVT/H.264/MPEG4 AVC(「JVT」)環境における並列ビデオ符号器アーキテクチャは、全体を参照番号100で示す。
並列ビデオ符号器アーキテクチャ100は、オーディオ・グラバ110の入力と信号通信で接続される第1の出力と、デインタレーサ/雑音フィルタ/スケーラ130の入力と信号通信で接続される第2の出力とを有するリアルタイム・キャプチャ・インタフェースを含む。
オーディオ・グラバ110の出力は、オーディオ符号器(以下「オーディオ符号器」)115の少なくとも1つのインスタンスの入力と信号通信で接続される。オーディオ符号器115の出力は、MPEG2−TSマルチプレクサ120の第1の入力と信号通信で接続される。MPEG2トランスポート・ストリーム(TS)マルチプレクサ120の出力は、ディジタル・ビデオ放送非同期シリアル・インタフェース(DVB−ASI)送信器(Tx)125の入力と信号通信で接続される。
デインタレース/雑音フィルタ/スケーラ130の出力は、ビデオ・グラバ135の入力と信号通信で接続される。ビデオ・グラバ135の出力は、プリプロセッサ/計算量解析器140と信号通信で接続される。プリプロセッサ/計算量解析器140の出力は、ピクチャ群(GOP)スプリッタ・キュー(本明細書では、「シーン切り換え検出器」としても表す)145の入力と信号通信で接続される。GOPスプリッタ・キュー145の第1乃至第Nの出力はそれぞれ、JVT符号器150の第1乃至第Nのインスタンスの入力と信号通信で接続される。JVT符号器150の第1乃至第Nのインスタンスの出力はそれぞれ、符号化JVTマルチプレクサ160の第1乃至第Nの入力と信号通信で接続される。符号化JVTマルチプレクサ160の出力は、MPEG−2 TSマルチプレクサ120の第2の入力と信号通信で接続される。
並列ビデオ符号器アーキテクチャ100は、システム資源を識別し、スレッド及びプロセッサのアフィニティの割り当て(例えば、符号器毎に単一のプロセッサ)を行うことが可能なように資源を割り当てる計算資源バランサ199を更に含む。計算資源バランサ199は、少なくとも、JVT符号器インスタンス150、又はJVT符号器インスタンス150を作成/管理する構成要素と信号通信で接続される。計算資源バランサ199は、図1に示す構成要素の全体のデータ連鎖を設定する役目を基本的に担う主アプリケーション(図示せず)の一部であり得るか、又は、図1に示すスタンドアロンの構成要素であり得る。
図1に示す構成要素の一部がハードウェアとして表されており、他がソフトウェアとして表されている一方で、本発明は図1に示すまさにその構成に限定されず、よって、本明細書及び特許請求の範囲記載の本発明の教示が与えられれば、前述の構成要素の他の構成及び実現形態も、本発明の範囲を維持する限り、使用することができる。例えば、本発明の他の実施例では、ハードウェア構成要素として図1に示す構成要素はソフトウェア構成要素として表すことができ、ソフトウェア構成要素として図1に示す構成要素はハードウェア構成要素として表すことができ、かつ/又は、一タイプ(ハードウェア若しくはソフトウェア)として示す構成要素はハードウェア及びソフトウェアの組み合わせとして実現される。
図1中のデータのフローは左から右に進み、入力データは、ビデオ・ソースとして表され、非圧縮ビデオ形式(YUV420(これに限られない)など)であり、出力データは、例えば、圧縮JVTビデオNALユニットで表される。リアルタイム・キャプチャ・インタフェース105は例えば、アナログ・キャプチャ・インタフェース、又は、ディジタル・ビデオ・キャプチャ・インタフェース(シリアル・ディジタル・インタフェース(SDI)やDV(IEEE1394)など)であり得る。
次に、図1に示すデインタレーサ/雑音フィルタ/スケーラ130に関して更に説明する。デインタレース、フィルタリング及びスケーリングは全て、符号器プラットフォームの重要な機能構成部分である。まず、アナログ・キャプチャ・システムでは、入力ビデオは、インタレースされた標準品位(SD)の形式(すなわち、毎秒60フィールドでの720x480i)である。しかし、本発明の原理によるリアルタイムH.264符号器は好ましくは、毎秒30フレームでの352x288又はCIFの最大分解能でのプログレシブ・ビデオを受け入れる。デインタレース変換に加えて、雑音フィルタリング及びスケーリングも実現される。雑音フィルタリングは、空間的かつ/又は時間的に雑音を除去して(すなわち、動き補償時間フィルタリング)、符号化のためにビデオの品質を向上させる。更に、入力ビデオの分解能が符号器に対して正しいようにスケーリングが実行される。
更に、この特定のH.264符号器プラットフォームでは、デインタレース、フィルタリング及びスケーリングは全て、ハードウェアで行われる。しかし、本発明は前述の構成に限定されず、よって、前述の機能は、ソフトウェアで、又はハードウェア及びソフトウェアの組み合わせで行うこともできる。
次に、図1に示すビデオ・グラバ135に関する更なる説明を表す。ビデオ・グラバ135は、入力ビデオ・フレームが、入力キャプチャ・カードから一定レートでキャプチャされる場所である。ビデオ・グラバ135は、ビデオ・フレームを入力バッファにキャプチャし、これを次いで、解析のために符号器のプリプロセッサに転送する高優先度スレッドとして実現することができる。
次に、図1に示すプリプロセッサ/計算量解析器140及びGOPスプリッタ・キュー145に関して更に説明する。GOPスプリッタ・キュー145は、図1に示す並列符号器インスタンスそれぞれに入力系列を供給する。ピクチャ群(GOP)は、特定のやり方で符号化される対象のビデオ・フレーム系列として定義される。例えば、毎秒30フレームのビデオ系列における半秒のGOPは場合によっては、IBBPBBPBBPBBPBBPの符号化フレーム系列として符号化することが可能である。特に、プリプロセッサの計算量解析器140及び符号器150に提示される各GOPの第1のフレームは、何れの先行符号化ピクチャにも依存しないように瞬時復号化リフレッシュ(IDR)同期フレームとして符号化される。
プリプロセッサの計算量解析器は、先行フレームに対する個々のビデオ・フレームそれぞれの計算量を計算する。この段階では、16x16の高速動き推定が、マクロブロック毎に行われる。マクロブロック単位に以下の統計の少なくとも一部が収集され、少なくとも3つのGOP(すなわち、水平動きベクトル、垂直動きベクトル、絶対差(SAD)の和、並びに、分散及び標準偏差)の期間中、符号器内の後の使用のために格納される。
上記統計を用いて、結果として生じる符号化ビットストリームの所望のレート制御設定のより正確な達成を支援する。分散は、画像及び符号化計算量の好適な尺度をもたらす。その結果、フレーム単位のビット割り当てがより最適になる。更に、統計を用いて、ビットストリーム内でシーン切り換えが生じ得る場所も算出する。これによって、その場合、ビットストリームをより好適に符号化する方法に関するヒントが符号器に与えられる。
ピクチャ毎の推定数のビットは更に、符号器間での符号化ピクチャ出力品質及びバッファ制約に関してレート制御を一定に保つようプリプロセッサ/計算量解析器140において割り当てる。
次に、図1に示すJVT符号器150に関して更に説明する。前処理後、かつ、十分なビデオ・データが利用可能になると、JVT符号器150の各インスタンスに、符号化対象のGOPが提示される。フレームが符号化されるにつれ、符号化フレームは、マルチプレクサ160において、ソートされたリンク・リストに挿入される。アンバランス及び理想的でないシステム状態によって、狂った順序でフレームが到着する場合があり得る可能性が高い。
次に、図1に示す符号化JVTマルチプレクサ160に関して更に説明する。符号化JVTマルチプレクサ160は、符号器出力フレームの正しい順序を確実にし、符号化JVTビットストリームを順番にファイル又は伝送インタフェースに後に供給する。最も一般的な伝送インタフェースは、DVB‐ASIインタフェース及びイーサネット(登録商標)である。DVB‐ASIインタフェースは標準化されたMPEG2伝送インタフェースである一方、イーサネット(登録商標)・インタフェースは、インターネット・プロトコル(IP)伝送の標準インタフェースである。
次に、本発明の原理によるレート制御に関して説明する。デュアル・プロセッサ符号器におけるレート制御手法の目的は、各符号器インスタンスの出力ビットレートと目標ビットレートとの一致を保つことである。更に、符号器の別個のインスタンスによって符号化されるGOP間の符号化品質を一定に維持することも望ましい。特に、各GOP間の符号化ビデオにおける品質のばらつきが大きいことは視覚的に望ましくない。GOP間の品質のばらつきを制限するために、量子化パラメータ(QP)は、一GOPの最後と次のGOPの最初との間で大きくばらついてはならない。プリプロセッサ/計算量解析器140は、フレーム間の符号化QP差が最小にされるようなGOP間の境界条件の推定を支援する。
図2に移れば、JVT/H.264/MPEG4 AVC(「JVT」)環境における並列ビデオ符号化の方法は、参照番号200で全体を示す。
開始ブロック202は、機能ブロック205にコントロールを移す。機能ブロック205は、スレッド・アフィニティ及び/又は処理アフィニティに基づいて複数のコンピュータ・プロセッサそれぞれに符号器インスタンスを割り当てる。機能ブロック210は、別個のGOPそれぞれが複数のプロセッサそれぞれで符号化されるように入力ビデオ系列を並列に符号器インスタンスそれぞれが符号化することができるように入力ビデオ系列を別個のGOPに時間的に分割し、機能ブロック215にコントロールを移す。
機能ブロック210は、機能ブロック211及び機能ブロック212も含む。機能ブロック211は、別個のGOP間で一定の符号化品質が(例えば、符号器インスタンス間の平均QPを把握する、符号器インスタンス間の静的大局変数及び/又は共通変数を維持することによって)維持されるように別個のGOP間の量子化パラメータ(QP)差を制限する。機能ブロック212は、符号器インスタンスそれぞれが互いに独立して動作することができるように、符号器インスタンスに提示される別個のGOPそれぞれの第1のフレームをIDRフレームとして符号化する。
機能ブロック215は、GOP符号化が終了した後に、別個のGOP内のピクチャを順番に(例えば、ピクチャ・レベル及び/又はGOPレベルにおいてタイムスタンプ及び/又は連番を用いて)再配列し、終了ブロック220にコントロールを移す。
図3に移れば、JVT/H.264/MPEG4 AVC(「JVT」)環境における並列ビデオ符号化の別の方法は、全体を参照番号300で示す。
開始ブロック302は、機能ブロック305にコントロールを移す。機能ブロック305は、スレッド・アフィニティ及び/又は処理アフィニティに基づいて複数のコンピュータ・プロセッサそれぞれに符号器インスタンスを割り当て、機能ブロック310にコントロールを移す。機能ブロック310は、別個のスライスそれぞれが複数のプロセッサそれぞれで符号化されるように入力ビデオ系列を並列に符号器インスタンスそれぞれが符号化することができるように入力ビデオ系列を別個のスライスに空間的に分割し、終了ブロック320にコントロールを移す。
機能ブロック310は機能ブロック311も含む。機能ブロック311は、別個のGOP間で一定の符号化品質が(例えば、符号器インスタンス間の平均QPを把握する、符号器インスタンス間の静的大局変数及び/又は共通変数を維持することによって)維持されるように別個のGOP間の量子化パラメータ(QP)差を制限する。
次に、本発明の多くの付随的な利点/特徴の一部を説明する。例えば、1つの利点/特徴は、複数のコンピュータ・プロセッサ間でH.264符号化処理を並列化する装置である。この装置は、スレッド・アフィニティ及び/又は処理アフィニティに基づいて複数のコンピュータ・プロセッサそれぞれに符号器インスタンスを割り当てる計算資源バランサと、各符号器インスタンスが入力ビデオ系列を並列に符号化することが可能であるように入力ビデオ系列を別個のGOP又は別個のスライスに分割するスプリッタとを含む。別個のGOP又は別個のスライスは、1つのGOP又はスライスが、複数のコンピュータ・プロセッサの1つで符号化され、別のGOP又はスライスが、複数のコンピュータ・プロセッサの別の1つで符号化される等のように符号化される。更に、別の利点/特徴は、前述の装置であり、この装置では、GOP間又はスライス間で一定の符号化品質が維持されるようにGOP間又はスライス間の量子化パラメータ(GP)差が制限される。GP差は、符号器インスタンス間の平均QPを把握する、例えば、静的大局変数(又は、2つの符号器スレッド間の共通の変数)によって維持することができる。更に、別の利点/特徴は、前述の装置であり、この装置では、GOP符号化の終了後に、ピクチャが順番に再配列される。再配列は、例えば、ピクチャ・レベル及び/又はGOPレベルにおいてタイムスタンプ及び/連番を用いることによって、行うことができる。更に、別の利点/特徴は、前述の符号器であり、この符号器では、符号器インスタンスにそれぞれ提示される別個のGOPそれぞれの第1のフレームがIDRフレームとして符号化される。各GOPの当初フレームをIDRフレームとして符号化することによって、符号器の2つのインスタンスは、独立して動作することができる。
本発明の前述並びにその他の特徴及び利点は、本明細書及び特許請求の範囲記載の教示に基づいて当業者によって容易に確認することができる。本発明の教示は、ハードウェア、ソフトウェア、ファームウェア、専用プロセッサ、又はそれらの組み合わせの種々の形態で実現することができる。
最も好ましくは、本発明の教示はハードウェア及びソフトウェアの組み合わせとして実現される。更に、ソフトウェアは好ましくは、プログラム記憶装置上に有形に実施されたアプリケーション・プログラムとして実現される。アプリケーション・プログラムは、何れかの適切なアーキテクチャを備えるマシンにアップロードし得るものであり、かつ、前述のマシンによって実行し得る。好ましくは、マシンは、ハードウェア(1つ又は複数の中央処理装置(「CPU」)、ランダム・アクセス・メモリ(「RAM」)や入出力(「I/O」)インタフェースなど)を有するコンピュータ・プラットフォーム上に実現される。コンピュータ・プラットフォームは、オペレーティング・システム及びマイクロ命令コードも含み得る。本明細書及び特許請求の範囲記載の種々の処理及び機能は、マイクロ命令コードの一部若しくはアプリケーション・プログラムの一部、又はそれらの何れかの組み合わせ(CPUによって実行することができる)であり得る。更に、種々の他の周辺装置(更なるデータ記憶装置や印刷装置など)をコンピュータ・プラットフォームに接続することができる。
更に、添付図面に表した構成システム部分及び構成方法の一部は好ましくはソフトウェアで実現されるので、システム構成部分間又は処理機能ブロック間の実際の接続は、本発明がプログラムされるやり方によって変わり得る。本明細書及び特許請求の範囲に記載の教示が与えられれば、当業者は、本発明の前述及び同様の実現形態又は構成を考え出すことができるであろう。
添付図面を参照して例証的な実施例を本明細書及び特許請求の範囲において説明したが、本発明は前述のまさにその実施例に限定されるものでなく、本発明の範囲又は趣旨から逸脱しない限り、当業者によって種々の変更及び修正を行うことができる。前述の変更及び修正は全て、特許請求の範囲記載の本発明の範囲内に含まれることが意図されている。
本発明の原理による、JVT/H.264/MPEG−4 AVC(「JVT」)の実施例における並列ビデオ符号器アーキテクチャを示すブロック図である。 本発明の原理による、JVT/H.264/MPEG−4 AVC(「JVT」)の実施例における並列ビデオ符号化の方法を示すフロー図である。 本発明の原理による、JVT/H.264/MPEG−4 AVC(「JVT」)の実施例における並列ビデオ符号化の別の方法を示すフロー図である。

Claims (18)

  1. 複数のプロセッサ間でビデオ符号化処理を並列化する装置であって、
    スレッド・アフィニティ及び処理アフィニティの少なくとも一方に基づいて前記複数のプロセッサのそれぞれに符号器インスタンスを割り当てる計算資源バランサと、
    入力ビデオ系列を別個のピクチャ群(GOP)に、前記別個のGOPのそれぞれが前記複数のプロセッサのそれぞれで符号化されるように時間的に分割するスプリッタとを備える装置。
  2. 請求項1記載の装置であって、一定の符号化品質が前記別個のGOP間で維持されるように前記別個のGOP間の量子化パラメータ(QP)差を制限する手段を更に備える装置。
  3. 請求項2記載の装置であって、前記符号器インスタンス間の平均QPを把握する、前記符号器インスタンス間の静的大局変数及び共通変数の少なくとも一方を維持することによって前記QP差を制限する装置。
  4. 請求項1記載の装置であって、GOP符号化が終了した後に順番に前記別個のGOP内のピクチャを再配列するマルチプレクサを更に備える装置。
  5. 請求項4記載の装置であって、前記マルチプレクサは、ピクチャ・レベル及びGOPレベルの少なくとも一方のタイムスタンプ及び連番の少なくとの一方を用いて前記ピクチャを再配列する装置。
  6. 請求項1記載の装置であって、前記符号器インスタンスに提示される前記別個のGOPのそれぞれの第1のフレームが、瞬時復号化リフレッシュ(IDR)フレームとして符号化されるので、前記符号器インスタンスのそれぞれが、互いに独立して動作することができる装置。
  7. 複数のプロセッサ間でビデオ符号化処理を並列化する方法であって、
    スレッド・アフィニティ及び処理アフィニティの少なくとも一方に基づいて前記複数のプロセッサのそれぞれに符号器インスタンスを割り当てる工程と、
    入力ビデオ系列を別個のピクチャ群(GOP)に、前記別個のGOPのそれぞれが前記複数のプロセッサのそれぞれで符号化されるように時間的に分割する工程とを備える方法。
  8. 請求項7記載の方法であって、前記別個のGOP間で一定の符号化品質が維持されるように前記別個のGOP間の量子化パラメータ(QP)差を制限する工程を更に備える方法。
  9. 請求項8記載の方法であって、前記制限する工程は、前記符号器インスタンス間の平均QPを把握する、前記符号器インスタンス間の静的大局変数及び共通変数の少なくとも一方を維持することによって前記QP差を制限する方法。
  10. 請求項7記載の方法であって、GOP符号化が終了した後に順番に前記別個のGOP内のピクチャを再配列する工程を更に備える方法。
  11. 請求項10記載の方法であって、前記再配列する工程は、ピクチャ・レベル及びGOPレベルの少なくとも一方のタイムスタンプ及び連番の少なくとの一方を用いて前記ピクチャを再配列する方法。
  12. 請求項7記載の方法であって、前記符号器インスタンスに提示される前記別個のGOPそれぞれの第1のフレームが、瞬時復号化リフレッシュ(IDR)フレームとして符号化されるので、前記符号器インスタンスのそれぞれが、互いに独立して動作することができる方法。
  13. 複数のプロセッサ間でビデオ符号化処理を並列化する装置であって、
    スレッド・アフィニティ及び処理アフィニティの少なくとも一方に基づいて前記複数のプロセッサのそれぞれに符号器インスタンスを割り当てる計算資源バランサと、
    入力ビデオ系列を別個のスライスに、前記別個のスライスのそれぞれが前記複数のプロセッサのそれぞれで符号化されるように前記入力ビデオ系列を並列に前記符号器インスタンスのそれぞれが符号化することができるように空間的に分割するスプリッタとを備える装置。
  14. 請求項13記載の装置であって、一定の符号化品質が前記別個のスライス間で維持されるように前記別個のスライス間の量子化パラメータ(QP)差を制限する手段を更に備える装置。
  15. 請求項14記載の装置であって、前記制限する手段は、前記符号器インスタンス間の平均QPを把握する、前記符号器インスタンス間の静的大局変数及び共通変数の少なくとも一方を維持することによって前記QP差を制限する装置。
  16. 複数のプロセッサ間でビデオ符号化処理を並列化する方法であって、
    スレッド・アフィニティ及び処理アフィニティの少なくとも一方に基づいて前記複数のプロセッサのそれぞれに符号器インスタンスを割り当てる工程と、
    入力ビデオ系列を別個のスライスに、前記別個のスライスのそれぞれが前記複数のプロセッサのそれぞれで符号化されるように前記入力ビデオ系列を並列に前記符号器インスタンスのそれぞれが符号化することができるように空間的に分割する工程とを備える方法。
  17. 請求項16記載の方法であって、一定の符号化品質が前記別個のスライス間で維持されるように前記別個のスライス間の量子化パラメータ(QP)差を制限する工程を更に備える方法。
  18. 請求項17記載の方法であって、前記制限する工程は、前記符号器インスタンス間の平均QPを把握する、前記符号器インスタンス間の静的大局変数及び共通変数の少なくとも一方を維持することによって前記QP差を制限する方法。
JP2007552197A 2005-01-19 2006-01-17 リアルタイム並列符号化の方法及び装置 Pending JP2008527945A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US64517905P 2005-01-19 2005-01-19
PCT/US2006/001474 WO2006078594A1 (en) 2005-01-19 2006-01-17 Method and apparatus for real time parallel encoding

Publications (1)

Publication Number Publication Date
JP2008527945A true JP2008527945A (ja) 2008-07-24

Family

ID=36123806

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007552197A Pending JP2008527945A (ja) 2005-01-19 2006-01-17 リアルタイム並列符号化の方法及び装置

Country Status (6)

Country Link
US (1) US9219917B2 (ja)
EP (1) EP1839446A1 (ja)
JP (1) JP2008527945A (ja)
CN (1) CN101107863B (ja)
BR (1) BRPI0606627A2 (ja)
WO (1) WO2006078594A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012509012A (ja) * 2008-11-12 2012-04-12 トムソン ライセンシング Gopパラレル・マルチスレッドビデオ符号化のためのiフレームのフリッカの除去
JP2012516645A (ja) * 2009-01-29 2012-07-19 マイクロソフト コーポレーション 事前計算動き情報を用いたビデオ・エンコード
KR101319722B1 (ko) 2009-11-09 2013-10-17 한국전자통신연구원 시공간 분할 형 병렬 비디오 부호화 방법 및 시스템
JP2013255208A (ja) * 2012-02-01 2013-12-19 Nippon Telegr & Teleph Corp <Ntt> 映像符号化装置、映像符号化方法及び映像符号化プログラム
JP2014086770A (ja) * 2012-10-19 2014-05-12 Nippon Hoso Kyokai <Nhk> 映像信号分割装置、映像伝送送信装置、映像伝送受信装置および映像伝送システム
US9210431B2 (en) 2008-11-13 2015-12-08 Thomson Licensing Multiple thread video encoding using GOP merging and bit allocation

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519274B2 (en) 2003-12-08 2009-04-14 Divx, Inc. File format for multiple track digital data
US8472792B2 (en) 2003-12-08 2013-06-25 Divx, Llc Multimedia distribution system
US9219917B2 (en) 2005-01-19 2015-12-22 Thomson Licensing Method and apparatus for real time parallel encoding
JP5200204B2 (ja) 2006-03-14 2013-06-05 ディブエックス リミテッド ライアビリティー カンパニー 高信頼性システムを含む連合型デジタル権限管理機構
US8411734B2 (en) * 2007-02-06 2013-04-02 Microsoft Corporation Scalable multi-thread video decoding
CN101330608A (zh) * 2007-06-22 2008-12-24 科立尔数位科技股份有限公司 位率控制方法及装置
US9648325B2 (en) 2007-06-30 2017-05-09 Microsoft Technology Licensing, Llc Video decoding implementations for a graphics processing unit
US8265144B2 (en) 2007-06-30 2012-09-11 Microsoft Corporation Innovations in video decoder implementations
EP2059049A1 (en) 2007-11-07 2009-05-13 British Telecmmunications public limited campany Video coding
WO2009065137A1 (en) 2007-11-16 2009-05-22 Divx, Inc. Hierarchical and reduced index structures for multimedia files
US8997161B2 (en) * 2008-01-02 2015-03-31 Sonic Ip, Inc. Application enhancement tracks
JP2011077564A (ja) * 2008-04-13 2011-04-14 Thomson Canopus Co Ltd 映像および音声データの符号化装置とその符号化方法、及びビデオ編集システム
US8711154B2 (en) * 2008-06-09 2014-04-29 Freescale Semiconductor, Inc. System and method for parallel video processing in multicore devices
FR2933562B1 (fr) * 2008-07-03 2012-12-14 Enensys Technologies Dispositif de generation de flux, procede de calcul d'un niveau de remplissage d'un tampon d'entree au sein du dispositif et procede de regulation de flux
US8249168B2 (en) * 2008-11-06 2012-08-21 Advanced Micro Devices, Inc. Multi-instance video encoder
CA2749170C (en) 2009-01-07 2016-06-21 Divx, Inc. Singular, collective and automated creation of a media guide for online content
US8396114B2 (en) * 2009-01-29 2013-03-12 Microsoft Corporation Multiple bit rate video encoding using variable bit rate and dynamic resolution for adaptive video streaming
US8737475B2 (en) * 2009-02-02 2014-05-27 Freescale Semiconductor, Inc. Video scene change detection and encoding complexity reduction in a video encoder system having multiple processing devices
EP2227023A1 (en) * 2009-03-05 2010-09-08 BRITISH TELECOMMUNICATIONS public limited company Video streaming
US8270473B2 (en) * 2009-06-12 2012-09-18 Microsoft Corporation Motion based dynamic resolution multiple bit rate video encoding
CN101945271B (zh) * 2009-07-03 2012-11-28 大地辰星科技发展(北京)有限公司 图像压缩***及压缩方法
EP2507995A4 (en) 2009-12-04 2014-07-09 Sonic Ip Inc SYSTEMS AND METHODS FOR TRANSPORTING ELEMENTARY BIT TRAIN CRYPTOGRAPHIC MATERIAL
JP2011199396A (ja) * 2010-03-17 2011-10-06 Ntt Docomo Inc 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法、及び動画像予測復号プログラム
US8705616B2 (en) 2010-06-11 2014-04-22 Microsoft Corporation Parallel multiple bitrate video encoding to reduce latency and dependences between groups of pictures
US8885729B2 (en) 2010-12-13 2014-11-11 Microsoft Corporation Low-latency video decoding
US9706214B2 (en) 2010-12-24 2017-07-11 Microsoft Technology Licensing, Llc Image and video decoding implementations
US9247312B2 (en) 2011-01-05 2016-01-26 Sonic Ip, Inc. Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol
US9148669B2 (en) * 2011-03-10 2015-09-29 Sony Corporation High performance AVC encoder on a multi-core platform
TWI587693B (zh) 2011-06-30 2017-06-11 微軟技術授權有限責任公司 用於減少視訊編碼及解碼中之延遲的方法、系統及電腦可讀取媒體
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8818171B2 (en) 2011-08-30 2014-08-26 Kourosh Soroushian Systems and methods for encoding alternative streams of video for playback on playback devices having predetermined display aspect ratios and network connection maximum data rates
CN103875248B (zh) 2011-08-30 2018-09-07 帝威视有限公司 用于编码和流处理通过使用多个最大比特率级别编码的视频的***和方法
US8731067B2 (en) 2011-08-31 2014-05-20 Microsoft Corporation Memory management for video decoding
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US8964977B2 (en) 2011-09-01 2015-02-24 Sonic Ip, Inc. Systems and methods for saving encoded media streamed using adaptive bitrate streaming
US9591318B2 (en) 2011-09-16 2017-03-07 Microsoft Technology Licensing, Llc Multi-layer encoding and decoding
JP6080375B2 (ja) * 2011-11-07 2017-02-15 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US9819949B2 (en) 2011-12-16 2017-11-14 Microsoft Technology Licensing, Llc Hardware-accelerated decoding of scalable video bitstreams
US8918908B2 (en) 2012-01-06 2014-12-23 Sonic Ip, Inc. Systems and methods for accessing digital content using electronic tickets and ticket tokens
US11089343B2 (en) 2012-01-11 2021-08-10 Microsoft Technology Licensing, Llc Capability advertisement, configuration and control for video coding and decoding
US9532080B2 (en) 2012-05-31 2016-12-27 Sonic Ip, Inc. Systems and methods for the reuse of encoding information in encoding alternative streams of video data
US9197685B2 (en) 2012-06-28 2015-11-24 Sonic Ip, Inc. Systems and methods for fast video startup using trick play streams
US9143812B2 (en) 2012-06-29 2015-09-22 Sonic Ip, Inc. Adaptive streaming of multimedia
US10452715B2 (en) 2012-06-30 2019-10-22 Divx, Llc Systems and methods for compressing geotagged video
CN102761745B (zh) * 2012-07-12 2015-07-22 国家计算机网络与信息安全管理中心 解码方法和解码设备
WO2014015110A1 (en) 2012-07-18 2014-01-23 Verimatrix, Inc. Systems and methods for rapid content switching to provide a linear tv experience using streaming content distribution
US8914836B2 (en) 2012-09-28 2014-12-16 Sonic Ip, Inc. Systems, methods, and computer program products for load adaptive streaming
US8997254B2 (en) 2012-09-28 2015-03-31 Sonic Ip, Inc. Systems and methods for fast startup streaming of encrypted multimedia content
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US9264475B2 (en) 2012-12-31 2016-02-16 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US9350990B2 (en) 2013-02-28 2016-05-24 Sonic Ip, Inc. Systems and methods of encoding multiple video streams with adaptive quantization for adaptive bitrate streaming
US9357210B2 (en) 2013-02-28 2016-05-31 Sonic Ip, Inc. Systems and methods of encoding multiple video streams for adaptive bitrate streaming
US10397292B2 (en) 2013-03-15 2019-08-27 Divx, Llc Systems, methods, and media for delivery of 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
US9344517B2 (en) 2013-03-28 2016-05-17 Sonic Ip, Inc. Downloading and adaptive streaming of multimedia content to a device with cache assist
US9247317B2 (en) 2013-05-30 2016-01-26 Sonic Ip, Inc. Content streaming with client device trick play index
US9094737B2 (en) 2013-05-30 2015-07-28 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
US9967305B2 (en) 2013-06-28 2018-05-08 Divx, Llc Systems, methods, and media for streaming media content
US9343112B2 (en) 2013-10-31 2016-05-17 Sonic Ip, Inc. Systems and methods for supplementing content from a server
CN103618902B (zh) * 2013-11-13 2017-04-12 天脉聚源(北京)传媒科技有限公司 一种视频文件的转码方法、装置及***
US9866878B2 (en) 2014-04-05 2018-01-09 Sonic Ip, Inc. Systems and methods for encoding and playing back video at different frame rates using enhancement layers
EP3202145B1 (en) * 2014-09-30 2018-12-12 Telefonaktiebolaget LM Ericsson (publ) Encoding and decoding a video frame in separate processing units
CN104602008B (zh) 2015-01-14 2018-03-20 腾讯科技(深圳)有限公司 视频编码方法、装置和***
CN104994407A (zh) * 2015-06-26 2015-10-21 安徽广行通信科技股份有限公司 一种集中自适应视频转码的方法
US10506235B2 (en) 2015-09-11 2019-12-10 Facebook, Inc. Distributed control of video encoding speeds
US10375156B2 (en) * 2015-09-11 2019-08-06 Facebook, Inc. Using worker nodes in a distributed video encoding system
US10602157B2 (en) 2015-09-11 2020-03-24 Facebook, Inc. Variable bitrate control for distributed video encoding
US10499070B2 (en) 2015-09-11 2019-12-03 Facebook, Inc. Key frame placement for distributed video encoding
US10063872B2 (en) 2015-09-11 2018-08-28 Facebook, Inc. Segment based encoding of video
US10341561B2 (en) 2015-09-11 2019-07-02 Facebook, Inc. Distributed image stabilization
US10602153B2 (en) 2015-09-11 2020-03-24 Facebook, Inc. Ultra-high video compression
CN105451020A (zh) * 2015-12-02 2016-03-30 蓝海大数据科技有限公司 视频压缩方法和设备
CN105578265B (zh) * 2015-12-10 2019-03-05 杭州当虹科技有限公司 一种基于h264、h265视频分析的时间戳补偿或修正的方法
US10075292B2 (en) 2016-03-30 2018-09-11 Divx, Llc Systems and methods for quick start-up of playback
US10148989B2 (en) 2016-06-15 2018-12-04 Divx, Llc Systems and methods for encoding video content
CN106060555A (zh) * 2016-06-29 2016-10-26 东华大学 一种基于多核处理器的编码器
KR101925681B1 (ko) * 2016-09-28 2018-12-05 가천대학교 산학협력단 멀티코어 시스템을 이용한 병렬 비디오 처리
US10498795B2 (en) 2017-02-17 2019-12-03 Divx, Llc Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming
CN109429070A (zh) * 2017-08-23 2019-03-05 杭州海康威视***技术有限公司 一种移动终端视频编码方法、装置及移动终端
US11050682B2 (en) * 2017-09-28 2021-06-29 Intel Corporation Reordering of data for parallel processing
US10887609B2 (en) * 2017-12-13 2021-01-05 Netflix, Inc. Techniques for optimizing encoding tasks
EP3732627A1 (en) * 2018-02-09 2020-11-04 Google LLC Fast decoding in sequence models using discrete latent variables
US10972744B2 (en) * 2018-11-12 2021-04-06 Analog Devices International Unlimited Company Image scaling
CN109218722B (zh) * 2018-11-22 2020-10-02 北京金山云网络技术有限公司 一种视频编码方法、装置及设备
CN110650345B (zh) * 2019-09-25 2021-10-15 杭州当虹科技股份有限公司 一种面向8k超高清的主从多节点编码方法
CN114257839A (zh) * 2020-09-23 2022-03-29 京东方科技集团股份有限公司 视频编码装置及解码装置、播放***及方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5694170A (en) 1995-04-06 1997-12-02 International Business Machines Corporation Video compression using multiple computing agents
US5872972A (en) * 1996-07-05 1999-02-16 Ncr Corporation Method for load balancing a per processor affinity scheduler wherein processes are strictly affinitized to processors and the migration of a process from an affinitized processor to another available processor is limited
US5793425A (en) * 1996-09-13 1998-08-11 Philips Electronics North America Corporation Method and apparatus for dynamically controlling encoding parameters of multiple encoders in a multiplexed system
US7050497B2 (en) * 2001-03-28 2006-05-23 Thomson Licensing Process and device for the video coding of high definition images
US20030023982A1 (en) * 2001-05-18 2003-01-30 Tsu-Chang Lee Scalable video encoding/storage/distribution/decoding for symmetrical multiple video processors
JP4335516B2 (ja) * 2001-12-04 2009-09-30 パナソニック株式会社 複数のプロセッサを用いた動画像符号化装置およびその方法
DE60310842T2 (de) * 2002-07-11 2007-10-11 Matsushita Electric Industrial Co., Ltd., Kadoma Verfahren zur Codierung und Decodierung von H.264 Bildern mittels eines virtuellen Anzeigepuffers.
US7512278B2 (en) * 2003-04-07 2009-03-31 Modulus Video Inc. Scalable array encoding system and method
JP2005005844A (ja) 2003-06-10 2005-01-06 Hitachi Ltd 計算装置及び符号化処理プログラム
US20040252766A1 (en) * 2003-06-11 2004-12-16 Daeyang Foundation (Sejong University) Motion vector search method and apparatus
US20040258162A1 (en) 2003-06-20 2004-12-23 Stephen Gordon Systems and methods for encoding and decoding video data in parallel
US7512180B2 (en) 2003-06-25 2009-03-31 Microsoft Corporation Hierarchical data compression system and method for coding video data
JP4699685B2 (ja) 2003-08-21 2011-06-15 パナソニック株式会社 信号処理装置及びそれを用いた電子機器
US20050243922A1 (en) * 2004-04-16 2005-11-03 Modulus Video, Inc. High definition scalable array encoding system and method
US7634776B2 (en) * 2004-05-13 2009-12-15 Ittiam Systems (P) Ltd. Multi-threaded processing design in architecture with multiple co-processors
US7707578B1 (en) * 2004-12-16 2010-04-27 Vmware, Inc. Mechanism for scheduling execution of threads for fair resource allocation in a multi-threaded and/or multi-core processing system
US9219917B2 (en) 2005-01-19 2015-12-22 Thomson Licensing Method and apparatus for real time parallel encoding

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012509012A (ja) * 2008-11-12 2012-04-12 トムソン ライセンシング Gopパラレル・マルチスレッドビデオ符号化のためのiフレームのフリッカの除去
US9210431B2 (en) 2008-11-13 2015-12-08 Thomson Licensing Multiple thread video encoding using GOP merging and bit allocation
JP2012516645A (ja) * 2009-01-29 2012-07-19 マイクロソフト コーポレーション 事前計算動き情報を用いたビデオ・エンコード
KR101319722B1 (ko) 2009-11-09 2013-10-17 한국전자통신연구원 시공간 분할 형 병렬 비디오 부호화 방법 및 시스템
JP2013255208A (ja) * 2012-02-01 2013-12-19 Nippon Telegr & Teleph Corp <Ntt> 映像符号化装置、映像符号化方法及び映像符号化プログラム
JP2014086770A (ja) * 2012-10-19 2014-05-12 Nippon Hoso Kyokai <Nhk> 映像信号分割装置、映像伝送送信装置、映像伝送受信装置および映像伝送システム

Also Published As

Publication number Publication date
CN101107863A (zh) 2008-01-16
EP1839446A1 (en) 2007-10-03
US9219917B2 (en) 2015-12-22
US20080137736A1 (en) 2008-06-12
WO2006078594A1 (en) 2006-07-27
BRPI0606627A2 (pt) 2009-07-07
CN101107863B (zh) 2013-01-02

Similar Documents

Publication Publication Date Title
JP2008527945A (ja) リアルタイム並列符号化の方法及び装置
US11070832B2 (en) Syntax and semantics for buffering information to simplify video splicing
CN107409229B (zh) 用于语法结构的方法和计算***
US8705616B2 (en) Parallel multiple bitrate video encoding to reduce latency and dependences between groups of pictures
US9071841B2 (en) Video transcoding with dynamically modifiable spatial resolution
TWI606722B (zh) 用於減少視訊編碼及解碼中之延遲的方法、系統及電腦可讀取媒體
US8885729B2 (en) Low-latency video decoding
EP2922296A2 (en) Efficient software for transcoding to HEVC on multi-core processors
US20070199011A1 (en) System and method for high quality AVC encoding
AU2011371809A1 (en) Reducing latency in video encoding and decoding
US7898951B2 (en) Encoding and transmitting variable bit streams with utilization of a constrained bit-rate channel
KR20090046812A (ko) 비디오 압축 방법
WO2016171888A1 (en) Video encoder management strategies
JP2009246489A (ja) 映像信号切替装置
JP2010062999A (ja) 動画像符号化装置、動画像符号化方法、及び、コンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110927

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111226

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120522

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120821

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120828

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121121

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130508

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130604

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130903

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130910

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20140320