JP5021658B2 - ビデオコーディングのための選択的デブロックフィルタリング - Google Patents

ビデオコーディングのための選択的デブロックフィルタリング Download PDF

Info

Publication number
JP5021658B2
JP5021658B2 JP2008536779A JP2008536779A JP5021658B2 JP 5021658 B2 JP5021658 B2 JP 5021658B2 JP 2008536779 A JP2008536779 A JP 2008536779A JP 2008536779 A JP2008536779 A JP 2008536779A JP 5021658 B2 JP5021658 B2 JP 5021658B2
Authority
JP
Japan
Prior art keywords
block
video block
video
given
given video
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.)
Expired - Fee Related
Application number
JP2008536779A
Other languages
English (en)
Other versions
JP2009512402A5 (ja
JP2009512402A (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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2009512402A publication Critical patent/JP2009512402A/ja
Publication of JP2009512402A5 publication Critical patent/JP2009512402A5/ja
Application granted granted Critical
Publication of JP5021658B2 publication Critical patent/JP5021658B2/ja
Expired - Fee Related 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/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/117Filters, e.g. for pre-processing or post-processing
    • 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
    • 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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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

Landscapes

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

Description

(関連出願)
本願は、本願の譲受人に譲渡され、その全体が、すべての目的のために参照によりここにおいて組み込まれている、2005年10月18日に出願された、「選択的MC−DB:動き補償に基づいたデブロッキングポストフィルタ(SELECTIVE MC-DB: A DEBLOCKING POST-FILTER BASED ON MOTION COMPENSATION)」という名称の仮米国出願第60/728,361号の利益を主張するものである。
(分野)
本開示は、デジタルビデオ処理に関し、より具体的には、符号化されたビデオフレーム(coded video frames)におけるブロック歪みアーチファクト(blockiness artifact)を低減させることができるフィルタリング技法に関する。
背景
デジタルビデオ機能は、デジタルテレビジョンと、デジタル直接ブロードキャストシステムと、ワイヤレス通信デバイスと、携帯型個人情報端末(personal digital assistant)(PDA)と、ラップトップコンピュータと、デスクトップコンピュータと、デジタルカメラと、デジタル記録デバイスと、セルラ無線電話または衛星無線電話と、直接双方向通信デバイス(時に「ウォーキートーキー(walkie-talkie)」と称される)などを含めて、広い範囲のデバイスに組み込まれることができる。デジタルビデオデバイスは、フルモーションビデオシーケンス(full motion video sequence)を作成し、修正し、送信し、記憶し、記録し、再生する際に、従来のアナログビデオシステムに優るかなりの改善を実現することができる。
いくつかの異なるビデオコーディング規格が、デジタルビデオシーケンスを符号化するために確立されてきている。例えば、ムービングピクチャエキスパートグループ(Moving Picture Expert Group)(MPEG)は、MPEG−1、MPEG−2およびMPEG−4を含めて、いくつかの規格を開発してきている。他の規格は、国際電気通信連合(International Telecommunication Union)(ITU)のH.263規格と、カリフォルニア州クパチーノ市(Cupertino)のアップルコンピュータ社(Apple Computer)により開発されたクイックタイム(商標)(QuickTimeTM)技術と、ワシントン州レッドモンド市(Redmond)のマイクロソフト社(Microsoft Corporation)により開発されたビデオフォーウィンドウズ(登録商標)(Video for Windows(登録商標)TM)と、インテル社(Intel Corporation)により開発されたインディオ(商標)(IndeoTM)と、ワシントン州シアトル市(Seattle)のリアルネットワークス社(RealNetworks, Inc.)からのリアルビデオ(商標)(RealVideoTM)と、スーパーマック社(SuperMac, Inc.)によって開発されたシネパック(商標)(CinepakTM)とを含む。さらに、新しい規格が、ITU H.264規格といくつかの独自開発規格を含めて、出現し進化し続けている。
多くのビデオコーディング規格は、圧縮されるやり方でデータを符号化することにより、ビデオシーケンスの改善された伝送レートを可能にする。圧縮は、ビデオフレーム(video frames)の効果的な伝送のために、伝送される必要があるデータの全体的な量を低減させることができる。例えば、ほとんどのビデオコーディング規格は、圧縮なしで達成されることができるよりも狭い帯域幅上でビデオおよび画像の伝送を容易にするように設計されたグラフィックスとビデオの圧縮技法を利用する。例えば、MPEG規格と、ITU H.263規格およびITU H.264規格の多くは、インターフレーム圧縮(inter-frame compression)を実現するために、時間的相関またはインターフレーム相関と称される、連続するビデオフレーム(successive video frames)の間の類似性を利用したビデオコーディング技法をサポートする。そのようなインターフレーム圧縮は、一般的に動き推定(motion estimation)コーディング技法と動き補償(motion compensation)コーディング技法とを経由して達成される。さらに、一部のビデオコーディング技法は、ビデオフレーム(video frames)を圧縮するために、空間相関またはイントラフレーム相関と称されるフレーム内(within frames)の類似性を利用する。イントラフレーム圧縮(intra-frame compression)は、一般的に空間推定(spatial estimation)コーディング技法とイントラ予測(intra-prediction)コーディング技法とを経由して達成される。
インターフレーム圧縮および/またはイントラフレーム圧縮における離散ビデオブロックの使用は、隣接するビデオブロックの間のビデオシーケンスの中にアーチファクトを引き起こす可能性がある。特に、ビデオフレームが、ビデオコーディングのためにビデオブロックに分割されるときには、符号化された1つのビデオブロックのエッジは、符号化された別のビデオブロックの隣接するエッジと不連続に見えることもある。これが生ずるときには、復号化されたビデオフレームは、「ブロック歪みがある(blocky)」ように見える可能性があり、これは、非常に望ましくない。ビデオブロックの変換と量子化は、符号化されたビデオフレーム(coded video frames)におけるこの望ましくないブロック歪み効果を複雑にする可能性がある。
そのような「ブロック歪み」を取り除くために、フィルタリングが、隣接するビデオブロックの間の遷移を「平滑化する」ために、ビデオブロックのブロック境界の上で実行されることができる。デブロッキングフィルタ(deblocking filter)は、一般にブロック歪みアーチファクトを低減させ、あるいは除去するために、隣接するビデオブロックの間の遷移を平滑化するために使用されるフィルタを意味する。例えば、ITU−T H.264規格は、インループコーディング(in-loop coding)の一部分としてデブロッキングフィルタを必要とする。この場合には、フィルタリングが、インループビデオコーディングの一部分であるときに、動き推定と動き補償において使用される以前に符号化されたフレームは、そのようなフレームのフィルタがかけられたバージョンである。コーディングループの一部分としてデブロッキングフィルタを義務づけない他の規格では、ポストデブロックフィルタリング(post deblock filtering)は、コーディングが実行された後に、ブロック歪みアーチファクトを除去することにより、ビデオコーディングの品質を依然として改善することができる。
[概要]
本開示は、予測ベースのビデオコーディング(prediction-based video coding)の結果として明らかにすることができる起源性ブロック歪み(originated blockiness)と継承性ブロック歪み(inherited blockiness)の両方に対処するデブロックフィルタリング技法(deblock filtering technique)について説明している。起源性ブロック歪みは、貧弱なテクスチャコーディング(texture coding)によって導入されるブロック歪みを意味する。起源性ブロック歪みは、符号化されたビデオフレームのビデオブロック境界において生ずる。他方、継承性ブロック歪みは、現在のビデオブロックを符号化するために、予測ベースのビデオコーディング技法によって使用される予測ビデオフレームから継承される可能性があるブロック歪みを意味する。継承性ブロック歪みは、符号化されたビデオフレームの中のいずれのロケーションにおいても生ずる可能性があり、ブロック境界だけには限定されない。したがって、ブロック境界の周りに適用される伝統的なデブロックフィルタリングは、継承性ブロック歪みを除去しない可能性もある。
本開示は、選択的デブロックフィルタリングを提供し、この選択的デブロックフィルタリングは、MPEG−4やITU H.263 P0(ITU H.263規格のプロファイル0)など、規格準拠のためのインループデブロックフィルタリング(in-loop deblock filtering)を指定しないコーディング規格でとりわけ有用である。この場合には、ポストフィルタリングは、起源性ブロック歪みと継承性ブロック歪みを明らかにする方法で適用されることができる。特に、デブロックフィルタリングが、符号化されている与えられたビデオブロックのブロック境界に関して選択的に実行されることができ、動き補償プロセスが、与えられたビデオブロックを符号化するために使用される予測ビデオフレームのフィルタがかけられたバージョンを使用して実行されることができ、あるいはその両方が可能である。本開示は、どのタイプのデブロッキング技法を様々なシナリオにおいて適用すべきかを決定するために適用されることができる選択規則も提供する。選択規則は、エンコーダにおけるビデオブロックと、デコーダにおけるビデオブロックとの間のミスマッチが、フィルタリングによって導入されないことを保証することができる。
一実施形態においては、本開示は、フレームのビデオブロック(video blocks of the frames)上で予測ベースのコーディング技法を使用して、ビデオシーケンスのフレーム(frames of a video sequence)を符号化するビデオコーディングユニットと、デブロックフィルタリングユニットと、を備えるビデオコーディングデバイスを提供する。例えば、予測ベースのコーディング技法は、動きベースのコーディング(motion-based coding)を実現するために予測フレームのフィルタがかけられないバージョンを使用する動き補償プロセスを含むことができる。デブロックフィルタリングユニットは、(a) 与えられたビデオブロックが、テクスチャ符号化されている場合は、与えられたビデオブロックのブロック境界をデブロックフィルタリングし(deblock filter)、(b) 与えられたビデオブロックが、テクスチャ符号化されておらず、与えられたビデオブロックに対する隣接ビデオブロックが、テクスチャ符号化されておらず、与えられたビデオブロックと隣接ビデオブロックとが、実質的に類似した動きベクトルを有する場合は、与えられたビデオブロックを符号化するために使用される予測ビデオフレームのフィルタがかけられたバージョンを使用して動き補償プロセスを実行し、(c) (a)も(b)も満たされない場合は、与えられたビデオブロックのブロック境界をデブロックフィルタリングし、予測ビデオフレームのフィルタバージョンを使用して動き補償プロセスを実行する。
別の実施形態においては、本開示は、(a) フレームのビデオブロック(video blocks of the frames)上で予測ベースのコーディング技法を使用してビデオシーケンスのフレーム(frames of a video sequence)を符号化することと、(b) 与えられたビデオブロックがテクスチャ符号化されている場合は、与えられたビデオブロックのブロック境界をデブロックフィルタリングすることと、(c) 与えられたビデオブロックが、テクスチャ符号化されておらず、与えられたビデオブロックに対する隣接ビデオブロックが、テクスチャ符号化されておらず、与えられたビデオブロックと隣接ビデオブロックとが、実質的に類似した動きベクトルを有する場合は、与えられたビデオブロックを符号化するために使用される予測ビデオフレームのフィルタがかけられたバージョンを使用して動き補償プロセスを実行することと、(d) (b)も(c)も満たされない場合は、与えられたビデオブロックのブロック境界をデブロックフィルタリングすることと、予測ビデオフレームのフィルタバージョンを使用して動き補償プロセスを実行することと、を備える方法を提供する。
別の実施形態においては、本開示は、ビデオコーディングのためのデブロックフィルタリングユニットを提供する。この場合には、デブロックフィルタリングユニットは、(a) 与えられたビデオブロックが、テクスチャ符号化されている場合は、与えられたビデオブロックのブロック境界をデブロックフィルタリングし、(b) 与えられたビデオブロックが、テクスチャ符号化されておらず、与えられたビデオブロックに対する隣接ビデオブロックが、テクスチャ符号化されておらず、与えられたビデオブロックと隣接ビデオブロックとが、実質的に類似した動きベクトルを有する場合は、与えられたビデオブロックを符号化するために使用される予測ビデオフレームのフィルタがかけられたバージョンを使用して動き補償プロセスを実行し、(c) (a)も(b)も満たされない場合は、与えられたビデオブロックのブロック境界をデブロックフィルタリングし、予測ビデオフレームのフィルタバージョンを使用して動き補償プロセスを実行する。
別の実施形態においては、本開示は、ビデオコーディングプロセス中に実行するとすぐに、(a) 与えられたビデオブロックが、テクスチャ符号化されている場合は、与えられたビデオブロックのブロック境界をデブロックフィルタリングし、(b) 与えられたビデオブロックが、テクスチャ符号化されておらず、与えられたビデオブロックに対する隣接ビデオブロックが、テクスチャ符号化されておらず、与えられたビデオブロックと隣接ビデオブロックとが、実質的に類似した動きベクトルを有する場合は、与えられたビデオブロックを符号化するために使用される予測ビデオフレームのフィルタがかけられたバージョンを使用して動き補償プロセスを実行し、(c) (a)も(b)も満たされない場合は、与えられたビデオブロックのブロック境界をデブロックフィルタリングし、予測ビデオフレームのフィルタバージョンを使用して動き補償プロセスを実行する命令を備えるコンピュータ読取り可能媒体を提供する。
別の実施形態においては、本開示は、フレームのビデオブロック(video blocks of the frames)上で予測ベースのコーディング技法を使用してビデオシーケンスのフレーム(frames of a video sequence)を符号化するための手段と、与えられたビデオブロックがテクスチャ符号化されている場合は、与えられたビデオブロックのブロック境界をデブロックフィルタリングするための手段と、与えられたビデオブロックが、テクスチャ符号化されておらず、与えられたビデオブロックに対する隣接ビデオブロックが、テクスチャ符号化されておらず、与えられたビデオブロックと隣接ビデオブロックとが、実質的に類似した動きベクトルを有する場合は、与えられたビデオブロックを符号化するために使用される予測ビデオフレームのフィルタがかけられたバージョンを使用して動き補償プロセスを実行するための手段と、ビデオブロックがテクスチャ符号化されておらず、次の条件、すなわち、与えられたビデオブロックに対する隣接ビデオブロックがテクスチャ符号化される、という条件、および、与えられたビデオブロックと隣接ビデオブロックとが実質的に異なる動きベクトルを有するという条件、のうちの1つ以上が満たされる場合は、与えられたビデオブロックのブロック境界をデブロックフィルタリングし、予測ビデオフレームのフィルタバージョンを使用して動き補償プロセスを実行するための手段、を備えるビデオコーディングデバイスを提供する。
別の実施形態においては、本開示は、フレームのビデオブロック(video blocks of the frames)上で予測ベースのコーディング技法を使用してビデオシーケンスのフレーム(frames of a video sequence)を符号化するビデオコーディングユニットを備えるビデオコーディングデバイスを提供する。この場合には、ビデオコーディングユニットは、(a) 与えられたビデオブロックが、テクスチャ符号化されている場合は、与えられたビデオブロックのブロック境界をデブロックフィルタリングすることと、(b) 与えられたビデオブロックが、テクスチャ符号化されておらず、与えられたビデオブロックに対する隣接ビデオブロックが、テクスチャ符号化されておらず、与えられたビデオブロックと隣接ビデオブロックとが、実質的に類似した動きベクトルを有する場合は、与えられたビデオブロックを符号化するために使用される予測ビデオフレームのフィルタがかけられたバージョンを使用して動き補償プロセスを実行することと、(c) (a)も(b)も満たされない場合は、与えられたビデオブロックのブロック境界をデブロックフィルタリングすることと、予測ビデオフレームのフィルタバージョンを使用して動き補償プロセスを実行することと、を含むデブロックフィルタリングを実行する。
追加される一実施形態においては、本開示は、動きベースのコーディングではなくてイントラ予測コーディングに関してここにおいてインプリメントされる技法を考慮している。この場合には、一方法は、(a) 与えられたビデオブロックが、テクスチャ符号化されている場合は、与えられたビデオブロックのブロック境界をデブロックフィルタリングすることと、(b) 与えられたビデオブロックがテクスチャ符号化されておらず、与えられたビデオブロックに対する隣接ビデオブロックが、テクスチャ符号化されておらず、与えられたビデオブロックと隣接ビデオブロックとが、実質的に類似した動きベクトルを有する場合は、与えられたビデオブロックを符号化するために使用される基準フレーム(reference frame)のフィルタがかけられたバージョンを使用してイントラ予測プロセスを実行することと、(c) (a)も(b)も満たされない場合は、与えられたビデオブロックのブロック境界をデブロックフィルタリングすることと、予測ビデオフレームのフィルタバージョンを使用して空間推定プロセスを実行することと、を備えることができる。この追加される技法をインプリメントするデバイスおよび/またはデブロッキングフィルタもまた、考えられている。
ここにおいて説明される、これらおよび他の技法および実施形態は、ハードウェア、ソフトウェア、ファームウェア、あるいはそれらの任意の組合せの形でデジタルビデオデバイスにインプリメントされることができる。ソフトウェアの形でインプリメントされる場合、ソフトウェアは、デジタル信号プロセッサ(digital signal processor)(DSP)の中で実行されることができる。その場合には、本技法を実行するソフトウェアは、コンピュータ読取り可能媒体に最初に記憶され、デジタルビデオデバイスにおける効果的なデブロックフィルタリングのためにDSPにロードされ、実行されることができる。ハードウェア、1つまたは複数のプロセッサ、あるいはハードウェアと、ソフトウェアと、ファームウェアと、プロセッサの組合せもまた、考慮される。
様々な実施形態についての更なる詳細は、添付の図面および以下の説明の中で述べられる。他の特徴、目的および利点は、説明および図面から、そして特許請求の範囲から、明らかになるであろう。
[詳細な説明]
本開示は、MPEG−4やITU H.263 P0などの規格に準拠するためにインループデブロックフィルタリングを指定しないコーディング規格でとりわけ有用な選択的デブロックフィルタリング技法について説明している。本開示に従って、デブロックフィルタリングが、符号化されている与えられたビデオブロックのブロック境界に関して選択的に実行されることができ、動き補償プロセスが、与えられたビデオブロックを符号化するために使用される予測ビデオフレームのフィルタがかけられたバージョンを使用して実行されることができ、あるいはその両方が可能である。本開示はまた、どのタイプのデブロッキング技法を様々なシナリオにおいて適用すべきかを決定するために適用されることができる選択規則も提供する。選択規則は、エンコーダにおけるビデオブロックと、デコーダにおけるビデオブロックとの間のミスマッチが、フィルタリングによって導入されないことを保証することもできる。
説明される技法は、予測ベースのビデオコーディングの結果として明らかにすることができる起源性ブロック歪みと継承性ブロック歪みの両方について説明することができる。起源性ブロック歪みは、貧弱なテクスチャコーディングによって導入されるブロック歪みを意味する。起源性ブロック歪みは、符号化されたビデオフレームのビデオブロック境界において生ずる。他方、継承性ブロック歪みは、予測ベースのビデオコーディングによって使用される予測ビデオフレームから継承される可能性があるブロック歪みを意味する。予測ビデオフレームは、コーディングを実行するために使用される基準フレームを意味し、動きベースのコーディングでは、一般的に符号化されているビデオシーケンスの現在のフレームに対する以前の(または後続の)フレームである。いずれにしても、継承性ブロック歪みは、符号化されたビデオフレームの中のいずれかのロケーションにおいて生ずる可能性があり、ブロック境界だけには限定されない。
図1は、本開示によるビデオコーディングデバイス10のブロック図である。コーディングデバイス10は、ビデオシーケンスを符号化し、または復号化するために使用されることができる多種多様のデバイスのうちの任意のものを備えることができる。コーディングデバイス10の例は、一般にサーバ、ワークステーション、他の任意のデスクトップコンピューティングデバイスなど任意のコンピュータ、あるいはラップトップコンピュータや携帯型個人情報端末(PDA)などのモバイルコンピューティングデバイスを含んでいる。他の例は、デジタルテレビジョンブロードキャスティング衛星と、デジタルテレビジョン、デジタルカメラ、デジタルビデオカメラ、他のデジタル記録デバイスなどの受信デバイスとを含んでいる。さらに他の例は、ビデオ機能を有するモバイル電話などのデジタルビデオ電話と、ビデオ機能を有する直接双方向通信デバイスと、他のワイヤレスビデオデバイスなどとを含む。本技法は、本技法がフィルタリングの複雑さを低減させることができる限り、サイズとバッテリ消費が、より関連している小型ハンドヘルドデバイスでは、とりわけ有用になり得る。
コーディングデバイス10は、メモリ12を含み、このメモリは、任意の揮発性ストレージ素子または不揮発性ストレージ素子を備えることができる。メモリ12は、一般に例えば符号化プロセスおよび復号化プロセス中に、ビデオシーケンスを記憶する。一部の場合には、メモリ12は、オンチップメモリもオフチップメモリも含むことができる。例えば、メモリ12は、ビデオシーケンスを記憶する比較的大きなオフチップメモリ空間と、コーディングプロセスにおいて使用されるより小型のより高速なローカルオンチップメモリを含むことができる。その場合には、オフチップメモリは、ダイナミックランダムアクセスメモリ(dynamic random access memory)(DRAM)、またはフラッシュメモリ(FLASH memory)を備えることができ、ローカルオンチップメモリは、シンクロナスランダムアクセスメモリ(synchronous random access memory)(SRAM)を備えることができる。しかしながら、簡単のために、単一のメモリ12が、ビデオコーディングを容易にするために使用されることができる任意数のメモリ素子を表すように示される。
図1に示される例においては、コーディングデバイス10は、ビデオコーディングユニット14と、デブロック(deblock)(DB)フィルタリングユニット18を含んでいる。これらのコンポーネントは、別々に示されているが、一部の場合においては、デブロックフィルタリング機能は、ビデオコーディングユニットへと一体化されることができる。一般に、コーディングユニット14は、動き推定技法および動き補償技法を経由したインターフレームコーディングや、空間推定技法およびイントラ予測技法を経由したイントラフレームコーディングなど、予測ベースのコーディング技法を実行する。
コーディングユニット14は、「CODEC」と称されることができるが、一般にはエンコーダ、デコーダ、または一体化されたエンコーダ/デコーダを意味する。ここにおいて説明される技法は、復号化に対して最も適用可能であるが、特に復号化技法が、符号化ステップの一部分として使用される場合には符号化中にも適用することができる。コーディングデバイス14は、ハードウェア、ソフトウェア、ファームウェア、1つまたは複数のデジタル信号プロセッサ(digital signal processor)(DSP)、マイクロプロセッサ、特定用途向け集積回路(application specific integrated circuit)(ASIC)、フィールドプログラマブルゲートアレイ(field programmable gate array)(FPGA)、個別ハードウェアコンポーネント、あるいはそれらの様々な組合せの内部にインプリメントされることができる。
デブロッキングユニット18は、本開示の技法に応じて選択的デブロックフィルタリングを実行する。特に、デブロッキングユニット18は、符号化されている与えられたビデオブロックのブロック境界に関してデブロックフィルタリングを選択的に実行し、与えられたビデオブロックを符号化するために使用される予測ビデオフレームのフィルタがかけられたバージョンを使用して追加の動き補償プロセスを実行し、あるいはその両方を行う。デブロッキングユニット18によって適用される選択判断基準は、起源性ブロック歪みと継承性ブロック歪みを明らかにする方法でデブロックフィルタリングのレベルと程度を決定する。本技法は、ブロック境界のデブロックフィルタリングを可能にすることができるが、そのようなフィルタリングが、符号化する際に使用されるブロックと、復号化する際に使用されるブロックとの間のミスマッチを導入する可能性がある場合には、動き補償プロセスにおいてそのようなフィルタリングを回避することができる。換言すれば、テクスチャ符号化されるブロックでは、予測ブロックのフィルタがかけられたバージョンを使用した動き補償は、ミスマッチを導入する可能性がある。それ故に、テクスチャ符号化されるブロックでは、動き補償は、予測ブロックのフィルタがかけられていないバージョンを使用することができる。
様々なアーキテクチャについても説明され、これらのアーキテクチャは、本開示の技法のインプリメンテーションを簡略化することができる。ほとんどの場合において、コーディングデバイス10は、多数の他のコンポーネントを含むことができるが、これらは、簡単にするために図1には示されていない。これらの追加のコンポーネントは、例えば、ビデオシーケンスを送信し受信するトランスミッタおよびレシーバ、ビデオシーケンスを取り込む、デジタルカメラなどのビデオキャプチャデバイス(video capture device)、あるいはビデオを符号化するデバイスにおいて一般に使用される他の任意のコンポーネントを含むことができる。
ITU H.264/AVC、ITU H.263、ITU H.261、MPEG−1、MPEG−2、MPEG−4、ウィンドウズメディアビデオ9.0(Windows Media Video 9.0)(WMV9)、リアルビデオ9.0(Real Video 9.0)(RV9)など、ほとんどの広く使用されるビデオコーディング技術は、テクスチャコーディングの基礎としてブロックベースの変換とスカラ量子化を活用している。ブロックベースのテクスチャコーディングは、ビデオを圧縮する比較的簡単で有効なスキームであるが、テクスチャコーディングの1つの欠点は、ブロッキングアーチファクト(blocking artifact)の発現(manifestation)である。ブロック歪みとも称されるブロッキングアーチファクトは、粗い量子化がビデオコンテンツを符号化するために使用されるときに、特に顕著であり、このビデオコンテンツは、低ビットレートでのビデオ伝送では一般的である。
以上で指摘されるように、ブロック歪みは、2つのタイプ:起源性ブロック歪みと継承性ブロック歪みに分類されることができる。起源性ブロック歪みは、一般に貧弱なテクスチャコーディングによって導入されるブロック歪みである。起源性ブロック歪みは、ビデオブロックが、より高い量子化パラメータを用いて符号化されるときにより厳しくなる。そのような起源性ブロック歪みは、ブロック境界の周りのピクセルで生じ、ブロックサイズと同じ長さ(例えば、MPEG−4では8ピクセル)を有する。起源性ブロック歪みは、ブロック境界の周りに見えるので、これらの区域に適用されるローパスフィルタ(low pass filter)は、通常、問題を解決するのに十分である。
他方、継承性ブロック歪みは、インター予測(inter-predicted)(またはイントラ予測(intra-predicted))ビデオブロックについての基準フレームから継承されるブロッキングアーチファクトである。換言すれば、継承性ブロック歪みは、予測ベースのコーディングによって基準フレーム内で識別される基準ビデオブロックの中にもともとあるブロック歪みである。この基準ビデオブロックは、符号化されたブロックを構築するために使用され、一般的に動きベクトルによって識別されるので、基準ビデオブロックのブロック歪みは、基準を使用して符号化される現在のビデオブロックによって継承される可能性がある。継承性ブロック歪みアーチファクトは、任意のロケーションにおいて見える可能性があり、ブロック境界だけには限定されない。さらに、継承性ブロック歪みは、任意の長さを有することができる(例えば、MPEG−4では、ちょうど8ピクセルではない)。ブロック境界の周りに適用される伝統的なデブロッキングフィルタは、一般的にそのような継承性ブロック歪みを除去しないことになる。
継承性ブロック歪みは、インループデブロックフィルタリングをサポートするビデオコーディングシステムにおいては問題が少ない。この場合には、フィルタがかけられたフレーム(filtered frames)は、予測ベースのコーディングについての基準フレーム(reference frames)として使用される。したがって、そのようなシステムにおいては、継承性ブロック歪みは、基準フレームが、すでにデブロックフィルタリングされているので、一般に少なくとも大体において除去される。動き補償の後に、テクスチャコーディングは、予測される(動き補償された)ブロックと元のブロックとの間の差をさらに減少させることさえでき、これは、継承性ブロック歪みをさらに低減させる助けをすることができる。しかしながら、テクスチャコーディングなしには、基準フレームからのブロック歪みは、直接に符号化されたフレームのブロックに対して渡されることになる。
インループデブロッキングフィルタをサポートするITU H.264とITU H.263 P3(ITU H.263規格のプロファイル3)では、継承性ブロック歪みは、基準フレームにおけるブロック歪みが、一般にインループデブロックフィルタリングによって許容可能レベルまで低減させられるので、重要な問題ではない可能性がある。他方、継承性ブロック歪みは、インループデブロッキングフィルタリングが、活用されないときに、例えばMPEG−4およびITU H.263 P0においては、より重要な問題である。この場合には、現在のフレームを復号化する際に使用される基準フレームは、デブロックフィルタリングが適用される前の基準フレームであるので、現在のフレームの中に十分なテクスチャコーディングが存在しない場合(例えば、量子化パラメータが高いとき)に、基準フレームにおけるブロック歪みは、現在のフレームに渡されることになる。本開示の1つの焦点は、MPEG−4およびITU H.263 P0についての継承性ブロック歪み問題を解決することができるポストデブロッキングフィルタソリューションの説明である。
継承性ブロック歪みの厳しさは、ブロックタイプ(符号化されたブロックパターンおよび動きベクトル)と、使用されるデブロッキングフィルタのタイプ(インループまたはポストループ)とに依存する可能性がある。異なるブロックタイプと2つの異なるフィルタタイプ(ループフィルタおよびポストフィルタ)の継承性ブロック歪みが、表1に示されている。
Figure 0005021658
表1において、「cbp」は、符号化されたブロックパターン(coded block pattern)の略語であり、「mv」は、動きベクトル(moving vector)の略語である。cbp=0であるときに、テクスチャコーディングはなく、逆も同様である。シンボル「=」は、基準フレームにおけるブロック歪みが現在のブロックへと完全に渡されることを示す。シンボル「<」は、基準フレームから継承されるブロック歪みが、インループ動作のために低減させられることを示す。シンボル「−」は、基準フレームから継承されるブロック歪みが、さらにテクスチャコーディングのために低減させられることを示す。注目すべきことに、継承性ブロック歪みは、cbp=0であり、ポストループフィルタが使用されるときに最も厳しい。本開示は、とりわけcbp=0を有するこれらのブロックについての継承性ブロック歪みを除去するために、選択的動き補償ベースのデブロッキング(Selective Motion Compensation based De-Blocking)(SMCDB)と称されるソリューションを提案している。テクスチャコーディングがビデオブロックについて使用されたことを示しているcbp≠0である(cbpが0に等しくない)ときには、フィルタがかけられた基準フレームに基づいた動き補償が回避されることができ、その結果、エンコーダにおけるビデオブロックと、デコーダにおけるビデオブロックとの間にミスマッチが導入されないようになる。
インループデブロックフィルタリングは、継承性ブロック歪みを低減させるので、ブロッキングアーチファクトを除去する1つのソリューションは、デコーダにおいて、フィルタがかけられない基準フレームをフィルタがかけられた基準フレームで置換することである。しかしながら、デコーダはフィルタがかけられたフレーム(filtered frames)を基準フレーム(reference frames)として使用するが、エンコーダはフィルタがかけられていないフレーム(non-filtered frames)を基準フレーム(reference frames)として使用するので、これは、エンコーダとデコーダの間のミスマッチ問題を導入する可能性がある。ミスマッチ問題は、次の「イントラ」フレームが到着するまで、エラー伝搬に起因してより厳しくなる可能性もある。
別のアプローチは、ブロック境界に対してデブロックフィルタリングを単に適用する代わりに、すべてのピクセルロケーションに対してデブロッキングフィルタを適用することである。基準フレームから継承されるブロック歪みが、どこにでも現れる可能性があるので、すべてのロケーションに対するデブロックフィルタリングの適用は、多くの場合に継承性ブロック歪みを除去する可能性がある。しかしながら、本技法は、インプリメンテーションの観点から、あまりにも複雑すぎ、そして多くの場合にオーバーフィルタリング(over-filtering)に起因した不鮮明な画像を生じさせる。
さらに別のソリューションは、履歴トラッキング(history tracking)に基づいている。継承性ブロック歪みは、一般的にI−フレーム(イントラ符号化されたフレーム)に起源を発し、時間予測を介して1つのフレームから次へと渡される。各ブロック(それ故にブロック歪み)の動きを追跡し、継承性ブロック歪みが存在するロケーションにおいてデブロッキングフィルタを適用することにより、継承性ブロック歪みの問題は、解決されることができる。例えば、この技法は、動きベクトルを使用してブロック歪みの動きを追跡し、過去に使用されたデブロッキングフィルタのタイプを記録し、次いで継承性ブロック歪みを有することが知られているロケーションにおいて基準フレーム(reference frames)において使用されるデブロッキングフィルタの同じタイプを適用する。
例えば、xが基準フレームにおけるブロック歪みを示し、MC(x)が基準フレームから継承されるブロック歪みであることを仮定する。履歴トラッキング技法は、まずMC(x)のロケーションを決定し、次いで以前のフレームと同じデブロッキングをMC(x)に対して適用する。本プロセスは、x―>MC(x)―>DB(MC(x))として記述されることができる。テクスチャコーディングは、本技法が、cbp=0の場合を取り扱うだけである限り、ここで考慮されないことに注意すべきである。
しかしながら、すべてのブロックのすべての動き動作を追跡することは非常に複雑になる可能性がある。もっと簡単な代替案は、x―>MC(x)―>DB(MC(x))からx―>DB(x)―>MC(DB(x))へと、プロセス中における動き補償(motion compensation)(MC)とデブロッキング(DB)の順序を交換することである。新しい順序は、動き補償が、cbp=0を有するブロックについて、フィルタがかけられたフレーム(filtered frames)を基準フレームとして使用して実行されることを意味する。この場合にも、これは、テクスチャコーディングのないブロックに適用されるだけである。テクスチャコーディングを有するブロック(cbp≠0)では、本技法は、エンコーダとデコーダの間のミスマッチ問題を導入する可能性がある。したがって、本技法は、cbp≠0のときには、特に回避されることができる。
MC(DB(x))が、cbp=0を有する現在のブロック上で実行された後に、現在のブロックに対する隣接ブロックが、動き補償されたブロックではない場合、あるいは隣接ブロックが異なる動きベクトルを有する場合には、別のラウンドのデブロッキングが、動き補償されたブロックと、その隣接ブロックとの間で生成される可能性のあるブロック歪みを防止するために、現在のブロックとその隣接ブロックとの間において適用されることができる。選択的動き補償ベースのデブロッキング(SMCDB)とここで称されるこのアルゴリズムは、ブロックに対して(1)DB、(2)MC、または(3)MC後のDBを適用する。選択は、以下でより詳細に説明されるように、cbpと隣接ブロックのプロパティとに基づいている。
本開示において使用される表記法では、DBは、符号化されている現在のビデオブロックのブロック境界のデブロックフィルタリングを意味することに注意すべきである。MCは、追加の動き補償プロセスを意味し、この動き補償プロセスは、現在のビデオブロックを符号化するために使用される予測ビデオフレームのフィルタがかけられたバージョンを適用している。予測ビデオフレームのフィルタがかけられたバージョンは、それが符号化されるときに、特にこの追加の動き補償プロセスにおいて使用するために、記憶されることができる。しかしながら、ポストループデブロックフィルタリングに先立ってコーディングにおいて使用される元の動き補償プロセスは、予測フレームのフィルタがかけられていないバージョンを使用することができる。
一般に、本開示の技法は、以下の3つの基本的なステップに従うことができる。
(1)現在のビデオブロックについてcbp=1である(ブロックが、テクスチャコーディングを有する)場合、現在のビデオブロック上でデブロックフィルタリングを使用する。
(2)現在のビデオブロックについてcbp=0であり、現在のビデオブロックに対する隣接ブロックについてcbp=0であり、そして隣接ブロックの動きが、現在のブロックの動きベクトルと同じである場合、MC2(以下で説明される)を使用する。
(3)そうでなければ、MC2とDBの両方を使用する。
通常のデコーダとポストループデブロッカ(post-loop deblocker)とによって使用される動き補償(MC)を区別するために、2つの異なるシンボル、すなわちMC1とMC2が本開示において使用される。MC1は、デコーダについてのMCであり、このデコーダにおいては、使用される基準フレームは、デブロッキングフィルタの前の復号化されたフレーム、すなわちフィルタがかけられていないフレームである。MC2は、デブロックフィルタリングユニットについてのMCであり、ここでは、使用される基準フレームは、デブロッキングフィルタの適用後の基準フレーム、すなわちフィルタがかけられたフレームである。基準フレームのコーディングの時に、そのフィルタがかけられたバージョンは、MC2プロセスにおいて可能性のある後の使用のために、記憶され、またはキャッシュされることができる。
図2は、SMCDBをインプリメントするために使用されることができる1つのアーキテクチャを示す図である。図2のアーキテクチャは、デブロッキングプロセスに割り当てられることができる制限された電力と制限された処理サイクルを有するデバイスのために特に有用とすることができる。十分な電力と処理オーバーヘッドを有するチップまたはデバイスでは、図3の例に示されるようにデコーダにデブロックフィルタリング技法を一体化することが、より有用な可能性がある。
図2に示されるように、デバイス20は、デコーダ22とデブロッキングユニット24とを含んでいる。デコーダ22は、第1の動き補償プロセスを実行する動き補償器(motion compensator)(MC1)21を含み、またテクスチャコーディングを実行するテクスチャエンジン(texture engine)(TE)23を含んでもいる。例えば、TE23は、離散コサイン変換(DCT)プロセス、またはビデオコーディングのために使用される別のテクスチャコーディングプロセスを実行することができる。
改善されたデブロックフィルタリングをサポートするために、デブロッキングユニット24が、使用される。デブロッキングユニット24は、本開示に従ってポストループデブロックフィルタリングを実行することができる。図2に示されるように、デブロッキングユニット24は、cbp=0であるかどうかについての(25により示されるような)決定を行う。そのような(25のyesブランチの)場合、デブロッキングユニット22は、第2の動き補償プロセスを実行するために動き補償器(MC2)26をインプリメントする。重要なことに、MC2 26によって実行される動き補償プロセスは、基準フレームのフィルタがかけられたバージョンを適用しており、これは、メモリに記憶されている可能性がある。しかしながら、基準フレームがブロック境界にフィルタをかけている場合には、継承性ブロック歪みが、復号化されたフレーム(decoded frames)に導入される可能性がある。
デブロッキングユニット24がcbp=0である(25のyesブランチ)という決定を行う場合、そのときにはMC2 26に続いて、それは、符号化されている現在のビデオブロックに対する隣接ブロックが、cbp=0と、現在のビデオブロックの動きベクトルに等しい(または実質的に類似している)動きベクトルとを有するかどうかについての別の決定(27に示される)を行う。これら2つの判断基準のうちの両方が満たされる場合、デブロックフィルタリング28は、現在のビデオブロックのブロック境界では回避される。
cbp≠0である(25のnoブランチの)場合、または決定27の判断基準のいずれかが満たされない場合、デブロッキングユニット24は、現在のビデオブロックのフィルタブロック境界をデブロックするためにデブロッキングフィルタリング28をインプリメントする。図2に示されるこれらの決定およびフィルタリングは、複数のブロック境界と、符号化されている現在のビデオブロックに対する複数の隣接ブロックに関して行われることもできる。
一般に、図2は、別個のデブロッキングフィルタが復号化ユニットと共に使用される1つのアーキテクチャを示している。デブロッキングフィルタは、以下のステップを実行することができる。
(1)現在のビデオブロックがテクスチャ符号化されている場合、デブロックフィルタリングは、現在のビデオブロックの境界に関して適用される。
(2)現在のビデオブロックが、テクスチャ符号化されておらず、現在のビデオブロックに対する隣接ブロックが、テクスチャ符号化されておらず、そして隣接ブロックに関連する動きベクトルが、現在のブロックに関連する動きベクトルと同じ、または実質的に類似している場合には、動き補償プロセスは、予測ベースのコーディングにおいて使用される予測フレームのフィルタがかけられたバージョンを使用してインプリメントされる。
(3)そうでなければ、予測フレームのフィルタがかけられたバージョンを使用した動き補償プロセスと、現在のビデオブロックの境界に関してのデブロックフィルタリングの両方が使用される。
図3は、SMCDBをインプリメントするために使用されることができるアーキテクチャを示す別の図である。図3のアーキテクチャはまた、先行するパラグラフにおいて説明される3つのステップも実行する。しかしながら、図2のデバイス20とは異なって、図3のデバイス30は、ここにおいて説明されるデブロックフィルタリングと復号化機能を一体化する。
図3に示されるように、デバイス30の一体化デコーダは、第1の動き補償プロセスを実行する動き補償器(MC1)31と、テクスチャコーディングを実行するテクスチャエンジン(TE)33とを含んでいる。決定(32)は、テクスチャコーディングが、cbp=0であるかどうかに基づいて実行されるべきであるかどうかを決定する。そうでない(32のnoブランチの)場合、TE33は、テクスチャコーディングを実行し、そして現在のビデオブロックに関連する量子化パラメータ(quantization parameter)(QP)が、しきい値よりも大きい(36のyesブランチの)場合には、デブロッキングフィルタ37は、現在のビデオブロックのブロック境界に関してデブロックフィルタリングを実行する。QPしきい値決定(36に示される)は、ここにおいて説明される実施形態のうちのどれにも追加されることができることに注意すべきである。
cbp=0である(32のyesブランチの)場合、動き補償器(MC2)34が、インプリメントされる。ここにおける他の例と同様に、MC2 34は、予測ベースの符号化において使用される予測ビデオフレームのフィルタがかけられたバージョンを使用して、その動き補償プロセスを実行する。この場合にも、予測ビデオフレームのフィルタがかけられたバージョンは、それが以前に、例えば予測ビデオフレームの以前のコーディングにおいてデブロックフィルタリングされた後に、記憶されている可能性がある。デバイス30は、符号化されている現在のビデオブロックに隣接するビデオブロックが、cbp=0と、現在のビデオブロックの動きベクトルに等しい(または実質的に類似している)動きベクトルとを有するかどうかについての決定(35に示される)を行う。これらの2つの判断基準のいずれかが満たされない場合、デバイス30は、現在のビデオブロックに関連するQPが、しきい値よりも大きい(36のyesブランチの)場合に、デブロッキングフィルタ37をインプリメントする。しかしながら、これらの判断基準のいずれもが満たされる場合には、現在のビデオブロックのブロック境界上のデブロックフィルタリングは、これが、そうでなければビデオコンテンツの過剰なスムージングを導入する可能性があるので、回避される。
図2および3の図は、動きベースのコーディングに関して適用されるが、類似した技法が、イントラ符号化されたフレーム(intra-coded frames)に関して使用されることもできることに注意すべきである。この場合には、動き補償プロセスは、イントラベースの(intra-based)予測コーディングにおける使用のようにイントラ予測プロセスで置換されることができる。予測フレーム(イントラコーディングについての)は、符号化されている現在のフレームを含む同じフレームである。
ここにおいて説明される技法は、コーディングデバイスの1つまたは複数の既存のデブロッキングフィルタと組み合わせてインプリメントされることもできる。それ故に、与えられたコーディングデバイスが、すでにデブロッキングフィルタをインプリメントする場合には、本開示の技法は、既存のデブロッキングフィルタと「後方互換(backwards compatible)」にされることができる。
より一般に、SMCDBは、任意のデブロッキングフィルタと共に機能することができる。例えば、H.264デブロッキングフィルタが、ハードウェアでインプリメントされた場合には、H.264デブロッキングフィルタと組み合わせられたSMCDBが、使用される可能性がある。もともとH.264CODECのためのインループフィルタとして設計されたH.264デブロッキングフィルタは、少し修正され、MPEG4とITU H.263 P0のためのポストフィルタとして使用される可能性がある。
本開示に従って、図4は、H264デブロッキングと組み合わせられたSMCDBのアーキテクチャを示し、ここでは、MC2の後に(図2および3におけるように)デブロッキングを実行すべきかどうかについての決定は、H.264デブロッキングフィルタの境界強度決定によって置き換えられる。
図4に示されるように、コーディングデバイス40は、予測ビデオフレームのフィルタがかけられていないバージョンを使用して第1の動き補償プロセスを実行する動き補償器(MC1)41と、テクスチャコーディングを実行するテクスチャエンジン(TE)43とを含む。決定(42)は、テクスチャコーディングが、cbp=0であるかどうかに基づいて実行されるべきであるかどうかを決定する。cbp=0である(42のyesブランチの)場合、動き補償器(MC2)44は、予測ビデオフレームのフィルタがかけられたバージョンを使用する動き補償プロセスを実行する。cbp≠0である(42のnoブランチの)場合には、テクスチャエンジン43は、テクスチャコーディングを実行し、デブロッキングフィルタユニット45は、現在のビデオブロックのブロック境界が、デブロックフィルタリングされるべきかどうか、そしてどの程度までされるべきかを決定するために使用される。
図4の例において、デブロックフィルタリングユニット45は、境界強度決定(46)とフィルタリング決定(47)とを行う。一部の場合には、これらの決定は、既存のH.264デブロッキングフィルタをポストフィルタとして使用してインプリメンとされることができる。この場合には、デブロックフィルタリングユニット45は、インループデブロッキングフィルタにアクセスするが、そのフィルタをポストデブロッキングフィルタとして使用することができる。デブロックフィルタリングユニット48は、ITU H.264フィルタを効果的に使用するために必要とされる任意の入力パラメータ調整を実行するルックアップテーブルを含み、しかもMPEG−4など、別の規格に準拠することができる。
しかしながら、本開示の技法は、どのような特定の規格と共に使用するようにも限定されず、いくつかの規格と、既存のまたは新しくインプリメントされたフィルタリングユニットとを有する広いアプリケーションを見出すことができる。一般に、図4においては、デブロックフィルタリング(48に示される)は、境界強度決定(46)とフィルタリング決定(47)の結果に基づいて実行されるが、これらの決定は、いくつかの可能なコーディング規格のうちの1つに応じて定義されることができる。
必要な場合には、しきい値QPの決定は、デブロックフィルタリングユニット45をインプリメントすることに先立って呼び出されることもできる。この場合には、デブロックフィルタリングユニット45は、(以上に概説された緊急事態(contingency)に加えて)現在のビデオブロックに関連する量子化パラメータも、しきい値より大きい場合だけに、呼び出されることになる。換言すれば、QPがフレームのビデオブロックの非常に正確な符号化を保証するように十分に低い場合に、デブロックフィルタリングは、回避されることができる。
上記の技法に加えて、いくつかの追加の技法が、インプリメンテーションの複雑さをさらに低減させるために様々なシナリオにおいて適用されることができる。一例においては、デブロックフィルタリングは、与えられたビデオブロックのために使用されるQPと、最後のI−フレームに対する現在のビデオブロックの距離に応じてディスエーブル/イネーブルされることができる。実験は、同じQPを用いて符号化されるときにI−フレームが、P−フレーム(予測フレーム)よりもブロック歪みが多い傾向があることと、最後のI−フレームに近いP−フレームが、最後のI−フレームからさらに離れたP−フレームよりもブロック歪みが多い傾向があることとを示している。すなわち、ブロック歪みは、最後のI−フレームに対する距離が増大するにつれて減少する傾向がある。さらに、予想されるように、最後のI−フレームに対して固定された距離を有するフレームでは、ブロック歪みは、フレームのQPが増大するにつれて、もっと厳しくなる。これらの観察は、フレームレベルのみならずビデオブロックレベルにおいても当てはまる。
これらの観察に基づいて、ビデオブロックレベルのデブロックフィルタリングの決定は、インプリメンテーションの複雑さを低減させるために、QPと、最後のI−フレームに対する距離に基づいて行われることができる。例えば、QPが、しきい値「th」よりも小さく、ここで「th」がdの関数であり、dが最後のI−フレームに対する現在のビデオブロックからの距離であるときに、デブロックフィルタリングは、ビデオブロックについてディスエーブルされることができる。このデブロッキング決定は、不必要なデブロックフィルタリングをバイパスするゲートとしての機能を果たし、それによりインプリメンテーションの複雑さを低減させることができる。その決定は、アドホックなやり方でインプリメントされるように設計されることもでき、あるいは複雑さ−品質コストファンクション(complexity-quality cost function)によって、より効率的にインプリメントされることもできる。
別の複雑さは、輝度ブロックだけに関して、そしてクロミナンスブロック(chrominance block)には関してはそうでないように、デブロックフィルタリング(およびその決定)を実行することにより、達成されることができる。換言すれば、デブロックフィルタリングは、「クロマ(chroma)」ブロックについてはディスエーブルされることができる。ブロッキングアーチファクトは、クロミナンスよりも輝度において、目に見えやすいので、クロマデブロックフィルタリングを回避することは、過大なようには品質を悪化させない可能性がある。実験は、クロマDBがディスエーブルされるときに、ほとんど、または全く目に見える品質損失を示していない。
さらに別の複雑さの低減は、MC2の後にデブロックフィルタリングを(ここにおいて説明されるように)ディスエーブルにすることにより、達成されることができる。図2および3のアーキテクチャにおいては、デブロックフィルタリングは、その1つまたは複数の隣接ブロックとは異なるプロパティを有するcbp=0を有するブロックについてMC2の後に適用される。MC2の後にそのようなフィルタリングをオフにすることは、さらにシステムの複雑さを低減させる可能性さえあるが、デブロッキングの品質を低下させることができる。
既存のITU H.264デブロッキングフィルタを使用するインプリメンテーションでは、複雑さは、(4の境界強度(BS)に関連する)強いフィルタリングをディスエーブルにすることにより低減させられる可能性もある。ITU H.264のために定義されるBS=4のフィルタは、他のBS値に関連するフィルタよりもずっと複雑である。その複雑さは、ITU H.264によって定義されるBS=4の強いフィルタが、ITU H.264によって定義されるBS=3のフィルタによって置き換えられるときに非常に低減させられる可能性があり、これは、結果として非常に小さな品質悪化になる。
さらに他のインプリメンテーションにおいては、MC2は、それが必要とされないときにはディスエーブルされることができる。SMCDBスキームにおいてMC2を使用する理由は、継承性ブロック歪みを除去することであり、MC2は、継承性ブロック歪みが、もはや問題ではないときには、ディスエーブルされるべきである。符号化されていないブロックの数と、イントラビデオブロックの数と、フレームにおける平均QPはすべて、継承性ブロック歪みの厳しさを決定するときに影響を及ぼすファクタである。一例として、符号化されていないブロックの数が、しきい値よりも小さく、平均QPが、しきい値よりも小さい場合に、MC2は、ディスエーブルされることができる。この場合には、MC2が、現在ディスエーブルされるが、イントラビデオブロックの数が、しきい値よりも大きい場合に、MC2は、再イネーブルされることができる。
ここにおいて提案される技法の品質を検証するために、以下の2つのテストビデオクリップ(test video clip)、すなわち「皮膚(skin)」と「都市(cities)」が、実験において使用された。ブロッキングアーチファクト値(blocking artifact value)(BAV)が、ブロック歪みの厳しさを測定するために使用された。シミュレーションにおいては、各ビデオクリップは、毎秒48キロビット(kbps)と、毎秒15フレーム(fps)におけるMPEG−4を用いて符号化された。デブロッキング性能(ブロック歪みの低減)の観点から、すべてのSMCDBコンフィギュレーションは、H.264デブロックフィルタリングよりも性能が優れていた。複雑さ(処理サイクルの使用)の観点から、最も複雑なSMCDBコンフィギュレーション(簡略化が使用されず)でさえ、ITU H.264デブロックフィルタリング技法よりも少ない処理サイクルを消費した。
図5は、本開示と整合性のあるデブロッキング技法を示すフローチャートである。図5は、図1のデバイス10の場合について説明されることになるが、本技法は、DBフィルタリングユニット(図1のユニット18のような)をビデオコーディングユニットに直接に一体化したデバイスによってインプリメントされることができ、この場合には、デブロックフィルタリング技法は、コーディングユニットによって実行されることになる。
図5に示されるように、コーディングユニット14は、予測ベースのコーディング技法を使用して、メモリ12の中のビデオフレーム(video frames)を符号化する(51)。予測ベースのコーディング技法は、ビデオフレームのブロック(blocks of video frames)がコーディングのために他のブロックと比較されるどのようなコーディング技法も意味する。予測ベースのコーディング技法の例は、インターフレーム圧縮ベースの動き推定および動き補償、あるいは空間推定とイントラ予測に基づいたイントラフレーム相関を含んでいる。予測ベースのコーディング(51)は、例えば動き補償において、予測ビデオフレーム(prediction video frames)のフィルタがかけられていないバージョンを使用することができる。
DBフィルタリングユニット18は、テクスチャコーディングが、与えられたビデオブロックのために使用されたかどうかを決定する(52)。そのような(52のyesブランチの)場合、DBフィルタリングユニット18は、与えられたビデオブロックのブロック境界にフィルタをかける(53)。そうでない(52のnoブランチの)場合には、DBフィルタリングユニット18は、フィルタがかけられた基準フレーム(すなわち、フィルタがかけられた予測フレーム)に基づいて新しい動き補償プロセスを実行する(54)。
フィルタがかけられた基準フレームを使用した動き補償プロセス(54)に続いて、DBフィルタリングユニット18は、テクスチャコーディングが、与えられたビデオブロックに対する隣接ブロックのために使用されたかどうか(55)と、与えられたビデオブロックと隣接ビデオブロックとが、類似した動きベクトルを有するかどうか(56)を決定する。テクスチャコーディングが、与えられたビデオブロックのために使用されなかった(52のnoブランチ)が、与えられたビデオブロックに対する隣接ブロックのためには使用された(55のyesブランチの)場合、そのときにはDBフィルタリングユニット18は、与えられたビデオブロックのブロック境界をデブロックフィルタリングする(53)。また、テクスチャコーディングが、与えられたビデオブロック(52のnoブランチ)と、与えられたビデオブロックに対する隣接ブロック(55のnoブランチ)のために使用されず、与えられたビデオブロックと隣接ビデオブロックとが、類似した動きベクトルを有さない(56のnoブランチの)場合、そのときにはDBフィルタリングユニット18は、与えられたビデオブロックのブロック境界をデブロックフィルタリングする(53)。しかしながら、テクスチャコーディングが、与えられたビデオブロック(52のnoブランチ)と、与えられたビデオブロックに対する隣接ブロック(55のnoブランチ)のために使用されなかったが、与えられたビデオブロックと隣接ビデオブロックとが、類似した動きベクトルを有する場合には、DBフィルタリングユニット18は、与えられたビデオブロックのブロック境界のどのようなデブロックフィルタリングも回避する(57)。
図5に示される技法は、簡単にするために、与えられたビデオブロックの1つのブロック境界のフィルタリングに関して示される。もちろん、本開示は、さらに与えられたビデオブロックのいくつかのブロック境界に関して適用されるフィルタリング技法も考えている。したがって、本開示の技法は、(d) 与えられたビデオブロックがテクスチャ符号化されている場合は、与えられたビデオブロックの複数のブロック境界をデブロックフィルタリングすることと、(e) 与えられたビデオブロックが、テクスチャ符号化されておらず、与えられたビデオブロックに対する複数の隣接ビデオブロックが、テクスチャ符号化されておらず、そして与えられたビデオブロックと隣接ビデオブロックとが、実質的に類似した動きベクトルを有する場合は、与えられたビデオブロックを符号化するために使用される予測ビデオフレームのフィルタがかけられたバージョンを使用して動き補償プロセスを実行することと、(f) (d)も(e)も満たされない場合は、与えられたビデオブロックの複数のブロック境界をデブロックフィルタリングすることと、予測ビデオフレームのフィルタバージョンを使用して動き補償プロセスを実行することとを含むことができる。
いくつかの実施形態が、説明されてきている。しかしながら、様々な修正が、ここにおいて説明される技法に対して行われることができる。例えば、本技法は、インター予測ベースの(inter-prediction based)コーディングの場合について説明されてきているが、類似した技法が、イントラ予測ベースの(intra-prediction based)コーディングの場合にも適用されることができる。換言すれば、予測ビデオフレームは、符号化されている現在のフレームに対する、ビデオシーケンスの中の以前のフレームまたは後続のフレームとすることができ、あるいは(イントラコーディングの場合には)符号化されている現在のビデオブロックを含む同じフレームとすることができる。ここにおいて説明される技法のこれらおよび他の変形も、本開示によって考えられている。
ここにおいて説明される技法は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せの形でインプリメントされることができる。ソフトウェアでインプリメントされる場合には、デバイスにおいて実行されるときに、ビデオシーケンスを符号化し、ここにおいて説明される1つまたは複数のデブロックフィルタリング技法を実行するプログラムコードを備えるコンピュータ読取り可能媒体を対象とすることができる。その場合には、コンピュータ読取り可能媒体は、シンクロナスダイナミックランダムアクセスメモリRAM(synchronous dynamic random access memory)(SDRAM)などのランダムアクセスメモリ(RAM)と、読取り専用メモリ(read-only memory)(ROM)と、不揮発性ランダムアクセスメモリ(non-volatile random access memory)(NVRAM)と、電気的消去可能プログラマブル読取り専用メモリ(electrically erasable programmable read-only memory)(EEPROM)と、フラッシュメモリなどを備えることができる。
プログラムコードは、コンピュータ読取り可能命令の形態でメモリ上に記憶されることができる。その場合には、DSPなどのプロセッサは、1つまたは複数のデブロックフィルタリング技法を実行するために、メモリに記憶される命令を実行することができる。一部の場合には、本技法は、コーディングプロセスを加速するために様々なハードウェアコンポーネントを呼び出すDSPによって実行されることができる。他の場合には、ここにおいて説明されるユニットは、マイクロプロセッサ、1つまたは複数の特定用途向け集積回路(ASIC)、1つまたは複数のフィールドプログラマブルゲートアレイ(FPGA)、または他の何らかのハードウェアとソフトウェアの組合せとしてインプリメントされることができる。ここにおいて説明されるデブロックフィルタユニット(deblock filter unit)は、ハードウェアフィルタ、あるいはもしかするとソフトウェアまたはファームウェアの形でインプリメントされるフィルタを備えることができる。これらおよび他の実施形態は、添付の特許請求の範囲の範囲内にある。
本開示の一実施形態によるビデオコーディングデバイスの、例示のブロック図である。 本開示の一実施形態によるビデオデコーダユニットおよびデブロッキングユニットの、例示のアーキテクチャを示す流れ図である。 本開示の一実施形態による、集積化デブロッキング機能を含むビデオデコーダユニットの、例示のアーキテクチャを示す流れ図である。 ITU H.264デブロッキングフィルタを使用しているデブロッキング機能を含む、ビデオデコーダユニットの例示のアーキテクチャを示す流れ図である。 本開示と整合性のあるデブロッキング技法を示す、フローチャートである。

Claims (24)

  1. 複数のフレームの複数のビデオブロック上で予測ベースのコーディング技法を使用して、ビデオシーケンスの前記複数のフレームを符号化するビデオコーディングユニットであって前記予測ベースのコーディング技法は、予測ビデオフレームのフィルタがかけられないバージョンを使用する第1の動き補償プロセスを含む、ビデオコーディングユニットと、
    (a) 与えられたビデオブロックがテクスチャ符号化されている場合は、前記与えられたビデオブロックのブロック境界をデブロックフィルタリングする、
    (b) 前記与えられたビデオブロックがテクスチャ符号化されておらず、前記与えられたビデオブロックに対する隣接ビデオブロックがテクスチャ符号化されておらず、前記与えられたビデオブロックと前記隣接ビデオブロックとが実質的に類似した動きベクトルを有する場合は、前記与えられたビデオブロックを符号化するために使用される前記予測ビデオフレームの、フィルタがかけられたバージョンを使用して、第2の動き補償プロセスを実行する、
    (c) (a)も(b)も満たされない場合は、前記与えられたビデオブロックの前記ブロック境界をデブロックフィルタリングする、その後、前記予測ビデオフレームの前記フィルタバージョンを使用して前記第2の動き補償プロセスを実行する、
    ここにおいて、前記(a)においては前記第2の動き補償プロセスは実行されない、
    デブロックフィルタリングユニットと、
    を備えるビデオコーディングデバイス。
  2. 前記デブロックフィルタリングユニットは、
    (d) 前記与えられたビデオブロックがテクスチャ符号化されている場合は、前記与えられたビデオブロックの複数のブロック境界をデブロックフィルタリングする、
    (e) 前記与えられたビデオブロックがテクスチャ符号化されておらず、前記与えられたビデオブロックに対する複数の隣接ビデオブロックがテクスチャ符号化されておらず、前記与えられたビデオブロックと前記複数の隣接ビデオブロックとが実質的に類似した動きベクトルを有する場合は、前記与えられたビデオブロックを符号化するために使用される前記予測ビデオフレームの前記のフィルタがかけられたバージョンを使用して前記第2の動き補償プロセスを実行する、
    (f) (d)も(e)も満たされない場合は、前記与えられたビデオブロックの前記複数のブロック境界をデブロックフィルタリングする、その後、前記予測ビデオフレームの前記フィルタバージョンを使用して前記第2の動き補償プロセスを実行する、
    ここにおいて、前記(d)においては前記第2の動き補償プロセスは実行されない、
    請求項1に記載のビデオコーディングデバイス。
  3. 前記予測ベースのコーディング技法は、動き推定と動き補償とを備える、請求項1に記載のビデオコーディングデバイス。
  4. 前記ビデオコーディングデバイスは、規格準拠のためのインループデブロックフィルタリングを指定しないコーディング規格に準拠する、請求項1に記載のビデオコーディングデバイス。
  5. 前記コーディング規格は、ムービングピクチャエキスパートグループ4(MPEG−4)規格および国際電気通信連合(ITU)H.263 P0規格のうちの一方を備える、請求項4に記載のビデオコーディングデバイス。
  6. 前記ビデオコーディングデバイスは、デジタルテレビジョン、ワイヤレス通信デバイス、携帯型個人情報端末、ラップトップコンピュータ、デスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、ビデオ機能を有するセルラ無線電話、ビデオ機能を有する衛星無線電話、およびビデオ機能を有する直接双方向通信デバイス、のうちの少なくとも1つを備える、請求項1に記載のビデオコーディングデバイス。
  7. 前記デブロックフィルタリングユニットは、しきい値よりも小さい、前記複数のフレームのうちの1つに関連する量子化パラメータに、少なくとも部分的に基づいて、前記ビデオシーケンスの前記複数のフレームのうちの前記1つに関してデブロックフィルタリングをディスエーブルする、請求項1に記載のビデオコーディングデバイス。
  8. 前記デブロックフィルタリングユニットは、輝度ビデオブロックに関して、(a)、(b)、および(c)を実行し、クロミナンスビデオブロックに関してデブロックフィルタリングをディスエーブルする、請求項1に記載のビデオコーディングデバイス。
  9. ステップ(b)は、前記与えられたビデオブロックの前記ブロック境界のいずれのデブロックフィルタリングも除外する、請求項1に記載のビデオコーディングデバイス。
  10. (a) 複数のフレームの複数のビデオブロック上で予測ベースのコーディング技法を使用してビデオシーケンスの前記複数のフレームを符号化することであって前記予測ベースのコーディング技法は、予測ビデオフレームのフィルタがかけられないバージョンを使用する第1の動き補償プロセスを含む、符号化すること:
    (b) 与えられたビデオブロックがテクスチャ符号化されている場合は、前記与えられたビデオブロックのブロック境界をデブロックフィルタリングすること、
    (c) 前記与えられたビデオブロックがテクスチャ符号化されておらず、前記与えられたビデオブロックに対する隣接ビデオブロックがテクスチャ符号化されておらず、前記与えられたビデオブロックと前記隣接ビデオブロックとが実質的に類似した動きベクトルを有する場合は、前記与えられたビデオブロックを符号化するために使用される前記予測ビデオフレームの、フィルタがかけられたバージョンを使用して、第2の動き補償プロセスを実行すること、
    (d) (b)も(c)も満たされない場合は、前記与えられたビデオブロックの前記ブロック境界をデブロックフィルタリングすること、その後、前記予測ビデオフレームの前記フィルタバージョンを使用して前記第2の動き補償プロセスを実行すること、
    ここにおいて、前記(b)においては前記第2の動き補償プロセスは実行されない、
    を備える方法。
  11. (e) 前記与えられたビデオブロックがテクスチャ符号化されている場合は、前記与えられたビデオブロックの複数のブロック境界をデブロックフィルタリングすること、
    (f) 前記与えられたビデオブロックがテクスチャ符号化されておらず、前記与えられたビデオブロックに対する複数の隣接ビデオブロックがテクスチャ符号化されておらず、前記与えられたビデオブロックと前記複数の隣接ビデオブロックとが実質的に類似した動きベクトルを有する場合は、前記与えられたビデオブロックを符号化するために使用される前記予測ビデオフレームの、前記のフィルタがかけられたバージョンを使用して、前記第2の動き補償プロセスを実行すること、
    (g) (e)も(f)も満たされない場合は、前記与えられたビデオブロックの前記複数のブロック境界をデブロックフィルタリングすること、その後、前記予測ビデオフレームの前記フィルタバージョンを使用して前記第2の動き補償プロセスを実行すること、
    ここにおいて、前記(e)においては前記第2の動き補償プロセスは実行されない、
    をさらに備える、請求項10に記載の方法。
  12. 前記予測ベースのコーディング技法は、動き推定と動き補償とを備える、請求項10に記載の方法。
  13. 前記ビデオシーケンスの複数のフレームを符号化することは、規格準拠のためのインループデブロックフィルタリングを指定しないコーディング規格に応じて前記複数のフレームを符号化することを備える、請求項10に記載の方法。
  14. 前記コーディング規格は、ムービングピクチャエキスパートグループ4(MPEG−4)規格と国際電気通信連合(ITU)H.263 P0規格とのうちの、一方を備える、請求項13に記載の方法。
  15. しきい値よりも小さい、前記複数のフレームのうちの1つに関連する量子化パラメータに、少なくとも部分的に基づいて、前記ビデオシーケンスの前記複数のフレームのうちの前記1つに関してデブロックフィルタリングをディスエーブルすること、をさらに備える請求項10に記載の方法。
  16. デブロックフィルタリングを実行することは、輝度ビデオブロックに関して、(b)、(c)、および(d)を実行することを備え、前記方法は、クロミナンスビデオブロックに関してデブロックフィルタリングをディスエーブルすること、をさらに備える、請求項10に記載の方法。
  17. 予測ベースのコーディング技法を使用するビデオコーディングのためのデブロックフィルタリングユニットであって、前記予測ベースのコーディング技法は、予測ビデオフレームのフィルタがかけられないバージョンを使用する第1の動き補償プロセスを含み、前記デブロックフィルタリングユニットは、
    (a) 与えられたビデオブロックがテクスチャ符号化されている場合は、前記与えられたビデオブロックのブロック境界をデブロックフィルタリングする、
    (b) 前記与えられたビデオブロックがテクスチャ符号化されておらず、前記与えられたビデオブロックに対する隣接ビデオブロックがテクスチャ符号化されておらず、前記与えられたビデオブロックと前記隣接ビデオブロックとが実質的に類似した動きベクトルを有する場合は、前記与えられたビデオブロックを符号化するために使用される前記予測ビデオフレームのフィルタがかけられたバージョンを使用して第2の動き補償プロセスを実行する、
    (c) (a)も(b)も満たされない場合は、前記与えられたビデオブロックの前記ブロック境界をデブロックフィルタリングする、その後、前記予測ビデオフレームの前記フィルタバージョンを使用して前記第2の動き補償プロセスを実行する、
    ここにおいて、前記(a)においては前記第2の動き補償プロセスは実行されない、
    デブロックフィルタリングユニット。
  18. 前記デブロックフィルタリングユニットは、
    (d) 前記与えられたビデオブロックがテクスチャ符号化されている場合は、前記与えられたビデオブロックの複数のブロック境界をデブロックフィルタリングする、
    (e) 前記与えられたビデオブロックがテクスチャ符号化されておらず、前記与えられたビデオブロックに対する複数の隣接ビデオブロックがテクスチャ符号化されておらず、前記与えられたビデオブロックと前記複数の隣接ビデオブロックとが実質的に類似した動きベクトルを有する場合は、前記与えられたビデオブロックを符号化するために使用される前記予測ビデオフレームの前記のフィルタがかけられたバージョンを使用して前記第2の動き補償プロセスを実行する、
    (f) (d)も(e)も満たされない場合は、前記与えられたビデオブロックの前記複数のブロック境界をデブロックフィルタリングする、その後、前記予測ビデオフレームの前記フィルタバージョンを使用して前記第2の動き補償プロセスを実行する、
    ここにおいて、前記(d)においては前記第2の動き補償プロセスは実行されない、
    請求項17に記載のデブロックフィルタリングユニット。
  19. 前記デブロックフィルタリングユニットは、プロセッサにおいて実行される複数のソフトウェア命令を備える、請求項17に記載のデブロックフィルタリングユニット。
  20. 予測ベースのコーディング技法を使用するビデオコーディングプロセス中にコンピュータに下記を実行させるための複数の命令を備えたコンピュータ読取り可能な記録媒体であって前記予測ベースのコーディング技法は、予測ビデオフレームのフィルタがかけられないバージョンを使用する第1の動き補償プロセスを含む、コンピュータ読取り可能な記録媒体:
    (a) 与えられたビデオブロックがテクスチャ符号化されている場合は、前記与えられたビデオブロックのブロック境界をデブロックフィルタリングさせる、
    (b) 前記与えられたビデオブロックがテクスチャ符号化されておらず、前記与えられたビデオブロックに対する隣接ビデオブロックがテクスチャ符号化されておらず、前記与えられたビデオブロックと前記隣接ビデオブロックとが実質的に類似した動きベクトルを有する場合は、前記与えられたビデオブロックを符号化するために使用される前記予測ビデオフレームのフィルタがかけられたバージョンを使用して第2の動き補償プロセスを実行させる、
    (c) (a)も(b)も満たされない場合は、前記与えられたビデオブロックの前記ブロック境界をデブロックフィルタリングさせる、その後、前記予測ビデオフレームの前記フィルタバージョンを使用して前記第2の動き補償プロセスを実行させる、
    ここにおいて、前記(a)においては前記第2の動き補償プロセスは実行されない。
  21. 前記符号化プロセス中にコンピュータに下記を実行させるための命令をさらに備えた請求項20に記載のコンピュータ読取り可能な記録媒体、
    (d) 前記与えられたビデオブロックがテクスチャ符号化されている場合は、前記与えられたビデオブロックの複数のブロック境界をデブロックフィルタリングさせる、
    (e) 前記与えられたビデオブロックがテクスチャ符号化されておらず、前記与えられたビデオブロックに対する複数の隣接ビデオブロックがテクスチャ符号化されておらず、前記与えられたビデオブロックと前記複数の隣接ビデオブロックとが実質的に類似した動きベクトルを有する場合は、前記与えられたビデオブロックを符号化するために使用される前記予測ビデオフレームの前記のフィルタがかけられたバージョンを使用して前記第2の動き補償プロセスを実行させる、
    (f) (d)も(e)も満たされない場合は、前記与えられたビデオブロックの前記複数のブロック境界をデブロックフィルタリングさせる、その後、前記予測ビデオフレームの前記フィルタバージョンを使用して前記第2の動き補償プロセスを実行させる、
    ここにおいて、前記(d)においては前記第2の動き補償プロセスは実行されない。
  22. 複数のフレームの複数のビデオブロック上で予測ベースのコーディング技法を使用してビデオシーケンスの前記複数のフレームを符号化するための手段であって前記予測ベースのコーディング技法は、予測ビデオフレームのフィルタがかけられないバージョンを使用する第1の動き補償プロセスを含む、符号化するための手段、
    与えられたビデオブロックがテクスチャ符号化されている場合は、前記与えられたビデオブロックのブロック境界をデブロックフィルタリングするための手段、
    前記与えられたビデオブロックがテクスチャ符号化されておらず、前記与えられたビデオブロックに対する隣接ビデオブロックがテクスチャ符号化されておらず、前記与えられたビデオブロックと前記隣接ビデオブロックとが実質的に類似した動きベクトルを有する場合は、前記与えられたビデオブロックを符号化するために使用される前記予測ビデオフレームのフィルタがかけられたバージョンを使用して第2の動き補償プロセスを実行するための手段、
    前記ビデオブロックがテクスチャ符号化されておらず、次の、
    前記与えられたビデオブロックに対する前記隣接ビデオブロックがテクスチャ符号化されている、という条件、および
    前記与えられたビデオブロックと前記隣接ビデオブロックとが実質的に異なる動きベクトルを有する、という条件、
    のうちの1つ以上が満たされる場合は、前記与えられたビデオブロックの前記ブロック境界をデブロックフィルタリングする、その後、前記予測ビデオフレームの前記フィルタバージョンを使用して前記第2の動き補償プロセスを実行する、ための手段、
    ここにおいて、前記与えられたビデオブロックがテクスチャ符号化されている場合には、前記第2の動き補償プロセスは実行されない、
    を備えるビデオコーディングデバイス。
  23. 複数のフレームの複数のビデオブロック上で予測ベースのコーディング技法を使用してビデオシーケンスの前記複数のフレームを符号化し、デブロックフィルタリングを実行するビデオコーディングユニット、を備えるビデオコーディングデバイスであって、前記予測ベースのコーディング技法は、予測ビデオフレームのフィルタがかけられないバージョンを使用する第1の動き補償プロセスを含み、前記デブロックフィルタリングは、
    (a) 与えられたビデオブロックがテクスチャ符号化されている場合は、前記与えられたビデオブロックのブロック境界をデブロックフィルタリングすること、
    (b) 前記与えられたビデオブロックがテクスチャ符号化されておらず、前記与えられたビデオブロックに対する隣接ビデオブロックがテクスチャ符号化されておらず、前記与えられたビデオブロックと前記隣接ビデオブロックとが実質的に類似した動きベクトルを有する場合は、前記与えられたビデオブロックを符号化するために使用される前記予測ビデオフレームのフィルタがかけられたバージョンを使用して第2の動き補償プロセスを実行すること、
    (c) (a)も(b)も満たされない場合は、前記与えられたビデオブロックの前記ブロック境界をデブロックフィルタリングすること、その後、前記予測ビデオフレームの前記フィルタバージョンを使用して前記第2の動き補償プロセスを実行すること、
    ここにおいて、前記(a)においては前記第2の動き補償プロセスは実行されない、
    を含んでいる、
    ビデオコーディングデバイス。
  24. 前記ビデオコーディングユニットによって実行される前記デブロックフィルタリングは、
    (d) 前記与えられたビデオブロックがテクスチャ符号化されている場合は、前記与えられたビデオブロックの複数のブロック境界をデブロックフィルタリングすること、
    (e) 前記与えられたビデオブロックがテクスチャ符号化されておらず、前記与えられたビデオブロックに対する複数の隣接ビデオブロックがテクスチャ符号化されておらず、前記与えられたビデオブロックと前記複数の隣接ビデオブロックとが実質的に類似した動きベクトルを有する場合は、前記与えられたビデオブロックを符号化するために使用される前記予測ビデオフレームの前記のフィルタがかけられたバージョンを使用して前記第2の動き補償プロセスを実行すること、
    (f) (d)も(e)も満たされない場合は、前記与えられたビデオブロックの前記複数のブロック境界をデブロックフィルタリングする、その後、前記予測ビデオフレームの前記フィルタバージョンを使用して前記第2の動き補償プロセスを実行すること、
    ここにおいて、前記(d)においては前記第2の動き補償プロセスは実行されない、
    をさらに含む、
    請求項23に記載のビデオコーディングデバイス。
JP2008536779A 2005-10-18 2006-10-18 ビデオコーディングのための選択的デブロックフィルタリング Expired - Fee Related JP5021658B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US72836105P 2005-10-18 2005-10-18
US60/728,361 2005-10-18
US11/350,666 2006-02-08
US11/350,666 US8681867B2 (en) 2005-10-18 2006-02-08 Selective deblock filtering techniques for video coding based on motion compensation resulting in a coded block pattern value
PCT/US2006/040761 WO2007047786A2 (en) 2005-10-18 2006-10-18 Selective deblock filtering techniques for video coding

Publications (3)

Publication Number Publication Date
JP2009512402A JP2009512402A (ja) 2009-03-19
JP2009512402A5 JP2009512402A5 (ja) 2011-07-28
JP5021658B2 true JP5021658B2 (ja) 2012-09-12

Family

ID=37806668

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008536779A Expired - Fee Related JP5021658B2 (ja) 2005-10-18 2006-10-18 ビデオコーディングのための選択的デブロックフィルタリング

Country Status (7)

Country Link
US (1) US8681867B2 (ja)
EP (1) EP1938616B1 (ja)
JP (1) JP5021658B2 (ja)
KR (1) KR101035138B1 (ja)
CN (1) CN101326831B (ja)
AT (1) ATE515147T1 (ja)
WO (1) WO2007047786A2 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4747975B2 (ja) * 2006-07-14 2011-08-17 ソニー株式会社 画像処理装置および方法、プログラム、並びに、記録媒体
WO2009032255A2 (en) * 2007-09-04 2009-03-12 The Regents Of The University Of California Hierarchical motion vector processing method, software and devices
US8619880B2 (en) * 2007-10-10 2013-12-31 Qualcomm Incorporated Universal blockiness correction
JP5413923B2 (ja) * 2008-04-11 2014-02-12 トムソン ライセンシング 変位イントラ予測およびテンプレート・マッチングのためのデブロッキング・フィルタリング
TWI463878B (zh) * 2009-02-19 2014-12-01 Sony Corp Image processing apparatus and method
KR20100095992A (ko) 2009-02-23 2010-09-01 한국과학기술원 비디오 부호화에서의 분할 블록 부호화 방법, 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체
KR20110014000A (ko) * 2009-08-04 2011-02-10 광운대학교 산학협력단 영상 데이터의 디블록킹 필터링 장치 및 방법과 이를 이용한 영상 복호화 장치 및 방법
JP5464435B2 (ja) * 2010-04-09 2014-04-09 ソニー株式会社 画像復号装置および方法
US8976856B2 (en) * 2010-09-30 2015-03-10 Apple Inc. Optimized deblocking filters
US9338476B2 (en) 2011-05-12 2016-05-10 Qualcomm Incorporated Filtering blockiness artifacts for video coding
JP2013118605A (ja) * 2011-06-28 2013-06-13 Sony Corp 画像処理装置と画像処理方法
CN106658014B (zh) * 2011-06-30 2021-01-08 三菱电机株式会社 图像编码装置及方法、图像解码装置及方法
US8964833B2 (en) 2011-07-19 2015-02-24 Qualcomm Incorporated Deblocking of non-square blocks for video coding
US9326007B2 (en) * 2011-11-10 2016-04-26 Stmicroelectronics Asia Pacific Pte. Ltd. Motion compensated de-blocking
JP6222576B2 (ja) * 2012-03-21 2017-11-01 サン パテント トラスト 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、および画像符号化復号装置
US9591302B2 (en) 2012-07-02 2017-03-07 Microsoft Technology Licensing, Llc Use of chroma quantization parameter offsets in deblocking
US9414054B2 (en) 2012-07-02 2016-08-09 Microsoft Technology Licensing, Llc Control and use of chroma quantization parameter values
US20140321541A1 (en) * 2013-04-30 2014-10-30 Motorola Solutions, Inc. Method and apparatus for capturing an image
US20150036757A1 (en) * 2013-07-31 2015-02-05 Divx, Llc Systems and methods for adaptively applying a deblocking filter
CN105794210B (zh) * 2013-12-06 2019-05-10 联发科技股份有限公司 视频编码系统中用于边界像素的运动补偿预测方法及装置
US9883197B2 (en) * 2014-01-09 2018-01-30 Qualcomm Incorporated Intra prediction of chroma blocks using the same vector
KR102445242B1 (ko) 2014-03-19 2022-09-21 삼성전자주식회사 경계 필터링을 수반한 비디오 부호화 및 비디오 복호화 방법 및 장치
CN107787582A (zh) 2015-06-10 2018-03-09 三星电子株式会社 使用用于自适应加权预测的语法信令对图像进行编码或解码的方法和设备
US10694202B2 (en) * 2016-12-01 2020-06-23 Qualcomm Incorporated Indication of bilateral filter usage in video coding
US20180343449A1 (en) * 2017-05-26 2018-11-29 Ati Technologies Ulc Application specific filters for high-quality video playback
JP7278719B2 (ja) * 2018-06-27 2023-05-22 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US11616962B2 (en) * 2019-07-15 2023-03-28 Tencent America LLC Method and apparatus for video coding
CN112449183B (zh) * 2019-09-03 2023-05-09 联咏科技股份有限公司 视频编码器、视频解码器以及视频系统
JP7267191B2 (ja) * 2019-12-26 2023-05-01 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
CN117979097A (zh) * 2024-03-27 2024-05-03 深圳大学 一种体积视频流式调度方法、装置、终端及介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04177992A (ja) * 1990-11-09 1992-06-25 Victor Co Of Japan Ltd 階層性を有する画像符号化装置
US5892518A (en) * 1995-07-28 1999-04-06 Matsushita Electric Industrial Co., Ltd. Image generating apparatus with pixel calculation circuit including texture mapping and motion compensation
US7450641B2 (en) * 2001-09-14 2008-11-11 Sharp Laboratories Of America, Inc. Adaptive filtering based upon boundary strength
KR100624429B1 (ko) * 2003-07-16 2006-09-19 삼성전자주식회사 칼라 영상을 위한 비디오 부호화/복호화 장치 및 그 방법
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7869503B2 (en) * 2004-02-06 2011-01-11 Apple Inc. Rate and quality controller for H.264/AVC video coder and scene analyzer therefor
JP2005020771A (ja) 2004-08-09 2005-01-20 Toshiba Corp 動画像復号化装置および動画像復号化方法
CN100345450C (zh) * 2005-01-31 2007-10-24 浙江大学 视频或图像去块滤波的方法和装置
US8520739B2 (en) * 2005-05-09 2013-08-27 Intel Corporation Method and apparatus for adaptively reducing artifacts in block-coded video

Also Published As

Publication number Publication date
WO2007047786A2 (en) 2007-04-26
EP1938616A2 (en) 2008-07-02
EP1938616B1 (en) 2011-06-29
KR20080064983A (ko) 2008-07-10
US20110110427A1 (en) 2011-05-12
US8681867B2 (en) 2014-03-25
CN101326831A (zh) 2008-12-17
WO2007047786A3 (en) 2007-07-12
KR101035138B1 (ko) 2011-05-17
ATE515147T1 (de) 2011-07-15
CN101326831B (zh) 2012-03-21
JP2009512402A (ja) 2009-03-19

Similar Documents

Publication Publication Date Title
JP5021658B2 (ja) ビデオコーディングのための選択的デブロックフィルタリング
JP2009512402A5 (ja)
US9374586B2 (en) Video information processing system with selective chroma deblock filtering
JP4847521B2 (ja) 複数の映像規格に従った映像符号化の際のブロックノイズ除去フィルタリング技術
JP2021106403A (ja) 映像デコード方法、映像エンコード方法および記録媒体
AU2011354786B2 (en) Deblocking filtering
US8204129B2 (en) Simplified deblock filtering for reduced memory access and computational complexity
JP5383914B2 (ja) デブロッキングフィルタリング装置及び方法
EP3535972A1 (en) An intra-prediction apparatus for extending a set of predetermined directional intra-prediction modes
JP2014017844A (ja) 配信方法および符号化画像ストリーム
WO2018117891A1 (en) An intra-prediction apparatus for removing a directional intra-prediction mode from a set of predetermined directional intra-prediction modes
CN111213383B (zh) 用于视频编码的环内滤波装置及方法
US20160360219A1 (en) Preventing i-frame popping in video encoding and decoding
WO2019083388A1 (en) LOOP FILTER APPARATUS, AND VIDEO ENCODING METHOD
Notebaert et al. Requantization transcoding for reduced-complexity H. 264/AVC video coding applications.

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110222

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110523

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110530

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20110610

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110613

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120410

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120515

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120614

R150 Certificate of patent or registration of utility model

Ref document number: 5021658

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150622

Year of fee payment: 3

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

LAPS Cancellation because of no payment of annual fees