JP2013192255A - スキップマクロブロックコード化 - Google Patents

スキップマクロブロックコード化 Download PDF

Info

Publication number
JP2013192255A
JP2013192255A JP2013111099A JP2013111099A JP2013192255A JP 2013192255 A JP2013192255 A JP 2013192255A JP 2013111099 A JP2013111099 A JP 2013111099A JP 2013111099 A JP2013111099 A JP 2013111099A JP 2013192255 A JP2013192255 A JP 2013192255A
Authority
JP
Japan
Prior art keywords
mode
macroblock
binary information
encoder
macroblocks
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.)
Granted
Application number
JP2013111099A
Other languages
English (en)
Other versions
JP5819347B2 (ja
Inventor
Sridhar Srinivasan
スリニヴァサン スリドハー
Pohsiang Hsu
スウ ポシャング
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 JP2013192255A publication Critical patent/JP2013192255A/ja
Application granted granted Critical
Publication of JP5819347B2 publication Critical patent/JP5819347B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/146Data rate or code amount at the encoder output
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/172Methods 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 picture, frame or field
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/507Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction using conditional replenishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/527Global motion vector estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • 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
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • 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

Abstract

【課題】バイナリ情報(たとえば、スキップマクロブロック情報)を(たとえば、ビデオエンコーダ/デコーダ内で)符号化し、かつ復号するための技法およびツールを提供する。
【解決手段】いくつかの実施形態において、バイナリ情報は、ビットプレーン内に配置され、ビットプレーンは、ピクチャ/フレーム層でコード化される。エンコーダ/デコーダは、このバイナリ情報を処理し、いくつかの実施形態において、コード化モードを切り換える。たとえば、エンコーダ/デコーダは、ノーマルモード、行スキップモード、列スキップモード、または差分モード、あるいは他のモードおよび/または追加のモードを使用する。いくつかの実施形態において、エンコーダ/デコーダは、動きがその因果的に予測された動きに等しい、また、残留誤差がゼロである予測マクロブロックとして、スキップマクロブロックを規定する。いくつかの実施形態において、エンコーダ/デコーダは、非圧縮コード化モードを使用し、低遅延応用例を可能にする。
【選択図】図28

Description

ビデオ符号化/復号応用分野でバイナリ情報を符号化/復号するための技法およびツールに関する。たとえば、ビデオエンコーダによって、スキップマクロブロック情報を符号化される。
本願は、2001年12月17日に出願された「Techniques and Tools for Video Encoding and Decoding」という名称の米国特許仮出願第60/341,674号を参照により組み込む。また、本願は、2002年5月3日に出願された「Skip Macroblock Coding」という名称の米国特許仮出願第60/377,712号を参照により組み込む。
デジタルビデオは、大量の記憶容量と伝送容量を消費する。典型的な非圧縮デジタルビデオシーケンスには、1秒間に15フレームまたは30フレームが含まれる。各フレームは、数万または数十万の(ペルとも呼ばれる)画素を含む可能性がある。各画素は、画面の小さな要素を表す。非圧縮状態では、コンピュータは通常、24ビットで1画素を表す。したがって、典型的な非圧縮デジタルビデオシーケンスの1秒当たりビット数、またはビットレートは、5百万ビット/秒以上にのぼる可能性がある。
ほとんどのコンピュータおよびコンピュータネットワークは、非圧縮デジタルビデオを処理するほどの諸資源を有していない。そのため、技術者は、(コード化または符号化とも呼ばれる)圧縮を使用してデジタルビデオのビットレートを削減する。可逆(lossless)が可能であり、この場合ビデオの品質が損なわれないが、ビットレートの削減はビデオが複雑なため制限される。あるいは、非可逆(lossy)圧縮も可能であり、この場合ビデオの品質は損なわれるが、より劇的にビットレートが削減される。伸張は、圧縮の反対である。
一般に、ビデオ圧縮技法には、フレーム内圧縮とフレーム間圧縮がある。フレーム内圧縮技法は、一般にIフレームまたはキーフレームと呼ばれる個々のフレームを圧縮する。フレーム間圧縮技法は、一般に、予測フレーム、Pフレーム、またはBフレームと呼ばれる先行するフレームおよび/または次に来るフレームを参照して諸フレームを圧縮する。
Microsoft CorporationのWindows(登録商標)Media Videoバージョン7(WMV7)は、ビデオエンコーダとビデオデコーダを含む。WMV7エンコーダは、フレーム内圧縮とフレーム間圧縮を使用し、WMV7デコーダは、フレーム内伸張とフレーム間伸張を使用する。
A.WMV7内のフレーム内圧縮
図1は、WMV7エンコーダにおけるキーフレーム内画素のブロック(105)のブロックベースのフレーム内圧縮(100)を示す。ブロックは、1組の画素、たとえば、8×8配列の画素である。WMV7エンコーダは、キービデオフレームを画素の8×8ブロック群に分割し、8×8離散コサイン変換(DCT)(110)を、ブロック(105)など個々のブロックに適用する。DCTは、画素の8×8ブロック(空間情報)を、周波数情報であるDCT係数(115)の8×8ブロックに変換するある種の周波数変換である。DCT演算自体は可逆またはほぼ可逆である。しかし、元の画素値に比べて、DCT係数は、エンコーダが圧縮するのにより効率的である。というのは、有意な情報の大部分が低周波係数(従来、ブロック(115)の左上)に集中され、高周波係数(従来、ブロック(115)の右下)の多数がゼロまたはゼロに近い値を有するからである。
次いで、エンコーダは、DCT係数を量子化し(120)、量子化されたDCT係数の8×8ブロック(125)を生じる。たとえば、エンコーダは、均一なスカラ量子化ステップサイズを各係数に適用し、これは、各係数を同じ値および丸めによって割ることに似ている。たとえば、DCT係数値が163であり、ステップサイズが10である場合、量子化されたDCT係数値は16である。量子化は非可逆である。再構築されるDCT係数値は、163ではなく160となることになる。低周波DCT係数は、より高い値を有する傾向があるため、量子化により精度が失われるが、その係数についての情報が完全に失われることにはならない。一方、高周波DCT係数は、ゼロまたはゼロに近い値を有する傾向があるため、高周波係数を量子化すると、一般にゼロ値の連続領域になる。さらに、場合によっては、高周波DCT係数が低周波DCT係数より粗く量子化され、その高周波DCT係数についてより多くの精度/情報が失われる。
次いで、エンコーダは、可逆圧縮の一形態であるエントロピー符号化用に、量子化されたDCT係数(125)の8×8ブロックを用意する。エントロピー符号化の厳密なタイプは、係数がDC係数(低周波)であるか、それとも上端行または左列のAC係数(他の周波数)であるか、それとも別のAC係数であるかに応じて変わる可能性がある。
エンコーダは、符号化されるブロックの予め符号化済みの隣接ブロック(neighbor)(たとえば、上端または左)である隣接8×8ブロックのDC係数(136)との差分としてDC係数(126)を符号化する(図1は、フレーム内で符号化されるブロックの左に位置する隣接ブロック(135)を示す)。エンコーダは、その差分をエントロピー符号化する(140)。
エントロピーエンコーダは、AC係数の左列または上端行を、隣接する8×8ブロックの対応する列または行から差分として符号化することができる。図1は、(左に)隣接するブロック(135)の左列(137)から差分(147)として符号化されたAC係数の左列(127)を示す。差分符号化は、差分係数がゼロの値を有する機会を増大する。残りのAC係数は、量子化されたDCT係数のブロック(125)からのものである。
エンコーダは、予測され量子化されたAC DCT係数の8×8ブロックを1次元アレイ(155)の形に走査し(150)、次いで、ランレングス符号化(160)の一変形形態を使用して、走査されたAC係数をエントロピー符号化する。エンコーダは、エントロピーコードを1つまたは複数のラン/レベル/ラストテーブル(165)から選択し、エントロピーコードを出力する。
キーフレームは、予測フレームよりはるかにビットレートに貢献する。低ビットレートまたは中ビットレートの応用分野では、キーフレームは、しばしば性能において決定的なボトルネックとなり、その結果、キーフレームの効率的な圧縮が重要である。
図2は、図1に示されているものなどフレーム内圧縮の欠点を示す図である。具体的には、キーフレームのブロック間の冗長な利用は、ブロック(210)の左(220)または上端(230)隣接ブロックからの周波数係数のサブセット(たとえば、DC係数、およびAC係数の左列(または上端行))の予測に限定される。DC係数は、ブロックの平均を表し、AC係数の左列は、ブロックの行の平均を表し、上端行は、列の平均を表す。実際には、WMV7の場合のようにDCおよびAC係数の予測は、外挿を左(または上端)隣接ブロックの行毎(または列毎)平均信号に制限する。左ブロック(220)内の特定の行(221)の場合、左ブロック(220)についての左DCT係数列内のAC係数が、ブロック(210)の対応する行(211)全体を予測するために使用される。
B.WMV7内のフレーム間圧縮
WMV7エンコーダのフレーム間圧縮は、ブロックベースの動き補償予測コード化と、それに続く残留誤差の変換コード化とを使用する。図3および4は、WMV7エンコーダにおける予測フレームについてのブロックベースのフレーム間圧縮を示す。具体的には、図3は、予測フレーム(310)についての動き推定を示し、図4は、予測フレームの動き推定済みブロックについての予測残差の圧縮を示す。
WMV7エンコーダは、予測フレームを画素の8×8ブロック群に分割する。4個の8×8ブロックからなるグループによりマクロブロックが形成される。各マクロブロックについて、動き推定処理が実行される。動き推定により、基準フレーム、たとえば先にコード化された先行フレームに対して、画素のマクロブロックの動きが概算される。図3では、WMV7エンコーダは、予測フレーム(310)内のマクロブロック(315)について動きベクトルを計算する。動きベクトルを計算するために、エンコーダは、基準フレーム(330)の探索領域(335)内で探索する。探索領域(335)内で、エンコーダは、良好に合致する候補マクロブロックを見つけるために、予測フレーム(310)からのマクロブロック(315)を様々な候補マクロブロックと比較する。エンコーダは、エンコーダについて所望の動き推定分解能に応じて、探索領域(335)内で画素毎または1/2画素毎に候補マクロブロックを検査することができる。他のビデオエンコーダは、他の増分、たとえば1/4画素毎で検査する。ある候補マクロブロックについて、エンコーダは、予測フレーム(310)のマクロブロック(315)とその候補マクロブロックとの間の差異、および、そのマクロブロックについて動きベクトルを符号化するコストを検査する。エンコーダが良好に合致するマクロブロックを見つけた後に、ブロック合致処理は終了する。エンコーダは、合致マクロブロックについて(エントロピー符号化された)動きベクトルを出力し、その結果、デコーダは、復号中に合致マクロブロックを見つけることができる。予測フレーム(310)を復号するとき、デコーダはその動きベクトルを使用し、基準フレーム(330)からの情報を使用して、マクロブロック(315)についての予測マクロブロックを計算する。マクロブロックについての予測が完璧であることはまれであり、その結果、エンコーダは通常、予測マクロブロックとマクロブロック(315)自体との間の画素差の8×8ブロック(誤差または残留ブロックとも呼ばれる)を符号化する。
図4は、WMV7エンコーダにおける動き推定済みブロックについての誤差ブロック(435)の計算および符号化を示す。誤差ブロック(435)は、予測ブロック(415)と元の現行ブロック(425)との間の差である。エンコーダは、DCT(440)を誤差ブロック(435)に適用して係数の8×8ブロック(445)を生成する。誤差ブロック(435)についての有意な情報は、画素値についてのDCT係数の場合よりもさらに、低周波係数(従来、ブロック(445)の左上)に集中され、高周波係数の多数がゼロまたはゼロに近い値を有するのである(従来、ブロック(445)の右下)。
次いで、エンコーダは、DCT係数を量子化し(450)、量子化されたDCT係数の8×8ブロック(455)を生成する。量子化ステップのサイズは、調整可能である。この場合も、低周波DCT係数は、より高い値を有する傾向があるため、量子化により精度が失われるが、その係数についての情報が完全に失われることにはならない。一方、高周波DCT係数は、ゼロまたはゼロに近い値を有する傾向があるため、高周波係数を量子化すると、ゼロ値の連続領域になる。さらに、場合によっては、高周波DCT係数が低周波DCT係数より粗く量子化され、その高周波DCT係数についてより多くの精度/情報が失われる。
さらに、エンコーダは、エントロピー符号化用に、量子化されたDCT係数の8×8ブロック(455)を用意する。エンコーダは、8×8ブロック(455)を64要素有する1次元アレイ(465)の形に走査し(460)、その結果、係数は概して低周波から高周波に順序付けられ、これにより、典型的には、ゼロ値の長いランが生み出される。
エンコーダは、ランレングス符号化(470)の一変形形態を使用して、走査された係数をエントロピー符号化する。エンコーダは、エントロピーコードを1つまたは複数のラン/レベル/ラストテーブル(475)から選択し、エントロピーコードを出力する。
マクロブロックについての動きベクトルがゼロ(すなわち、動きがない)であり、そのマクロブロックについて残留ブロック情報が送信されない場合、エンコーダは、そのマクロブロックについて1ビットのスキップマクロブロックフラグを使用する。これは、多くの種類のビデオコンテンツ(たとえば、動きの少ない、および/またはビットレートの低いビデオ)について、動きベクトルと残留ブロック情報の送信を回避することによってビットレートを削減する。エンコーダは、マクロブロックについての他の情報と共に、出力ビットストリーム内のマクロブロック層に、そのマクロブロックについてのスキップマクロブロックフラグを置く。
図5は、フレーム間コード化済みブロックについての復号プロセス(500)を示す。DCT係数の量子化により、再構築されたブロック(575)は、対応する元のブロックと同一ではない。圧縮は非可逆となる。
図5を要約すると、デコーダは、可変長符号化と、1つまたは複数のラン/レベル/ラストテーブル(515)とを使用し、予測残差を表すエントロピー符号化済み情報を復号する(510、520)。デコーダは、エントロピー符号化済み情報を格納する1次元アレイ(525)を2次元ブロック(535)の形に逆走査する(530)。デコーダは、そのデータを逆量子化および逆離散コサイン変換し(共に540)、再構築された誤差ブロック(545)を生成する。別個の経路で、デコーダは、基準フレームからの変位についての動きベクトル情報を使用し、予測ブロック(565)を計算する。デコーダは、予測ブロック(565)を再構築された誤差ブロック(545)と組み合わせ(570)、再構築されたブロック(575)を形成する。
デコーダは、あるマクロブロックについてスキップマクロブロックフラグを受信すると、そのマクロブロックについて予測の計算と残留ブロック情報の復号とをスキップする。その代わりに、デコーダは、基準フレーム内のマクロブロックの位置からの対応する画素データを使用する。
元のフレームと再構築されたフレームとの間の変化量は歪みと呼ばれ、フレームをコード化するのに必要とされるビット数はレートと呼ばれる。歪みの量は、レートにおおよそ反比例する。換言すれば、より少ないビット(より高い圧縮率)でフレームをコード化すると、歪みがより多くなることになり、逆も同様である。ビデオ圧縮方式の目標の1つは、レート歪みを改善しようと試みること、換言すれば、より少ないビットを使用して同じ歪み(あるいは、同じビット数で、より少ない歪み)を達成しようと試みることである。
WMV7でスキップマクロブロックフラグを使用することにより、多くの種類のビデオコンテンツについてビットレートが削減されるが、場合によっては、最適とは言えない。多くの場合において、たとえば、スキップマクロブロックが映像内に集まって発生したとき、マクロブロックからマクロブロックにかけてスキップマクロブロックフラグの冗長性を利用できない。また、WMV7は、予測フレーム内のマクロブロックがスキップされると、そのマクロブロックについての動き予測も無視されるが、これは、場合によっては予測フレームの圧縮の効率を損なう。
C.ビデオ圧縮および伸長のための標準
WMV7の他に、いくつかの国際標準がビデオ圧縮/伸長に関連して定められている。これらの標準には、MPEG(Motion Picture Experts Group)1、2、4標準、および国際電気通信連合会(ITU)のH.261、H.262、H.263標準がある。WMV7と同様に、これらの標準は、フレーム内およびフレーム間圧縮の組合せを使用するが、これらの標準は一般に、使用される圧縮技法の詳細においてWMV7と異なる。
いくつかの国際標準は、マクロブロックのスキッピング符号化を、ビデオ圧縮/伸長で使用すべきツールと考えている。各標準でのスキップマクロブロックコード化に関する追加の詳細については、各標準の仕様書自体を参照されたい。
上記の標準におけるスキップマクロブロックコード化は、一般に、多くの種類のビデオコンテンツについてビットレートを削減するが、場合によっては、最適とは言えない。多くの場合において、たとえばスキップマクロブロックが所定の映像に固まって発生したとき、マクロブロックからマクロブロックにかけてスキップマクロブロックフラグの冗長性を利用できない。また、WMV7は、予測マクロブロック/映像内のマクロブロックがスキップされると、そのマクロブロックについて動き予測も無視されるが、これは、場合によっては予測マクロブロック/映像の圧縮の効率を損なうこととなる。
デジタルビデオに対するビデオ圧縮/伸長の決定的な重要性を考えると、ビデオ圧縮/伸長が十分に研究開発されてきている分野であることは驚くべきことではない。しかしながら、従来のビデオ圧縮/伸長技法がどのような利益を有しているとしても、以下の技法およびツールの利点は有していない。
要約すると、この詳細な説明は、バイナリ情報を(たとえば、ビデオエンコーダ/デコーダ内で)符号化/復号するための様々な技法およびツールを目的とする。バイナリ情報は、ビデオエンコーダまたはデコーダがビデオフレーム内のいくつかのマクロブロックをスキップするかどうかを示すビットを含むことができる。あるいは、バイナリ情報は、マクロブロックの動きベクトル分解能(たとえば、1−MVまたは4−MV)、インターレースモード(たとえば、フィールドまたはフレーム)、または何らかの他の情報を示すビットを含むことができる。バイナリ情報は、フレーム毎に、または何らかの他の基準に基づいて符号化することができる。
いくつかの実施形態において、バイナリ情報は、ビットプレーン内に配置される。たとえば、ビットプレーンは、ピクチャ/フレーム層でコード化される。またはこれに替えて、バイナリ情報は、何らかの他の方法で構成され、および/または異なる層でコード化される。エンコーダ/デコーダは、このバイナリ情報を処理する。バイナリ情報は、マクロブロックレベルの情報を含むことができる。またはこれに替えて、エンコーダ/デコーダは、ブロックレベル情報、サブブロックレベル情報、または画素レベル情報のビットプレーンを処理する。
いくつかの実施形態において、エンコーダ/デコーダは、コード化モードを切り換える。たとえば、エンコーダ/デコーダは、ノーマルモード、行スキップモード、列スキップモードを使用する。異なるモードにより、エンコーダ/デコーダは、バイナリ情報の冗長性を利用することができる。またはこれに替えて、エンコーダ/デコーダは、差分モードなど他のモードおよび/または追加のモードを使用する。効率を高めるために、エンコーダ/デコーダは、いくつかのモードでビットプレーン反転技法を使用することができる。
いくつかの実施形態において、エンコーダ/デコーダは、動きがその因果的に予測された動きに等しい、また、残留誤差がゼロである予測マクロブロックとして、スキップマクロブロックを規定する。またはこれに替えて、エンコーダ/デコーダは、動きゼロ、残留誤差ゼロの予測マクロブロックとして、スキップマクロブロックを規定する。
いくつかの実施形態において、エンコーダ/デコーダは、非圧縮コード化モードを使用し、低遅延応用例を可能にする。たとえば、非圧縮コード化モードでは、フレーム/ピクチャ内のマクロブロックすべてが符号化されるまで待つ必要なしに、符号化されたマクロブロックを直ちにデコーダに送信することができる。エンコーダ/デコーダは、非圧縮コード化モードと他のモードとの間で切り換えることができる。
様々な技法およびツールを、組み合わせて、または独立して使用することができる。具体的には、本願では、スキップマクロブロック符号化/復号の2つの実施について、対応するビットストリーム構文と共に説明する。様々な実施形態において、説明する技法およびツールの1つまたは複数が実施される。
追加の特徴および利点は、添付の図面を参照しながら進行する様々な実施形態の以下の詳細な説明から明らかになるであろう。
従来技術による、画素の8×8ブロックのブロックベースのフレーム内圧縮を示す図である。 従来技術による、周波数係数の予測を示す図である。 従来技術による、ビデオエンコーダ内の動き予測を示す図である。 従来技術による、ビデオエンコーダ内の予測残差の8×8ブロックに対するブロックベースのフレーム間圧縮を示す図である。 従来技術による、予測残差の8×8ブロックに対するブロックベースのフレーム間伸長を示す図である。 説明するいくつかの実施形態を実施することができる好適なコンピューティング環境のブロック図である。 説明するいくつかの実施形態で使用される一般化されたビデオエンコーダシステムのブロック図である。 説明するいくつかの実施形態で使用される一般化されたビデオデコーダシステムのブロック図である。 第1の実施例による、Pピクチャ層を構成するビットストリーム要素を示すチャートである。 複数のスキップマクロブロック符号化モードを有するビデオエンコーダ内でスキップマクロブロック情報を符号化するための技法を示すフローチャートである。 複数のスキップマクロブロック符号化モードを有するビデオエンコーダ内で符号化されたスキップマクロブロック情報を復号するための技法を示すフローチャートである。 スキップマクロブロック符号化フレームの例を示す図である。 ノーマルスキップマクロブロック符号化モードで符号化するための技法を示すフローチャートである。 行予測スキップマクロブロック符号化モードで符号化するための技法を示すフローチャートである。 スキップマクロブロック情報の行予測復号のための擬似コードを示すコードリストである。 列予測スキップマクロブロック符号化モードで符号化するための技法を示すフローチャートである。 スキップマクロブロック情報の列予測復号のための擬似コードを示すコードリストである。 ビデオエンコーダ内でいくつかのマクロブロックのコード化をスキップするかどうか判定するための技法を示すフローチャートである。 行スキップコード化モードでビットプレーン内のバイナリ情報を符号化するための技法を示すフローチャートである。 列スキップコード化モードでビットプレーン内のバイナリ情報を符号化するための技法を示すフローチャートである。 ノーマル2コード化モードでビットプレーン内のバイナリ情報を符号化するための技法を示すフローチャートである。 ノーマル6モードでタイル化されたバイナリ情報のフレームの例を示す図である。 ノーマル6モードでタイル化されたバイナリ情報のフレームの例を示す図である。 ノーマル6モードでタイル化されたバイナリ情報のフレームの例を示す図である。 ノーマル6コード化モードでビットプレーン内のバイナリ情報を符号化するための技法を示すフローチャートである。 差分符号化モードでバイナリ情報を符号化するための技法を示すフローチャートである。 差分符号化モードで符号化されたバイナリ情報を復号するための技法を示すフローチャートである。 低遅延応用例のために行コード化モードでバイナリ情報を選択的に符号化するための技法を示すフローチャートである。
以下に説明する実施形態は、バイナリ情報を(たとえば、ビデオエンコーダ/デコーダ内で)符号化し、および復号するための技法およびツールに関する。バイナリ情報は、ビデオエンコーダまたはデコーダがビデオフレーム内のいくつかのマクロブロックをスキップするかどうかを示すビットを含むことができる。あるいは、バイナリ情報は、マクロブロックの動きベクトル分解能(たとえば、1−MVまたは4−MV)、インターレースモード(たとえば、フィールドまたはフレーム)、または何らかの他の情報を示すビットを含むことができる。バイナリ情報は、フレーム毎に、または何らかの他の基準に基づいて符号化することができる。
いくつかの実施形態において、バイナリ情報は、ビットプレーンで構成される。ビットプレーンは、ピクチャ/フレーム層でコード化される。またはこれに替えて、バイナリ情報は、何らかの他の方法で構成され、および/または異なる層でコード化される。
いくつかの実施形態において、エンコーダ/デコーダは、コード化モードを切り換える。たとえば、エンコーダ/デコーダは、ノーマルモード、行スキップモード、列スキップモードを使用する。異なるモードにより、エンコーダ/デコーダは、バイナリ情報の冗長性を利用することができる。またはこれに替えて、エンコーダ/デコーダは、他のモードおよび/または追加のモードを使用する。
いくつかの実施形態において、エンコーダ/デコーダは、動きがその因果的に予測された動きに等しく、および残留誤差がゼロである予測マクロブロックとして、スキップマクロブロックを規定する。またはこれに替えて、エンコーダ/デコーダは、動きゼロ、残留誤差ゼロの予測マクロブロックとして、スキップマクロブロックを規定する。
いくつかの実施形態において、効率的なフレーム/ピクチャレベルのコード化の代わりに、低遅延の応用例を可能にするように非圧縮コード化モードが許される。非圧縮コード化モードでは、フレーム/ピクチャ内のマクロブロックすべてが符号化されるまで待つことなしに、符号化されたマクロブロックを直ちにデコーダに送信することができる。
いくつかの実施形態において、エンコーダ/デコーダは、マクロブロックレベル情報のビットプレーンを処理する。またはこれに替えて、エンコーダ/デコーダは、ブロックレベル情報、サブブロックレベル情報、または画素レベル情報のビットプレーンを処理する。
様々な技法およびツールを、組み合わせて、または独立して使用することができる。具体的には、本願では、スキップマクロブロック符号化/復号の2つの実装については、対応するビットストリーム構文と共に説明している。様々な実施形態において、説明している技法およびツールの1つまたは複数が実装される。
説明する実施形態において、ビデオエンコーダ/デコーダは、様々な技法を実装する。これらの技法のための動作は、一般に、提示の目的で特定の順番にそって順次説明するが、これには、特定の順序付けが必要とされない限り、この動作の順序を重要でない範囲で再構成した場合も包含されることを理解されたい。たとえば、順次説明する動作は、場合によっては、再構成し、または同時に実行することができる。さらに、話を簡単にするために、フローチャートには、一般に、特定の技法を他の技法と共に使用することができる様々な方法は示さない。
説明する実施形態において、ビデオエンコーダ/デコーダは、ビットストリーム内の様々なフラグおよび信号を使用する。ここで特定のフラグおよび信号について説明するが、これには、そのフラグおよび信号について様々な取決め(たとえば、1でなく0)が包含されることを理解されたい。
I.コンピューティング環境
図6は、説明する実施形態のいくつかを実施することができる好適なコンピューティング環境(600)の一般化された例を示す。この技法およびツールは、様々な汎用または専用コンピューティング環境で実施することができるため、コンピューティング環境(600)は、使用または機能の範囲についてのどんな制限も示唆もないものとする。
図6を参照すると、コンピューティング環境(600)は、少なくとも1つの処理装置(610)およびメモリ(620)を含んでいる。図6では、この最も基本的な構成(630)が破線内に含まれている。処理装置(610)はコンピュータ実行可能命令を実行し、実プロセッサでも仮想プロセッサでもよい。多重処理システムでは、複数の処理装置がコンピュータ実行可能命令を実行し、処理力を高める。メモリ(620)は、揮発性メモリ(たとえば、レジスタ、キャッシュ、RAM)、不揮発性メモリ(たとえば、ROM、EEPROM、フラッシュメモリなど)、またはこれら2つの何らかの組合せとすることができる。メモリ(620)は、ビデオエンコーダまたはデコーダなど、エンコーダまたはデコーダを実施するソフトウェア(680)を記憶する。
コンピューティング環境は、追加の特徴を有することができる。たとえば、コンピューティング環境(600)は、記憶装置(640)、1つまたは複数の入力デバイス(650)、1つまたは複数の出力デバイス(660)、1つまたは複数の通信接続(670)を含む。バス、コントローラ、ネットワークなど相互接続機構(図示せず)が、コンピューティング環境(600)の構成要素を相互接続する。一般に、オペレーティングシステムソフトウェア(図示せず)が、コンピューティング環境(600)内で実行する他のソフトウェアのための動作環境を提供し、コンピューティング環境(600)の構成要素の活動を調整する。
記憶装置(640)は、取外し式または固定式とすることができ、磁気ディスク、磁気テープもしくはカセット、CD−ROM、DVD、または、情報を記憶するために使用することができる、また、コンピューティング環境(600)内でアクセスされる可能性がある任意の他の媒体を含む。記憶装置(640)は、エンコーダまたはデコーダを実施するソフトウェア(680)用の命令を記憶する。
入力デバイス(650)は、キーボード、マウス、ペン、またはトラックボールなどタッチ入力デバイス、音声入力デバイス、走査デバイス、あるいは、コンピューティング環境(600)に入力を提供する別のデバイスとすることができる。オーディオまたはビデオ符号化の場合、入力デバイス(650)は、サウンドカード、ビデオカード、TV同調器カード、または、オーディオ入力もしくはビデオ入力をアナログ形態もしくはデジタル形態で受け入れる類似のデバイス、あるいは、オーディオサンプルまたはビデオサンプルをコンピューティング環境(600)内に読み取るCD−ROMまたはCD−RWとすることができる。出力デバイス(660)は、ディスプレイ、プリンタ、スピーカ、CDライタ、または、コンピューティング環境(600)からの出力を提供する別のデバイスとすることができる。
通信接続(670)は、通信媒体を介して別のコンピューティングエンティティに対する通信を可能にする。通信媒体は、コンピュータ実行可能命令、オーディオもしくはビデオの入力もしくは出力、または、変調データ信号内の他のデータなど、情報を搬送する。変調データ信号は、情報を信号に符号化するようにその特性の1つまたは複数が設定された、または変化した信号である。限定ではなく例を挙げると、通信媒体には、電気、光、RF、赤外線、音響、または他の搬送波と共に実施される有線技法または無線技法が含まれる。
この技法およびツールについては、コンピュータ読取可能な媒体の一般的なコンテキストで述べることができる。コンピュータ読取可能な媒体は、コンピューティング環境内でアクセスされる可能性がある任意の使用可能な媒体である。限定ではなく例を挙げると、コンピューティング環境(600)と共に、コンピュータ読取可能な媒体には、メモリ(620)、記憶装置(640)、通信媒体、および上記のいずれかの組合せが含まれる。
この技法およびツールについては、コンピューティング環境内で、ターゲットの実プロセッサまたは仮想プロセッサ上で実行される、プログラムモジュール内に含まれるものなどコンピュータ実行可能命令の一般的な状況で述べることができる。概して、プログラムモジュールは、特定のタスクを実行する、または特定の抽象データタイプを実施するルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造などを含む。プログラムモジュールの機能は、様々な実施形態で望まれるように、組み合わせることも、プログラムモジュール間で分割することもできる。プログラムモジュール用のコンピュータ実行可能命令は、ローカルまたは分散型コンピューティング環境内で実行することができる。
提示の目的で、この詳細な説明では、「決定(判定)する」「選択する」「再構築する」「通知する」のような用語を使用して、コンピューティング環境内のコンピュータの動作について述べる。これらの用語は、コンピュータによって実行される動作について高レベルで抽象化したものであり、人間によって行われる動作と混同すべきでない。これらの用語に対応する実際のコンピュータの動作は、実施形態に応じて変わる。
II.一般化されたビデオエンコーダ/デコーダ
図7は、一般化されたビデオエンコーダ(700)のブロック図であり、図8は、一般化されたビデオデコーダ(800)のブロック図である。
エンコーダおよびデコーダ内のモジュール間に示されている関係は、エンコーダおよびデコーダ内の情報の主な流れを示し、他の関係については、話を簡単にするため示さない。具体的には、図7および8は、通常、ビデオシーケンス、フレーム、マクロブロック、ブロックなどのために使用されるエンコーダ設定、モード、テーブルなどを示す副次情報を示していない。そのような副次情報は、典型的には、副次情報をエントロピー符号化した後に、出力ビットストリーム内で送られる。出力ビットストリームのフォーマットは、Windows(登録商標)Media Videoバージョン8または別のフォーマットとすることができる。
エンコーダ(700)およびデコーダ(800)はブロックベースのものであり、4:2:0マクロブロックフォーマットを使用し、各マクロブロックは、4つの8×8輝度ブロック(1つの16×16マクロブロックとして扱うこともある)と、2つの8×8色差ブロックとを含む。またはこれに替えて、エンコーダ(700)およびデコーダ(800)はオブジェクトベースのものであり、8×8ブロックおよび16×16マクロブロックと異なるマクロブロックまたはブロックフォーマットを使用する、あるいは異なるサイズまたは構成の画素の集合に対して演算を実行する。
実施形態および所望の圧縮のタイプとに応じて、エンコーダまたはデコーダのモジュールを、追加し、省略し、複数のモジュールに分割し、他のモジュールと組み合わせ、および/または同様なモジュールと置き換えることができる。代替の実施形態において、異なるモジュールおよび/またはモジュールの他の構成を有するエンコーダまたはデコーダによって、説明する技法の1つまたは複数が実装される。
A.ビデオエンコーダ
図7は、一般的なビデオエンコーダシステム(700)のブロック図である。エンコーダシステム(700)は、現行フレーム(705)を含むビデオフレームのシーケンスを受信し、出力として圧縮済みビデオ情報(795)を生成する。ビデオエンコーダの特定の実施形態では、典型的には、一般化されたエンコーダ(700)を変形し、または補足したバージョンが使用される。
エンコーダシステム(700)は、予測フレームとキーフレームを圧縮する。提示の目的で、図7は、エンコーダシステム(700)を介したキーフレームのための経路と、順方向予測フレームのための経路とを示す。エンコーダシステム(700)の構成要素の多くが、キーフレームと予測フレームを共に圧縮するために使用される。これらの構成要素によって実行される厳密な動作は、圧縮される情報のタイプに応じて変わる可能性がある。
予測フレーム(Pフレーム、双方向予測用のBフレーム、またはinter−codedフレームとも呼ばれる)は、1つまたは複数の他のフレームからの予測(または差)によって表される。予測残差は、予測されたものと元のフレームとの間の差である。一方、キーフレーム(Iフレーム、intra−codedフレームとも呼ばれる)は、他のフレームを参照することなしに圧縮される。
現行フレーム(705)が順方向予測フレームである場合、動き推定器(710)は、マクロブロック、または現行フレームの他の画素集合の動きを、基準フレームに対して推定する。基準フレームは、フレームストア(720)内にバッファされた再構築済みの先のフレームである。代替の実施形態において、基準フレームとは後のフレームのことであり、あるいは現行フレームは双方向で予測されることとなる。動き推定器(710)は、1画素、1/2画素、1/4画素、またはその他の増分だけ動きを推定することができ、フレーム毎に、または他の基準に基づいて、動き推定の分解能を切り換えることができる。動き推定の分解能は、水平方向と垂直方向で同じ、または異なるものとすることができる。動き推定器(710)は、動きベクトルなど動き情報(715)を副次情報として出力する。動き補償器(730)は、動き情報(715)を再構築済みの先のフレーム(725)に適用し、動き補償済み現行フレーム(735)を形成する。しかし、予測が完璧であることはまれであり、動き補償済み現行フレーム(735)と元の現行フレーム(705)との間の差が予測残差(745)である。またはこれに替えて、動き推定器と動き補償器は、別の種類の動き推定/補償を適用する。
周波数変換器(760)は、空間領域のビデオ情報を周波数領域(すなわち、スペクトル)データに変換する。ブロックベースのビデオフレームの場合、周波数変換器(760)は、離散コサイン変換(DCT)またはDCTの変形形態を画素データまたは予測残差データに適用し、DCT係数のブロックを生成する。またはこれに替えて、周波数変換器(760)は、フーリエ変換など別の従来の周波数変換を適用する、または、ウェーブレットもしくはサブバンド解析を使用する。エンコーダが空間外挿(図7には図示せず)を使用してキーフレームのブロックを符号化する実施形態において、周波数変換器(760)は、スキューDCT(skewed DCT)など、新たに方向付けられた周波数変換をキーフレームの予測残差のブロックに適用することができる。他の実施形態において、周波数変換器(760)は、8×8、8×4、4×8、または他のサイズの周波数変換(たとえば、DCT)を予測フレームの予測残差に適用する。
次いで、量子化器(770)がスペクトルデータ係数のブロックを量子化する。量子化器は、ステップサイズをフレーム毎に変化させ、または他の基準に基づいて変化させて、均一なスカラ量子化をスペクトルデータに適用する。またはこれに替えて、量子化器は、スペクトルデータ係数に別のタイプの量子化、たとえば非均一な量子化、ベクトル量子化、若しくは非適応量子化を適用し、または周波数変換を使用しないエンコーダシステム内の空間領域データを直接量子化する。適応量子化に加えて、エンコーダ(700)は、フレームドロップ、適応フィルタリング、またはレート制御を行う他の技法を使用することができる。
予測フレーム内の所与のマクロブロックがある種のタイプの情報を有していない(たとえば、そのマクロブロックについての動き情報がない、また、残差情報がない)場合、エンコーダ(700)は、そのマクロブロックを、スキップマクロブロックとして符号化することができる。その場合、エンコーダは、圧縮済みビデオ情報(795)の出力ビットストリーム内で、そのスキップマクロブロックを示す。
後続の動き推定/補償のために再構築済みの現行フレームが必要とされるとき、逆量子化器(776)が、量子化されたスペクトルデータ係数に対して逆量子化を実行する。次いで、逆周波数変換器(766)が周波数変換器(760)の動作の逆を実行し、再構築された(予測フレームについての)予測残差、または再構築されたキーフレームを生成する。現行フレーム(705)がキーフレームであったならば、再構築済みキーフレームは、再構築済み現行フレーム(図示せず)として取り上げられる。現行フレーム(705)が予測フレームであった場合、再構築された予測残差が動き補償済み現行フレーム(735)に追加され、再構築済み現行フレームを形成する。フレームストア(720)は、次のフレームを予測する際に使用するために、再構築済み現行フレームをバッファする。いくつかの実施形態において、エンコーダは、デブロッキングフィルタを再構築済みフレームに適用し、フレームのブロック内の不連続を調整して滑らかにする。
エントロピーコーダ(780)は、量子化器(770)の出力、ならびにある種の副次情報(たとえば、動き情報(715)、空間外挿モード、量子化ステップサイズ)を圧縮する。典型的なエントロピー符号化技法には、算術符号化、差分符号化、ハフマン符号化、ランレングス符号化、LZ符号化、辞書型符号化、および上記の組合せが含まれる。エントロピーコーダ(780)は、典型的には、異なる種類の情報(たとえば、DC係数、AC係数、異なる種類の副次情報)について異なるコード化技法を使用し、特定のコード化技法内の複数のコードテーブルの中から選択することができる。
エントロピーコーダ(780)は、圧縮済みビデオ情報(795)をバッファ(790)内に入れる。バッファレベルインジケータがビットレート適応モジュールに返される。
圧縮済みビデオ情報(795)は、一定の、または比較的一定のビットレートでバッファ(790)から送り出され、そのビットレートで後のストリームのために格納される。したがって、バッファ(790)のレベルは、主にフィルタされた量子化済みビデオ情報のエントロピーの関数であり、エントロピー符号化の効率に影響を及ぼす。またはこれに替えて、エンコーダシステム(700)は、圧縮済みビデオ情報を圧縮後すぐにストリームし、バッファ(790)のレベルは、やはり送信するために情報がバッファ(790)から全て送り出せるレートによって決まる。
バッファ(790)の前後には、圧縮済みビデオ情報(795)は、ネットワークを介して送信するためにチャネル符号化することができる。チャネル符号化は、誤り検出および補正データを圧縮済みビデオ情報(795)に適用することができる。
B.ビデオデコーダ
図8は、一般的なビデオデコーダシステム(800)のブロック図である。デコーダシステム(800)は、ビデオフレームの圧縮済みシーケンスについて情報を受信し、再構築済みフレーム(805)を含む出力を生成する。ビデオデコーダの特定の実施形態は、典型的には、一般化されたデコーダ(800)の変形形態または補足されたバージョンを使用する。
デコーダシステム(800)は、予測フレームとキーフレームを伸長する。提示の目的で、図8には、デコーダシステム(800)を介したキーフレームのための経路と、順方向予測フレームのための経路とを示す。デコーダシステム(800)の構成要素の多くは、キーフレームと予測フレームを共に伸張するために使用される。これらの構成要素によって実行される厳密な動作は、伸張されている情報のタイプに応じて変わる可能性がある。
バッファ(890)は、圧縮されたビデオシーケンスについての情報(895)を受信し、受信された情報をエントロピーデコーダ(880)が使用できるようにする。バッファ(890)は、典型的には、経時的にかなり一定のレートで情報を受信し、帯域幅または伝送における短期的な変動を滑らかにするためのジッタバッファを含む。バッファ(890)は、再生バッファや他のバッファをも含むことができる。またはこれに替えて、バッファ(890)は、可変レートで情報を受信する。バッファ(890)の前後には、圧縮済みビデオ情報は、チャネル復号し、誤り検出および補正のために処理することができる。
エントロピーデコーダ(880)は、エントロピー符号化された量子化済みデータ、ならびにエントロピー符号化された副次情報(たとえば、動き情報(815)、空間外挿モード、量子化ステップサイズ)を復号し、典型的にはエンコーダ内で実行されたエントロピー符号化の逆を行う。エントロピー復号技法には、算術復号、差分復号、ハフマン復号、ランレングス復号、LZ復号、辞書型復号、および上記の組合せが含まれる。エントロピーデコーダ(880)は、しばしば異なる種類の情報(たとえば、DC係数、AC係数、異なる種類の副次情報)について異なる復号技法を使用し、特定の復号技法内の複数のコードテーブルの中から選択することができる。
再構築すべきフレーム(805)が順方向予測フレームである場合、動き補償器(830)は、動き情報(815)を基準フレーム(825)に適用し、再構築されるフレーム(805)の予測(835)を形成する。たとえば、動き補償器(830)は、マクロブロック動きベクトルを使用し、基準フレーム(825)内のマクロブロックを見つける。フレームバッファ(820)は、基準フレームとして使用するために、先に再構築されたフレームを格納する。動き補償器(830)は、1画素、1/2画素、1/4画素、または他の増分で動きを補償することができ、フレーム毎に、または他の基準に基づいて、動き補償の分解能を切り換えることができる。動き補償の分解能は、水平方向と垂直方向で同じものとし、または異なるものとすることができる。またはこれに替えて、動き補償器は、別のタイプの動き補償を適用する。動き補償器による予測が完璧であることはまれであり、その結果、デコーダ(800)は、予測残差をも再構築することとなる。
デコーダが、後続の動き補償のために再構築済みフレームを必要とするときは、フレームストア(820)は、次のフレームを予測する際に使用するため、再構築済み現行フレームをバッファする。いくつかの実施形態において、エンコーダは、デブロッキングフィルタを再構築済みフレームに適用し、フレームのブロック内の不連続を調整して滑らかにする。
逆量子化器(870)は、エントロピー符号化済みデータを逆量子化する。一般に、逆量子化器は、ステップサイズをフレーム毎に変化させ、または他の基準に基づいて変化させて、均一なスカラ逆量子化をエントロピー符号化済みデータに適用する。またはこれに替えて、逆量子化器は、データに別のタイプの逆量子化、たとえば非均一な量子化、ベクトル量子化、もしくは非適応逆量子化を適用する、または逆周波数変換を使用しないデコーダシステム内の空間領域データを直接逆量子化する。
逆周波数変換器(860)は、量子化された周波数領域データを空間領域ビデオ情報に変換する。ブロックベースのビデオフレームの場合、逆周波数変換器(860)は、逆DCT(IDCT)またはIDCTの変形変換をDCT係数のブロックに適用して、キーフレームまたは予測フレームについて画素データまたは予測残差データを生成する。またはこれに替えて、逆周波数変換器(860)は、逆フーリエ変換など別の従来の逆周波数変換を適用し、またはウェーブレットもしくはサブバンド合成を使用する。デコーダが空間外挿(図8には図示せず)を使用してキーフレームのブロックを復号する実施形態において、逆周波数変換器(860)は、スキューIDCT(skewed IDCT)など、新たに方向付けられた逆周波数変換をキーフレームの予測残差のブロックに適用することができる。他の実施形態において、逆周波数変換器(860)は、8×8、8×4、4×8、または他のサイズの逆周波数変換(たとえば、IDCT)を予測フレームの予測残差に適用する。
スキップマクロブロックが、ビデオフレームの圧縮されたシーケンスについての情報(895)のビットストリーム内で示されているときは、デコーダ(800)は、非スキップマクロブロックについてビットストリーム内に通常含まれる情報(たとえば、動き情報および/または残差情報)を使用せずにスキップマクロブロックを再構築する。
III.第1の実施例
第1の実施例において、ビデオエンコーダとデコーダは、それぞれ改善された効率でスキップマクロブロック情報を符号化して復号する。スキップマクロブロック情報は、ビデオビットストリーム内のピクチャ層で示され、エンコーダはスキップマクロブロック情報内の冗長性を利用することが可能となる。また、エンコーダ/デコーダは、スキップマクロブロック情報を符号化/復号するために、複数のコード化モード間で選択する。
A.スキップマクロブロック情報のピクチャ層コード化
第1の実施例において、圧縮されたビデオシーケンスは、4つの階層の形に構造化されたデータで構成される。これらの層は、上から下に1)シーケンス層、2)ピクチャ層、3)マクロブロック層、4)ブロック層である。ピクチャ層では、各ピクチャについてのデータが、ピクチャヘッダと、それに続くマクロブロック層についてのデータとからなる(同様に、マクロブロック層では、各マクロブロック層についてのデータが、マクロブロックヘッダと、それに続くブロック層とからなる)。IピクチャとPピクチャ用のビットストリーム要素には同一のものもあるが、Pピクチャだけに現れるものもあり、逆も同様である。
図9は、Pピクチャ層(900)を構成するビットストリーム要素を示す。表1は、Pピクチャ層(900)のビットストリーム要素を簡単に述べている。
Figure 2013192255
具体的には、Pピクチャ層(900)は、Pピクチャ内のマクロブロックのためのスキップマクロブロックフィールド(SMB)(930)と、そのスキップマクロブロックフィールド(930)についてコード化モードを示すスキップマクロブロックコード(SMBC)フィールド(920)とを備える。SMBCフィールド(920)は、Pピクチャヘッダ内だけに存在する。SMBC(920)は、フレーム内のスキップマクロブロックを示すために使用される4つのモードのうち1つを示す2ビット値である。第1の実施例において、スキップマクロブロックコード化モード群用の固定長コード(FLC)は、以下の通りである。
Figure 2013192255
コード化モードがノーマル、行予測、または列予測の場合には、ビットストリーム内の次のフィールドは、スキップマクロブロック情報を含むSMBフィールド(930)となる。したがって、SMBフィールドは、Pピクチャヘッダ内だけに存在し、およびSMBCがノーマル、行予測、または列予測スキップマクロブロックコード化を示す場合だけ存在する。SMBCがノーマルコード化を示す場合には、SMBフィールドのサイズがフレーム内のマクロブロックの数に等しい。SMBCが行予測または列予測を示す場合には、以下に説明するように、SMBのサイズが可変である。
スキップマクロブロック情報は、フレーム内のどのマクロブロックがマクロブロック層に存在しないかについてデコーダに伝える。デコーダは、これらのマクロブロックについて、そのマクロブロックを再構築するとき対応するマクロブロック画素データを基準フレームからコピーすることになる。
B.スキップマクロブロック情報についてコード化モードを切り換える
上述のように、SMBCフィールド(920)は、スキップマクロブロックフィールド(930)についてコード化モードを示す。より一般的に、図10は、複数のスキップマクロブロックコード化モードを有するビデオエンコーダ内でスキップマクロブロック情報を符号化するための技法(1000)を示す。図11は、複数のスキップマクロブロックコード化モードを有するビデオエンコーダによって符号化されたスキップマクロブロック情報を復号するための対応する技法(1100)を示す。
図10を参照すると、エンコーダは、スキップマクロブロック情報をコード化するために、スキップマクロブロックコード化モードを選択する(1010)。たとえば、第1の実施例において、スキップマクロブロックコード化モード群には、どのマクロブロックもスキップされないモード、ノーマルモード、行予測(または「行スキップ」)モード、および列予測(または「列スキップ」)モードが含まれる。コード化モードが選択された後に、エンコーダは、そのスキップマクロブロック情報を符号化する(1020)。エンコーダは、ピクチャ毎にコード化モードを選択する。またはこれに替えて、エンコーダは、何らかの他の基準に基づいて(たとえば、シーケンスレベルで)コード化モードを選択する。エンコーダがスキップマクロブロック情報を符号化し終えると(1030)、符号化が終了する。
図11を参照すると、デコーダは、スキップマクロブロック情報を符号化するためにエンコーダによって使用されたスキップマクロブロックコード化モードを決定する(1110)。次いで、デコーダは、そのスキップマクロブロック情報を復号する(1120)。デコーダは、ピクチャ毎にコード化モードを決定する。またはこれに替えて、デコーダは、何らかの他の基準に基づいて(たとえば、シーケンスレベルで)コード化モードを決定する。デコーダがスキップマクロブロック情報を復号し終えると(1130)、復号が終了する。
C.コード化モード
第1の実施例において、スキップマクロブロックコード化モード群には、どのマクロブロックもスキップされないモード、ノーマルモード、行予測(または「行スキップ」)モード、および列予測(または「列スキップ」)モードが含まれる。以下のセクションでは、スキップマクロブロックコード化フレームの例(1200)を示す図12を参照しながら、各モードでどのようにスキップマクロブロック情報が符号化されるかについて説明する。
1.ノーマルスキップマクロブロックコード化モード
ノーマルモードでは、各マクロブロックのスキップ/非スキップ状況がビットで表される。したがって、ビットユニットのSMBフィールドのサイズは、フレーム内のマクロブロックの数に等しい。SMBフィールド内のビット位置は、左上のマクロブロックで始まって、フレーム内のマクロブロックのラスタ走査順に対応する。ビット値0は、対応するマクロブロックがスキップされないことを示し、ビット値1は、対応するマクロブロックがスキップされることを示す。
図13は、ノーマルスキップマクロブロックコード化モードで符号化するための技法(1300)を示す図である。最初に、エンコーダは、マクロブロックのコード化がスキップされることになるかどうか検査する(1310)。スキップされる場合、エンコーダは、SMBフィールドにビット値1を追加し、対応するマクロブロックがスキップされることを示す(1320)。そうでない場合には、エンコーダは、SMBフィールドにビット値0を追加し、対応するマクロブロックがスキップされないことを示す(1330)。エンコーダがSMBフィールドにビットを追加し終えると(1340)、スキップマクロブロックコード化が終了する。
例として、ノーマルモードのコード化を使用すると、図12のフレーム例(1200)についてのSMBフィールドは、010010111111111111010010と符号化されるはずである。
2.行予測スキップマクロブロックコード化モード
行予測モードでは、各マクロブロック行(上から下)の状況がビットで示される。ビットが1の場合には、その行が、全面的スキップマクロブロックを含み、次の行の状況が続く。ビットが0に等しい場合には、その行内の各マクロブロックについてのスキップ/非スキップ状況がビットで示される。したがって、長さが行内のマクロブロックの数に等しいビットフィールドが続く。ビットフィールド内のビット群は、左から右の順序でマクロブロックを表す。この場合も、値0は、対応するマクロブロックがスキップされないことを示し、値1は対応するマクロブロックがスキップされることを示す。
図14は、行予測(または「行スキップ」)マクロブロックコード化モードで符号化するための技法(1400)を示す図である。最初に、エンコーダは、所定の行に全面的スキップマクロブロックが含まれるかどうか検査する(1410)。含まれる場合、エンコーダは、インジケータビット1をSMBフィールドに追加し(1420)、次の行の状況が続く。その行が全面的スキップマクロブロックを含んでいない場合、エンコーダはインジケータビット0をSMBフィールドに追加し、その行内の各マクロブロックについてのスキップ/非スキップ状況がビットで示される(1430)。エンコーダがフレーム内のすべての行を処理すると(1440)、行予測符号化が終了する。
復号について説明すると、図15は、スキップマクロブロック情報の行予測復号を示す擬似コード(1500)を示す図である。擬似コード(1500)では、関数get_bits(n)がビットストリームからn個のビットを読み取り、その値を返す。
例として、行予測モードのコード化を使用すると、図12のフレーム例(1200)についてのSMBフィールドは、0010010110010010と符号化されるはずである。
3.列予測スキップマクロブロックコード化モード
列予測モードでは、各マクロブロック列(左から右)の状況がビットで示される。ビットが1の場合には、その列は、全面的スキップマクロブロックを含み、次の列の状況が続く。ビットが0に等しい場合には、その列内の各マクロブロックについてのスキップ/非スキップ状況がビットで示される。したがって、長さが列内のマクロブロックの数に等しいビットフィールドが続く。ビットフィールド内のビット群は、上から下の順序でマクロブロックを表す。この場合も、値0は、対応するマクロブロックがスキップされないことを示し、値1は、対応するマクロブロックがスキップされることを示す。
図16は、列予測(または「列スキップ」)マクロブロックコード化モードで符号化するための技法(1600)を示す。最初に、エンコーダは、全面的スキップマクロブロックを列が含むかどうか検査する(1610)。含む場合、エンコーダは、インジケータビット1をSMBフィールドに追加し(1620)、次の列の状況が続く。列が全面的スキップマクロブロックを含んでいない場合、エンコーダはインジケータビット0をSMBフィールドに追加し、その列内の各マクロブロックについてのスキップ/非スキップ状況がビットで示される(1630)。エンコーダがフレーム内の列すべてを処理したとき(1640)、列予測符号化が終了する。
復号について説明すると、図17は、スキップマクロブロック情報の列予測復号を示す擬似コード(1700)を示す図である。
例として、列予測モードのコード化を使用すると、図12のフレーム例(1200)についてのSMBフィールドは、0011010011000110100110と符号化されるはずである。
IV.第2の実施例
第2の実施例において、ビデオエンコーダとデコーダは、それぞれ改善された効率でスキップマクロブロック情報および/または他の2Dバイナリデータを符号化し、復号する。エンコーダ/デコーダは、(動きゼロとは限らない)デフォルトの動きを有するものとしてスキップマクロブロックを規定し、これにより、エンコーダ/デコーダは、多くの場合において、より多くのマクロブロックをスキップすることができる。ビットプレーンの効率的なフレームレベルコード化は、スキップマクロブロック情報および/または他の2Dバイナリデータを示す。また、エンコーダ/デコーダは、低遅延応用例のためにスキップマクロブロックの非圧縮(MBレベル)コード化オプションを使用することができる。
A.スキップビット定義(スキップマクロブロックの定義)
第2の実施例は、スキップマクロブロックの概念の新しい定義を含む。「スキップ」は、そこまでの細分レベルで情報をさらに送信する必要がないビットストリームの場合の条件に関連する。スキップマクロブロック(ブロック)は、デフォルトのタイプ、デフォルトの動き、デフォルトの残留誤差を有するマクロブロック(ブロック)である(これに比較して、他の実施例および標準では、スキップマクロブロックとは、動きゼロ、残差ゼロの予測マクロブロックである)。
スキップマクロブロックの新しい定義は、動きがその因果的に予測された動きに等しく、および残留誤差がゼロである予測マクロブロックであるということである(他の定義との相違点は、デフォルトの動きが動きプレディクタ(predictor)に等しく、これは必ずしもゼロでない可能性があることである)。
たとえば、いくつかの実施形態において、現在のマクロブロックについての予測動きベクトルは、現在のマクロブロックの直接上方に、または直接左に向けられる。あるいは、プレディクタの水平成分および垂直成分は、現在のマクロブロックの左、上端、右上のマクロブロックの平行/水平成分毎の中央値から生成される。
4つの動きベクトル(4MV)を有するスキップマクロブロックの動きベクトルは、自然な走査順で連続的に実行されたそれらのプレディクタによって与えられる。1つの動きベクトル(1MV)の場合と同様に、誤差残差はゼロである。
図18は、スキップマクロブロックの新定義に従って、ビデオエンコーダ内で特定のマクロブロックのコード化をスキップするかどうか判定するための技法(1800)を示すフローチャートである。最初に、エンコーダは、現行フレームがIフレームであるか、それともPフレームであるか検査する(1810)。現行フレームがIフレームである場合、現行フレーム内のどのマクロブロックもスキップされず(1820)、そのフレームについてのスキップマクロブロックコード化が終了する。
一方、現行フレームがPフレームである場合、エンコーダは、スキップすることができる現行フレーム内マクロブロックがないか検査する。所与のマクロブロックについて、エンコーダは、そのマクロブロックについての動きベクトルが、そのマクロブロックについて因果的に予測された動きベクトルに等しいかどうか(たとえば、そのマクロブロックについての差分動きベクトルがゼロに等しいかどうか)検査する(1830)。マクロブロックについての動きが因果的に予想された動きに等しくない場合、エンコーダは、そのマクロブロックをスキップしない(1840)。そうでない場合には、エンコーダは、そのマクロブロックについて符号化すべき残差があるかどうか検査する(1850)。コード化すべき残差がある場合、エンコーダは、そのマクロブロックをスキップしない(1860)。しかし、そのマクロブロックについて残差がない場合、エンコーダは、そのマクロブロックをスキップする(1870)。エンコーダは、符号化を終えるまで、引き続きマクロブロックを符号化またはスキップする(1880)。
B.ビットプレーンコード化
第2の実施例において、(スキップマクロブロックを示すことを含む)ある種のマクロブロック特有の情報を、マクロブロック当たり1ビットで符号化することができる。フレーム内のマクロブロックすべてについての状況を、ビットプレーンとして一緒にコード化し、フレームヘッダ内で送信することができる。
第2の実施例において、エンコーダは、フレーム内のマクロブロックについての情報を示すために、3つの場合でビットプレーンコード化を使用する。3つの場合とは、1)スキップマクロブロックを示すこと、2)フィールドまたはフレームマクロブロックモードを示すこと、および3)各マクロブロックについて1MVまたは4MV動きベクトルモードを示すことである。このセクションは、3つの場合のいずれかについてのビットプレーンコード化、およびそれに対応する復号について述べる。
フレームレベルのビットプレーンコード化は、2次元バイナリ配列を符号化するために使用される。各配列のサイズは、rowMB×colMBであり、rowMBおよびcolMBは、それぞれマクロブロックの行と列の数である。各配列は、ビットストリーム内で、1組の連続したビットとしてコード化される。表3に列挙するが、以下に説明するように、各配列を符号化するために7つのモードの1つが使用される。
Figure 2013192255
第2の実施例において、エンコーダは、ビットプレーン内に情報を埋め込むために、MODE、INVERT、DATABITSという3つの構文要素を使用する。
MODEフィールドは、ビットプレーンについてのコード化を符号化する可変長符号(VLC)である。たとえば、MODEフィールド内のVLCは、表3に列挙されている7つのコード化モードのいずれかを表す。ビットを節約するために、より可能性の高いコード化モードにより短いコードを、あまり可能性の高くないコード化モードにより長いコードを割り当てることができる。上記で指摘したように、MODEフィールドは、フレームヘッダ内で送信することができる。
エンコーダ/デコーダは、フレーム毎にコード化モード間で切り換える。たとえば、エンコーダ/デコーダは、第1の実施例のエンコーダ/デコーダがそれぞれ図10および11において、スキップマクロブロックコード化モード間で切り換えたように、コード化モード間で切り換える。またはこれに替えて、エンコーダ/デコーダは、他の技法を使用して、および/または何らかの他の基準に基づいて切り換える。
モードが非圧縮モードでない場合、1ビットのINVERTフィールドが送信される。条件反転を実施することができるいくつかのコード化モードでは、INVERTフィールドは、エンコーダ内で符号化が行われる前にビットプレーン内のビットを反転すべきかどうか、およびデコーダ内の復号の出力を反転すべきかどうかを示す。ビットプレーン内の大部分のビットが1に等しいときINVERTフィールドは1であり、ビットプレーン内の大部分のビットが0に等しいとき0である。エンコーダは、0がより多く存在するとき消費するビットがより少ないいくつかのコード化モード(ノーマル2およびノーマル6など)を使用する。符号化すべきビットプレーンで0より1が多い場合、エンコーダは、ビットプレーンを反転し、ビットプレーン内の0の割合を増やし、より多くのビットを節約する可能性が高くなる。他のモード(Diff−2およびDiff−6など)は、INVERTの値を使用し、プレディクタビットプレーンを計算する。したがって、いくつかのコード化モードでは、デコーダ部で再構築される最終ビットプレーンがINVERTによって決まる。
MODEフィールドおよびINVERTフィールドが与えられれば、DATABITSフィールドは、ビットプレーンを再構築するのに必要な情報を含むVLCシンボルのエントロピー符号化済みストリームである。
C.コード化モード
第2の実施例において、エンコーダは、行スキップモード、列スキップモード、ノーマル2モード、ノーマル6モード、Diff−2モード、Diff−6モード、非圧縮モードという7つの異なるコード化モードのいずれかでバイナリ情報(たとえば、スキップマクロブロック情報)を符号化する。デコーダは、7つのコード化モードのいずれかについて対応する復号を実行する。各モードについて以下で詳しく述べる。
またはこれに替えて、エンコーダ/デコーダは、他の、および/または追加のコード化モードを使用する。
1.行スキップモードおよび列スキップモード
行スキップコード化モードは、行の各バイナリシンボルがある種の値のものである場合に、ビットプレーン内のビットを単一のビットで表すことによってビットを節約する。たとえば、エンコーダは、スキップモードをビットプレーン内の0で表し、全面的に0の行を単一のビットで表す行スキップコード化モードを使用する。したがって、エンコーダは、マクロブロックの行全体がスキップされるときビットを節約する。デコーダは、対応する復号を実行する。
第2の実施例において、全面的にゼロの行は、0に設定された1ビットを使用して示される。行が全面的にゼロでないとき、1ビットインジケータは、1に設定され、この後に、ビットプレーンを含むcolMBビットが順序正しく続く。行は自然な順序で走査される。
同様に、列スキップモードについては、列全体がゼロである場合、0ビットが送信される。そうでない場合は、1が送信され、その後に、列全体を含むrowMBビットが順序正しく続く。列は自然な順序で走査される。
Diff−6モードおよびノーマル6モード(後述)での残りの行および/または列のコード化については、同じ論理が適用される。1ビットフラグは、行または列が全面的ゼロであるかどうかを示す。全面的にゼロでない場合、シンボル当たり1つのビットを使用して行または列全体が送信される。
エンコーダが、主に1からなるビットプレーンを符号化するときは、行スキップおよび列スキップコード化は、通常、行/列が全体的に0からなる可能性がより低いため、あまり効率的でない。しかし、そのような場合に、エンコーダはビットプレーンに対して反転を実行して、0の割合を増やし、および潜在的にビット節約を高めることができる。したがって、INVERTビットによって条件反転が示されているとき、エンコーダは、ビットプレーンがタイル化およびコード化される前に、ビットプレーンを予め反転する。デコーダ側では、最終出力の逆を取ることによって条件反転が実行される(これは、Diff−2およびDiff−6モードについては実行されない)。
図19は、行スキップコード化モードでビットプレーン内のバイナリ情報を符号化するための技法(1900)を示す。最初に、エンコーダは、ビットプレーンの反転が適切かどうか検査し、適切である場合は反転を実行する(1910)。次いで、エンコーダは、ビットプレーン内の行を検査し、その行内の各ビットが0に等しいかどうか確認する(1920)。0に等しい場合、エンコーダは、その行についてのインジケータビットを0に設定する(1930)。行内のビットのいずれかが0でない場合、エンコーダは、その行についてのインジケータビットを1に設定し、その行内の各ビットを1つのビットで符号化する(1940)。エンコーダがビットプレーン内の行すべてを符号化し終えると(1950)、ビットプレーンの符号化が終了する。
デコーダは、行スキップコード化モードについて対応する復号を実行する。
図20は、列スキップコード化モードでバイナリ情報を符号化するための技法を示す。最初に、エンコーダは、ビットプレーンの反転が適切かどうか検査し、適切である場合は反転を実行する(2010)。次いで、エンコーダは、ビットプレーン内の列を検査し、その列内の各ビットが0に等しいかどうか確認する(2020)。0に等しい場合、エンコーダは、その列についてのインジケータビットを0に設定する(2030)。列内のビットのいずれかが0でない場合、エンコーダは、その列についてのインジケータビットを1に設定し、その列内の各ビットを1つのビットで符号化する(2040)。エンコーダがビットプレーン内の列すべてを符号化し終えると(2050)、ビットプレーンの符号化が終了する。
デコーダは、列スキップコード化モードについて対応する復号を実行する。
2.ノーマル2モード
エンコーダは、ノーマル2モードを使用して(たとえば、ベクトルハフマンまたは他の可変長符号化方式を使用して)ビットプレーン内で複数のバイナリシンボルを一緒に符号化する。エンコーダは、可変長符号で1対のバイナリシンボルを符号化する。デコーダは、対応する復号を実行する。
rowMB×colMBが奇数である場合、第1のシンボルが単一のビットとして符号化される。後続のシンボルは、自然な走査順で対毎に符号化される。シンボル対を符号化するためにVLCテーブルが使用され、全体的なエントロピーを削減する。
INVERTビットによって条件反転が示されているときは、エンコーダは、ビットプレーンが対毎にコード化される前に、ビットプレーンを予め反転する。デコーダ側では、最終出力の逆を取ることによって条件反転が実行される(Diff−2モードが使用されているとき、このステップで条件反転は実行されない)。
図21は、ノーマル2モードでバイナリ情報を符号化するための技法(2100)を示す。エンコーダは、初期検査を実行し、コード化効率を改善するためにビットプレーンの反転が適切であるかどうか判定し、適切である場合は反転を実行する(2110)。次いで、エンコーダは、コード化されるビットプレーンが奇数のバイナリシンボルを有するかどうか判定する(2120)。奇数である場合、エンコーダは、単一のビットで第1のシンボルを符号化する(2130)。次いで、エンコーダは、より可能性の高い対を表すためにより短いコードを使用し、あまり可能性の高くない対を表すためにはより長いコードを使用して可変長符号でシンボル対を符号化する(2140)。シンボル対の符号化を終えると(2150)符号化が終了する。
デコーダは、ノーマル2コード化モードについて対応する復号を実行する。
3.ノーマル6モード
エンコーダはまた、ノーマル6モードを使用して(たとえば、ベクトルハフマンまたは他の可変長符号化方式を使用して)ビットプレーン内で複数のバイナリシンボルを一緒に符号化する。エンコーダは、6つのバイナリシンボルのグループをタイル化し、各グループを可変長符号で表す。デコーダは、対応する復号を実行する。
ノーマル6モード(およびDiff−6モード)では、ビットプレーンが6つの画素のグループで符号化される。これらの画素は、2×3または3×2のタイルの形にグループ化される。ビットプレーンは、1組の規則を使用して最大限にタイル化され、残りの画素は、行スキップモードおよび列スキップモードの変形モードを使用して符号化される。
第2の実施例において、rowMBが3の倍数であり、colMBが3の倍数でない場合のみ、3×2の「垂直」タイルが使用される。そうでない場合は、2×3の「水平」タイルが使用される。図22、23、24は、ノーマル6コード化モードでタイル化されたフレームの諸例を示す図である。図22は、3×2垂直タイル群と、列スキップモードでコード化される1シンボル幅残部(陰影付き領域として示される)とを有するフレーム(2200)を示す図である。図23は、2×3水平タイル群と、行スキップモードでコード化される1シンボル幅残部とを有するフレーム(2300)を示す図である。図24は、2×3水平タイルと、行スキップモードおよび列スキップモードでコード化される1シンボル幅残部群とを有するフレーム(2400)を示す図である。
この例では3×2と2×3のタイルが使用されているが、他の実施形態では、異なる構成のタイルおよび/または異なるタイル化規則が使用される。
最初に6個要素タイルが符号化され、その後に列スキップおよび行スキップ符号化された線形タイルが続く。配列サイズが3×2または2×3の倍数である場合、後者の線形タイルは存在せず、ビットプレーンが完璧にタイル化される。6個要素の矩形タイルは、VLCテーブルを使用して符号化される。
INVERTビットによって条件反転が示されているとき、エンコーダは、ビットプレーンがタイル化およびコード化される前に、ビットプレーンを予め反転する。デコーダ側では、最終出力の逆を取ることによって条件反転が実施される(Diff−6モードが使用されているとき、このステップで条件反転は実行されない)。
図25は、ノーマル6モードでバイナリ情報を符号化するための技法(2500)を示すフローチャートである。エンコーダは、初期検査を実行し、コード化効率を改善するためにビットプレーンの反転が適切であるかどうか判定し、適切である場合は、反転を実行する(2510)。次いで、エンコーダは、ビットプレーン内の行の数が3の倍数であるかどうか検査する(2520)。行の数が3の倍数でない場合、エンコーダは、ビットプレーン内のシンボルを2×3水平タイルの形にグループ化する(2530)。
行の数が3の倍数である場合、エンコーダは、ビットプレーン内の列の数が3の倍数であるかどうか検査する(2540)。列の数が3の倍数である場合、エンコーダは、ビットプレーン内のシンボルを2×3水平タイルの形にグループ化する(2530)。列の数が3の倍数でない場合、エンコーダは、シンボルを3×2垂直タイルの形にグループ化する(2550)。
シンボルを3×2または2×3のタイルの形にグループ化した後に、エンコーダは、6次元ベクトルハフマン符号化または何らかの他のコード化技法などの技法を使用して、6個タイル化済みシンボルのグループを符号化する。エンコーダは、残りのタイル化されていないシンボルを、上述の行スキップおよび/または列スキップコード化技法を使用して符号化する(2570)。
デコーダは、ノーマル6コード化モードについて対応する復号を実行する。
他の実施形態において、エンコーダは、他の技法を使用し、タイル化されたシンボル、およびタイル化されていないシンボルをコード化する。
4.Diff−2およびDiff−6モード
Diff−2モードまたはDiff−6モードなど差分符号化モードは、最初に、コード化すべきビットプレーンについてのプレディクタに基づいて、コード化すべきビットプレーンについて差分(または残留)ビットのビットプレーンを生成することによってビットプレーンを符号化する。次いで、残留ビットプレーンは、条件反転なしで、たとえばノーマル2またはノーマル6コード化モードを使用して符号化される。
第2の実施例において、Diff−2モードまたはDiff−6モードは、演算diffによって示される差分符号化を使用する。どちらかの差分モードが使用される場合、最初に、ビットプレーンb(i,j)のプレディクタ
Figure 2013192255
すなわち、因果演算
Figure 2013192255
として定義されるものを調べることによって、差分ビットのビットプレーンが生成される。
換言すれば、所与のバイナリシンボルb(i,j)のプレディクタ
Figure 2013192255
は、すぐ左側のバイナリシンボルb(i−1,j)となるが、以下の特別な場合を除く。
1)b(i,j)がビットプレーンの左上隅にある場合、または上方のバイナリシンボルb(i,j−1)が左側のバイナリシンボルb(i−1,j)に等しくない場合、プレディクタ
Figure 2013192255
は、INVERTの値に等しい、または、
2)1)が当てはまらず、b(i,j)が左列にある場合(i==0)、プレディクタ
Figure 2013192255
は、上方のバイナリシンボルb(i,j−1)になる。
エンコーダ側では、
Figure 2013192255
に従って、diff演算により残留ビットプレーンrが計算される。上式で、
Figure 2013192255
は、排他的論理和演算である。残留ビットプレーンは、条件反転なしで、ノーマル2モードまたはノーマル6モードを使用して符号化される。
デコーダ側では、適切なノーマルモードを使用して残留ビットプレーンが再生成される。その後に、残留ビットプレーンが使用され、バイナリ2D差
Figure 2013192255
として元のビットプレーンを再生成する。
図26は、差分符号化モードでバイナリ情報を符号化するための技法(2600)を示す。エンコーダは、たとえば式1に示されているように、ビットプレーンについてプレディクタを計算する(2610)。次いで、エンコーダは、たとえばビットプレーンとそのプレディクタに対してXOR演算を実行することによって残留ビットプレーンを計算する(2620)。次いで、エンコーダは、残留ビットプレーンを(たとえば、ノーマル2またはノーマル6モードで)符号化する(2630)。
図27は、差分符号化モードで符号化されたバイナリ情報を復号するための技法(2700)を示す。デコーダは、残留ビットプレーンを符号化するために使用されたモード(たとえば、ノーマル2またはノーマル6モード)に基づいて、適切な復号技法を使用して残留ビットプレーンを復号する(2710)。また、デコーダは、エンコーダ内で使用され同じ技法を使用して、ビットプレーンについてプレディクタを計算する(2720)。次いで、デコーダは、たとえば復号された残留ビットプレーンとプレディクタビットプレーンに対してXOR演算を実行することによって、元のビットプレーンを再構築する(2730)。
5.非圧縮モード
非圧縮モードを除くすべてのモードがビットプレーンをフレームレベルで符号化するが、これは、符号化中にフレームを介した第2の経路を必要とする。しかし、低遅延(low−latency)の環境下では、第2の経路によって受け入れることができない遅延(latency)が付加される可能性がある(というのは、たとえば、ビットプレーンを符号化して費やされる時間のために、フレーム内の最後のマクロブロックに達するまでフレームヘッダおよびマクロブロック層情報の送信が遅れるからである)。
非圧縮モードは、残りのマクロブロックレベル情報と同じビットストリーム内の位置で、バイナリシンボル当たり1つのビットでビットプレーンを符号化する従来の方法を使用する。シンボルのマクロブロックレベルのコード化は、それ自体新しい概念ではないが、シンボルのコード化をフレームレベルからマクロブロックレベルに切り換えることにより、フレームレベルのコード化に対して低遅延とすることができる。
図28は、低遅延の応用例のために、マクロブロックについてのバイナリ情報を非圧縮コード化モードで選択的に符号化するための技法(2800)を示す。最初に、エンコーダは、バイナリ情報を符号化するために非圧縮モードを使用するかどうか検査する(2810)。使用する場合、エンコーダは、マクロブロックについてマクロブロックレベルでビットを符号化し(2820)、そのマクロブロックがフレーム内の最後のマクロブロックかどうか検査する(2830)。マクロブロックがフレーム内の最後のマクロブロックでない場合、エンコーダは、マクロブロックレベルで次のマクロブロックについてビットを符号化することにより続行する(2820)。
エンコーダが非圧縮コード化モードを使用しない場合、エンコーダは、フレーム内のマクロブロックについて、フレームレベルでビットプレーンを符号化する(2840)。フレーム内のマクロブロックの符号化を終えると(2850)そのフレームについて符号化が終了する。
この技法(2800)は、フレーム毎にモードを切り換えることを示しているが、またはこれに替えて、エンコーダは、何らかの他の基準に基づいて切り換えることとなる。
以上、様々な実施形態を参照しながら本発明の原理について述べ、また例示したが、この様々な実施形態は、そのような原理から逸脱することなしに、構成および詳細に修正を加えることができることを理解されたい。本明細書に説明するプログラム、プロセス、または方法は、別段の表示がない限り、どの特定のタイプのコンピューティング環境にも関連しない、あるいは制限されないことを理解されたい。様々なタイプの汎用または専用のコンピューティング環境は、本明細書に説明する技法と共に使用することができ、あるいは、それに従って動作を実行することができる。ソフトウェアで示されている実施形態の要素は、ハードウェアで実施することができ、逆も同様である。
本発明の原理を適用することができる多数の可能な実施形態に鑑みて、本発明者等は、以下の特許請求の範囲とその等価物の範囲および精神内に入るそのような実施形態すべてを本発明として主張する。

