JP5280003B2 - 映像コーデックにおけるスライス層 - Google Patents

映像コーデックにおけるスライス層 Download PDF

Info

Publication number
JP5280003B2
JP5280003B2 JP2006526223A JP2006526223A JP5280003B2 JP 5280003 B2 JP5280003 B2 JP 5280003B2 JP 2006526223 A JP2006526223 A JP 2006526223A JP 2006526223 A JP2006526223 A JP 2006526223A JP 5280003 B2 JP5280003 B2 JP 5280003B2
Authority
JP
Japan
Prior art keywords
slice
picture
information
decoding
layer
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
JP2006526223A
Other languages
English (en)
Other versions
JP2007504773A (ja
JP2007504773A5 (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 JP2007504773A publication Critical patent/JP2007504773A/ja
Publication of JP2007504773A5 publication Critical patent/JP2007504773A5/ja
Application granted granted Critical
Publication of JP5280003B2 publication Critical patent/JP5280003B2/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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • 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
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/164Feedback from the receiver or from the transmission channel
    • H04N19/166Feedback from the receiver or from the transmission channel concerning the amount of transmission errors, e.g. bit error rate [BER]
    • 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/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/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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明は、映像、画像、およびその他のデジタル媒体の内容をデジタル的に符号化し、復号化し、処理する技術に関する。
デジタル映像は、大量の記憶容量と伝送容量を消費する。典型的な現信号のデジタル映像シーケンスは、毎秒15または30フレームを含む。各フレームは、数万または数十万の画素(ペル(pel)とも呼ばれる)を含み得る。各画素は、ピクチャのごく小さな要素を表す。原信号の形式では、コンピュータは一般に、3つのサンプルで1組の合計24ビットで画素を表す。たとえば、1つの画素は、その画素のグレースケール成分を規定する1つの8ビット輝度サンプル(ルマ(luma)サンプルとも呼ばれる)と、その画素の色成分を規定する2つの8ビットクロミナンスサンプル値(クロマ(chroma)サンプルとも呼ばれる)とを含み得る。したがって、通常の原信号のデジタル映像シーケンスの毎秒ビット数、すなわちビットレートは、毎秒500万ビット以上となり得る。
多くのコンピュータおよびコンピュータネットワークは、生デジタル映像を処理するためのリソースが不足している。この理由で、技術者は圧縮(コード化または符号化とも呼ばれる)を使用し、デジタル映像のビットレートを低減している。圧縮では、映像を低ビットレート形式に変換することにより、映像を記憶し伝送するコストが低減される。伸張(復号化とも呼ばれる)では、圧縮形式から元の映像のバージョンを再構築する。「コーデック」とは、エンコーダ/デコーダシステムのことである。圧縮は、映像の品質が低下しないが、映像データの変動の固有量(エントロピーと呼ばれることもある)によってビットレートの低減が制限される、可逆式(lossless)とすることが可能である。あるいは、圧縮は、映像の品質が低下するが、実現可能なビットレートの低減はより劇的となる、非可逆式(lossy)とすることも可能である。非可逆圧縮で情報の近似を確立、可逆圧縮技術を適用してその近似が表されるシステム設計において、非可逆圧縮はしばしば可逆圧縮と共に使用される。
一般に、映像圧縮技術には、「ピクチャ内」圧縮および「ピクチャ間」圧縮が含まれ、その際、ピクチャは、たとえばプログレッシブ走査映像フレーム、インターレース映像フレーム(それぞれの映像フィールドの線を交互に有する)、またはインターレース映像フィールドである。プログレッシブフレームの場合、ピクチャ内圧縮技術では、個々のフレーム(一般にIフレームまたはキーフレームと呼ばれる)を圧縮し、ピクチャ間圧縮技術では、前および/または後のフレーム(一般に参照フレームまたはアンカーフレームと呼ばれる)を参照して、フレーム(一般に予測フレーム、Pフレーム、またはBフレームと呼ばれる)を圧縮する。
予測フレームは、マクロブロックと呼ばれる領域に分割することができる。参照フレーム内のマクロブロックに対するマッチング領域は、そのマクロブロックに対する動きベクトル情報を送信することによって指定される。動きベクトルは、画素の現マクロブロックに対する予測子としてその画素が使用される参照フレーム内の領域の位置を示す。現マクロブロック(またはそのブロック)とマクロ予測子の間には、しばしば誤差信号または残差と呼ばれる、画素間の差分が生じる。通常、この誤差信号は、元の信号よりも小さなエントロピーを有する。したがって、その情報を、より低いレートで符号化することが可能である。エンコーダは、予測子として使用するために、1つまたは複数の参照フレーム内のマッチング領域を探索することにより、フレームのある領域に対する動きベクトルを決定することによって、動き推定を実施する。エンコーダまたはデコーダは、動きベクトルを適用して、1つまたは複数の参照フレーム内で予測子を見つけることによって、動き補償を実施する。
マクロブロックに対する動きベクトル値は、しばしば空間的に周りを囲んでいるマクロブロックに対する動きベクトルと相関関係がある。したがって、動きベクトル情報を送信するのに使用されるデータの圧縮は、ある動きベクトルとそれと隣接する動きベクトルから形成された動きベクトル予測子との間の差分を符号化することによって行うことが可能である。
映像圧縮技術ではよく、画素のブロックまたは残差など他の空間領域映像データが、変換領域データに変換される。この変換領域データは、しばしば周波数領域(すなわちスペクトル)データである。得られるスペクトルデータ係数のブロックを、量子化し、その後、エントロピー符号化することができる。
得られた映像が表示される前にデータを伸張するとき、デコーダは一般に、圧縮動作の逆を行う。たとえば、デコーダは、データを伸張しながら、エントロピー復号化、逆量子化、および逆変換を実行することができる。動き補償を使用すると、デコーダ(およびエンコーダ)は、前に再構築された1つまたは複数のフレーム(これらはここで、参照フレームとして使用される)からフレームを再構築し、後のフレームを動き補償するために、新規に再構築されたフレームを参照フレームとして使用することができる。
デジタル的に符号化された映像に対する多くの典型的な使用シナリオでは、装置間で、また多くの場合、地理的に離れた場所間で符号化済みの映像を伝送する。さらに、一般に使用される多くのデータ伝送システムでは、パケットベースの伝送プロトコルを使用する。このプロトコルでは、データ伝送は、「パケット」と呼ばれる別々に経路指定される単位に分割される。デジタル映像を運搬するこれら様々な伝送システムでは、しばしばノイズその他の伝送エラー源があり、「パケット損失」が起こり得る。こうしたエラーおよびパケット損失により、個々のフレーム、あるいは映像シーケンスの関連した複数のフレームの復号に失敗する恐れがある。
したがって、映像シーケンスにおけるピクチャの部分領域を、独立に復号可能な単位として符号化するのが望ましいことがある。これにより、映像ストリームのパケット化が可能になる。さらに、このために、圧縮映像ビットストリームにおける冗長性が増大し、伝送エラーおよびパケット損失に対する回復力が向上する。たとえば、伝送エラーまたはパケット損失による復号化損失を、映像シーケンスのピクチャ全体ではなく、部分領域に制限することが可能である。しかし、この回復力は、圧縮効率のコストを犠牲にして実現される。
非常に多くの会社が映像コーデックを生み出してきた。たとえば、マイクロソフト(登録商標)社は、Windows(登録商標) Media Video 8向けにリリースされている映像エンコーダおよびデコーダを生み出した。これらの製品以外に、多くの国際規格で、圧縮映像情報向けの映像デコーダおよびフォーマットの側面を指定している。これらの規格には、H.261、MPEG−1、H.262、H.263、およびMPEG−4の各規格が含まれる。これらの規格では、直接または暗示的に、ある種のエンコーダの詳細も指定されているが、他のエンコーダの詳細は指定されていない。これらの製品および規格は、上述の圧縮および伸張技術の様々な組合せを使用している(または使用をサポートしている)。具体的には、これらの製品および規格は、一部のピクチャを単位とする符号化のための様々な技術を提供している。
そのような技術の1つでは、映像シーケンス内のあるフレームを複数のスライスに分割する。1つのスライスは、1行または連続した複数行のマクロブロックを、元の左から右の順で含むものと定義される。スライスは、行の最初のマクロブロックから始まり、同じまたは別の行の最後のマクロブロックで終わる。
様々な標準規格、たとえば、MPEG−1、MPEG−2、H.263(ほぼスライスと同等であるGOBを有する、またはAnnex Kのスライス構造符号化モードを有する)、MPEG−4パート2、およびH.264/JVT/MPEG−4パートl0は、すべてその構文の一部としてスライスを有している。とりわけ、これらのすべてが、エラー/損失ロバストネスの理由で、フレーム内予測および動きベクトル予測およびスライス境界をまたぐ他の大部分の形式の予測を無効にしている。特に、H.263(Annex J)およびH.264/JVTだけが、ループフィルタを含む。H.263のインターレースの処理は、かなり原始的(フィールド符号化でAnnex Wの増補の拡張指示だけを使用する)である。H.264は、エラーに対してより強靭なヘッダ構造を有し、ループフィルタリングがスライス境界をまたいで適用されるかどうかを、エンコーダが選択できるようにする。
これら様々な映像復号化規格によるスライスの実装ではそれぞれ、回復力と符号化効率のバランスが異なる。
本明細書に記載される映像コーデックおよびビットストリーム構文は、スライス層を含んでおり、スライス層は、柔軟性のあるように設計され、エラー回復力と圧縮効率を有効に両立させる。このスライス層は、以下の主な機能を提供する。
a)プログレッシブ、インターレースフレーム、およびインターレースフィールド符号化方法で動作する効率的なスライスアドレッシング機構
b)スライス層中のピクチャヘッダを再送信するための柔軟で効率的な機構
c)スライス内モードで符号化されたスライスが、ピクチャの他の領域内のエラーとは無関係に、エラーなしで再構築できるように、スライス境界をまたぐすべての形の予測、オーバラップ、およびループフィルタリングを無効にすることによる復号化独立性
本発明のさらなる特徴および利点は、実施形態についての以下の詳細な説明を添付の図面と併せ読めば明らかになろう。
以下に、柔軟性のあるように設計され、エラー回復力と圧縮効率の効果的組合せをもたらす、映像コーデックおよびビットストリーム構文におけるスライス層の実装形態について説明する。例として、スライス層符号化を、画像または映像のエンコーダおよびデコーダ内で適用する。したがって、スライス層符号化を、汎用の画像または映像のエンコーダおよびデコーダの文脈で説明するが、その代わりに、以下に述べるこの例示的なビットストリーム構文とは細部が変わり得る、他の様々な画像および映像コーデックのビットストリーム構文にそれを組み込むことも可能である。
(1.汎用映像エンコーダおよびデコーダ)
図1は汎用映像エンコーダ(100)のブロック図で、図2は汎用映像デコーダ(200)のブロック図であり、これらのエンコーダおよびデコーダには、WMV9/VC−9変換を組み込むことが可能である。
図示されているエンコーダ内およびデコーダ内のモジュール間の関係は、エンコーダおよびデコーダにおける情報の主なフローを示している。わかりやすいように、他の関係は示していない。特に、図1および図2は、映像シーケンス、フレーム、マクロブロック、ブロックなどに使用されるエンコーダ設定、モード、テーブルなどを示す副次的情報は通常示さない。そのような副次的情報は、一般に副次的情報のエントロピー符号化の後に、出力ビットストリームで送信される。出力ビットストリームのフォーマットは、Windows(登録商標)Media Videoフォーマットまたは他のフォーマットとすることができる。
エンコーダ(100)およびデコーダ(200)はブロックベースであり、それぞれのマクロブロックが4つの8×8輝度ブロック(時々、1つの16×16マクロブロックとして扱われる)および2つの8×8クロミナンスブロックを含む、4:2:0のマクロブロックフォーマットを使用する。あるいは、エンコーダ(100)およびデコーダ(200)はオブジェクトベースであり、8×8ブロックおよび16×16マクロブロックとは異なるマクロブロックまたはブロックフォーマットを使用し、あるいは異なるサイズまたは構成の複数組の画素に対して動作を行う。
所望の圧縮の実装および種類に応じて、エンコーダまたはデコーダのモジュールを追加し、または省略し、または複数モジュールに分割し、または他のモジュールと組み合わせ、かつ/または同様のモジュールで置き換えることが可能である。代替の実施形態では、互いに異なるモジュールおよび/またはモジュールの他の構成を用いるエンコーダまたはデコーダで、上述の技術の1つまたは複数を実施する。
(A.映像エンコーダ)
図1は、一般的な映像エンコーダシステム(100)である。このエンコーダシステム(100)は、現フレーム(105)を含む一連の映像フレームを受け取り、圧縮映像情報(195)を出力として生成する。映像エンコーダの特定の実施形態では通常、変形形態または増補バージョンの汎用エンコーダ(100)を使用する。
エンコーダシステム(100)は、予測フレームおよびキーフレームを圧縮する。説明のために、図1に、エンコーダシステム(100)を通るキーフレーム用の経路および順方向予測フレーム用の経路を示す。エンコーダシステム(100)の構成要素の多くは、キーフレームおよび予測フレームの両方を圧縮するために使用される。これらの構成要素によって実施される具体的な動作は、圧縮される情報の種類に応じて変わり得る。
予測フレーム(Pフレーム、両方向予測のためのBフレーム、またはフレーム間符号化フレームとも呼ばれる)は、他の1つまたは複数のフレームからの予測(または差分)で表される。予測残差は、予測したフレームと元のフレームとの差である。これとは対照的に、キーフレーム(Iフレーム、フレーム内符号化フレームとも呼ばれる)は、他のフレームを参照せずに圧縮される。
現フレーム(105)が順方向予測フレームの場合、動き推定部(110)が、参照フレームに対する現フレーム(105)のマクロブロックまたはその他の複数組の画素の動きを推定する。その参照フレームは、フレーム記憶部(120)にバッファされている、再構築された、以前のフレーム(125)である。代替の実施形態では、参照フレームがより後のフレームであり、あるいは現フレームが両方向に予測される。動き推定部(110)は、動きベクトルなどの動き情報(115)を副次的情報として出力する。動き補償部(130)が、再構築された前のフレーム(125)に動き情報(115)を適用して、動き補償済み現フレーム(135)を形成する。ただし、予測が完全であることはめったになく、動き補償済み現フレーム(135)と元の現フレーム(105)との差が予測残差(145)となる。あるいは、動き推定部および動き補償部が、別の種類の動き推定/補償を適用する。
周波数変換部(160)が、空間領域映像情報を周波数領域(すなわちスペクトル)データに変換する。ブロックベースの映像フレームの場合、周波数変換部(160)は、以下のセクションで説明する、離散コサイン変換(「DCT」)に類似する性質の変換を適用する。いくつかの実施形態では、キーフレームの場合、周波数変換部(160)は、複数ブロックの空間予測残差に周波数変換を適用する。周波数変換部(160)は、8×8、8×4、4×8、またはその他のサイズの周波数変換を適用することが可能である。
次に量子化部(170)が、複数ブロックのスペクトルデータの係数を量子化する。量子化部は、フレームごとに、または他のものに基づいて変わるステップサイズを用いて、スペクトルデータに均一なスカラー量子化を適用する。あるいは、量子化部は、スペクトルデータの係数に別の種類の量子化、たとえば、均一でない、ベクトルの、または非適応型の量子化を適用し、あるいは周波数変換を使用しないエンコーダシステムで空間領域データを直接量子化する。適応量子化に加えて、エンコーダ(100)は、コマ落とし(frame dropping)、適応フィルタリング、またはレート制御のためのその他の技術を使用することが可能である。
後続の動き予測/補償のために再構築された現フレームが必要なとき、逆量子化部(176)が、量子化されたスペクトルデータの係数に対して逆量子化を実施する。次いで逆周波数変換部(166)が、周波数変換部(160)の動作の逆を行い、(予測フレームのための)再構築予測残差または再構築キーフレームを生成する。現フレーム(105)がキーフレームであった場合、再構築キーフレームを、再構築現フレーム(図示せず)として扱う。現フレーム(105)が予測フレームであった場合、再構築予測残差を動き補償済み現フレーム(135)に加えて、再構築現フレームを形成する。フレーム記憶部(120)は、次のフレームの予測に使用するために、再構築現フレームをバッファする。いくつかの実施形態では、エンコーダは、再構築フレームにデブロッキングフィルタを適用し、フレームの各ブロックにおける不連続を適応的に平滑化する。
エントロピー符号化部(180)が、量子化部(170)の出力、ならびにある種の副次的情報(たとえば、動き情報(115)、量子化ステップサイズ)を圧縮する。一般的なエントロピー符号化技術には、算術符号化、差分符号化、ハフマン符号化、ランレングス符号化、LZ符号化、辞書型符号化、および以上の組合せが含まれる。エントロピー符号化部(180)は、一般に異なる種類の情報(たとえば、DC係数、AC係数、異なる種類の副次的情報)には異なる符号化技術を使用しており、特定の符号化技術の範囲内で複数のコードテーブルのうちから選択することが可能である。
エントロピー符号化部(180)は、圧縮映像情報(195)をバッファ(190)に入れる。バッファレベルインジケータが、ビットレート適応モジュールにフィードバックされる。圧縮映像情報(195)は、一定の、あるいは比較的一定のビットレートでバッファ(190)からすべて読み出され(deplete)、後続のストリーミングに備えてそのビットレートで記憶される。あるいは、エンコーダシステム(100)は、圧縮後すぐに圧縮映像情報を流す。
バッファ(190)の前または後で、圧縮映像情報(195)を、ネットワークを介して伝送するために、チャネル符号化することが可能である。チャネル符号化では、圧縮映像情報(195)に対してエラー検出およびエラー訂正を適用することが可能である。
(B.映像デコーダ)
図2は、一般的な映像デコーダシステム(200)のブロック図である。このデコーダシステム(200)は、圧縮された一連の映像フレームに関する情報(295)を受け取り、再構築フレーム(205)を含む出力を生成する。映像デコーダの特定の実施形態は一般に、汎用デコーダ(200)の一変形または増補バージョンを使用する。
デコーダシステム(200)は、予測フレームおよびキーフレームを伸張する。提示の目的で、図2に、デコーダシステム(200)を通る、キーフレーム用の経路、および順方向予測フレーム用の経路を示す。デコーダシステム(200)の構成要素の多くは、キーフレームおよび予測フレームの両方を圧縮するのに使用される。これらの構成要素によって実施される具体的な動作は、圧縮される情報の種類に応じて変わり得る。
バッファ(290)が圧縮映像シーケンスについての情報(295)を受け取り、受け取った情報をエントロピーデコーダ(280)で利用可能にする。バッファ(290)は、一般に時間が経過してもほぼ一定のレートで情報を受け取り、帯域幅または伝送の短期変動を平滑化するためのジッタバッファを含む。バッファ(290)は、再生バッファおよびその他のバッファを含むことも可能である。あるいは、バッファ(290)は、可変レートで情報を受け取る。バッファ(290)の前または後で、エラーを検出し訂正するために、圧縮映像情報をチャネル符号化し処理することが可能である。
エントロピー復号化部(280)は、一般にエンコーダで実施されるエントロピー符号化の逆を適用して、エントロピー符号化された量子化データならびにエントロピー符号化された副次的情報(たとえば、動き情報、量子化ステップサイズ)をエントロピー復号化する。エントロピー復号化技術には、算術復号化、差分復号化、ハフマン復号化、ランレングス復号化、LZ復号化、辞書型復号化、および以上の組合せが含まれる。エントロピー復号化部(280)はしばしば、異なる種類の情報(たとえば、DC係数、AC係数、異なる種類の副次的情報)には異なる復号化技術を使用しており、特定の復号化技術内で複数のコードテーブルのうちから選択することが可能である。
再構築すべきフレーム(205)が順方向予測フレームの場合、動き補償部(230)が参照フレーム(225)に動き情報(215)を適用して、再構築されるフレーム(205)の予測(235)を形成する。たとえば、動き補償部(230)は、マクロブロック動きベクトルを使用して、参照フレーム(225)内でマクロブロックを探す。フレームバッファ(220)は、参照フレームとして使用するために、前の再構築フレームを記憶する。あるいは、動き補償部は、別の種類の動き補償を適用する。動き補償部による予測が完全であることはめったになく、したがってデコーダ(200)は予測残差も再構築する。
デコーダが、後続の動き補償のために再構築フレームを必要とするときは、次のフレームを予測するのに使用するために、フレーム記憶部(220)が再構築フレームをバッファする。いくつかの実施形態では、エンコーダは、再構築フレームにデブロッキングフィルタを適用して、フレームの各ブロックにおける不連続を適応的に平滑化する。
逆量子化部(270)が、エントロピー符号化データを逆量子化する。一般に、逆量子化部は、フレームごとに、またはその他に基づいて変わるステップサイズを用いて、エントロピー符号化データに、一様なスカラー逆量子化を適用する。あるいは、逆量子化部は、そのデータに別の種類の逆量子化、たとえば、非一様な、ベクトルの、または非適応型の量子化を適用し、あるいは逆周波数変換を使用しないデコーダシステムで空間領域データを直接逆量子化する。
逆周波数変換部(260)が、量子化された周波数領域データを、空間領域映像情報に変換する。ブロックベースの映像フレームの場合、逆周波数変換部(260)は、以下のセクションで説明する逆変換を適用する。いくつかの実施形態では、キーフレームの場合、逆周波数変換部(260)は、複数ブロックの空間予測残差に逆周波数変換を適用する。逆周波数変換部(260)は、8×8、8×4、4×8、またはその他のサイズの逆周波数変換を適用することが可能である。
(2.スライス層符号化)
上記背景技術のセクションで論じたように、パケット損失および伝送エラーによる復号化失敗を回避しまたは最小限に抑える一技術は、いくつかの従来の映像コーデック規格で提供されるスライスなど、独立に復号化可能な一部のピクチャ単位で符号化することによって、冗長性を高めることである。一般に、スライスは、1行または連続した複数行のマクロブロックを含む、ピクチャの一部である。
スライスの主な狙いの1つは、コーデックで、エラー回復力と圧縮が適切に両立できるようにすることである。その理由は、いくつかの映像コーデック適用例や利用シナリオは、大量のパケット損失を克服しなければならず、したがってエラー回復力を重要視しなければならないからである。他の適用例では、ごく最小限のエラー回復力しか必要とされず、効率的な圧縮が必要とされる。本明細書に記載される映像コーデックのビットストリーム構文の実装形態では、回復力および効率性を最適に選択可能なように設計されたスライス層またはその他の部分ピクチャ単位層が、構文に組み込まれている。これは、以下の方法で行うことができる。
A)スライス内(intra−slice)の完全再構築:図示した構文のスライス層は、ループフィルタリングなどの動作ならびにオーバラップがスライスをまたいで機能しないように設計されている。したがって、あるスライスのすべてのマクロブロックがスライス内符号化され、かつそのスライスに対応するピクチャヘッダがわかっている場合、そのピクチャの他のスライス(領域)内のエラーとは無関係に、エラーなしで正確にそのスライスを再構築することが可能である。これにより、スライス内の完全な(エラーなしの)再構築を行えるようになり、エラー回復能力が大幅に向上する。
B)フレームヘッダを繰り返す低コストの方法:ピクチャヘッダ情報を繰り返すと、ピクチャヘッダがデコーダで受け取られるようになる可能性は増大するが、圧縮効率は低下する。図示したスライス層構文は、1ビットのフラグを使用して、あるスライスにおいてそのピクチャヘッダが送信されるかどうかを通知する。これにより、エンコーダは、スライスの数も、ピクチャヘッダが再送信される特定のスライスも選択することができる。
(A.構文の階層)
より具体的には、図示した映像コーデック構文は、図3に示すように映像シーケンスの各フレームを3つの基本的階層、すなわちピクチャ310、マクロブロック340、およびブロック350に分解する階層構文構造を用いて映像を表す。ピクチャ310は、輝度(Y)チャネル330、およびクロミナンス(CrおよびCb)チャネル331〜332を含む。ピクチャ層310は、複数行のマクロブロック340からなる。マクロブロックは一般に、それぞれ6つのブロック、すなわち輝度層の1組2×2個のブロック、およびクロミナンスチャネルそれぞれのブロックを含む。ブロックは一般に、(図示した映像コーデック構文では、4×8、8×4、4×4の変換ブロックを使用することも可能であるが)8×8の輝度またはクロミナンスサンプルからなり、変換ベースの符号化ではそれに対して変換が適用される。
さらに、ピクチャ層310とマクロブロック層340の間に、スライス層320と呼ばれる追加の第4層が存在することが可能である。スライスは、ラスタ走査順で走査される、1行または連続した複数行のマクロブロックを含むように定義される。したがって、ピクチャ310をスライス320に分解し、このスライスをマクロブロック340に分解することが可能となる。この図示した映像コーデック構文では、スライスは常に、ある行の最初のマクロブロックから始まり、同じまたは別の行の最後のマクロブロックで終わる。したがって、スライスは、完全な行を整数個含む。さらにピクチャおよびスライスは常に、この図示した映像コーデックビットストリーム構文内でバイト整合されており、以下で述べるIDU(independent decodable unit:独立復号化可能単位)で送信される。新しいピクチャ、またはスライスは、以下に概要を示す開始コードによって検出される。
(B.スライス層の定義)
1つのスライスは、ラスタ走査順で走査される1行または連続した複数行のマクロブロックを表す。図示した構文内のスライス層はオプションであり、ピクチャを1つのIDUとして符号化することによってスキップすることが可能である。1つのピクチャを複数のIDUに符号化するときに、スライスを使用する。スライスは常に、ある行の最初のマクロブロックから始まり、同じまたは別の行の最後のマクロブロックで終わることに留意されたい。したがって、スライスは、完全な行を整数個含む。スライスは常にバイト整合されており、各スライスは互いに異なるIDUで送信される。新しいスライスの始まりは、以下に概要を示す開始コードを検索することによって検出される。
新しいスライスが始まるとき、動きベクトル予測子、AC係数およびDC係数の予測子、および量子化パラメータの予測子がリセットされる。言い換えると、予測に関して、スライス内の最初の行のマクロブロックが、ピクチャ内の最初の行のマクロブロックであると見なされる。これにより、予測子におけるスライス間の依存性がなくなる。さらに、スライスが使用されるとき、すべてのビットプレーン情報は、各マクロブロックがその局所情報を含む生モードで運搬される。
(C.スライス層の構文構造)
図4および5を参照すると、圧縮映像ビットストリーム195(図1)が、一連の圧縮プログレッシブ映像フレームまたはその他のピクチャ(たとえば、インターレースフレーム形式ピクチャまたはインターレースフィールド形式ピクチャ)を含む。このビットストリームは複数の階層に編成され、それぞれ図2のデコーダ(200)などのデコーダによって復号化される。最上位層が、フレームのシーケンス全体に関する情報を有するシーケンス層である。さらに(先に要約したように)、各圧縮映像フレームは、3階層、すなわち(上から下に)ピクチャ層、マクロブロック層、およびブロック層と、オプションでピクチャ層とマクロブロック層の間のスライス層とに組織化されたデータからなる。
図4は、シーケンスヘッダ410と、それに続くピクチャ層500(図5参照)用のデータとを含むシーケンス層400の構文図である。シーケンスヘッダ410は、デコーダによって処理され、かつ、シーケンスを復号化するのに使用される、いくつかのシーケンスレベル要素を含む。
図5は、インターレースのフレーム内符号化フレーム(「インターレースIフレーム」)用のピクチャ層500の構文図である。プログレッシブのIフレーム、Pピクチャ、およびBフレームなど他のピクチャの構文図は、多くの類似の構文要素を有する。ピクチャ層500は、ピクチャヘッダ510と、それに続くマクロブロック層520用のデータとを含む。ピクチャヘッダ510は、デコーダによって処理され、かつ、対応するフレームを復号化するのに使用される、複数のピクチャレベル要素を含む。これらの要素のうちのいくつかは、その存在がシーケンスレベル要素または前のピクチャレベル要素によって通知されあるいは暗示される場合にのみ、存在する。
図6は、スライスヘッダ610と、それに続くマクロブロック層520用のデータとを含むスライス層600の構文図である。スライスヘッダ610を構成する要素は、以下の表1にも示すように、スライスアドレス(SLICE_ADDR)要素620、およびピクチャヘッダ存在フラグ(PIC_HEADER_FLAG)要素630を含む。
スライスアドレス要素620は、固定長9ビットの構文要素である。この構文要素内では、スライスの最初のマクロブロック行の行アドレスが2進符号化されている。図示した実装形態において、この構文要素の範囲は1から511であり、最大ピクチャサイズ8192が、最大マクロブロック行数512に対応する。
PIC_HEADER_FLAG 630は、スライスヘッダ内に存在する1ビットの構文要素である。PIC_HEADER_FLAG=0の場合、スライスヘッダ内でピクチャヘッダ情報が繰り返されない。PIC_HEADER_FLAG=1の場合は、このスライスを含むピクチャ層中に存在するピクチャヘッダ510(図5)の情報が、スライスヘッダ内で繰り返される。
Figure 0005280003
(3.独立復号化可能単位の開始コード)
図示した映像エンコーダ/デコーダのビットストリーム構文では、圧縮映像データの独立復号化可能単位(IDU)が、開始コード(SC)と呼ぶ識別子で始まる。IDUは、1つのピクチャ、またはスライス(すなわち、ピクチャ内のマクロブロックのグループ)、またはGOP(Group Of Pictures)、またはシーケンスヘッダを参照し得る。
開始コードは、4バイトのシーケンスであり、一意の3バイトの開始コードプレフィックス(SCP)、および1バイトの開始コードサフィックス(SCS)からなる。SCPは、一意の3バイト(0x000001)のシーケンスである。SCSは、IDUの種類を識別するのに使用され、開始コードの後にくる。たとえば、ピクチャの前にある開始コードのサフィックスは、スライスの前にある開始コードのサフィックスとは異なる。開始コードは、常にバイト整合されている。
ビットストリーム中の開始コードプレフィックスの模倣を防止するためのカプセル化機構(EM)について説明する。カプセル化前の圧縮データは原信号の独立復号化可能単位(RIDU:Independency Decodable Unit)と呼び、一方、カプセル化IDU(EIDU)はカプセル化後のデータを指す。
以下のセクションでは、開始コードおよびカプセル化がどのように動作するかに関するエンコーダ側の全体像を示す。セクションE.2では、デコーダにおける開始コードおよびEIDUの検出について述べる。セクションE.3では、EIDUからのRIDUの抽出を扱う。セクションE.4では、様々なIDU種類用の開始コードサフィックスについて述べる。
(A.開始コードおよびカプセル化−エンコーダ側の視点)
EIDUを得るためのRIDUのカプセル化について以下に説明する。
ステップ1:RIDUの最後に後続「1」ビットを追加する。次にEMが、このIDUがバイト整合位置で終わるように、0〜7ビットをIDUの最後に付加する。これらの「スタッフィング」ビットの値は「0」である。その結果、このステップの最後では、IDUが整数個のバイトで表され、IDUの最後のバイトはゼロ値のバイトではあり得なくなる。その結果得られるバイト列を、IDUのペイロードバイトと呼ぶ。
ステップ2:3バイトの開始コードプレフィックス(0x000001)と、IDU種類を識別する適切な開始コードサフィックスをEIDUの最初に置く。
ステップ3:EIDUの残りの部分を、以下の模倣防止処理によりIDUのペイロードバイトを処理することによって形成する。バイト充填によってIDU中の開始コードプレフィックスの模倣を排除する。この模倣防止処理は、以下の動作と等価である。
1)値0x00の連続2バイトと、それに続く6ビットのMSB(LSBの値は関係ない)にゼロ値を含む1バイトとからなる、ペイロード中の各ストリングを、値0x00の2バイトと、それに続く0x03に等しい1バイトと、それに続く元の3バイトのデータストリングの最後のバイトに等しい1バイトとで置き換える。この処理を、表2に示す。
Figure 0005280003
ステップ3:3バイトの開始コードプレフィックス(0x000001)と、IDU種類を識別する適切な開始コードサフィックスとを、IDUの最初に付ける。その結果得られるペイロードが、カプセル化IDUである。
エンコーダは、EIDUの最後の後に、任意の数のゼロ値の充填バイトを挿入することもできる。同様に、開始コードプレフィックスの前に、任意の数のゼロ値の充填バイトを挿入することも可能である。開始コードは、たとえこれらゼロ値の充填バイトが存在しても、デコーダによって検出可能な構造になっている。H.320などいくつかの伝送環境では、エンコーダはこの機能を使用して、追加のゼロ値充填バイトを必要に応じて挿入することができ、これにより、デコーダがたとえバイト境界に対するビットストリームの所期の整合を見失っても、開始コードの位置を迅速に回復することが可能となる。さらに、これらのゼロ値充填バイトは、ビットストリームを継ぎ合わせる際や一定のビットレートチャネルを充填する際などでも有用であり得る。開始コードの前の、またはEIDUの最後のゼロ値充填バイトはカプセル化機構によって処理されず、RIDUデータだけがそうした処理を必要とする。
(B.開始コードおよびEIDUの検出)
EIDUの検出では、まず開始コードプレフィックスを検索する。
バイト整合位置から始まる開始コードの検出:バイト整合を喪失することがあり得ないデコーダ、または一旦バイト整合が確立されているデコーダでは、開始コード検出は以下のように行う。
1.値0x00の2バイト以上と、それに続く値0x01の1バイトとからなるストリングが見つかったときはいつでも、開始コードプレフィックス検出が宣言される。
連続した2つの開始コードプレフィックスが検出されたとき、それらの間のペイロードビットストリームが新規EIDUとして宣言される。
デコーダにおけるバイト整合の喪失後の開始コードの検出:(一部の伝送環境で発生し得るように)バイト整合を喪失したデコーダにおいて、開始コードプレフィックス検出およびバイト整合検出が以下のように行われる。値0x00の3バイト以上のストリングが見つかり、それに続いて任意の非ゼロバイトが見つかったときはいつでも、開始コードプレフィックス検出が宣言され、バイト整合は、非ゼロバイトの最初の非ゼロビットがバイト整合開始コードの最後のビットであるように回復されているものと見なされる。
(C.EIDUからのRIDUの抽出)
カプセル化IDUからの生IDUの抽出について以下に述べる。
ステップ1:開始コードサフィックスを使用して、IDUの種類を識別する。
ステップ2:最初のステップで、EIDUの最後にあるゼロ値充填バイトを除去する。このステップの後、IDUの最後のバイトは非ゼロ値を有するはずである。
ステップ3:模倣防止用に使用されるバイトが検出され除去される。この処理は以下のとおりである。
値0x00の2バイトのストリングに0x03と等しい1バイトが続く場合は常に、この0x03と等しい1バイトは模倣防止バイトであると見なされ、破棄される。この処理を表3に示す。
Figure 0005280003
(デコーダによる適切なバイト整合の喪失がエラー条件と見なされることに留意すると)以下のバイトパターンがビットストリーム中で見つかった場合、それらはエラー条件を表す。
a)値0x00の2バイトと、それに続く0x02と等しい1バイトとからなるストリングは、エラー条件を示す。
b)値0x00の3バイト以上のストリングの後に0x01の1バイトが続いていない場合、そのストリングはエラー条件である(ゼロと等しい2バイト以上に値0x01の1バイトが続き、バイト整合が喪失していない場合、後続の開始コードの検出が宣言されることに留意されたい)。
c)値0x00の2バイトと、それに続く値0x03の1バイトと、それに続く0x00、0x01、0x02、0x03のどれでもない1バイトからなるストリング。
ステップ4:IDUの最後のバイトにおいて、最後の非ゼロビットが識別され、その非ゼロビットと、それに続くすべての「ゼロ」ビットが破棄される。その結果が、生IDUである。
(D.IDU種類用の開始コードサフィックス)
様々なIDU種類用の開始コードサフィックスを表4に提示する。
Figure 0005280003
シーケンスヘッダサフィックスが送られ、シーケンスヘッダ410(図4)を有するIDUが識別される。
エントリポイントヘッダサフィックスが送られ、エントリポイントヘッダを有するIDUが識別される。
ピクチャサフィックスが送られ、ピクチャ320(図3)、およびピクチャヘッダ510(図5)を含むIDUが識別される。
フィールドサフィックスが送られ、別々の2つのフィールドとして符号化されるピクチャの第2フィールドを含むIDUが識別される。
スライスサフィックスが送られ、スライス320(図3)、およびスライスヘッダ610(図6)を有するIDUが識別される。
シーケンスレベルユーザデータ、エントリポイントレベルユーザデータ、フレームレベルユーザデータ、フィールドレベルユーザデータ、およびスライスレベルユーザデータの各サフィックスが使用され、それぞれシーケンス、エントリポイント、フレーム、フィールド、およびスライスに関連した任意のユーザ定義データが送信される。
「シーケンス終了」は、現シーケンスが終了していることを示す任意のサフィックスであり、このシーケンスではデータはもう送信されない。「シーケンス終了」が送信されることがあるが、あるシーケンスの終了は次のシーケンスのヘッダから推論されるはずであることに留意されたい。
(4.スライス層の独立性)
図示したスライス層320(図3)では、独立した復号化能力および独立した再構築も実現される。これにより、ピクチャ310(図3)の他の領域における伝送エラーやパケット損失に関係なく、デコーダでエラーなしにスライスを再構築することができる。
(A.独立した復号化能力)
スライス層320の内容は、他のスライス内のピクチャ内容またはピクチャの領域とは独立に復号化される。新しいスライスが始まるとき、エンコーダ100およびデコーダ200は、動きベクトル予測子、AC係数およびDC係数用の予測子、ならびに量子化パラメータ用の予測子をリセットする。言い換えると、予測に関して、スライスのマクロブロックの第1行が、ピクチャ内のマクロブロックの第1行であるかのように扱われる。これは、予測子におけるスライス間依存性がないようにするのに役立つ。さらに、スライスが使用されると、ピクチャ層で他の方法により(たとえばビットプレーン符号化を使用して)符号化された(動きベクトルモードやAC予測用のフラグなどの)マクロブロックレベル情報が、変換係数など他のマクロブロックレベル情報と共に局所的に保持される。これにより、各スライスを独立に(すなわち、ピクチャの他のスライスで復号化されたデータを利用せずに)復号化することができる。
(B.独立した再構築)
さらに、スライスの再構築の処理は、ピクチャ内の他のスライス(たとえば、隣接するスライス)の再構築とは独立に実施される。したがって、(以下に述べるインループデブロッキングまたはオーバラップフィルタリングなど)普通ならピクチャ内の隣接するスライス間の境界をまたいで適用されるような処理はいずれも、許可されない。言い換えると、各スライスの一番上および一番下のマクロブロック行は、そのような境界処理においてピクチャのマクロブロック最上行および最下行のように扱われる。
(オーバラップ平滑化)
オーバラップ変換は、ブロック境界をまたいで情報を変換する、改変されたブロックベースの変換である。うまく設計されたオーバラップ変換では、ブロックアーティファクトを最小にすることが可能である。フレーム内ブロックの場合、図示した映像コーデックは、8×8ブロック変換を(オーバラップ平滑化と呼ぶ)フィルタリング動作と組み合わせることによって、オーバラップ変換をシミュレートする。2つのフレーム内ブロックを分離する、8×8ブロックのエッジが平滑化される。実際にも、オーバラップ変換がこのインターフェースで実装される。ただし、オーバラップ平滑化は、どんな場合も、スライス境界をまたいでは実施されない。
シーケンス層構文要素OVERLAP 420(図4)が1に設定されている場合、輝度チャネルとクロミナンスチャネルのどちらについても、フィルタリング動作を、隣接する2つのフレーム内ブロックのエッジをまたいで条件付きで行うことができる。(オーバラップ平滑化と呼ばれる)このフィルタリング動作は、フレームの復号化後、インループデブロッキングの前に行われる。ただし、オーバラップ平滑化を、該当するマクロブロックスライスが復号化された後に実施することもできる。これは、フレーム全体を復号化した後に平滑化するのと機能的に同等であるからである。
図7に、Iブロックを含むPフレームの一部分に対して、オーバラップ平滑化を実施した例を示す。これは、輝度チャネルでもクロミナンスチャネルでもよい。Iブロックはグレー(または網がけ)で、Pブロックは白である。この図では、オーバラップ平滑化の適用対象のエッジインターフェースは、網がけパターンでマークされている。オーバラップ平滑化は、分離境界の両側の2画素に適用される。フレームの右下領域を例としてここに示す。画素は個々のセルを占め、ブロックは太線によって分離されている。両方向にフィルタされている2×2画素の隅部サブブロックを、太丸でマークしてある。
図7の下部の差込み図(inset)は、4つのラベル付き画素を示しており、a0およびa1が垂直ブロックエッジの左側で、b1およびb0が右側である。上部の差込み図は、水平エッジをまたぐ、p0、p1、q1、およびq0とマークされた画素を示している。次のセクションでは、これら4つの画素位置に適用されるフィルタについて説明する。
オーバラップ平滑化は、制限なしの(unclamp)16ビット再構築に対して実施される。それが必要なのは、オーバラップ平滑化に関連した順方向処理により、画素値に対して許容可能な8ビットの範囲を超えて範囲が拡張される恐れがあるからである。オーバラップ平滑化の結果は、オーバラップ平滑化によって影響を受けない画素の残存部分に合わせて、8ビットに固定(clamp)される。
垂直エッジ(上記の例の画素a0、a1、b1、b0)がまずフィルタされ、その後、水平エッジ(画素p0、p1、q1、q0)がフィルタされる。フィルタリングの第1段階(垂直エッジ平滑化)後の中間結果は、16ビットで記憶される。両エッジにまたがる4画素に適用される中核フィルタを次式で示す。
Figure 0005280003
フィルタされる元の画素は(x0、xl、x2、x3)である。r0およびr1は、丸めパラメータであり、3と4の値を交互にとり、統計的に偏りのない丸めを保証する。元の値は、明らかに実装の容易なエントリをもつマトリクスによってフィルタされる。これらの値に、丸め係数を加えた後、3ビットだけビットシフトすると、フィルタ済み出力(y0、y1、y2、y3)が得られる。
水平および垂直エッジフィルタのどちらの場合も、ブロック内の番号付けが1で始まると仮定すれば、丸め値は、奇数インデックスの列および行に対してそれぞれr0=4、r1=3である。偶数インデックスの列/行の場合、r0=3およびr1=4である。フィルタリングは、インプレース(in−place)の16ビット動作として定義され、したがって、元の画素は、平滑化後に上書きされる。垂直エッジフィルタリングの場合、画素(a0、a1、b1、b0)は(x0、x1、x2、x3)に対応し、フィルタされて(y0、y1、y2、y3)になる。同様に、水平エッジフィルタリングの場合、(p0、p1、q1、q0)がそれぞれ対応する。
図7の太線の円で示す隅部の2×2画素は、両方向にフィルタされる。フィルタリングの順序によってそれらの最終値が決まるため、垂直エッジフィルタリングとそれに続く水平エッジフィルタリングという順序を、ビットレベルの厳密さで維持することが重要である。概念上、制限は、フィルタされるすべての画素に対して、2方向のフィルタリング段階の後に実行される。ただし、制限をフィルタリングと組み合わせることに、ある種の計算上の利点がある可能性がある。
(インループデブロックフィルタリング)
ループフィルタリングは、ブロック境界において不連続を平滑化するために、映像エンコーダ/デコーダによって実行される処理である。シーケンス層構文要素LOOPFILTER430(図4)が1に設定されている場合、各再構築済みフレームに対してフィルタリング動作が行われる。このフィルタリング動作は、再構築済みフレームを動き予測符号化の参照として使用する前に行われる。
ループフィルタリングの目的はブロック境界における不連続を平滑化することであるため、このフィルタリング処理は、隣接ブロックに接する画素に対して働く。
Pピクチャの場合、ブロック境界は、8×8、8×4、または4×8のどの逆変換が使用されるかに応じて、第4、第8、第12などの画素行または列ごとに生じ得る。Iピクチャの場合、フィルタリングは、第8、第16、第24などの画素行または列ごとに生じる。
Iピクチャの場合、デブロックフィルタリングは、(ピクチャエッジと同様に扱われる)スライス境界では実施されないことを除き、すべての8×8ブロック境界で実施される。図8および9に、Iピクチャフレームの水平および垂直境界領域に沿ってフィルタされる画素を示す。これらの図は、構成要素(ルマ(luma)、Cr、またはCb)プレーンの左上隅部を示している。十字印は画素を表し、丸十字印はフィルタされた画素を表している。
図に示すように、ピクチャまたはスライスの一番上の水平行および最初の垂直行はフィルタされない。図示しないが、ピクチャまたはスライスの一番下の水平行および最後の垂直行もフィルタされない。より正式にいうと、以下の行がフィルタされる。
N=平面内の水平8×8ブロックの数(N×8=水平フレームサイズ)
および
M=フレーム内の垂直8×8ブロックの数(M×8=垂直フレームサイズ)
の場合に、
水平行(7,8)、(15,16)...((N−1)×8−1,(N−1)×8)
がフィルタされ、
垂直行(7,8)、(15,16)...((M−1)×8−1,(M−1)×8)
がフィルタされる。
画素がフィルタされる順序は重要である。フレーム内のすべての水平境界行がまずフィルタされ、その後、垂直境界行がフィルタされる。
Pピクチャの場合、ブロックは、フレーム内符号化することも、フレーム間符号化することもできる。フレーム内符号化ブロックでは常に8×8変換を使用してサンプルが変換され、8×8ブロック境界は常にフィルタされる。フレーム間符号化ブロックでは、8×8、8×4、4×8、または4×4の逆変換を使用して、残存誤差を表すサンプルを構築することができる。隣接ブロックのステータスに応じて、現ブロックと隣接ブロックの間の境界はフィルタされることもフィルタされないこともある。どちらの場合も、ピクチャまたはスライスの境界エッジはフィルタされない。
(フィルタ動作)
このセクションでは、上記で論じたような、IフレームおよびPフレーム内のブロック境界画素に対して行われるフィルタリング動作について説明する。
行または列内でフィルタされる連続した画素の最小数が4で、かつ行または列内の画素の合計数が常に4の倍数になるので、フィルタリング動作は4画素のセグメントに対して行われる。
たとえば、2つのブロック間の垂直境界を構成する8つの画素対がフィルタされる場合、図11に示すように、8画素が、2つの4画素セグメント1100に分割される。各4画素セグメントにおいて、Xで示す第3の画素対がまずフィルタされる。このフィルタ動作の結果により、以下に述べるように、セグメント内の他の3つの画素もフィルタされるかどうかが決まる。
図12に、第3の画素対に対して行われるフィルタリング動作で使用される画素1200を示す。画素P4およびP5は、フィルタ動作で変更され得る画素対である。
図13の擬似コード1300は、各セグメント内の第3の画素対に対して行われるフィルタリング動作を示している。値filter_other_3_pixelsは、セグメント内の残る3つの画素対もフィルタされかどうかを示す。filter_other_3_pixels=真の場合、他の3つの画素対がフィルタされる。filter_other_3_pixels=偽の場合、それらはフィルタされず、フィルタリング動作は次の4画素セグメントに進む。図14の擬似コード1400は、filter_other_3_pixels=真の場合に、第1、第2、第4の画素対に対して行われるフィルタリング動作を示している。
このセクションでは、例示の目的で、垂直境界を使用した。同じ動作は、水平境界画素をフィルタリングするためにも使用される。
(5.コンピューティング環境)
スライス層符号化の上述の実装は、とりわけコンピュータ、画像および映像記録、送信および受信機器、ポータブルビデオプレーヤ、ビデオ会議、Webビデオストリーミングアプリケーションなどを含めた、画像および映像信号処理が実行される様々な装置のどれに対しても行うことが可能である。画像および映像符号化技術は、ハードウェア回路内(たとえば、ASIC,FPGAなどの回路内)で実装することも、(中央処理装置(CPU)で実行されるものであれ、あるいは専用グラフィックスプロセッサ、ビデオカードなどで実行されるものであれ)コンピュータまたは図10に示すような他のコンピューティング環境内で実行される画像および映像処理ソフトウェアで実装することもできる。
図10に、上述のスライス層符号化を実装できる適切なコンピューティング環境(1000)の汎用例を示す。本発明は様々な汎用または専用コンピューティング環境で実装できるので、このコンピューティング環境(1000)は、本発明の使用または機能の範囲に関してどんな制限を示唆するものでもない。
図10を参照すると、コンピューティング環境(1000)は、少なくとも1つの処理装置(1010)およびメモリ(1020)を含む。図10では、この最も基本的な構成(1030)を破線で囲んである。処理装置(1010)は、コンピュータ実行可能命令を実行し、実プロセッサでも仮想プロセッサでもよい。マルチプロセッシングシステムでは、処理能力を高めるために、複数の処理装置がコンピュータ実行可能命令を実行する。メモリ(1020)は、揮発性メモリ(たとえば、レジスタ、キャッシュ、RAM)、非揮発性メモリ(たとえば、ROM、EEPROM、フラッシュメモリなど)、またはこれら2つの何らかの組合せとすることができる。メモリ(1020)は、上記スライス層符号化を実装するソフトウェア(1080)を記憶する。
コンピューティング環境が他の機能を有することもできる。たとえば、コンピューティング環境(1000)は、記憶装置(1040)、1つまたは複数の入力装置(1050)、1つまたは複数の出力装置(1060)、および1つまたは複数の通信接続(1070)を含む。バス、コントローラ、ネットワークなどの相互接続機構(図示せず)が、コンピューティング環境(1000)の各構成要素を相互接続している。通常、オペレーティングシステムソフトウェア(図示せず)は、コンピューティング環境(1000)で実行される他のソフトウェアのための動作環境を提供し、コンピューティング環境(1000)の各構成要素のアクティビティを調整する。
記憶装置(1040)は取外し可能でも取外し不能でもよく、それには磁気ディスク、磁気テープまたはカセット、CD−ROM、CD−RW、DVD、または情報を記憶するのに使用可能でありコンピューティング環境(1000)内でアクセス可能であるその他の媒体が含まれる。記憶装置(1040)は、スライス層符号化を実施する音声エンコーダを実装するソフトウェア(1080)用の命令を記憶する。
入力装置(1050)は、キーボード、マウス、ペン、トラックボールなどの接触式入力装置、音声入力装置、スキャニング装置、またはコンピューティング環境(1000)に入力を提供する他の装置とすることができる。音声の場合、入力装置(1050)は、アナログまたはデジタル形式で音声入力を受け入れるサウンドカードまたは類似の装置、あるいはコンピューティング環境に音声サンプルを提供するCD−ROM読取り装置とすることができる。出力装置(1060)は、ディスプレイ、プリンタ、スピーカ、CD書込み装置、またはコンピューティング環境(1000)からの出力を提供する他の装置とすることができる。
通信接続(1070)により、通信媒体を介して別のコンピューティングエンティティへの通信が可能になる。通信媒体は、コンピュータ実行可能命令、圧縮音声または映像情報、その他のデータなどの情報を変調データ信号で運搬する。変調データ信号とは、その信号特性のうちの1つまたは複数の特性が、信号中で情報が符号化されるような形で設定または変更されている信号である。例を挙げると、それだけには限らないが、通信媒体には、電気、光学、RF、赤外、音響、またはその他の搬送体(carrier)で実装される有線または無線技術が含まれる。
本明細書のスライス層符号化/復号化技術は、コンピュータ読み取り可能な媒体の一般的文脈中(context)で説明することが可能である。コンピュータ読み取り可能な媒体は、コンピューティング環境内でアクセスできる任意の利用可能な媒体である。例を挙げると、それだけには限らないが、コンピューティング環境(1000)において、コンピュータ読み取り可能な媒体にはメモリ(1020)、記憶装置(1040)、通信媒体、および上記の任意の組合せが含まれる。
本明細書のスライス層符号化は、対象の実プロセッサまたは仮想プロセッサ上のコンピューティング環境で実行されるプログラムモジュールに含まれるものなどの、コンピュータ実行可能命令の一般的文脈で説明することが可能である。一般に、プログラムモジュールには、特定のタスクを実行する、または特定の抽象データ種類を実装するルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造などが含まれる。プログラムモジュールの機能は、様々な実施形態で所望されるように、プログラムモジュール間で結合または分割することができる。プログラムモジュール用のコンピュータ実行可能命令は、ローカルコンピューティング環境でも分散コンピューティング環境でも実行することができる。
提示の目的で、発明を実施するための最良の形態では、「決定する」、「生成する」、「調整する」、および「適用する」などの用語を使用して、コンピュータ環境内のコンピュータ動作を説明している。これらの用語は、コンピュータによって行われる動作の高レベルの抽象概念であり、人間によって行われる動作と混同すべきではない。これらの用語に対応する実際のコンピュータ動作は、実装に応じて変わってくる。
本発明の原理を適用できる実施形態が多数考え得ることに鑑みて、本発明者らは、添付の特許請求の範囲およびその等価物の範囲および趣旨に含めることのできるすべての実施形態を本発明者らの発明であると主張するものである。
本明細書に記載のスライス層符号化を用いた映像エンコーダのブロック図である。 本明細書に記載のスライス層符号化を用いた映像デコーダのブロック図である。 スライス層符号化を用いた映像エンコーダ/デコーダによって使用される圧縮ビットストリームで表される映像シーケンスの要素の階層構成を示す図である。 スライス層符号化を用いた映像エンコーダ/デコーダによって使用される圧縮ビットストリームの符号化構文のシーケンスレベルの構文図である。 スライス層符号化を用いた映像エンコーダ/デコーダによって使用される圧縮ビットストリームの符号化構文のフレームレベルの構文図である。 スライス層符号化を用いた映像エンコーダ/デコーダによって使用される圧縮ビットストリームの符号化構文のスライス層レベルの構文図である。 ブロック境界で実施されるオーバラップ平滑化の一例を示す図である。 ループ内デブロックフィルタリングが実施されるIピクチャ内の水平ブロック境界画素の例を示す図である。 ループ内デブロックフィルタリングが実施されるIピクチャ内の垂直ブロック境界画素の例を示す図である。 図1および2の映像エンコーダ/デコーダに適したコンピューティング環境のブロック図である。 ループフィルタリングで使用される、4つで1組の画素セグメントを示す図である。 フィルタリング動作で使用される画素を示す図である。 あるセグメントの第3の画素対に対するフィルタリング動作の擬似コードリストである。 あるセグメントの第1、第2、および第4の画素対に対するフィルタリング動作の、擬似コードリストである。