Claims (20)

  1. コンピュータ実行可能命令を記憶した1つまたは複数のコンピュータ読取可能な記憶媒体であって、前記コンピュータ実行可能命令は、実行されると、コンピューティングデバイスに、
    ビデオシーケンスの複数のビデオフレームについて、ビットストリーム内の符号化されたデータを受信するステップであって、前記ビットストリームは、複数のマクロブロックについてのバイナリ情報を含み、前記バイナリ情報は、前記ビットストリームが前記複数のマクロブロックの予測残差についての係数データを含むかどうかを示す、ステップと、
    前記ビデオシーケンスの前記複数のビデオフレームの前記符号化されたデータを復号するステップであって、
    前記バイナリ情報を示すために利用可能な複数のモードの中から前記バイナリ情報を示すモードを判定するステップであって、
    前記判定されたモードが前記利用可能な複数のモードの第1のモードである場合、前記バイナリ情報は、ビットストリーム構文のマクロブロック層において、前記複数のマクロブロックの所与のマクロブロック毎にバイナリ値として示され、前記所与のマクロブロックについての前記バイナリ値は、前記ビットストリームが前記所与のマクロブロックの残差についての係数データを含むかどうかを示し、
    前記判定されたモードが前記利用可能な複数のモードの第2のモードである場合、前記バイナリ情報は、前記ビットストリーム構文の前記マクロブロック層より上にある層において、前記複数のマクロブロックについて集合的に示され、前記バイナリ情報は、前記ビットストリームが前記複数のマクロブロックの残差についての係数データを含むかどうかを示す、ステップと、
    前記複数のマクロブロックの前記バイナリ情報を処理するステップと
    を含むステップと
    を含む方法を実行させることを特徴とするコンピュータ読取可能な記憶媒体。
  2. 前記判定されたモードが前記第1のモードである場合、前記バイナリ情報は、前記複数のマクロブロックの所与のマクロブロック毎にマクロブロック層構文要素として示されることを特徴とする請求項1に記載のコンピュータ読取可能な記憶媒体。
  3. 前記複数のマクロブロックは、16×16マクロブロックであることを特徴とする請求項1に記載のコンピュータ読取可能な記憶媒体。
  4. 前記第1のモードは、低遅延モードであることを特徴とする請求項1に記載のコンピュータ読取可能な記憶媒体。
  5. 前記ビットストリーム構文は階層構造で複数の層を含み、前記複数の層はマクロブロック層およびフレーム層を含むことを特徴とする請求項1に記載のコンピュータ読取可能な記憶媒体。
  6. 前記判定されたモードが前記第2のモードである場合、前記フレーム層のヘッダが、前記複数のマクロブロックについての前記バイナリ情報を含むことを特徴とする請求項5に記載のコンピュータ読取可能な記憶媒体。
  7. 前記判定されたモードが前記第2のモードである場合、前記バイナリ情報が示される層は、前記フレーム層より下にあることを特徴とする請求項5に記載のコンピュータ読取可能な記憶媒体。
  8. 前記複数のマクロブロックはグループの一部であり、前記第2のモードにしたがって、単一のコードが前記グループの前記複数のマクロブロックについての前記バイナリ情報を表すことを特徴とする請求項1に記載のコンピュータ読取可能な記憶媒体。
  9. ビデオエンコーダを実装するコンピューティングデバイスが実行する方法であって、
    ビデオシーケンスの複数のビデオフレームを符号化して、符号化されたデータを生成するステップであって、複数のマクロブロックについてのバイナリ情報を示すために利用可能な複数のモードの中から前記バイナリ情報を示すモードを判定するステップを含むステップと
    ビットストリーム内の前記符号化されたデータを出力するステップであって、前記ビットストリームが前記バイナリ情報を含み、前記バイナリ情報は、前記ビットストリームが前記複数のマクロブロックの予測残差についての係数データを含むかどうかを表し、
    前記判定されたモードが前記利用可能な複数のモードの第1のモードである場合、前記バイナリ情報は、ビットストリーム構文のマクロブロック層において前記複数のマクロブロックの所与のマクロブロック毎にバイナリ値として示され、前記所与のマクロブロックについてのバイナリ値は、前記ビットストリームが前記所与のマクロブロックの残差についての係数データを含むかどうかを示し、
    前記判定されたモードが前記利用可能な複数のモードの第2のモードである場合、前記バイナリ情報は前記ビットストリーム構文の前記マクロブロック層のより上にある層において、前記複数のマクロブロックについて集合的に示され、前記バイナリ情報は、前記ビットストリームが前記複数のマクロブロックの残差についての係数データを含むかどうかを示す、ステップと、
    を含むステップとを含むことを特徴とする方法。
  10. 前記判定されたモードが前記第1のモードである場合、前記バイナリ情報は、前記複数のマクロブロックの所与のマクロブロック毎にマクロブロック層構文要素として示されることを特徴とする請求項9に記載の方法。
  11. 前記第1のモードは、低遅延モードであることを特徴とする請求項9に記載の方法。
  12. 前記判定されたモードが前記第2のモードである場合、フレーム層のヘッダが、前記複数のマクロブロックについての前記バイナリ情報を含むことを特徴とする請求項9に記載の方法。
  13. 前記判定されたモードが前記第2のモードである場合、前記バイナリ情報が示される層は、フレーム層より下にあることを特徴とする請求項9に記載の方法。
  14. 前記複数のマクロブロックはグループの一部であり、前記第2のモードにしたがって、単一のコードが前記グループの前記複数のマクロブロックについての前記バイナリ情報を表すことを特徴とする請求項9に記載の方法。
  15. 方法を実行するように構成されたコンピューティングデバイスであって、前記方法は、
    ビデオシーケンスの複数のビデオフレームについて、ビットストリーム内の符号化されたデータを受信するステップであって、前記ビットストリームは、複数のブロックについてのバイナリ情報を含み、前記バイナリ情報は、前記ビットストリームが前記複数のブロックの予測残差についての係数データを含むかどうかを示す、ステップと、
    前記ビデオシーケンスの前記複数のビデオフレームの前記符号化されたデータを復号するステップであって、
    前記バイナリ情報を示すために利用可能な複数のモードの中から前記バイナリ情報を示すモードを判定するステップであって、
    前記判定されたモードが前記利用可能な複数のモードの第1のモードである場合、前記バイナリ情報は、ビットストリーム構文のブロック層において、前記複数のブロックの所与のブロック毎にバイナリ値として示され、前記所与のブロックについての前記バイナリ値は、前記ビットストリームが前記所与のブロックの残差についての係数データを含むかどうかを示し、
    前記判定されたモードが前記利用可能な複数のモードの第2のモードである場合、前記バイナリ情報は、前記ビットストリーム構文の前記ブロック層より上にある層において、前記複数のブロックについて集合的に示され、前記バイナリ情報は、前記ビットストリームが前記複数のブロックの残差についての係数データを含むかどうかを示す、ステップと、
    前記複数のブロックの前記バイナリ情報を処理するステップと
    を含むステップと
    を含むことを特徴とするコンピューティングデバイス。
  16. 前記複数のブロックは、16×16マクロブロックであることを特徴とする請求項15に記載のコンピューティングデバイス。
  17. 前記第1のモードは、低遅延モードであることを特徴とする請求項15に記載のコンピューティングデバイス。
  18. 前記判定されたモードが前記第2のモードである場合、フレーム層のヘッダが、前記複数のブロックについての前記バイナリ情報を含むことを特徴とする請求項15に記載のコンピューティングデバイス。
  19. 前記判定されたモードが前記第2のモードである場合、前記バイナリ情報は、フレーム層より下において示されることを特徴とする請求項15に記載のコンピューティングデバイス。
  20. 前記複数のブロックはグループの一部であり、前記第2のモードにしたがって、単一のコードが前記グループの前記複数のブロックについての前記バイナリ情報を表すことを特徴とする請求項15に記載のコンピューティングデバイス。
JP2013111099A 2001-12-17 2013-05-27 スキップマクロブロックコード化 Expired - Lifetime JP5819347B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US34167401P 2001-12-17 2001-12-17
US60/341,674 2001-12-17
US37771202P 2002-05-03 2002-05-03
US60/377,712 2002-05-03

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2010206955A Division JP5442568B2 (ja) 2001-12-17 2010-09-15 スキップマクロブロックコード化

Publications (2)

Publication Number Publication Date
JP2013192255A true JP2013192255A (ja) 2013-09-26
JP5819347B2 JP5819347B2 (ja) 2015-11-24

Family

ID=26992608

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2003553839A Expired - Lifetime JP4610195B2 (ja) 2001-12-17 2002-12-16 スキップマクロブロックコード化
JP2010206955A Expired - Lifetime JP5442568B2 (ja) 2001-12-17 2010-09-15 スキップマクロブロックコード化
JP2013111099A Expired - Lifetime JP5819347B2 (ja) 2001-12-17 2013-05-27 スキップマクロブロックコード化

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2003553839A Expired - Lifetime JP4610195B2 (ja) 2001-12-17 2002-12-16 スキップマクロブロックコード化
JP2010206955A Expired - Lifetime JP5442568B2 (ja) 2001-12-17 2010-09-15 スキップマクロブロックコード化