Claims (11)

  1. 映像および画像を復号化する方法であって、
    符号化されたビットストリームから、少なくともピクチャ層、スライス層、およびマクロブロック層を備える構文階層を有するピクチャを復号化することであって、前記符号化されたビットストリームが、前記ピクチャ層において前記ピクチャに対するピクチャヘッダ情報、および、前記スライス層においてスライスに対するスライス情報を含み、前記スライス情報が、前記スライスのアドレスと、前記ピクチャヘッダ情報が前記スライスに対するスライス情報内で繰り返されるかどうかについての指示とを含むことと、
    前記ピクチャヘッダ情報が前記スライスに対して繰り返されるかどうかについての前記指示を復号化することと、
    前記ピクチャヘッダ情報が前記スライスに対して繰り返されると指示された場合に前記スライスに対する前記ピクチャヘッダ情報を復号化し、前記ピクチャヘッダ情報が前記スライスに対して繰り返されると指示されない場合に前記スライスに対する前記ピクチャヘッダ情報を復号化することをスキップすることと、
    前記アドレスを復号化することと、
    前記ピクチャ内の、前記アドレスによって指示された位置にある前記スライスを再構築することと、
    前記スライスの境界エッジを除く、前記スライス内の少なくともいくつかのブロックエッジに対してオーバラップ平滑化を実施することであって、前記オーバラップ平滑化は、前記少なくともいくつかのブロック境界をまたいで情報を変換するフィルタリング動作を含み、前記符号化されたビットストリーム内の構文要素が前記オーバラップ平滑化を実施することを示す場合に、前記スライス内の隣接している2つのイントラ(I)ブロックの間のブロックエッジに対して行われることと
    を備えることを特徴とする方法。
  2. 映像および画像を復号化する方法であって、
    符号化されたビットストリームから、少なくともピクチャ層、スライス層、およびマクロブロック層を備える構文階層を有するピクチャを復号化することであって、前記符号化されたビットストリームが、前記ピクチャ層において前記ピクチャに対するピクチャヘッダ情報、および、前記スライス層においてスライスに対するスライス情報を含み、前記スライス情報が、前記スライスのアドレスと、前記ピクチャヘッダ情報が前記スライスに対して繰り返されるかどうかについての指示とを含むことと、
    前記ピクチャヘッダ情報が前記スライスに対して繰り返されるかどうかについての前記指示を復号化することと、
    前記ピクチャヘッダ情報が前記スライスに対して繰り返されると指示された場合に前記スライスに対する前記ピクチャヘッダ情報を復号化し、前記ピクチャヘッダ情報が前記スライスに対して繰り返されると指示されない場合に前記スライスに対する前記ピクチャヘッダ情報を復号化することをスキップすることと、
    前記アドレスを復号化することと、
    前記ピクチャ内の、前記アドレスによって指示された位置にある前記スライスを再構築することと、
    前記スライスの境界エッジを除く、前記スライス内の少なくともいくつかのブロックエッジに対してオーバラップ平滑化を実施することであって、前記オーバラップ平滑化は、前記少なくともいくつかのブロック境界をまたいで情報を変換するフィルタリング動作を含み、前記符号化されたビットストリーム内の構文要素が前記オーバラップ平滑化を実施することを示す場合に、前記スライス内の隣接している2つのイントラ(I)ブロックの間のブロックエッジに対して行われることと、
    前記スライスの境界エッジを除く、前記スライス内の少なくともいくつかのブロックエッジのデブロックフィルタリングを実施することと
    を備えることを特徴とする方法。
  3. 前記スライスのピクチャ内容情報の復号化の開始時に、予測符号化パラメータをリセットすること
    をさらに備えることを特徴とする請求項2に記載の方法。
  4. 前記スライスのピクチャ内容情報の復号化の開始時に、予測符号化パラメータをリセットすること
    をさらに備えることを特徴とする請求項1に記載の方法。
  5. 前記スライスのピクチャ内容情報の復号化の開始時にリセットされる前記予測符号化パラメータは、動きベクトル予測子、AC係数予測の予測子、DC係数予測の予測子、および量子化パラメータの予測子を含むことを特徴とする請求項3または4のいずれかに記載の方法。
  6. スライスの符号化が前記ピクチャに対して使用される場合、ピクチャ層ビットプレーン符号化を使用して通常は通知されるマクロブロックの構文要素は、代わりにマクロブロック層において前記マクロブロックのそれぞれに対して通知されることを特徴とする請求項3または4のいずれかに記載の方法。
  7. 前記マクロブロックの構文要素は、前記マクロブロックのそれぞれに対する動きベクトルモードおよびAC予測ステータスを表すことを特徴とする請求項6に記載の方法。
  8. 処理装置とメモリとを備え、前記メモリに格納されたコンピュータプログラムを前記処理装置が実行することによって、請求項1に記載の方法を実施するコンピュータ。
  9. 処理装置とメモリとを備え、前記メモリに格納されたコンピュータプログラムを前記処理装置が実行することによって、請求項2に記載の方法を実施するコンピュータ。
  10. 請求項2に記載の方法を実施するための、処理装置によって実行可能なソフトウェアモジュールを有する、少なくとも1つのコンピュータ読み取り可能な記録媒体。
  11. 請求項1に記載の方法を実施するための、処理装置によって実行可能なソフトウェアモジュールを有する、少なくとも1つのコンピュータ読み取り可能な記録媒体。