Country Status (9)

Country Link
US (10) US7200275B2 (ja)
EP (2) EP1457056B1 (ja)
JP (3) JP4610195B2 (ja)
KR (1) KR100925968B1 (ja)
CN (2) CN100452883C (ja)
AU (1) AU2002351389A1 (ja)
ES (2) ES2664270T3 (ja)
HK (2) HK1133140A1 (ja)
WO (1) WO2003053066A1 (ja)

Families Citing this family (206)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6563953B2 (en) * 1998-11-30 2003-05-13 Microsoft Corporation Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock
US20050207663A1 (en) * 2001-07-31 2005-09-22 Weimin Zeng Searching method and system for best matching motion vector
US6882685B2 (en) * 2001-09-18 2005-04-19 Microsoft Corporation Block transform and quantization for image and video coding
KR100925968B1 (ko) * 2001-12-17 2009-11-09 마이크로소프트 코포레이션 컴퓨터 시스템에서 비디오 시퀀스의 복수의 비디오 화상을 처리하는 방법, 시스템 및 컴퓨터 판독가능 매체
US7003035B2 (en) 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
PT1486065E (pt) * 2002-03-15 2016-03-30 Nokia Technologies Oy Método para codificação de movimento numa sequência de vídeo
AU2003237279A1 (en) * 2002-05-29 2003-12-19 Pixonics, Inc. Classifying image areas of a video signal
US20040001546A1 (en) 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
US7280700B2 (en) * 2002-07-05 2007-10-09 Microsoft Corporation Optimization techniques for data compression
JP4724351B2 (ja) * 2002-07-15 2011-07-13 三菱電機株式会社 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
CN101039428B (zh) * 2002-07-15 2013-04-10 日立民用电子株式会社 动态图像编码方法及解码方法
US7154952B2 (en) * 2002-07-19 2006-12-26 Microsoft Corporation Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures
JP4007594B2 (ja) * 2002-09-26 2007-11-14 株式会社東芝 動画像符号化装置及び方法、動画像符号化方式変換装置及び方法
US7415162B2 (en) * 2003-05-27 2008-08-19 Zaxel Systems, Inc. Method and apparatus for lossless data transformation with preprocessing by adaptive compression, multidimensional prediction, multi-symbol decoding enhancement enhancements
US7428341B2 (en) 2003-05-27 2008-09-23 Zaxel Systems, Inc. Method and apparatus for lossless data transformation with preprocessing by adaptive compression, multidimensional prediction, multi-symbol decoding enhancement enhancements
US20130107938A9 (en) * 2003-05-28 2013-05-02 Chad Fogg Method And Apparatus For Scalable Video Decoder Using An Enhancement Stream
NO318318B1 (no) * 2003-06-27 2005-02-28 Tandberg Telecom As Fremgangsmate for forbedret koding av video
US7580584B2 (en) * 2003-07-18 2009-08-25 Microsoft Corporation Adaptive multiple quantization
US20050013498A1 (en) 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
US7602851B2 (en) * 2003-07-18 2009-10-13 Microsoft Corporation Intelligent differential quantization of video coding
US8218624B2 (en) * 2003-07-18 2012-07-10 Microsoft Corporation Fractional quantization step sizes for high bit rates
US7738554B2 (en) 2003-07-18 2010-06-15 Microsoft Corporation DC coefficient signaling at small quantization step sizes
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
US7426308B2 (en) * 2003-07-18 2008-09-16 Microsoft Corporation Intraframe and interframe interlace coding and decoding
US7092576B2 (en) * 2003-09-07 2006-08-15 Microsoft Corporation Bitplane coding for macroblock field/frame coding type information
US7369709B2 (en) * 2003-09-07 2008-05-06 Microsoft Corporation Conditional lapped transform
US7961786B2 (en) * 2003-09-07 2011-06-14 Microsoft Corporation Signaling field type information
US8064520B2 (en) 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US7567617B2 (en) 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
US7317839B2 (en) * 2003-09-07 2008-01-08 Microsoft Corporation Chroma motion vector derivation for interlaced forward-predicted fields
US8107531B2 (en) * 2003-09-07 2012-01-31 Microsoft Corporation Signaling and repeat padding for skip frames
US7606308B2 (en) * 2003-09-07 2009-10-20 Microsoft Corporation Signaling macroblock mode information for macroblocks of interlaced forward-predicted fields
US7724827B2 (en) 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7253374B2 (en) * 2003-09-15 2007-08-07 General Motors Corporation Sheet-to-tube welded structure and method
CN1615019A (zh) * 2003-11-05 2005-05-11 华为技术有限公司 一种视频宏块模式编码方法
EP1538844A3 (en) * 2003-11-26 2006-05-31 Samsung Electronics Co., Ltd. Color image residue transformation and encoding method
CN1332563C (zh) * 2003-12-31 2007-08-15 中国科学院计算技术研究所 一种视频图像跳过宏块的编码方法
US7852343B2 (en) * 2004-04-15 2010-12-14 Panasonic Corporation Burst memory access method to rectangular area
JP4579237B2 (ja) * 2004-04-22 2010-11-10 三菱電機株式会社 画像符号化装置及び画像復号装置
US7801383B2 (en) 2004-05-15 2010-09-21 Microsoft Corporation Embedded scalar quantizers with arbitrary dead-zone ratios
US7792188B2 (en) 2004-06-27 2010-09-07 Apple Inc. Selecting encoding types and predictive modes for encoding video data
US8442108B2 (en) * 2004-07-12 2013-05-14 Microsoft Corporation Adaptive updates in motion-compensated temporal filtering
US8340177B2 (en) * 2004-07-12 2012-12-25 Microsoft Corporation Embedded base layer codec for 3D sub-band coding
US8374238B2 (en) * 2004-07-13 2013-02-12 Microsoft Corporation Spatial scalability in 3D sub-band decoding of SDMCTF-encoded video
EP2194720A1 (en) * 2004-07-20 2010-06-09 Qualcom Incorporated Method and apparatus for encoder assisted-frame rate up conversion (EA-FRUC) for video compression
US9509991B2 (en) * 2004-08-12 2016-11-29 Gurulogic Microsystems Oy Processing and reproduction of frames
GB0418279D0 (en) * 2004-08-16 2004-09-15 Nds Ltd System for providing access to operation information
US8861601B2 (en) * 2004-08-18 2014-10-14 Qualcomm Incorporated Encoder-assisted adaptive video frame interpolation
CN101005620B (zh) * 2004-09-03 2011-08-10 微软公司 为隔行扫描和逐行扫描视频编码和解码宏块和运动信息中的革新
KR100647294B1 (ko) * 2004-11-09 2006-11-23 삼성전자주식회사 화상 데이터 부호화 및 복호화 방법 및 장치
US7671894B2 (en) * 2004-12-17 2010-03-02 Mitsubishi Electric Research Laboratories, Inc. Method and system for processing multiview videos for view synthesis using skip and direct modes
US20060140591A1 (en) * 2004-12-28 2006-06-29 Texas Instruments Incorporated Systems and methods for load balancing audio/video streams
EP1897374A1 (en) * 2004-12-29 2008-03-12 Koninklijke Philips Electronics N.V. Method and apparatus for encoding video data stream
CN101107849B (zh) 2005-01-27 2010-12-29 汤姆森许可贸易公司 用于数字视频服务器的视频播放器
CN100399828C (zh) * 2005-02-02 2008-07-02 腾讯科技(深圳)有限公司 一种视频数据的编码方法
US20060235683A1 (en) * 2005-04-13 2006-10-19 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Lossless encoding of information with guaranteed maximum bitrate
US7991610B2 (en) * 2005-04-13 2011-08-02 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Adaptive grouping of parameters for enhanced coding efficiency
US7788106B2 (en) * 2005-04-13 2010-08-31 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Entropy coding with compact codebooks
TWI284855B (en) * 2005-04-29 2007-08-01 Sunplus Technology Co Ltd Image processing method and method for detecting difference between different image macro-blocks
US20060260752A1 (en) * 2005-05-23 2006-11-23 Ward/Kraft System and method for producing small production runs of products having removable coatings
US8422546B2 (en) 2005-05-25 2013-04-16 Microsoft Corporation Adaptive video encoding using a perceptual model
KR100636785B1 (ko) * 2005-05-31 2006-10-20 삼성전자주식회사 다시점 입체 영상 시스템 및 이에 적용되는 압축 및 복원방법
KR101138393B1 (ko) * 2005-07-15 2012-04-26 삼성전자주식회사 부호화 모드에 따른 컬러 성분간 예측을 이용한 컬러 영상및 비디오 부호화/복호화 방법 및 장치
US8036274B2 (en) 2005-08-12 2011-10-11 Microsoft Corporation SIMD lapped transform-based digital media encoding/decoding
US9077960B2 (en) * 2005-08-12 2015-07-07 Microsoft Corporation Non-zero coefficient block pattern coding
WO2007024648A2 (en) * 2005-08-25 2007-03-01 Nms Communications Corporation Methods and apparatus for differential encoding
KR100736096B1 (ko) * 2005-12-12 2007-07-06 삼성전자주식회사 비디오 신호를 그룹별로 인코딩 및 디코딩하는 방법 및장치
US8094721B2 (en) * 2005-12-29 2012-01-10 Cisco Technology, Inc. Methods and apparatuses for selecting a mode within a compression scheme
KR101256548B1 (ko) * 2005-12-30 2013-04-19 삼성전자주식회사 영상 부호화 및 복호화 장치 및 그 방법
US7956930B2 (en) * 2006-01-06 2011-06-07 Microsoft Corporation Resampling and picture resizing operations for multi-resolution video coding and decoding
US8306118B1 (en) * 2006-03-01 2012-11-06 Maxim Integrated, Inc. High quality low bitrate video coding by enabling and disabling a non-residual mode
US8848789B2 (en) * 2006-03-27 2014-09-30 Qualcomm Incorporated Method and system for coding and decoding information associated with video compression
ES2636917T3 (es) 2006-03-30 2017-10-10 Lg Electronics, Inc. Un método y un aparato para descodificar/codificar una señal de video
US7974340B2 (en) 2006-04-07 2011-07-05 Microsoft Corporation Adaptive B-picture quantization control
US8503536B2 (en) 2006-04-07 2013-08-06 Microsoft Corporation Quantization adjustments for DC shift artifacts
US8130828B2 (en) 2006-04-07 2012-03-06 Microsoft Corporation Adjusting quantization to preserve non-zero AC coefficients
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
US8711925B2 (en) 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
NO325859B1 (no) 2006-05-31 2008-08-04 Tandberg Telecom As Kodek-preprosessering
WO2007148909A1 (en) 2006-06-19 2007-12-27 Lg Electronics, Inc. Method and apparatus for processing a vedeo signal
KR100790150B1 (ko) * 2006-07-28 2008-01-02 삼성전자주식회사 비디오 부호화기 및 비디오 데이터 프레임 부호화 방법
US8888592B1 (en) 2009-06-01 2014-11-18 Sony Computer Entertainment America Llc Voice overlay
JP2008048240A (ja) * 2006-08-18 2008-02-28 Nec Electronics Corp ビットプレーン復号装置およびビットプレーン復号方法
WO2008023968A1 (en) 2006-08-25 2008-02-28 Lg Electronics Inc A method and apparatus for decoding/encoding a video signal
CN101150721B (zh) * 2006-09-21 2010-10-13 凌阳科技股份有限公司 具有适应性位元平面编码模式的编码方法
US9319700B2 (en) * 2006-10-12 2016-04-19 Qualcomm Incorporated Refinement coefficient coding based on history of corresponding transform coefficient values
US8565314B2 (en) 2006-10-12 2013-10-22 Qualcomm Incorporated Variable length coding table selection based on block type statistics for refinement coefficient coding
US8325819B2 (en) 2006-10-12 2012-12-04 Qualcomm Incorporated Variable length coding table selection based on video block type for refinement coefficient coding
US8599926B2 (en) 2006-10-12 2013-12-03 Qualcomm Incorporated Combined run-length coding of refinement and significant coefficients in scalable video coding enhancement layers
EP2090113A4 (en) * 2006-11-07 2014-08-20 Samsung Electronics Co Ltd METHOD AND DEVICE FOR VIDEO CODING AND DECODING BASED ON MOTION ESTIMATION
KR101366086B1 (ko) 2007-01-03 2014-02-21 삼성전자주식회사 잔차 블록의 계수들에 대한 부호화 결정 방법, 장치,인코더 및 디코더
KR20080066522A (ko) * 2007-01-11 2008-07-16 삼성전자주식회사 다시점 영상의 부호화, 복호화 방법 및 장치
US9826197B2 (en) 2007-01-12 2017-11-21 Activevideo Networks, Inc. Providing television broadcasts over a managed network and interactive content over an unmanaged network to a client device
US8238424B2 (en) 2007-02-09 2012-08-07 Microsoft Corporation Complexity-based adaptive preprocessing for multiple-pass video compression
US8942289B2 (en) * 2007-02-21 2015-01-27 Microsoft Corporation Computational complexity and precision control in transform-based digital media codec
EP2126712A4 (en) * 2007-02-23 2014-06-04 Direct Measurements Inc NON-LINEAR DIFFERENTIAL STRESS MEASUREMENT FROM A BINARY CODE SYMBOL
US8498335B2 (en) 2007-03-26 2013-07-30 Microsoft Corporation Adaptive deadzone size adjustment in quantization
KR101366241B1 (ko) * 2007-03-28 2014-02-21 삼성전자주식회사 영상 부호화, 복호화 방법 및 장치
US8243797B2 (en) 2007-03-30 2012-08-14 Microsoft Corporation Regions of interest for quality adjustments
US8189676B2 (en) * 2007-04-05 2012-05-29 Hong Kong University Of Science & Technology Advance macro-block entropy coding for advanced video standards
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
US8254455B2 (en) 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
JP5189640B2 (ja) * 2007-08-09 2013-04-24 ジーブイビービー ホールディングス エス.エイ.アール.エル. ビデオデータの再生システム
JPWO2009022531A1 (ja) * 2007-08-13 2010-11-11 日本電気株式会社 データ圧縮伸張方法
KR101409526B1 (ko) * 2007-08-28 2014-06-20 한국전자통신연구원 영상 데이터의 비트율을 일정하게 유지시키는 장치 및 방법
WO2009032255A2 (en) * 2007-09-04 2009-03-12 The Regents Of The University Of California Hierarchical motion vector processing method, software and devices
WO2009073828A1 (en) * 2007-12-05 2009-06-11 Onlive, Inc. Tile-based system and method for compressing video
US8968087B1 (en) 2009-06-01 2015-03-03 Sony Computer Entertainment America Llc Video game overlay
US8147339B1 (en) 2007-12-15 2012-04-03 Gaikai Inc. Systems and methods of serving game video
US8613673B2 (en) 2008-12-15 2013-12-24 Sony Computer Entertainment America Llc Intelligent game loading
CN101478672B (zh) * 2008-01-04 2012-12-19 华为技术有限公司 视频编码、解码方法及装置和视频处理系统
KR101446773B1 (ko) * 2008-02-20 2014-10-02 삼성전자주식회사 영상 복구를 이용한 인터 예측 부호화, 복호화 방법 및장치
US8953673B2 (en) * 2008-02-29 2015-02-10 Microsoft Corporation Scalable video coding and decoding with sample bit depth and chroma high-pass residual layers
KR101431545B1 (ko) * 2008-03-17 2014-08-20 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
US8711948B2 (en) 2008-03-21 2014-04-29 Microsoft Corporation Motion-compensated prediction of inter-layer residuals
US8189933B2 (en) 2008-03-31 2012-05-29 Microsoft Corporation Classifying and controlling encoding quality for textured, dark smooth and smooth video content
US8447591B2 (en) 2008-05-30 2013-05-21 Microsoft Corporation Factorization of overlapping tranforms into two block transforms
US7925774B2 (en) 2008-05-30 2011-04-12 Microsoft Corporation Media streaming using an index file
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
US9571856B2 (en) 2008-08-25 2017-02-14 Microsoft Technology Licensing, Llc Conversion operations in scalable video encoding and decoding
US8213503B2 (en) 2008-09-05 2012-07-03 Microsoft Corporation Skip modes for inter-layer residual video coding and decoding
US8325796B2 (en) 2008-09-11 2012-12-04 Google Inc. System and method for video coding using adaptive segmentation
US8503527B2 (en) 2008-10-03 2013-08-06 Qualcomm Incorporated Video coding with large macroblocks
KR101597253B1 (ko) * 2008-10-27 2016-02-24 에스케이 텔레콤주식회사 동영상 부호화/복호화 장치, 이를 위한 적응적 디블록킹 필터링 장치와 필터링 방법, 및 기록 매체
US9596485B2 (en) * 2008-10-27 2017-03-14 Sk Telecom Co., Ltd. Motion picture encoding/decoding apparatus, adaptive deblocking filtering apparatus and filtering method for same, and recording medium
US8926435B2 (en) 2008-12-15 2015-01-06 Sony Computer Entertainment America Llc Dual-mode program execution
CN101771416B (zh) * 2008-12-29 2013-06-05 华为技术有限公司 位平面编码和解码方法、通信系统及相关设备
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
WO2010117129A2 (en) 2009-04-07 2010-10-14 Lg Electronics Inc. Broadcast transmitter, broadcast receiver and 3d video data processing method thereof
US8379728B2 (en) * 2009-04-17 2013-02-19 Texas Instruments Incorporated Adaptive real-time video prediction mode method and computer-readable medium and processor for storage and execution thereof
US20100283893A1 (en) * 2009-05-11 2010-11-11 Yin Jingjiang Processing interlaced video over dsi
US8644389B2 (en) * 2009-05-15 2014-02-04 Texas Instruments Incorporated Real-time video image processing
US8506402B2 (en) 2009-06-01 2013-08-13 Sony Computer Entertainment America Llc Game execution environments
KR101631280B1 (ko) * 2009-07-28 2016-06-16 삼성전자주식회사 스킵 모드에 기초한 영상을 복호화하는 방법 및 장치
KR101631278B1 (ko) * 2009-07-28 2016-06-16 삼성전자주식회사 모드 정보를 부호화, 복호화하는 방법 및 장치
KR101710622B1 (ko) * 2009-07-28 2017-02-28 삼성전자주식회사 스킵 모드에 따라 영상을 부호화, 복호화하는 방법 및 장치
KR20110014000A (ko) * 2009-08-04 2011-02-10 광운대학교 산학협력단 영상 데이터의 디블록킹 필터링 장치 및 방법과 이를 이용한 영상 복호화 장치 및 방법
WO2011021914A2 (ko) 2009-08-21 2011-02-24 에스케이텔레콤 주식회사 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치
KR101441874B1 (ko) 2009-08-21 2014-09-25 에스케이텔레콤 주식회사 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치
JP5841944B2 (ja) * 2009-09-04 2016-01-13 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. スケーラブルな画像符号化および復号化
US8861879B2 (en) 2009-09-17 2014-10-14 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding image based on skip mode
KR101070173B1 (ko) * 2009-11-10 2011-10-05 갤럭시아커뮤니케이션즈 주식회사 동영상 압축 효율을 높이기 위한 변환블록의 부호화 장치와 방법
JP2011166326A (ja) * 2010-02-05 2011-08-25 Sony Corp 画像処理装置および方法
US8948243B2 (en) 2010-03-31 2015-02-03 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method, and image decoding method
US9049450B2 (en) 2010-04-05 2015-06-02 Samsung Electronics Co., Ltd. Method and apparatus for encoding video based on internal bit depth increment, and method and apparatus for decoding video based on internal bit depth increment
US9369736B2 (en) 2010-04-05 2016-06-14 Samsung Electronics Co., Ltd. Low complexity entropy-encoding/decoding method and apparatus
WO2011126282A2 (en) 2010-04-05 2011-10-13 Samsung Electronics Co., Ltd. Method and apparatus for encoding video by using transformation index, and method and apparatus for decoding video by using transformation index
CA2935176C (en) * 2010-04-23 2018-03-13 M&K Holdings Inc. Image encoding apparatus
KR20110123651A (ko) 2010-05-07 2011-11-15 한국전자통신연구원 생략 부호화를 이용한 영상 부호화 및 복호화 장치 및 그 방법
US8676591B1 (en) 2010-08-02 2014-03-18 Sony Computer Entertainment America Llc Audio deceleration
JP2012019447A (ja) * 2010-07-09 2012-01-26 Sony Corp 画像処理装置および方法
KR20120016991A (ko) * 2010-08-17 2012-02-27 오수미 인터 프리딕션 방법
KR102288072B1 (ko) 2010-09-13 2021-08-10 소니 인터랙티브 엔터테인먼트 아메리카 엘엘씨 부가기능의 관리
KR20170129967A (ko) 2010-09-13 2017-11-27 소니 인터랙티브 엔터테인먼트 아메리카 엘엘씨 게임 서버를 포함하는 컴퓨터 게임 시스템에서 통신 네트워크를 통해 클라이언트들 간에 게임 세션을 이송하는 방법
KR20120035096A (ko) * 2010-10-04 2012-04-13 한국전자통신연구원 쿼드 트리 변환 구조에서 부가 정보의 시그널링 방법 및 장치
HUE063103T2 (hu) 2010-11-04 2023-12-28 Ge Video Compression Llc Blokk összefûzést és átugrási módot támogató képkódolás
US9479784B2 (en) * 2011-01-06 2016-10-25 Samsung Electronics Co., Ltd. Encoding method and device of video using data unit of hierarchical structure, and decoding method and device thereof
US9154799B2 (en) 2011-04-07 2015-10-06 Google Inc. Encoding and decoding motion via image segmentation
US8891627B1 (en) * 2011-04-18 2014-11-18 Google Inc. System and method for coding video using color segmentation
KR101383775B1 (ko) * 2011-05-20 2014-04-14 주식회사 케이티 화면 내 예측 방법 및 장치
CA2839345A1 (en) 2011-06-14 2012-12-20 Zhou Wang Method and system for structural similarity based rate-distortion optimization for perceptual video coding
RS64604B1 (sr) * 2011-06-16 2023-10-31 Ge Video Compression Llc Entropijsko kodiranje razlika vektora kretanja
CN103636220B (zh) 2011-06-28 2017-10-13 寰发股份有限公司 编码/解码帧内预测模式的方法及装置
GB2492397A (en) 2011-06-30 2013-01-02 Canon Kk Encoding and decoding residual image data using probabilistic models
US20130016769A1 (en) 2011-07-17 2013-01-17 Qualcomm Incorporated Signaling picture size in video coding
US20130028329A1 (en) * 2011-07-22 2013-01-31 General Instrument Corporation Device and methods for scanning rectangular-shaped transforms in video coding
US9930329B2 (en) * 2011-11-03 2018-03-27 Thomson Licensing Video encoding and decoding based on image refinement
US10390046B2 (en) * 2011-11-07 2019-08-20 Qualcomm Incorporated Coding significant coefficient information in transform skip mode
WO2013096671A1 (en) 2011-12-20 2013-06-27 General Instrument Corporation Method and apparatus for efficient transform unit encoding
EP2815582B1 (en) 2012-01-09 2019-09-04 ActiveVideo Networks, Inc. Rendering of an interactive lean-backward user interface on a television
US9262670B2 (en) 2012-02-10 2016-02-16 Google Inc. Adaptive region of interest
US9800945B2 (en) 2012-04-03 2017-10-24 Activevideo Networks, Inc. Class-based intelligent multiplexing over unmanaged networks
CN109905710B (zh) * 2012-06-12 2021-12-21 太阳专利托管公司 动态图像编码方法及装置、动态图像解码方法及装置
US20140056347A1 (en) 2012-08-23 2014-02-27 Microsoft Corporation Non-Transform Coding
CN104885470B (zh) * 2013-01-30 2018-08-07 英特尔公司 用于下一代视频的预测和编码的内容自适应划分
US20140254659A1 (en) * 2013-03-11 2014-09-11 Mediatek Inc. Video coding method using at least evaluated visual quality and related video coding apparatus
WO2014145921A1 (en) 2013-03-15 2014-09-18 Activevideo Networks, Inc. A multiple-mode system and method for providing user selectable video content
EP3005712A1 (en) 2013-06-06 2016-04-13 ActiveVideo Networks, Inc. Overlay rendering of user interface onto source video
FR3011429A1 (fr) * 2013-09-27 2015-04-03 Orange Codage et decodage video par heritage d'un champ de vecteurs de mouvement
WO2015052787A1 (ja) * 2013-10-09 2015-04-16 株式会社日立製作所 解析データ表示システムおよび解析データの転送表示方法
US9788029B2 (en) 2014-04-25 2017-10-10 Activevideo Networks, Inc. Intelligent multiplexing using class-based, multi-dimensioned decision logic for managed networks
US9392272B1 (en) 2014-06-02 2016-07-12 Google Inc. Video coding using adaptive source variance based partitioning
US9578324B1 (en) 2014-06-27 2017-02-21 Google Inc. Video coding using statistical-based spatially differentiated partitioning
US10264293B2 (en) * 2014-12-24 2019-04-16 Activevideo Networks, Inc. Systems and methods for interleaving video streams on a client device
US10523985B2 (en) 2014-12-24 2019-12-31 Activevideo Networks, Inc. Managing deep and shallow buffers in a thin-client device of a digital media distribution network
US10306229B2 (en) * 2015-01-26 2019-05-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual
US10827186B2 (en) * 2016-08-25 2020-11-03 Intel Corporation Method and system of video coding with context decoding and reconstruction bypass
WO2018041840A1 (en) * 2016-08-29 2018-03-08 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Improvements for greatest common line index (gcli) video coding
EP3291560A1 (en) * 2016-08-29 2018-03-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Encoder for encoding, and decoder for decoding, a 2-dimensional digital image representation into a data stream using applying additional information to a different coefficient
US10694202B2 (en) * 2016-12-01 2020-06-23 Qualcomm Incorporated Indication of bilateral filter usage in video coding
WO2019076138A1 (en) * 2017-10-16 2019-04-25 Huawei Technologies Co., Ltd. METHOD AND APPARATUS FOR ENCODING
BR112020016913A2 (pt) 2018-02-23 2020-12-15 Huawei Technologies Co., Ltd. Transformação de variação espacial dependente de posição para codificação de vídeo
CN114374840B (zh) * 2018-04-04 2024-04-12 阿里健康信息技术有限公司 一种图像编码方法、装置及存储介质
WO2019211519A1 (en) * 2018-05-02 2019-11-07 Nokia Technologies Oy A method and an apparatus for volumetric video encoding and decoding
KR102532021B1 (ko) 2018-05-31 2023-05-12 후아웨이 테크놀러지 컴퍼니 리미티드 적응적 변환 타입의 공간 가변 변환
US11323748B2 (en) 2018-12-19 2022-05-03 Qualcomm Incorporated Tree-based transform unit (TU) partition for video coding
US10728555B1 (en) * 2019-02-06 2020-07-28 Sony Corporation Embedded codec (EBC) circuitry for position dependent entropy coding of residual level data
CN110087077A (zh) * 2019-06-05 2019-08-02 广州酷狗计算机科技有限公司 视频编码方法及装置、存储介质
US11671607B2 (en) 2019-08-23 2023-06-06 Mitsubishi Electric Corporation Image transmission device, image reception device and computer readable medium
WO2021117500A1 (ja) * 2019-12-11 2021-06-17 ソニーグループ株式会社 画像処理装置、ビットストリーム生成方法、係数データ生成方法、および量子化係数生成方法
WO2021120067A1 (zh) * 2019-12-18 2021-06-24 深圳市大疆创新科技有限公司 数据编码方法、数据解码方法、数据处理方法、编码器、解码器、系统、可移动平台与计算机可读介质
IL295916A (en) * 2020-03-12 2022-10-01 Interdigital Vc Holdings France Method and device for encoding and decoding video
US11683509B1 (en) 2021-10-28 2023-06-20 Meta Platforms, Inc. Prediction unit skip detection in encoder
CN116074529A (zh) * 2022-01-07 2023-05-05 杭州海康威视数字技术股份有限公司 图像编解码方法、装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06327001A (ja) * 1993-05-11 1994-11-25 Olympus Optical Co Ltd 画像処理装置
JPH08502392A (ja) * 1992-09-01 1996-03-12 アプル・コンピュータ・インコーポレーテッド 改良されたベクトルの量子化のための前処理及び後処理
JPH1042295A (ja) * 1996-07-19 1998-02-13 Sony Corp 映像信号符号化方法および映像信号符号化装置
JPH10191324A (ja) * 1996-11-07 1998-07-21 Matsushita Electric Ind Co Ltd 画像符号化方法および画像符号化装置並びに画像符号化プログラムを記録した記録媒体
JP2001036908A (ja) * 1999-07-15 2001-02-09 Oki Electric Ind Co Ltd 動画像圧縮装置