JP2006526223A 2003-09-07 2004-09-03 映像コーデックにおけるスライス層 Active JP5280003B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US50108103P 2003-09-07 2003-09-07
US60/501,081 2003-09-07
PCT/US2004/029033 WO2005027495A2 (en) 2003-09-07 2004-09-03 Slice layer in video codec
US10/933,960 2004-09-03
US10/933,960 US7162093B2 (en) 2003-09-07 2004-09-03 Slice-layer in video codec

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012024357A Division JP2012135007A (ja) 2003-09-07 2012-02-07 映像コーデックにおけるスライス層

Publications (3)

Publication Number Publication Date
JP2007504773A JP2007504773A (ja) 2007-03-01
JP2007504773A5 JP2007504773A5 (ja) 2010-06-03
JP5280003B2 true JP5280003B2 (ja) 2013-09-04

Family

ID=34228806

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2006526223A Active JP5280003B2 (ja) 2003-09-07 2004-09-03 映像コーデックにおけるスライス層
JP2012024357A Pending JP2012135007A (ja) 2003-09-07 2012-02-07 映像コーデックにおけるスライス層

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2012024357A Pending JP2012135007A (ja) 2003-09-07 2012-02-07 映像コーデックにおけるスライス層

Country Status (7)

Country Link
US (1) US7162093B2 (ja)
EP (1) EP1656793B1 (ja)
JP (2) JP5280003B2 (ja)
KR (1) KR101103867B1 (ja)
ES (1) ES2767933T3 (ja)
MX (1) MXPA06002495A (ja)
WO (1) WO2005027495A2 (ja)

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101448162B (zh) * 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
JP2005033336A (ja) * 2003-07-08 2005-02-03 Ntt Docomo Inc 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
US7801383B2 (en) * 2004-05-15 2010-09-21 Microsoft Corporation Embedded scalar quantizers with arbitrary dead-zone ratios
US9208824B2 (en) * 2004-05-18 2015-12-08 Broadcom Corporation Index table generation in PVR applications for AVC video streams
US7590059B2 (en) * 2004-05-21 2009-09-15 Broadcom Corp. Multistandard video decoder
US20060013315A1 (en) * 2004-07-19 2006-01-19 Samsung Electronics Co., Ltd. Filtering method, apparatus, and medium used in audio-video codec
KR100587698B1 (ko) * 2004-10-22 2006-06-08 주식회사 휴맥스 선택적 예측 부호화/복호화 방법 및 장치
KR100652689B1 (ko) * 2004-10-26 2006-12-07 엘지전자 주식회사 휴대단말기에서의 컨텐츠의 사이즈 분석 방법
US7792385B2 (en) * 2005-01-25 2010-09-07 Globalfoundries Inc. Scratch pad for storing intermediate loop filter data
US8576924B2 (en) * 2005-01-25 2013-11-05 Advanced Micro Devices, Inc. Piecewise processing of overlap smoothing and in-loop deblocking
US7953161B2 (en) * 2005-04-27 2011-05-31 Broadcom Corporation System and method for overlap transforming and deblocking
KR101170799B1 (ko) 2005-05-21 2012-08-02 삼성전자주식회사 영상 압축 방법 및 그 장치와 영상 복원 방법 및 그 장치
US8422546B2 (en) 2005-05-25 2013-04-16 Microsoft Corporation Adaptive video encoding using a perceptual model
US7965773B1 (en) 2005-06-30 2011-06-21 Advanced Micro Devices, Inc. Macroblock cache
FR2894740A1 (fr) * 2005-12-12 2007-06-15 Thomson Licensing Sa Dispositif de codage, procede de codage, systeme de decodage procede de decodage de donnees video
US20070147496A1 (en) * 2005-12-23 2007-06-28 Bhaskar Sherigar Hardware implementation of programmable controls for inverse quantizing with a plurality of standards
US7636497B1 (en) 2005-12-27 2009-12-22 Advanced Micro Devices, Inc. Video rotation in a media acceleration engine
JP5266202B2 (ja) * 2006-03-28 2013-08-21 サムスン エレクトロニクス カンパニー リミテッド 画像符号化/復号化方法及び装置
US7995649B2 (en) * 2006-04-07 2011-08-09 Microsoft Corporation Quantization adjustment based on texture level
US8059721B2 (en) * 2006-04-07 2011-11-15 Microsoft Corporation Estimating sample-domain distortion in the transform domain with rounding compensation
US8130828B2 (en) * 2006-04-07 2012-03-06 Microsoft Corporation Adjusting quantization to preserve non-zero AC coefficients
US8503536B2 (en) * 2006-04-07 2013-08-06 Microsoft Corporation Quantization adjustments for DC shift artifacts
US7974340B2 (en) * 2006-04-07 2011-07-05 Microsoft Corporation Adaptive B-picture quantization control
JP5389205B2 (ja) * 2006-04-27 2014-01-15 キヤノン株式会社 画像符号化装置、画像符号化方法、プログラム及び記憶媒体
US8711925B2 (en) 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
JP4229149B2 (ja) * 2006-07-13 2009-02-25 ソニー株式会社 ビデオ信号処理装置およびビデオ信号処理方法、ビデオ信号符号化装置およびビデオ信号符号化方法、並びにプログラム
TWI376958B (en) 2006-09-07 2012-11-11 Lg Electronics Inc Method and apparatus for decoding a scalable video coded bitstream
CA2661981C (en) 2006-11-09 2013-01-15 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal
EP1985121A4 (en) 2006-11-17 2010-01-13 Lg Electronics Inc METHOD AND DEVICE FOR DECODING / CODING A VIDEO SIGNAL
US8238424B2 (en) * 2007-02-09 2012-08-07 Microsoft Corporation Complexity-based adaptive preprocessing for multiple-pass video compression
JP4847890B2 (ja) * 2007-02-16 2011-12-28 パナソニック株式会社 符号化方式変換装置
US8498335B2 (en) * 2007-03-26 2013-07-30 Microsoft Corporation Adaptive deadzone size adjustment in quantization
KR101086434B1 (ko) * 2007-03-28 2011-11-25 삼성전자주식회사 비디오 데이터 디스플레이 방법 및 장치
US8243797B2 (en) 2007-03-30 2012-08-14 Microsoft Corporation Regions of interest for quality adjustments
US8442337B2 (en) * 2007-04-18 2013-05-14 Microsoft Corporation Encoding adjustments for animation content
US8331438B2 (en) * 2007-06-05 2012-12-11 Microsoft Corporation Adaptive selection of picture-level quantization parameters for predicted video pictures
CN101389021B (zh) * 2007-09-14 2010-12-22 华为技术有限公司 视频编解码方法及装置
US8938009B2 (en) * 2007-10-12 2015-01-20 Qualcomm Incorporated Layered encoded bitstream structure
BRPI0818444A2 (pt) * 2007-10-12 2016-10-11 Qualcomm Inc codificação adaptativa de informação de cabeçalho de bloco de vídeo
US8542748B2 (en) 2008-03-28 2013-09-24 Sharp Laboratories Of America, Inc. Methods and systems for parallel video encoding and decoding
US8189933B2 (en) * 2008-03-31 2012-05-29 Microsoft Corporation Classifying and controlling encoding quality for textured, dark smooth and smooth video content
US8897359B2 (en) * 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
US8718135B2 (en) * 2008-09-19 2014-05-06 The Hong Kong University Of Science And Technology Method and system for transcoding based robust streaming of compressed video
CN102474606B (zh) * 2009-07-20 2014-09-24 三星电子株式会社 分层视频编码和解码中对颜色通道进行编码和解码的方法和设备
KR101474756B1 (ko) 2009-08-13 2014-12-19 삼성전자주식회사 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
US8291277B2 (en) * 2009-10-29 2012-10-16 Cleversafe, Inc. Data distribution utilizing unique write parameters in a dispersed storage system
US9462316B2 (en) * 2009-12-29 2016-10-04 International Business Machines Corporation Digital content retrieval utilizing dispersed storage
TWI442778B (zh) 2010-02-05 2014-06-21 Acer Inc 視訊解碼裝置
US20110213932A1 (en) * 2010-02-22 2011-09-01 Takuma Chiba Decoding apparatus and decoding method
JP5656879B2 (ja) * 2010-07-30 2015-01-21 パナソニックIpマネジメント株式会社 画像復号化装置、画像復号化方法、画像符号化装置および画像符号化方法
US9525884B2 (en) 2010-11-02 2016-12-20 Hfi Innovation Inc. Method and apparatus of slice boundary filtering for high efficiency video coding
US10244239B2 (en) 2010-12-28 2019-03-26 Dolby Laboratories Licensing Corporation Parameter set for picture segmentation
US9866861B2 (en) 2011-02-09 2018-01-09 Lg Electronics Inc. Method for encoding and decoding image and device using same
US8848804B2 (en) * 2011-03-04 2014-09-30 Vixs Systems, Inc Video decoder with slice dependency decoding and methods for use therewith
GB2488830B (en) * 2011-03-10 2015-07-29 Canon Kk Method and device for encoding image data and method and device for decoding image data
GB2488829A (en) * 2011-03-10 2012-09-12 Canon Kk Encoding and decoding image data
US9008180B2 (en) 2011-04-21 2015-04-14 Intellectual Discovery Co., Ltd. Method and apparatus for encoding/decoding images using a prediction method adopting in-loop filtering
GB2493209B (en) * 2011-07-29 2016-02-17 Canon Kk Method and device for parallel decoding of scalable bitstream elements
EP2754295B1 (en) * 2011-09-09 2018-01-24 Sun Patent Trust Low complex deblocking filter decisions
US9237352B2 (en) * 2011-10-05 2016-01-12 Texas Instruments Incorporated Methods and systems for encoding pictures associated with video data
IN2014DN03098A (ja) 2011-10-17 2015-05-15 Kt Corp
AU2012327672B2 (en) * 2011-10-24 2015-09-03 Hfi Innovation Inc. Method and apparatus for non-cross-tile loop filtering
WO2013088687A1 (ja) * 2011-12-15 2013-06-20 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化復号装置
US9538200B2 (en) 2012-01-19 2017-01-03 Qualcomm Incorporated Signaling of deblocking filter parameters in video coding
CN102752058B (zh) * 2012-06-16 2013-10-16 天地融科技股份有限公司 音频数据传输***、音频数据传输装置及电子签名工具
US9621909B2 (en) 2012-07-02 2017-04-11 Lg Electronics Inc. Method for decoding image and apparatus using same
US20140153635A1 (en) * 2012-12-05 2014-06-05 Nvidia Corporation Method, computer program product, and system for multi-threaded video encoding
US9076206B2 (en) * 2013-03-12 2015-07-07 Uurmi Systems Private Limited Methods and systems for correcting distortions in multimedia content
US9813730B2 (en) * 2013-12-06 2017-11-07 Mediatek Inc. Method and apparatus for fine-grained motion boundary processing
CN111416976B (zh) * 2019-01-08 2023-12-08 浙江大学 视频解码方法、视频编码方法、装置、设备及存储介质
CN115174921B (zh) 2019-05-03 2023-04-04 华为技术有限公司 由视频解码器实现的解码方法及其相关装置和存储介质
WO2020263158A1 (en) 2019-06-24 2020-12-30 Telefonaktiebolaget Lm Ericsson (Publ) Signaling parameter value information in a parameter set to reduce the amount of data contained in an encoded video bitstream
US20220353536A1 (en) * 2019-08-22 2022-11-03 Sharp Kabushiki Kaisha Systems and methods for signaling picture information in video coding

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2674059B2 (ja) 1988-02-09 1997-11-05 キヤノン株式会社 カラー画像データ伝送方法
JP2794899B2 (ja) 1990-05-08 1998-09-10 松下電器産業株式会社 符号化装置
US5168356A (en) 1991-02-27 1992-12-01 General Electric Company Apparatus for segmenting encoded video signal for transmission
US6226327B1 (en) * 1992-06-29 2001-05-01 Sony Corporation Video coding method and apparatus which select between frame-based and field-based predictive modes
JP2856300B2 (ja) * 1993-02-19 1999-02-10 富士ゼロックス株式会社 画像符号化装置および復号装置
KR0170937B1 (ko) * 1994-12-14 1999-03-20 배순훈 영상 데이타 부호화 장치
US5825929A (en) 1995-10-05 1998-10-20 Microsoft Corporation Transformation block optimization method
JPH1174868A (ja) * 1996-09-02 1999-03-16 Toshiba Corp 情報伝送方法およびその方法が適用される情報伝送システムにおける符号化装置/復号化装置、並びに符号化・多重化装置/復号化・逆多重化装置
US5974184A (en) * 1997-03-07 1999-10-26 General Instrument Corporation Intra-macroblock DC and AC coefficient prediction for interlaced digital video
JP2000209580A (ja) * 1999-01-13 2000-07-28 Canon Inc 画像処理装置およびその方法
JP2001016594A (ja) * 1999-06-29 2001-01-19 Hitachi Ltd 動画像の動き補償方法
GB2352350B (en) * 1999-07-19 2003-11-05 Nokia Mobile Phones Ltd Video coding
JP2003209387A (ja) * 2001-11-06 2003-07-25 Hitachi Metals Ltd 電磁波吸収体
CN100380980C (zh) * 2002-04-23 2008-04-09 诺基亚有限公司 用于在视频编码***中指示量化器参数的方法与设备
JP3807342B2 (ja) * 2002-04-25 2006-08-09 三菱電機株式会社 デジタル信号符号化装置、デジタル信号復号装置、デジタル信号算術符号化方法、およびデジタル信号算術復号方法
US7724818B2 (en) * 2003-04-30 2010-05-25 Nokia Corporation Method for coding sequences of pictures
JP2005033336A (ja) * 2003-07-08 2005-02-03 Ntt Docomo Inc 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム

Also Published As

Publication number Publication date
EP1656793A2 (en) 2006-05-17
EP1656793A4 (en) 2011-09-28
KR20060131718A (ko) 2006-12-20
EP1656793B1 (en) 2019-11-27
WO2005027495A2 (en) 2005-03-24
JP2007504773A (ja) 2007-03-01
US7162093B2 (en) 2007-01-09
WO2005027495A3 (en) 2006-08-17
JP2012135007A (ja) 2012-07-12
KR101103867B1 (ko) 2012-01-12
MXPA06002495A (es) 2006-06-20
ES2767933T3 (es) 2020-06-19
US20050053158A1 (en) 2005-03-10

Similar Documents

Publication Publication Date Title
JP5280003B2 (ja) 映像コーデックにおけるスライス層
CN111869212B (zh) 视频解码方法、装置和可读介质
CN100456833C (zh) 视频编解码器中的片层
AU2013403225B2 (en) Features of base color index map mode for video and image coding and decoding
US10313668B2 (en) Method and device for encoding or decoding an image comprising encoding of decoding information representing prediction modes
KR100925968B1 (ko) 컴퓨터 시스템에서 비디오 시퀀스의 복수의 비디오 화상을 처리하는 방법, 시스템 및 컴퓨터 판독가능 매체
JP4986622B2 (ja) 条件付き重複変換
US7961786B2 (en) Signaling field type information
JP6841877B2 (ja) ピクチャ復号化方法およびピクチャ符号化方法
US10397606B2 (en) System for signaling IFR and BLA pictures
US7577200B2 (en) Extended range variable length coding/decoding of differential motion vector information
US20150256838A1 (en) Signaling scalability information in a parameter set
KR20170028905A (ko) 팔레트 모드 코딩을 위한 방법
WO2015008417A1 (ja) 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法及びプログラム
US7502415B2 (en) Range reduction
CN116325723B (zh) 用于视频解码的方法、计算机设备及介质
JP2024508303A (ja) ビデオストリームのインター予測ビデオブロックをデコードする方法及び電子デバイス
CN117203965A (zh) 调色板预测值生成和信号通知
GB2509706A (en) Encoding or decoding a scalable video sequence using inferred SAO parameters

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100414

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20100414

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20100428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100803

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101102

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101110

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110422

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20110425

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110425

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110620

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110909

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111209

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111216

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120110

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120207

RD15 Notification of revocation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7435

Effective date: 20120215

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

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20120316

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120710

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120713

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120809

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120814

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120910

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121010

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130130

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130228

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130522

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5280003

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250