Family Cites Families (194)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US546129A (en) * 1895-09-10 Stool
JPS56128070A (en) 1980-03-13 1981-10-07 Fuji Photo Film Co Ltd Band compressing equipment of variable density picture
JPH031688Y2 (ja) 1985-02-20 1991-01-18
JPS61205086A (ja) 1985-03-08 1986-09-11 Mitsubishi Electric Corp 画像符号化復号化装置
EP0207774B1 (en) 1985-07-02 1992-03-04 Matsushita Electric Industrial Co., Ltd. Block encoder
US4760461A (en) * 1986-02-28 1988-07-26 Kabushiki Kaisha Toshiba Binary data compression and expansion processing apparatus
FR2599577B1 (fr) 1986-05-29 1988-08-05 Guichard Jacques Procede de codage par transformation pour la transmission de signaux d'image.
US4800432A (en) 1986-10-24 1989-01-24 The Grass Valley Group, Inc. Video Difference key generator
DE3704777C1 (de) 1987-02-16 1988-04-07 Ant Nachrichtentech Verfahren zum UEbertragen und zum Wiedergeben von Fernsehbildsequenzen
NL8700565A (nl) 1987-03-10 1988-10-03 Philips Nv Televisiesysteem waarin aan een transformatiekodering onderworpen gedigitaliseerde beeldsignalen worden overgebracht van een kodeerstation naar een dekodeerstation.
DE3855114D1 (de) 1987-05-06 1996-04-25 Philips Patentverwaltung System zur Übertragung von Videobildern
DE3717057A1 (de) 1987-05-21 1988-12-01 Bayer Ag Verfahren zur herstellung von isocyanaten
US5033105A (en) * 1987-08-11 1991-07-16 Apple Computer Video compression algorithm
FR2648254B2 (fr) 1988-09-23 1991-08-30 Thomson Csf Procede et dispositif d'estimation de mouvement dans une sequence d'images animees
US5379351A (en) 1992-02-19 1995-01-03 Integrated Information Technology, Inc. Video compression/decompression processing and processors
JPH07109990B2 (ja) 1989-04-27 1995-11-22 日本ビクター株式会社 適応型フレーム間予測符号化方法及び復号方法
JP2562499B2 (ja) 1989-05-29 1996-12-11 日本電信電話株式会社 高能率画像符号化装置およびその復号化装置
JPH0822064B2 (ja) 1990-02-15 1996-03-04 三菱電機株式会社 変換符号化方式
EP0715469B1 (en) 1989-10-14 2001-09-12 Sony Corporation Video signal coding/decoding method and apparatus
JPH082107B2 (ja) 1990-03-02 1996-01-10 国際電信電話株式会社 動画像のハイブリッド符号化方法及びその装置
JPH03265290A (ja) 1990-03-14 1991-11-26 Toshiba Corp テレビジョン信号走査線変換器
US5091782A (en) 1990-04-09 1992-02-25 General Instrument Corporation Apparatus and method for adaptively compressing successive blocks of digital video
US4999705A (en) 1990-05-03 1991-03-12 At&T Bell Laboratories Three dimensional motion compensated video coding
US5155594A (en) 1990-05-11 1992-10-13 Picturetel Corporation Hierarchical encoding method and apparatus employing background references for efficiently communicating image sequences
US5068724A (en) 1990-06-15 1991-11-26 General Instrument Corporation Adaptive motion compensation for digital television
JP3037383B2 (ja) 1990-09-03 2000-04-24 キヤノン株式会社 画像処理システム及びその方法
US5193004A (en) * 1990-12-03 1993-03-09 The Trustees Of Columbia University In The City Of New York Systems and methods for coding even fields of interlaced video sequences
US5111292A (en) * 1991-02-27 1992-05-05 General Electric Company Priority selection apparatus as for a video signal processor
JPH0630280A (ja) 1991-03-19 1994-02-04 Nec Eng Ltd 2値画像データのブロック別選択型符号化前処理方式
DE4113505A1 (de) 1991-04-25 1992-10-29 Thomson Brandt Gmbh Verfahren zur bildsignalcodierung
JPH04334188A (ja) 1991-05-08 1992-11-20 Nec Corp 動画像信号の符号化方式
US5317397A (en) * 1991-05-31 1994-05-31 Kabushiki Kaisha Toshiba Predictive coding using spatial-temporal filtering and plural motion vectors
JP2977104B2 (ja) * 1991-07-26 1999-11-10 ソニー株式会社 動画像データエンコード方法および装置、並びに動画像データデコード方法および装置
US5539466A (en) 1991-07-30 1996-07-23 Sony Corporation Efficient coding apparatus for picture signal and decoding apparatus therefor
JP3001688B2 (ja) 1991-08-05 2000-01-24 株式会社大一商会 パチンコ球の循環制御装置
JP2991833B2 (ja) * 1991-10-11 1999-12-20 松下電器産業株式会社 インターレス走査ディジタルビデオ信号の符号化装置及びその方法
JP2962012B2 (ja) 1991-11-08 1999-10-12 日本ビクター株式会社 動画像符号化装置及びその復号装置
US5227878A (en) 1991-11-15 1993-07-13 At&T Bell Laboratories Adaptive coding and decoding of frames and fields of video
US5510840A (en) 1991-12-27 1996-04-23 Sony Corporation Methods and devices for encoding and decoding frame signals and recording medium therefor
JPH05199422A (ja) * 1992-01-20 1993-08-06 Fujitsu General Ltd 画像伝送装置
JP2524044B2 (ja) 1992-01-22 1996-08-14 松下電器産業株式会社 画像符号化方法及び画像符号化装置
US5287420A (en) * 1992-04-08 1994-02-15 Supermac Technology Method for image compression on a personal computer
KR0166716B1 (ko) 1992-06-18 1999-03-20 강진구 블럭 dpcm을 이용한 부호화/복호화방법 및 장치
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
US5666461A (en) 1992-06-29 1997-09-09 Sony Corporation High efficiency encoding and decoding of picture signals and recording medium containing same
US5412435A (en) * 1992-07-03 1995-05-02 Kokusai Denshin Denwa Kabushiki Kaisha Interlaced video signal motion compensation prediction system
JP2510456B2 (ja) 1992-08-27 1996-06-26 三菱電機株式会社 画像符号化装置
JPH06153180A (ja) 1992-09-16 1994-05-31 Fujitsu Ltd 画像データ符号化方法及び装置
JPH06113287A (ja) 1992-09-30 1994-04-22 Matsushita Electric Ind Co Ltd 画像符号化装置と画像復号化装置
US5982437A (en) 1992-10-26 1999-11-09 Sony Corporation Coding method and system, and decoding method and system
JPH06225279A (ja) 1992-10-26 1994-08-12 Sony Corp 符号化方法、復号化方法、符号化装置及び復号化装置
KR0166722B1 (ko) 1992-11-30 1999-03-20 윤종용 부호화 및 복호화방법 및 그 장치
US5400075A (en) 1993-01-13 1995-03-21 Thomson Consumer Electronics, Inc. Adaptive variable length encoder/decoder
US5491516A (en) * 1993-01-14 1996-02-13 Rca Thomson Licensing Corporation Field elimination apparatus for a video compression/decompression system
US5544286A (en) 1993-01-29 1996-08-06 Microsoft Corporation Digital video data compression technique
US5592228A (en) 1993-03-04 1997-01-07 Kabushiki Kaisha Toshiba Video encoder using global motion estimation and polygonal patch motion estimation
US5376968A (en) 1993-03-11 1994-12-27 General Instrument Corporation Adaptive compression of digital video data using different modes such as PCM and DPCM
JP3312417B2 (ja) 1993-03-18 2002-08-05 ソニー株式会社 画像信号符号化装置及び画像信号復号化装置
JPH06276481A (ja) 1993-03-18 1994-09-30 Sony Corp 画像信号符号化及び復号化方法、並びに記録媒体
CN1075323C (zh) 1993-03-24 2001-11-21 索尼公司 运动矢量编码和解码方法及装置,图像信号编码和解码方法及装置
EP0625853B1 (en) 1993-05-21 1999-03-03 Nippon Telegraph And Telephone Corporation Moving image encoder and decoder
US5448297A (en) 1993-06-16 1995-09-05 Intel Corporation Method and system for encoding images using skip blocks
US5517327A (en) 1993-06-30 1996-05-14 Minolta Camera Kabushiki Kaisha Data processor for image data using orthogonal transformation
US5477272A (en) 1993-07-22 1995-12-19 Gte Laboratories Incorporated Variable-block size multi-resolution motion estimation scheme for pyramid coding
US5453799A (en) * 1993-11-05 1995-09-26 Comsat Corporation Unified motion estimation architecture
JPH07135660A (ja) 1993-11-12 1995-05-23 Matsushita Electric Ind Co Ltd 動きベクトル符号化装置
US5465118A (en) 1993-12-17 1995-11-07 International Business Machines Corporation Luminance transition coding method for software motion video compression/decompression
EP0675652B1 (fr) * 1994-03-30 2009-05-13 Nxp B.V. Procédé et circuit d'estimation de mouvement entre images à deux trames entrelacées, et dispositif de codage de signaux numériques comprenant un tel circuit
US5550541A (en) 1994-04-01 1996-08-27 Dolby Laboratories Licensing Corporation Compact source coding tables for encoder/decoder system
US5767898A (en) * 1994-06-23 1998-06-16 Sanyo Electric Co., Ltd. Three-dimensional image coding by merger of left and right images
US5796438A (en) * 1994-07-05 1998-08-18 Sony Corporation Methods and apparatus for interpolating picture information
US5594504A (en) 1994-07-06 1997-01-14 Lucent Technologies Inc. Predictive video coding using a motion vector updating routine
JP3474005B2 (ja) 1994-10-13 2003-12-08 沖電気工業株式会社 動画像符号化方法及び動画像復号方法
US5552832A (en) * 1994-10-26 1996-09-03 Intel Corporation Run-length encoding sequence for video signals
EP0710033A3 (en) 1994-10-28 1999-06-09 Matsushita Electric Industrial Co., Ltd. MPEG video decoder having a high bandwidth memory
JPH08129128A (ja) 1994-11-01 1996-05-21 Canon Inc 光電変換素子又はラインセンサを用いた蓄積制御装置、及び焦点検出装置、視線検出装置及びカメラ
JPH08140099A (ja) 1994-11-11 1996-05-31 Canon Inc 符号化装置及び方法
JP2951861B2 (ja) 1994-12-28 1999-09-20 シャープ株式会社 画像符号化装置及び画像復号装置
EP0720383B1 (en) 1994-12-30 2000-09-13 Daewoo Electronics Co., Ltd Method and apparatus for detecting motion vectors in a frame decimating video encoder
EP0721287A1 (en) 1995-01-09 1996-07-10 Daewoo Electronics Co., Ltd Method and apparatus for encoding a video signal
JP3732867B2 (ja) 1995-03-09 2006-01-11 株式会社ルネサステクノロジ 画像伸張装置
US5731840A (en) 1995-03-10 1998-03-24 Kabushiki Kaisha Toshiba Video coding/decoding apparatus which transmits different accuracy prediction levels
KR0181027B1 (ko) 1995-03-20 1999-05-01 배순훈 화소 단위 움직임 추정을 이용하는 영상처리 시스템
KR0171118B1 (ko) 1995-03-20 1999-03-20 배순훈 비디오신호 부호화 장치
KR0181063B1 (ko) 1995-04-29 1999-05-01 배순훈 특징점을 이용한 움직임 보상에서의 그리드 형성방법 및 장치
JP3903496B2 (ja) 1995-06-05 2007-04-11 ソニー株式会社 画像符号化方法、符号化装置、復号方法および復号装置
US5835149A (en) 1995-06-06 1998-11-10 Intel Corporation Bit allocation in a coded video sequence
US5864711A (en) 1995-07-05 1999-01-26 Microsoft Corporation System for determining more accurate translation between first and second translator, and providing translated data to second computer if first translator is more accurate
US6208761B1 (en) 1995-07-11 2001-03-27 Telefonaktiebolaget Lm Ericsson (Publ) Video coding
US5687097A (en) 1995-07-13 1997-11-11 Zapex Technologies, Inc. Method and apparatus for efficiently determining a frame motion vector in a video encoder
US5668608A (en) 1995-07-26 1997-09-16 Daewoo Electronics Co., Ltd. Motion vector estimation method and apparatus for use in an image signal encoding system
US5764807A (en) * 1995-09-14 1998-06-09 Primacomp, Inc. Data compression using set partitioning in hierarchical trees
US5623313A (en) 1995-09-22 1997-04-22 Tektronix, Inc. Fractional pixel motion estimation of video signals
US5883678A (en) * 1995-09-29 1999-03-16 Kabushiki Kaisha Toshiba Video coding and video decoding apparatus for reducing an alpha-map signal at a controlled reduction ratio
US6307967B1 (en) 1995-09-29 2001-10-23 Kabushiki Kaisha Toshiba Video coding and video decoding apparatus
US5825929A (en) 1995-10-05 1998-10-20 Microsoft Corporation Transformation block optimization method
US6192081B1 (en) 1995-10-26 2001-02-20 Sarnoff Corporation Apparatus and method for selecting a coding mode in a block-based coding system
KR100211917B1 (ko) 1995-10-26 1999-08-02 김영환 물체 모양정보 부호화 방법
SE507410C2 (sv) 1995-11-08 1998-05-25 Ericsson Telefon Ab L M Förfarande och anordning för rörelseestimering
US5692063A (en) 1996-01-19 1997-11-25 Microsoft Corporation Method and system for unrestricted motion estimation for video
JP3371191B2 (ja) 1996-03-22 2003-01-27 ソニー株式会社 画像信号の符号化方法及び復号方法、並びに、符号化装置及び復号装置
US5764814A (en) 1996-03-22 1998-06-09 Microsoft Corporation Representation and encoding of general arbitrary shapes
US5982438A (en) 1996-03-22 1999-11-09 Microsoft Corporation Overlapped motion compensation for object coding
US6215910B1 (en) 1996-03-28 2001-04-10 Microsoft Corporation Table-based compression with embedded coding
KR100403077B1 (ko) 1996-05-28 2003-10-30 마쯔시다덴기산교 가부시키가이샤 화상예측 복호화 장치 및 그 방법과 화상예측 부호화 장치 및 그 방법
JP3628810B2 (ja) * 1996-06-28 2005-03-16 三菱電機株式会社 画像符号化装置
DE69731517T2 (de) 1996-07-11 2005-10-20 Koninklijke Philips Electronics N.V. Übertragung und empfang codierter videobilder
DE19637522A1 (de) 1996-09-13 1998-03-19 Bosch Gmbh Robert Verfahren zur Reduzierung von Daten in Videosignalen
KR100488422B1 (ko) 1996-09-24 2005-09-02 주식회사 팬택앤큐리텔 그레이스케일모양정보부호화/복호화장치및그방법
KR100303685B1 (ko) 1996-09-30 2001-09-24 송문섭 영상 예측부호화 장치 및 그 방법
US5748789A (en) 1996-10-31 1998-05-05 Microsoft Corporation Transparent block skipping in object-based video coding systems
JP4034380B2 (ja) * 1996-10-31 2008-01-16 株式会社東芝 画像符号化/復号化方法及び装置
JPH10145779A (ja) * 1996-11-06 1998-05-29 Sony Corp フィールド検出装置およびフィールド検出方法、画像符号化装置および画像符号化方法、並びに記録媒体および記録方法
EP0786907A3 (en) 1997-01-24 2001-06-13 Texas Instruments Incorporated Video encoder
CN100466747C (zh) * 1997-02-14 2009-03-04 日本电信电话株式会社 运动图像的预测编码装置和译码装置
US6005980A (en) 1997-03-07 1999-12-21 General Instrument Corporation Motion estimation and compensation of video object planes for interlaced digital video
US5991447A (en) 1997-03-07 1999-11-23 General Instrument Corporation Prediction and coding of bi-directionally predicted video object planes for interlaced digital video
US5974184A (en) 1997-03-07 1999-10-26 General Instrument Corporation Intra-macroblock DC and AC coefficient prediction for interlaced digital video
US6404813B1 (en) * 1997-03-27 2002-06-11 At&T Corp. Bidirectionally predicted pictures or video object planes for efficient and flexible video coding
JP4001969B2 (ja) 1997-03-31 2007-10-31 ソニー株式会社 符号化装置および方法、並びに復号装置および方法
US6259810B1 (en) 1997-04-15 2001-07-10 Microsoft Corporation Method and system of decoding compressed image data
US6064771A (en) 1997-06-23 2000-05-16 Real-Time Geometry Corp. System and method for asynchronous, adaptive moving picture compression, and decompression
US6351563B1 (en) * 1997-07-09 2002-02-26 Hyundai Electronics Ind. Co., Ltd. Apparatus and method for coding/decoding scalable shape binary image using mode of lower and current layers
JP3662129B2 (ja) * 1997-11-11 2005-06-22 松下電器産業株式会社 マルチメディア情報編集装置
US6148033A (en) 1997-11-20 2000-11-14 Hitachi America, Ltd. Methods and apparatus for improving picture quality in reduced resolution video decoders
US6111914A (en) 1997-12-01 2000-08-29 Conexant Systems, Inc. Adaptive entropy coding in adaptive quantization framework for video signal coding systems and processes
US5973743A (en) 1997-12-02 1999-10-26 Daewoo Electronics Co., Ltd. Mode coding method and apparatus for use in an interlaced shape coder
US6094225A (en) 1997-12-02 2000-07-25 Daewoo Electronics, Co., Ltd. Method and apparatus for encoding mode signals for use in a binary shape coder
JP3740813B2 (ja) * 1997-12-12 2006-02-01 ソニー株式会社 画像符号化方法および画像符号化装置
KR100252108B1 (ko) * 1997-12-20 2000-04-15 윤종용 Mpeg 압축부호화 및 복호화기를 채용한 디지털 기록 재생장치 및 그 방법
US5946043A (en) 1997-12-31 1999-08-31 Microsoft Corporation Video coding using adaptive coding of block parameters for coded/uncoded blocks
KR100281329B1 (ko) * 1998-01-31 2001-02-01 전주범 이진 형상 신호의 모드 신호 부호화 방법 및 그 복원 방법
KR100281462B1 (ko) 1998-03-30 2001-02-01 전주범 격행 부호화에서 이진 형상 신호의 움직임 벡터 부호화 방법
US6385345B1 (en) * 1998-03-31 2002-05-07 Sharp Laboratories Of America, Inc. Method and apparatus for selecting image data to skip when encoding digital video
US7263127B1 (en) * 1998-04-02 2007-08-28 Intel Corporation Method and apparatus for simplifying frame-based motion estimation
JP3888597B2 (ja) 1998-06-24 2007-03-07 日本ビクター株式会社 動き補償符号化装置、及び動き補償符号化復号化方法
DE69934939T2 (de) * 1998-06-29 2007-10-18 Xerox Corp. Kompression von Grenzen zwischen Bildern
US6275531B1 (en) 1998-07-23 2001-08-14 Optivision, Inc. Scalable video coding method and apparatus
TW444507B (en) 1998-10-22 2001-07-01 Sony Corp Detecting method and device for motion vector
US6573905B1 (en) 1999-11-09 2003-06-03 Broadcom Corporation Video and graphics system with parallel processing of graphics windows
US6563953B2 (en) * 1998-11-30 2003-05-13 Microsoft Corporation Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock
WO2000046989A1 (fr) 1999-02-05 2000-08-10 Sony Corporation Dispositifs de codage et de decodage et methodes correspondantes, systeme de codage et procede correspondant
JP3778721B2 (ja) 1999-03-18 2006-05-24 富士通株式会社 動画像符号化方法および装置
JP2000278692A (ja) * 1999-03-25 2000-10-06 Victor Co Of Japan Ltd 圧縮データ処理方法及び処理装置並びに記録再生システム
CN1107381C (zh) 1999-06-03 2003-04-30 鸿友科技股份有限公司 扫描图像实时压缩/解压缩方法
KR20010101329A (ko) 1999-10-29 2001-11-14 요트.게.아. 롤페즈 비디오 인코딩 방법
FR2802048B1 (fr) * 1999-12-01 2002-01-18 France Telecom Procede de diffusion de television numerique, signal numerique et equipement associes
US6483876B1 (en) 1999-12-28 2002-11-19 Sony Corporation Methods and apparatus for reduction of prediction modes in motion estimation
KR100739281B1 (ko) * 2000-02-21 2007-07-12 주식회사 팬택앤큐리텔 움직임 추정 방법 및 장치
CN1223196C (zh) * 2000-04-14 2005-10-12 索尼公司 解码器、解码方法
US6819714B2 (en) * 2000-04-20 2004-11-16 Matsushita Electric Industrial Co., Ltd. Video encoding apparatus that adjusts code amount by skipping encoding of image data
JP3669281B2 (ja) 2000-04-27 2005-07-06 三菱電機株式会社 符号化装置および符号化方法
CN1322759C (zh) 2000-04-27 2007-06-20 三菱电机株式会社 编码装置和编码方法
US6501397B1 (en) 2000-05-25 2002-12-31 Koninklijke Philips Electronics N.V. Bit-plane dependent signal compression
US6614442B1 (en) * 2000-06-26 2003-09-02 S3 Graphics Co., Ltd. Macroblock tiling format for motion compensation
KR100341063B1 (ko) * 2000-06-28 2002-06-20 송문섭 실시간 영상 통신을 위한 율제어 장치 및 그 방법
KR100353851B1 (ko) 2000-07-07 2002-09-28 한국전자통신연구원 파문 스캔 장치 및 그 방법과 그를 이용한 영상코딩/디코딩 장치 및 그 방법
WO2002062074A1 (en) 2001-01-22 2002-08-08 Webcast Technologies, Inc. Video encoding and decoding techniques and apparatus
US20030012287A1 (en) 2001-03-05 2003-01-16 Ioannis Katsavounidis Systems and methods for decoding of systematic forward error correction (FEC) codes of selected data in a video bitstream
US6677868B2 (en) * 2001-03-16 2004-01-13 Sharp Laboratories Of America, Inc. Entropy coding with adaptive syntax to replace high probability symbols with lower probabilities symbols
US20030012286A1 (en) 2001-07-10 2003-01-16 Motorola, Inc. Method and device for suspecting errors and recovering macroblock data in video coding
US6975680B2 (en) 2001-07-12 2005-12-13 Dolby Laboratories, Inc. Macroblock mode decision biasing for video compression systems
KR100642043B1 (ko) 2001-09-14 2006-11-03 가부시키가이샤 엔티티 도코모 부호화 방법, 복호 방법, 부호화 장치, 복호 장치, 화상 처리 시스템, 및 저장 매체
EP1445956A4 (en) 2001-11-16 2009-09-02 Ntt Docomo Inc IMAGE ENCODING METHOD, IMAGE DECODING METHOD, ENCODER AND IMAGE DECODER, PROGRAM, COMPUTER DATA SIGNAL, AND IMAGE TRANSMISSION SYSTEM
WO2003047272A2 (en) 2001-11-21 2003-06-05 General Instrument Corporation Macroblock level adaptive frame/field coding for digital video content
US6980596B2 (en) 2001-11-27 2005-12-27 General Instrument Corporation Macroblock level adaptive frame/field coding for digital video content
CN101448162B (zh) * 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
KR100925968B1 (ko) 2001-12-17 2009-11-09 마이크로소프트 코포레이션 컴퓨터 시스템에서 비디오 시퀀스의 복수의 비디오 화상을 처리하는 방법, 시스템 및 컴퓨터 판독가능 매체
US6870578B2 (en) 2001-12-19 2005-03-22 Thomson Licensing Sa. Apparatus and method for sharing signal control lines
US7003035B2 (en) 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
US6798364B2 (en) * 2002-02-05 2004-09-28 Intel Corporation Method and apparatus for variable length coding
KR100846769B1 (ko) 2002-02-19 2008-07-16 삼성전자주식회사 고정 연산량을 갖는 동영상 부호화 방법 및 그 장치
EP1347649A1 (en) * 2002-03-18 2003-09-24 Lg Electronics Inc. B picture mode determining method and apparatus in video coding system
US7099387B2 (en) 2002-03-22 2006-08-29 Realnetorks, Inc. Context-adaptive VLC video transform coefficients encoding/decoding methods and apparatuses
JP4151374B2 (ja) 2002-03-29 2008-09-17 セイコーエプソン株式会社 動画像符号化装置および動画像符号化方法
AU2003241877A1 (en) * 2002-06-28 2004-01-19 Matsushita Electric Industrial Co., Ltd. Moving picture encoding method, decoding method, data stream, data recording medium, and program
CN101039428B (zh) * 2002-07-15 2013-04-10 日立民用电子株式会社 动态图像编码方法及解码方法
US7822120B2 (en) 2002-07-26 2010-10-26 Panasonic Corporation Moving picture encoding method, moving picture decoding method, and recording medium
US7072394B2 (en) 2002-08-27 2006-07-04 National Chiao Tung University Architecture and method for fine granularity scalable video coding
US6795584B2 (en) 2002-10-03 2004-09-21 Nokia Corporation Context-based adaptive variable length coding for adaptive block transforms
WO2004038921A2 (en) 2002-10-23 2004-05-06 Divxnetworks, Inc. Method and system for supercompression of compressed digital video
JP4093405B2 (ja) 2002-10-25 2008-06-04 株式会社リコー 画像処理装置、プログラム及び記憶媒体
MXPA05014211A (es) 2003-06-25 2006-05-31 Thomson Licensing Codificacion de decision en modo rapido para inter-estructuras.
US20060257000A1 (en) 2003-06-25 2006-11-16 Boyce Jill M Decoding method an apparatus for detection of watermarks in a compressed video bitsream
US7092576B2 (en) * 2003-09-07 2006-08-15 Microsoft Corporation Bitplane coding for macroblock field/frame coding type information
US7724827B2 (en) 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US8107531B2 (en) * 2003-09-07 2012-01-31 Microsoft Corporation Signaling and repeat padding for skip frames
US7620106B2 (en) * 2003-09-07 2009-11-17 Microsoft Corporation Joint coding and decoding of a reference field selection and differential motion vector information
US7853980B2 (en) * 2003-10-31 2010-12-14 Sony Corporation Bi-directional indices for trick mode video-on-demand
KR20050061762A (ko) 2003-12-18 2005-06-23 학교법인 대양학원 부호화 모드 결정방법, 움직임 추정방법 및 부호화 장치
EP1558039A1 (en) * 2004-01-21 2005-07-27 Deutsche Thomson-Brandt Gmbh Method and apparatus for generating/evaluating prediction information in picture signal encoding/decoding
US7599435B2 (en) * 2004-01-30 2009-10-06 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video frame encoding and decoding
CN1293868C (zh) 2004-12-29 2007-01-10 朱旭祥 α-环丙氨酸在制备治疗心脑血管疾病药物中的应用
US7957610B2 (en) 2006-04-11 2011-06-07 Panasonic Corporation Image processing method and image processing device for enhancing the resolution of a picture by using multiple input low-resolution pictures

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08502392A (ja) * 1992-09-01 1996-03-12 アプル・コンピュータ・インコーポレーテッド 改良されたベクトルの量子化のための前処理及び後処理
JPH06327001A (ja) * 1993-05-11 1994-11-25 Olympus Optical Co Ltd 画像処理装置
JPH1042295A (ja) * 1996-07-19 1998-02-13 Sony Corp 映像信号符号化方法および映像信号符号化装置
JPH10191324A (ja) * 1996-11-07 1998-07-21 Matsushita Electric Ind Co Ltd 画像符号化方法および画像符号化装置並びに画像符号化プログラムを記録した記録媒体
JP2001036908A (ja) * 1999-07-15 2001-02-09 Oki Electric Ind Co Ltd 動画像圧縮装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LOUIS KEROFSKY ET AL: "Adaptive syntax for MBtype", ITU-T SG16 Q6 VCEG THIRTEENTH MEETING [VCEG-M14.DOC], JPN6012061300, April 2001 (2001-04-01), pages 1 - 6, ISSN: 0002798542 *

Also Published As

Publication number Publication date
HK1164594A1 (en) 2012-09-21
US7555167B2 (en) 2009-06-30
CN100452883C (zh) 2009-01-14
US20130235932A1 (en) 2013-09-12
US8428374B2 (en) 2013-04-23
US20190327464A1 (en) 2019-10-24
US9088785B2 (en) 2015-07-21
AU2002351389A1 (en) 2003-06-30
JP5442568B2 (ja) 2014-03-12
US20170078658A1 (en) 2017-03-16
US20030113026A1 (en) 2003-06-19
US20170374362A1 (en) 2017-12-28
US20090262835A1 (en) 2009-10-22
US20060262979A1 (en) 2006-11-23
US7379607B2 (en) 2008-05-27
EP2262269A3 (en) 2011-06-22
EP2262269A2 (en) 2010-12-15
US7200275B2 (en) 2007-04-03
US8781240B2 (en) 2014-07-15
CN102316320A (zh) 2012-01-11
EP1457056B1 (en) 2016-08-10
EP1457056A1 (en) 2004-09-15
CN102316320B (zh) 2014-07-09
ES2610430T3 (es) 2017-04-27
US20140286420A1 (en) 2014-09-25
CN1605213A (zh) 2005-04-06
KR20040068257A (ko) 2004-07-30
US10368065B2 (en) 2019-07-30
US10567753B2 (en) 2020-02-18
JP4610195B2 (ja) 2011-01-12
US20070110326A1 (en) 2007-05-17
ES2664270T3 (es) 2018-04-18
US20150288962A1 (en) 2015-10-08
WO2003053066A1 (en) 2003-06-26
HK1133140A1 (en) 2010-03-12
JP2010283893A (ja) 2010-12-16
JP5819347B2 (ja) 2015-11-24
KR100925968B1 (ko) 2009-11-09
US9774852B2 (en) 2017-09-26
US9538189B2 (en) 2017-01-03
EP2262269B1 (en) 2018-01-24
JP2005513883A (ja) 2005-05-12

Similar Documents

Publication Publication Date Title
JP5819347B2 (ja) スキップマクロブロックコード化
US7602851B2 (en) Intelligent differential quantization of video coding
JP5048146B2 (ja) Ac予測状態情報のためのビットプレーンコーディングおよびデコーディング
CN101448162B (zh) 处理视频图像的方法
JP4986622B2 (ja) 条件付き重複変換
US7830963B2 (en) Decoding jointly coded transform type and subblock pattern information
KR20050032113A (ko) 역방향 적응을 사용하는 비디오 코딩을 위한 속도-왜곡최적화된 데이터 분할 시스템 및 방법

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130722

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130723

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140423

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140723

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150123

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150511

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150515

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20150603

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: 20150901

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150930

R150 Certificate of patent or registration of utility model

Ref document number: 5819347

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

EXPY Cancellation because of completion of term