JP5012647B2 - 画像処理装置およびその方法、並びにプログラム - Google Patents

画像処理装置およびその方法、並びにプログラム Download PDF

Info

Publication number
JP5012647B2
JP5012647B2 JP2008119200A JP2008119200A JP5012647B2 JP 5012647 B2 JP5012647 B2 JP 5012647B2 JP 2008119200 A JP2008119200 A JP 2008119200A JP 2008119200 A JP2008119200 A JP 2008119200A JP 5012647 B2 JP5012647 B2 JP 5012647B2
Authority
JP
Japan
Prior art keywords
motion vector
data
deblocking
hybrid
prediction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008119200A
Other languages
English (en)
Other versions
JP2009272718A (ja
Inventor
勝彦 目次
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2008119200A priority Critical patent/JP5012647B2/ja
Priority to US12/431,869 priority patent/US8432971B2/en
Publication of JP2009272718A publication Critical patent/JP2009272718A/ja
Application granted granted Critical
Publication of JP5012647B2 publication Critical patent/JP5012647B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • 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
    • 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/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/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

Description

本発明は、デジタル画像を処理する画像処理装置およびその方法、並びにプログラムに関するものである。
近年、画像情報をデジタル化して取り扱い、その際、効率の高い情報の伝達および蓄積を目的とし、画像情報特有の冗長性を利用した画像処理装置が普及している。
特に、離散コサイン変換(Discrete Cosine Transform:DCT)等の直交変換と動き補償とにより圧縮するMEPG(Moving Picture Experts Group)などの方式に準拠した装置が普及している。
この種のビデオコーデックの仕様として、たとえばVC-1が知られている。
VC-1では、浮動小数点精度の離散コサイン変換(DCT)の代わりに整数変換を採用している。
このVC-1では、ピクチャ単位で動きベクトルの画素精度を1/2と1/4のうちのいずれからか選択可能な、いわゆる分数精度画素動き補償を行っている。ちなみに、MPEG‐4パート2では、ストリーム単位でしか画素精度を選択できない。
また、MPEG‐4では、動きベクトルをより小さい符号量で表現できるように、上、右上、左に隣接するマクロブロック(MB)の動きベクトルの中間値を予測ベクトルとして実際の動きベクトルと予測ベクトルの誤差を符号化する、いわゆるメジアン予測が行われる。
このメジアン予測の場合、局所的に大きさや向きが大幅に異なる動きベクトルが出現した場合、予測によって逆に符号量が増大するときがある。
VC‐1では、このメジアン予測を用いず、上ないし左のマクロブロックの動きベクトルをそのまま予測値として利用するマクロブロックを指定できる、ハイブリッド動きベクトル予測が行われる。
そして、VC‐1においては、1スライス(ピクチャ)内での各マクロブロック(MB)の逆量子化(IQ)、逆直交変換(IDCT)等を終了し、同一スライス内に含まれる全MBデータを復号した後、ノイズ低減のためのデブロッキング処理が行われる。
VC‐1のデブロッキングはループフィルタ(Loop Filter)で行われる。
この場合、図1に示すように、ループフィルタにおいて、ブロック境界の2画素値の平均化が行われる。
このデブロッキング処理においては、フレームに対応した処理が行われる。
I/B/BIフレームの場合、ブロックサイズを8x8の固定で全境界をデブロッキングする。
Pフレームの場合、図2に示すように、ブロックサイズ可変(8x8、8x4、4x8、4x4)であり、デブロッキング実行の条件は次の通りである。
1)ブロックのイントラ係数(intra coeff)がゼロでないブロックの境界、
2)隣接するブロックと動きベクトルの差分があるブロック、
にてデブロッキングが実行される。
図3は、Pフレームの動きベクトルの差分計算を説明するために模式的に示す図である。
動きベクトルの差分計算は、現在のマクロブロックMBCURに隣接する2つのマクロブロック、具体的には、上に隣接するマクロブロックMBABVと左に隣接するマクロブロックMBLFとの動きベクトルデータとの差分を計算する。
すなわち、図3に示すように、隣接する2つのマクロブロックの動きベクトルデータ (above_mv, left_mv) と現在のブロックの動きベクトルデータ (cur_mv) の差分を計算する。
この場合、それぞれの動きベクトルデータ取得時にメモリアクセスが発生する。
VC‐1のデブロッキングフィルタのうち、ビットストリームで制御を行う技術については、特許文献1に提案されている。
特開2005-86830号公報
VC−1のビデオデコーダのPフレームでは、次の2つの方法によって各ブロック境界でのデブロッキングの実行の必要性を判定する。
(1)ブロック境界で隣接する2つのブロックの動きベクトル同士を比較し、動きベクトルが異なる場合にそのブロック境界でデブロッキングを行う。
(2)あるブロックのデータが、そのブロックが参照する画像のデータのみで構成されず、ビットストリームからデータの追加を行う場合、そのブロックが接するブロック境界でデブロッキングを行う。
上記(1)の判定を行うためには、メモリアクセスを行ってメモリに格納された動きベクトルデータをロードする必要がある。
隣接する2つのブロックの動きベクトルのデータを比較するためには、2つのブロックの動きベクトルデータがそれぞれ縦方向と横方向データを持つため、4回のメモリアクセスが発生する。
図4は、隣接する動きベクトルのメモリ上のデータ配置例を示す図である。
図4に示すように、上下に隣接するブロックの動きベクトルはメモリ上では隣接していない上のブロックは前回のアクセス(上のブロックの動きベクトルの差分計算時)から時間が経っているためキャッシュミスの可能性が高い。
本発明は、デブロッキング処理時におけるメモリの動きベクトルデータへのアクセス回数を削減でき、ひいてはキャッシュミスを低減でき、全体処理の高速化を実現可能な画像処理装置およびその方法、並びにプログラムを提供することにある。
本発明の第1の観点の画像処理装置は、ブロック単位で直交変換を施して量子化された画像圧縮情報を逆量子化する逆量子化部と、逆量子化された係数データに対して逆直交変換処理を施し、復号画像データを出力する逆直交変換部と、可変長復号化処理を受けたデータによる動きベクトルのデコード結果によりハイブリッド動きベクトル予測を行い、その結果を動きベクトルデータとして形成し、デブロッキング実行時にハイブリッド動きベクトル予測の結果を再利用可能になるように、上記動きベクトルデータにデブロッキングの実行の必要性を示すハイブリッド予測情報を埋め込む動きベクトル予測部と、上記動きベクトル予測部による動きベクトルデータを受けて上記逆直交変換部の出力画像データの動き補償を行う動き補償部と、上記動きベクトルデータのハイブリッド予測情報に応じて、上記動き補償された復号画像データのデブロッキング処理を行うデブロッキング処理部と、現在および比較対象の上記動きベクトルデータが隣接または非隣接の状態で格納され、上記デブロッキング処理部によりアクセス可能なメモリと、を有し、上記動きベクトルデータは、参照画像上の位置を表す垂直方向と水平方向のそれぞれに対応して形成され、上記動きベクトル予測部は、動きベクトルデータを表すビット列の中に、動きベクトルデータを使用する演算に必要のないビットに上記ハイブリッド予測情報を埋め込み、上記デブロッキング処理部は、上記埋め込まれたハイブリッド予測情報に応じて、デブロッキングの実行の必要性の判定を行う
好適には、上記動きベクトル予測部は比較対象の動きベクトルと現在の動きベクトルとの差分の絶対値が閾値より大きいか否かを示す情報を上記ハイブリッド予測情報として埋め込み、上記デブロッキング処理部は、上記埋め込まれたハイブリッド予測情報が、比較対象の動きベクトルと現在の動きベクトルとの差分の絶対値が閾値より大きいことを示しているか否かに応じて、デブロッキングの実行の必要性の判定を行う
好適には、上記動きベクトルデータは、固定小数点形式のデータとして形成される。
好適には、上記動きベクトルデータは、符号ビット部、整数部、小数部を含む固定小数点形式であり、最下位ビット側に上記ハイブリッド予測情報が設定される。
本発明の第2の観点の画像処理方法は、ブロック単位で直交変換を施して量子化された画像圧縮情報を逆量子化する逆量子化ステップと、逆量子化された係数データに対して逆直交変換処理を施し、復号画像データを出力する逆直交変換ステップと、符号化されたデータを受けて可変長復号化処理を行い、このデータによる動きベクトルをデコードするデコードステップと、デコード結果によりハイブリッド動きベクトル予測を行い、その結果を動きベクトルデータとして生成する動きベクトル生成ステップと、デブロッキング実行時にハイブリッド動きベクトル予測の結果を再利用可能になるように、動きベクトルデータにデブロッキングの実行の必要性を示すハイブリッド予測情報を埋め込む動きベクトル予測ステップと、現在および比較対象の上記動きベクトルデータをデブロッキング処理でアクセス可能にメモリに隣接または非隣接の状態で格納する格納ステップと、動きベクトルデータを受けて上記逆直交変換ステップの出力画像データの動き補償を行う動き補償ステップと、上記動きベクトルデータのハイブリッド予測情報に応じて、上記動き補償された復号画像データのデブロッキング処理を行うデブロッキングステップと、を有し、上記動きベクトルデータは、参照画像上の位置を表す垂直方向と水平方向のそれぞれに対応して形成され、上記動きベクトル予測ステップでは、動きベクトルデータを表すビット列の中に、動きベクトルデータを使用する演算に必要のないビットに上記ハイブリッド予測情報を埋め込み、上記デブロッキングステップでは、上記埋め込まれたハイブリッド予測情報に応じて、デブロッキングの実行の必要性の判定を行う
本発明の第3の観点は、ブロック単位で直交変換を施して量子化された画像圧縮情報を逆量子化する逆量子化処理と、逆量子化された係数データに対して逆直交変換処理を施し、復号画像データを出力する逆直交変換処理と、符号化されたデータを受けて可変長復号化処理を行い、このデータによる動きベクトルをデコードするデコード処理と、デコード結果によりハイブリッド動きベクトル予測を行い、その結果を動きベクトルデータとして生成する動きベクトル生成処理と、デブロッキング実行時にハイブリッド動きベクトル予測の結果を再利用可能になるように、動きベクトルデータにデブロッキングの実行の必要性を示すハイブリッド予測情報を埋め込む動きベクトル予測処理と、現在および比較対象の上記動きベクトルデータをデブロッキング処理でアクセス可能にメモリに隣接または非隣接の状態で格納する格納処理と、上記動きベクトルデータをデブロッキング処理でアクセス可能にメモリに格納する格納処理と、動きベクトルデータを受けて上記逆直交変換処理の出力画像データの動き補償を行う動き補償処理と、上記動きベクトルデータのハイブリッド予測情報に応じて、上記動き補償された復号画像データのデブロッキング処理を行うデブロッキング処理と、を含み、上記動きベクトルデータは、参照画像上の位置を表す垂直方向と水平方向のそれぞれに対応して形成され、上記動きベクトル予測処理では、動きベクトルデータを表すビット列の中に、動きベクトルデータを使用する演算に必要のないビットに上記ハイブリッド予測情報を埋め込み、上記デブロッキング処理では、上記埋め込まれたハイブリッド予測情報に応じて、デブロッキングの実行の必要性の判定を行う画像処理をコンピュータに実行させるプログラムである。
本発明によれば、動きベクトル予測部において、ハイブリッド動きベクトル予測が行われ、その予測結果を動きベクトルデータとして生成される。そして、デブロッキング実行時にハイブリッド動きベクトル予測の結果が再利用可能となるように、動きベクトルデータにデブロッキングの実行性の必要性を示すハイブリッド予測情報が埋め込まれる。
デブロッキング処理部においては、動きベクトルデータのハイブリッド予測情報に応じて、動き補償された復号画像データのデブロッキング処理が行われる。
本発明によれば、デブロッキング処理時におけるメモリの動きベクトルデータへのアクセス回数を削減でき、ひいてはキャッシュミスを低減でき、全体処理の高速化を実現可能である。
以下、本発明の実施の形態を図面に関連付けて説明する。
図5は、本発明の実施形態に係る画像処理装置の構成を示すブロック図である。
本画像処理装置100は、図5に示すように、ストリーム分離部(BITSTREAM
PARSING)110、イントラMB(マクロブロック)処理部120、インタMB処理部130、動きベクトルデコードおよび予測部140、動き補償部150、加算部160、デブロッキング処理部としてのループフィルタ170、フレームバッファ180、および強度補償部190を有する。
また、図5において、符号200は、デコードされたフレームを示している。
本実施形態の画像処理装置100は、ノイズ低減のためのデブロッキングフィルタをもつようなビデオコーデックの信号処理においてデブロッキング実行に際して動きベクトルデコードおよび予測部140におけるハイブリッド動きベクトル予測結果を再利用する。
本実施形態の画像処理装置100は、特徴的な構成として、動きベクトル予測部と、動き補償部150と、デブロッキング処理部170とを有する。
動きベクトル予測部は、可変長復号化処理したデータによる動きベクトルのデコード結果によりハイブリッド動きベクトル予測を行う。動きベクトル予測部は、その結果を動きベクトルデータとして生成し、デブロッキング実行時にハイブリッド動きベクトル予測の結果を再利用可能になるように動きベクトルデータにデブロッキングの実行の必要性を示すハイブリッド予測情報を埋め込む。動き補償部150は、動きベクトルデータを受けて画像データの動き補償を行う。デブロッキング処理部170は、動きベクトルデータのハイブリッド予測情報に応じて、動き補償された復号画像データのデブロッキング処理を行う。
本実施形態の画像処理装置100においては、たとえば図6に示すように、隣接する2つのブロックの動きベクトルデータ (predictor_A, predictor_B) と現在のブロックの動きベクトルデータ (cur_mv) の差分を計算する。
そして、画像処理装置100は、計算の結果、x差分(水平方向の差分)とy差分(垂直方向の差分)の和が所定の値32より大きい場合、比較対象の動きベクトルで現在の動きベクトルを置換するように構成することが可能である。このことにより、デブロッキング処理時におけるメモリの動きベクトルデータへのアクセス回数を削減し、キャッシュミスを低減し、全体処理の高速化が実現される。
以下に、画像処理装置100の各部の構成、機能について具体的に説明する。
ストリーム分離部110は、入力されたビットストリームをヘッダ情報等に応じてイントラMBデータをイントラMB処理部120に供給し、インタMBデータをインタMB処理部130に供給し、動き検出に必要なデータを動きベクトルおよび予測部140に供給する。
イントラMB処理部120は、可変長復号化部(VLD)121、AC/DC予測部122、逆量子化部(IQ)123、逆直交変換部124、およびオーバラップスムージング部125を有する。
可変長復号化部121は、符号化されたデータを受けて可変長復号化処理を行い、処理の結果得られた量子化データをAC/DC予測部122に出力する。
AC/DC予測部122は、可変長復号化部121による量子化データに基づいてAC/DC予測を行い、その結果データを逆量子化部123に出力する。
DC予測とは、隣接した「左マクロブロック(MB)と左上MBのDC成分の変化量」と「左上MBと上MBのDC成分の変化量」を比較して、より傾きの小さい方向からが現在のMBのDC成分を予測する方式である。
AC予測とは、フレーム間予測を用いずに符号化された画素ブロックについて、単純にDCT(離散コサイン変換)の係数を量子化して符号化するのではない。
AC予測とは、DCT係数行列のうち最上列または最左行の値について、上または左の隣接ブロックの値の差分を符号化することによって符号量を削減する方式である。
逆量子化部123は、AC/DC予測部122による量子化データをマクロブロック(MB)ごとに、たとえば16画素×16ライン(あるいは8画素×8ライン、4画素×4ライン)のブロック単位で逆量子化する。
逆量子化部123は、得られたDCT(Discrete Cosine Transform:離散コサイン変換)係数データを逆直交変換部124に出力する。
逆直交変換部124は、逆量子化部123により供給されるDCT係数データに対して逆DCT(IDCT)処理を行い、得られた画素データをオーバラップスムージング部125に出力する。
オーバラップスムージング部125は、逆直交変換部124による画像データのブロック境界での歪みを軽減するために、ブロック境界をスムージングする(滑らかにする)フィルタリング処理を行う。
オーバラップスムージング部125は、処理後の画像データをデブロッキング処理部としてのループフィルタ170に出力する。
インタMB処理部130は、可変長復号化部131、逆量子化部132、および逆直交変換部133を有する。
可変長復号化部131は、符号化されたデータを受けて可変長復号化処理を行い、処理の結果得られた量子化データを逆量子化部132に出力する。
逆量子化部132は、可変長復号化部131による量子化データをマクロブロック(MB)ごとに、たとえば16画素×16ライン(あるいは8画素×8ライン、4画素×4ライン)のブロック単位で逆量子化する。
逆量子化部132は、得られたDCT(Discrete Cosine Transform:離散コサイン変換)係数データを逆直交変換部133に出力する。
逆直交変換部133は、逆量子化部132により供給されるDCT係数データに対して逆DCT(IDCT)処理を行い、得られた画素データを加算部160に出力する。
動きベクトルデコードおよび予測部140は、動きベクトル(MV)デコード部141および動きベクトル(MV)予測部142を有する。
動きベクトルデコード部141は、符号化されたデータを受けて可変長復号化処理を行い、このデータによる動きベクトルをデコードし、動きベクトル予測部142に出力する。
動きベクトル予測部142は、デコード結果により動きベクトルの予測、すなわちハイブリッド動きベクトル予測を行う。
動きベクトル予測部142は、予測結果を動きベクトルデータとして生成し、デブロッキング実行時にハイブリッド動きベクトル予測の結果を再利用可能になるように、動きベクトルデータにデブロッキングの実行の必要性を示すハイブリッド予測情報を埋め込。 動きベクトル予測部142は、ハイブリッド予測情報を埋め込みに際して、たとえば最下位ビットに0,1で設定する。
動きベクトル予測部142は、ハイブリッド予測情報が埋め込まれた動きベクトルデータを動きベクトル補償部150に出力する。
そして、動きベクトルデータはメモリMRYに格納される。メモリMRYは、デブロッキング処理部としてのループフィルタ170によりアクセスされる。
ここで、本実施形態に係る動きベクトルデータとハイブリッド動きベクトル予測処理について説明する。
図7は、本実施形態に係る動きベクトルデータの構成例を示す図である。
VC-1の動きベクトルデータ300は、図7に示すように、参照画像上の位置を表す縦方向(垂直方向)と横方向(水平方向)がそれぞれ(1)符号ビット部310、(2)整数部320、(3)小数部330をもつ固定小数点形式を有する。
動きベクトルデータ300の整数部320と小数部330のビット長は規格で規定されていないため、対象となる動画像をデコードするのに十分なビット長があれば、デコーダの実装者が自由に決定することが可能である。
小数部330は動き補償の1/4ピクセル精度を満たすため最低2ビット必要である。整数部320は高精細(HD)の動画像をデコードするための横方向の解像度2048ピクセルを表現できる11ビットで十分である。
そのため、動きベクトルデータを16ビットのデータとして格納するシステムの場合、動きベクトルデータ中に使用されないビットが発生する。
本実施形態においては、上記のように動きベクトルデータに使用されないビットがある場合に、その使用されないビットを動きベクトルデータの最下位ビットになるよう動きベクトルデータの形式を設定し(図7の網掛け部)、デブロッキングに先行して行われるハイブリッド動きベクトル予測の差分計算の結果をその動きベクトルデータの最下位ビット340に格納し、その結果を利用してデブロッキングの実行の必要性の判定を行う。
ハイブリッド動きベクトル予測は、動きベクトル予測の一部を構成する処理である。動きベクトル予測で予測したあるブロックの動きベクトルと周辺のブロックの動きベクトルとの比較を行った結果の差分が閾値を超える場合に、そのブロックの動きベクトルを、比較を行ったブロックの動きベクトルで置き換える処理を行う。
ハイブリッド動きベクトル予測で行う差分計算の結果は、縦方向と横方向の動きベクトルの差分絶対値を加算したものであり、最大16ビットの正の整数である。
本実施形態においては、比較命令を使用してその差分情報を差分があるときに1、ないときに0の1ビットのデータにする。
こうすることで差分情報は1ビットになる。
本実施形態の処理を要約すると図8(A)〜(E)に示すようになる。
ハイブリッド動きベクトル予測によって得られた動きベクトルデータ300は、本実施形態の手法で縦または横のどちらかのデータの最下位ビットにそのベクトルの差分情報が埋め込まれる(図8(A))。
動きベクトルデータを動き補償で使用する際は差分情報をマスクして動きベクトルデータのみを取り出して(図8(B))入力する(図8(D))。
また、動きベクトルデータをデブロッキングで使用する際は動きベクトルデータをマスクして差分情報のみを取り出して(図8(C))入力する(図8(E))。
動き補償部150は、動きベクトルデータ300を受けてピクチャ単位で動きベクトルの画素精度を1/2と1/4のうちのいずれからか選択可能で、いわゆる分数精度画素動き補償を行う。
動き補償部150は、動きベクトルデコードおよび予測部140により動作が制御され、加算部160でそのとき処理しているものがIピクチャである場合、この加算部160に対して何らデータを供給しない。
動き補償部150は、加算部160でそのとき処理しているものがPピクチャである場合、フレームバッファ180における過去のフレームに相当する画像データを読み出し、これに所定の演算処理を行って得られた演算データを加算部160に供給する。
また、動き補償部150は、加算部160でそのとき処理しているものがBピクチャである場合、フレームバッファ180における過去および未来のフレームに相当する画像データを読み出し、これに所定の演算処理を行って得られた演算データを加算部160に供給する。
なお、強度補償部190は、フレームバッファ180のデータのスケーリング等を行う。
加算部160は、インタMB処理部130の出力画像データと動き補償部150によるデータとを加算処理してデブロッキング処理部としてのループフィルタ170に出力する。
ループフィルタ170は、たとえばメモリ等に格納されている動きベクトルデータ300の最下位ビット340の1ビットの差分情報に応じてデブロッキング処理を行う。
ループフィルタ170は、差分情報が計算の結果、x差分(水平方向の差分)とy差分(垂直方向の差分)の和が所定の値32より大きい場合を示しているときは次の処理を行う。
すなわち、ループフィルタ170は、比較対象の動きベクトルで現在の動きベクトルを置換することにより、デブロッキング処理時におけるメモリの動きベクトルデータへのアクセス回数を削減し、キャッシュミスを低減し、全体処理の高速化を実現している。
次に、上記構成に基づく、本実施形態におけるハイブリッド動きベクトル予測およびデブロッキング時の動作を、VC‐1のデブロッキング実行判定動作原理を含めて、より具体的に説明する。
ここでは、Pフレームの場合について説明する。
<デブロッキング実行判定>
VC-1ビデオデコーダのPフレームでは、次の2つの方法によって各ブロック境界でのデブロッキングの実行の必要性を判定する。
(1)ブロック境界で隣接する2つのブロックの動きベクトル同士を比較し、動きベクトルが異なる場合にそのブロック境界でデブロッキングを行う。
(2)あるブロックのデータが、そのブロックが参照する画像のデータのみで構成されず、ビットストリームからデータの追加を行う場合、そのブロックが接するブロック境界でデブロッキングを行う。
上記(1)の判定を行うためには、メモリアクセスを行ってメモリに格納された動きベクトルデータをロードする必要がある。隣接する2つのブロックの動きベクトルのデータを比較するためには、2つのブロックの動きベクトルデータがそれぞれ縦方向と横方向データを持つため、4回のメモリアクセスが発生する。
しかしながら、VC-1ビデオデコーダでは、デブロッキングに先行して行われるハイブリッド動きベクトル予測にて隣接する2つのブロックの動きベクトルの比較を行っているため、その結果を利用することが可能である。
本実施形態においては、デブロッキング実行時にハイブリッド動きベクトル予測の結果を再利用可能とすることにより、本来必要のないメモリアクセスをなくし、この動きベクトルデータへの4回のメモリアクセス数を削減している。
<デブロッキング実行判定時の動きベクトルデータ参照>
図9は横方向80ピクセル、縦方向64ピクセルのフレームを16x16のマクロブロック(MB)単位に分割し、それぞれのMBに識別のためのアルファベットを付して示す図である。
図10は、図9におけるMB‐Mのデブロッキング実行判定時の参照MBについて示す図である。
図11は、動きベクトルを使用したデブロッキング実行判定の基本的な処理を示すフローチャートである。
VC-1ではデブロッキング実行判定時に、たとえばMのMB境界でデブロッキングの実行を行うか否かを、図10に示すように、MB‐HとMB‐Lのそれぞれの動きベクトル(MV_HおよびMV_L)を、MB‐Mの動きベクトル(MV_M)と比較し(ST1,ST2)、差分があった場合には差分のあるMBとの境界のデブロッキングを行う(ST3,ST4)、という処理を行う。
これらから、MB‐Mのデブロッキング実行判定を行うためにはMB‐HとMB‐Lそれぞれの動きベクトル(MV_H,MV_L)のデータが必要となることがわかる。
図12は、動きベクトルデータのメモリ上の配置の一例を示す図である。
図12の例においては、動きベクトルMV_Lのデータは動きベクトルMV_Mのデータとメモリ上で隣接しているが、動きベクトルMV_Hのデータは動きベクトルMV_Mのデータとメモリ上で隣接していないことがわかる。
そのため、MB‐Mのデブロッキング実行判定において、動きベクトルMV_Hのデータへのアクセス時にキャッシュミスの可能性が高くなる。
<ハイブリッドMV予測結果の利用によるデブロッキング時のMVデータ参照によるメモリアクセスの削減>
本実施形態においては、前述したように、デブロッキング実行判定の際の隣接するMBの動きベクトルMVデータの参照によるメモリMRYへのアクセスでのキャッシュミスを避けるため、「ハイブリッドMV予測結果の再利用」を実現している。
ハイブリッド動きベクトル(MV)予測とは、通常のMV予測に加え、予測されたMVと隣接するMVとの差分がある閾値を上回った場合に、このMVを隣接するMVで置き換える処理である。
図13は、ハイブリッド動きベクトル(MV)予測をMB‐Mに行った場合のデブロッキング判定処理のフローチャートを示す図である。
図13に示すように、まず、動きベクトル予測部142において、縦方向(垂直方向)の動きベクトルMV_Hと動きベクトルMV_Mの差分の絶対値SUMを計算する(ST11)。
そして、動きベクトル予測部142にて、差分の絶対値SUMが閾値32より大きいか否かの判別を行う(ST12)。
ここで、差分の絶対値SUMが閾値32より大きい場合には、動きベクトル予測部142は、動きベクトルデータの最下位ビット340にハイブリッドフラグHYBRIDPREDに「1」を設定する。
差分の絶対値SUMが閾値32より大きくない場合には、動きベクトル予測部142は、動きベクトルデータの最下位ビット340にハイブリッドフラグHYBRIDPREDに「0」を設定する。
そして、動き補償部150による動き補償を受けたインタMBの復号画像データは、加算部160を介してデブロッキング処理部としてのループフィルタ170に入力される。
なお、ハイブリッドフラグHYBRIDPREDは、VC−1ストリーム中でハイブリッド予測を行う際に「左」または「上」のいずれのブロックのベクトルを使用するかを指定するためのフラグである。
デブロッキング処理部としてのループフィルタ170においては、デブロッキング実行判定において、動きベクトルデータ300の最下位ビット340のハイブリッドフラグHYBRIDPREDが「1」であるか否かの判別を行う(ST13)。
ループフィルタ170においては、ハイブリッドフラグHYBRIDPREDが「1」である場合には、比較対象の動きベクトルMV_Hで現在の動きベクトルMV_Mを置換する(ST14)。
ループフィルタ170においては、ハイブリッドフラグHYBRIDPREDが「0」である場合には、比較対象の動きベクトルMV_Lで現在の動きベクトルMV_Mを置換する(ST15)。
以上の処理と並行して、動きベクトル予測部142において、横方向(水平方向)の動きベクトルMV_Lと動きベクトルMV_Mの差分の絶対値SUMを計算する(ST16)。
そして、動きベクトル予測部142にて、差分の絶対値SUMが閾値32より大きいか否かの判別を行う(ST17)。
ここで、差分の絶対値SUMが閾値32より大きい場合には、動きベクトル予測部142は、動きベクトルデータの最下位ビット340にハイブリッドフラグHYBRIDPREDに「1」を設定する。
差分の絶対値SUMが閾値32より大きくない場合には、動きベクトル予測部142は、動きベクトルデータの最下位ビット340にハイブリッドフラグHYBRIDPREDに「0」を設定する。
そして、動き補償部150による動き補償を受けたインタMBの復号画像データは、加算部160を介してデブロッキング処理部としてのループフィルタ170に入力される。
デブロッキング処理部としてのループフィルタ170においては、デブロッキング実行判定において、動きベクトルデータ300の最下位ビット340のハイブリッドフラグHYBRIDPREDが「1」であるか否かの判別を行う(ST18)。
ループフィルタ170においては、ハイブリッドフラグHYBRIDPREDが「1」である場合には、比較対象の動きベクトルMV_Hで現在の動きベクトルMV_Mを置換する(ST19)。
ループフィルタ170においては、ハイブリッドフラグHYBRIDPREDが「0」である場合には、比較対象の動きベクトルMV_Lで現在の動きベクトルMV_Mを置換する(ST20)。
このように、デブロッキング実行判定処理で行うMVの差分計算は、動きベクトル予測部142におけるハイブリッドMV予測処理によって既に行われている。
このため、本実施形態においては新たなデータをロード/ストアを行うことなくその結果を再利用することができように処理されており、デブロッキングの実行判定処理時に周辺の動きベクトル(MV)データにアクセスする必要がない。
次に、ハイブリッド動きベクトル予測時に動きベクトルの差分情報を動きベクトル(MV)データに埋め込む処理について説明する。
図14は、ハイブリッド動きベクトル予測時に動きベクトルの差分情報を動きベクトル(MV)データに埋め込む処理のフローチャートを示す図である。
図14に示すように、まず、動きベクトル予測部142において、縦方向(垂直方向)の動きベクトルMV_Hと動きベクトルMV_Mの差分の絶対値SUMを計算する(ST21)。
そして、動きベクトル予測部142にて、差分の絶対値SUMが0であるか否かの判別を行う(ST22)。ステップST22において、0でないと判別すると、現在の動きベクトルMV_Mを0x1とする(ここでの0xは16進(ヘキサ)を示す)(ST23)。
次に、動きベクトル予測部142にて、差分の絶対値SUMが閾値32より大きいか否かの判別を行う(ST24)。
ここで、差分の絶対値SUMが閾値32より大きい場合には、動きベクトル予測部142は、動きベクトルデータの最下位ビット340にハイブリッドフラグHYBRIDPREDに「1」を設定する。
差分の絶対値SUMが閾値32より大きくない場合には、動きベクトル予測部142は、動きベクトルデータの最下位ビット340にハイブリッドフラグHYBRIDPREDに「0」を設定する。
そして、動きベクトル予測部142において、ハイブリッドフラグHYBRIDPREDが「1」である場合には(ST25)、比較対象の動きベクトルMV_Hの差分情報を現在の動きベクトルMV_Mに埋め込む(ST26)。この場合、動きベクトルMV_Hの情報として、図14の例では、「0xfffefffe」が埋め込まれる。
動きベクトル予測部142において、ハイブリッドフラグHYBRIDPREDが「0」である場合には、比較対象の動きベクトルMV_Lの差分情報を現在の動きベクトルMV_Mに埋め込む(ST27)。この場合、動きベクトルMV_Lの情報として、図14の例では、「0xfffefffe」が埋め込まれる。
以上の処理と並行して、動きベクトル予測部142において、横方向(水平方向)の動きベクトルMV_Lと動きベクトルMV_Mの差分の絶対値SUMを計算する(ST28)。
そして、動きベクトル予測部142にて、差分の絶対値SUMが0であるか否かの判別を行う(ST29)。ステップST29において、0でないと判別すると、現在の動きベクトルMV_Mを0x10000とする(ST30)。
次に、動きベクトル予測部142にて、差分の絶対値SUMが閾値32より大きいか否かの判別を行う(ST31)。
ここで、差分の絶対値SUMが閾値32より大きい場合には、動きベクトル予測部142は、動きベクトルデータの最下位ビット340にハイブリッドフラグHYBRIDPREDに「1」を設定する。
差分の絶対値SUMが閾値32より大きくない場合には、動きベクトル予測部142は、動きベクトルデータの最下位ビット340にハイブリッドフラグHYBRIDPREDに「0」を設定する。
そして、動きベクトル予測部142において、ハイブリッドフラグHYBRIDPREDが「1」である場合には(ST32)、比較対象の動きベクトルMV_Hの差分情報を現在の動きベクトルMV_Mに埋め込む(ST33)。この場合、動きベクトルMV_Hの情報として、図14の例では、「0xfffefffe」が埋め込まれる。
動きベクトル予測部142において、ハイブリッドフラグHYBRIDPREDが「0」である場合には、比較対象の動きベクトルMV_Lの差分情報を現在の動きベクトルMV_Mに埋め込む(ST27)。この場合、動きベクトルMV_Lの情報として、図14の例では、「0xfffefffe」が埋め込まれる。
このように、本実施形態においては、ハイブリッド動きベクトル(MV)予測の際に、図14のように、動きベクトルの差分情報をMVに埋め込む。差分情報を埋め込む位置は、図7の通りである。
既に述べたように、差分情報の埋め込み位置は、動きベクトルの成分である16ビット固定小数点数の小数部最下位ビットであるが、小数部に必要とされる精度は2ビットなので、最下位ビットは使用されない。そのため、差分情報を埋め込んでも動きベクトルのデータそのものは失われることはない。
動きベクトルデータの使用時には差分情報をマスクし、差分情報の使用時には動きベクトルデータをマスクすることで、双方に影響を与えることなく使用が可能である。
以上説明したように、本実施形態によれば、画像処理装置100は、特徴的な構成として、動きベクトル予測部142と、動き補償部150と、デブロッキング処理部170とを有している。
動きベクトル予測部142は、ノイズ低減のためのデブロッキングフィルタをもつようなたとえばビデオコーデックの信号処理において、可変長復号化処理したデータによる動きベクトルのデコード結果によりハイブリッド動きベクトル予測を行う。
動きベクトル予測部142は、その結果を動きベクトルデータとして生成し、デブロッキング実行時にハイブリッド動きベクトル予測の結果を再利用可能になるように動きベクトルデータにデブロッキングの実行の必要性を示すハイブリッド予測情報を埋め込む。
動き補償部150は、動きベクトルデータを受けて画像データの動き補償を行う。
デブロッキング処理部170は、動きベクトルデータのハイブリッド予測情報に応じて、動き補償された復号画像データのデブロッキング処理を行う。
そして、画像処理Sプチ100においては、たとえば、デブロッキング実行に際して、動きベクトルデコードおよび予測部140におけるハイブリッド動きベクトル予測結果を再利用する。
ハイブリッド動きベクトル予測の場合に、たとえば図6に示すように、隣接する2つのブロックの動きベクトルデータ (predictor_A, predictor_B) と現在のブロックの動きベクトルデータ (cur_mv) の差分を計算する。
計算の結果、x差分(水平方向の差分)とy差分(垂直方向の差分)の和が所定の値32より大きい場合、比較対象の動きベクトルで現在の動きベクトルを置換する。
したがって、本実施形態によれば、以下の効果を得ることができる。
(1)メモリアクセスの削減:
演算結果を再利用することで、デブロッキングの実行の必要性を判定する際の隣接するブロックの動きベクトルデータへのメモリアクセスを削減することができる。デブロッキングの実行の必要性を判定するためには左と上の2つの隣接するブロックの動きベクトルデータが必要であり、それぞれ縦方向と横方向のデータがあるので、1ブロックあたり合計4回のメモリアクセスを削減することができる。
(2)演算量の削減:
演算結果を再利用することで、デブロッキングの実行の必要性を判定する際の演算を削減することができる。メモリアクセスを行って得た動きベクトルデータ1個につき1回の減算が削減されるので、1ブロックあたり合計4回の減算を削減することができる。
また、以上詳細に説明した方法は、上記手順に応じたプログラムとして形成し、CPU等のコンピュータで実行するように構成することも可能である。
また、このようなプログラムは、半導体メモリ、磁気ディスク、光ディスク、フロッピー(登録商標)ディスク等の記録媒体、この記録媒体をセットしたコンピュータによりアクセスし上記プログラムを実行するように構成可能である。
VC‐1のデブロッキングを説明するための図である。 ブロックサイズを可変であることを示す図である。 動きベクトルの差分計算を模式的に示す図である。 隣接する動きベクトルのメモリ上のデータ配置例を示す図である。 本発明の実施形態に係る画像処理装置の構成例を示すブロック図である。 隣接する2つのブロックの動きベクトルデータと現在のブロックの動きベクトルデータの差分計算を模式的に示す図である。 本実施形態に係る動きベクトルデータの構成例を示す図である。 ハイブリッド動きベクトル予測によって得られた動きベクトルデータを用いた関連処理を説明するための図である。 横方向80ピクセル、縦方向64ピクセルのフレームを16x16のマクロブロック(MB)単位に分割し、それぞれのMBに識別のためのアルファベットを付して示す図である。 図9におけるMB‐Mのデブロッキング実行判定時の参照MBについて示す図である。 動きベクトルを使用したデブロッキング実行判定の基本的な処理を示すフローチャートである。 動きベクトルデータのメモリ上の配置の一例を示す図である。 ハイブリッド動きベクトル(MV)予測をMB‐Mに行った場合のデブロッキング判定処理のフローチャートを示す図である。 ハイブリッド動きベクトル予測時に動きベクトルの差分情報を動きベクトル(MV)データに埋め込む処理のフローチャートを示す図である。
符号の説明
100・・・画像処理装置、110・・・ストリーム分離部、120・・・イントラMB処理部、130・・・インタMB処理部、140・・・動きベクトルデコードおよび予測部、141・・・動きベクトルデコード部、142・・・動きベクトル予測部、150・・・動き補償部、160・・・加算部、170・・・デブロッキング処理部としてのループフィルタ、180・・・フレームバッファ、190・・・強度補償部。

Claims (9)

  1. ブロック単位で直交変換を施して量子化された画像圧縮情報を逆量子化する逆量子化部と、
    逆量子化された係数データに対して逆直交変換処理を施し、復号画像データを出力する逆直交変換部と、
    可変長復号化処理を受けたデータによる動きベクトルのデコード結果によりハイブリッド動きベクトル予測を行い、その結果を動きベクトルデータとして形成し、デブロッキング実行時にハイブリッド動きベクトル予測の結果を再利用可能になるように、上記動きベクトルデータにデブロッキングの実行の必要性を示すハイブリッド予測情報を埋め込む動きベクトル予測部と、
    上記動きベクトル予測部による動きベクトルデータを受けて上記逆直交変換部の出力画像データの動き補償を行う動き補償部と、
    上記動きベクトルデータのハイブリッド予測情報に応じて、上記動き補償された復号画像データのデブロッキング処理を行うデブロッキング処理部と、
    現在および比較対象の上記動きベクトルデータが隣接または非隣接の状態で格納され、上記デブロッキング処理部によりアクセス可能なメモリと、を有し、
    上記動きベクトルデータは、
    参照画像上の位置を表す垂直方向と水平方向のそれぞれに対応して形成され、
    上記動きベクトル予測部は、
    動きベクトルデータを表すビット列の中に、動きベクトルデータを使用する演算に必要のないビットに上記ハイブリッド予測情報を埋め込み、
    上記デブロッキング処理部は、
    上記埋め込まれたハイブリッド予測情報に応じて、デブロッキングの実行の必要性の判定を行う
    画像処理装置。
  2. 上記動きベクトル予測部は
    比較対象の動きベクトルと現在の動きベクトルとの差分の絶対値が閾値より大きいか否かを示す情報を上記ハイブリッド予測情報として埋め込み、
    上記デブロッキング処理部は、
    上記埋め込まれたハイブリッド予測情報が、比較対象の動きベクトルと現在の動きベクトルとの差分の絶対値が閾値より大きいことを示しているか否かに応じて、デブロッキングの実行の必要性の判定を行う
    請求項1記載の画像処理装置。
  3. 上記動きベクトルデータは、
    固定小数点形式のデータとして形成される
    請求項1または2記載の画像処理装置。
  4. 上記動きベクトルデータは、
    符号ビット部、整数部、小数部を含む固定小数点形式であり、最下位ビット側に上記ハイブリッド予測情報が設定される
    請求項3記載の画像処理装置。
  5. ブロック単位で直交変換を施して量子化された画像圧縮情報を逆量子化する逆量子化ステップと、
    逆量子化された係数データに対して逆直交変換処理を施し、復号画像データを出力する逆直交変換ステップと、
    符号化されたデータを受けて可変長復号化処理を行い、このデータによる動きベクトルをデコードするデコードステップと、
    デコード結果によりハイブリッド動きベクトル予測を行い、その結果を動きベクトルデータとして生成する動きベクトル生成ステップと、
    デブロッキング実行時にハイブリッド動きベクトル予測の結果を再利用可能になるように、動きベクトルデータにデブロッキングの実行の必要性を示すハイブリッド予測情報を埋め込む動きベクトル予測ステップと、
    現在および比較対象の上記動きベクトルデータをデブロッキング処理でアクセス可能にメモリに隣接または非隣接の状態で格納する格納ステップと、
    動きベクトルデータを受けて上記逆直交変換ステップの出力画像データの動き補償を行う動き補償ステップと、
    上記動きベクトルデータのハイブリッド予測情報に応じて、上記動き補償された復号画像データのデブロッキング処理を行うデブロッキングステップと、を有し、
    上記動きベクトルデータは、
    参照画像上の位置を表す垂直方向と水平方向のそれぞれに対応して形成され、
    上記動きベクトル予測ステップでは、
    動きベクトルデータを表すビット列の中に、動きベクトルデータを使用する演算に必要のないビットに上記ハイブリッド予測情報を埋め込み、
    上記デブロッキングステップでは、
    上記埋め込まれたハイブリッド予測情報に応じて、デブロッキングの実行の必要性の判定を行う
    画像処理方法。
  6. 上記動きベクトル予測ステップでは、
    比較対象の動きベクトルと現在の動きベクトルとの差分の絶対値が閾値より大きいか否かを示す情報を上記ハイブリッド予測情報として埋め込み、
    上記デブロッキングステップでは、
    上記埋め込まれたハイブリッド予測情報が、比較対象の動きベクトルと現在の動きベクトルとの差分の絶対値が閾値より大きいことを示しているか否かに応じて、デブロッキングの実行の必要性の判定を行う
    請求項5記載の画像処理方法。
  7. 上記動きベクトルデータは、
    固定小数点形式のデータとして形成される
    請求項5または6記載の画像処理方法。
  8. 上記動きベクトルデータは、
    符号ビット部、整数部、小数部を含む固定小数点形式であり、最下位ビット側に上記ハイブリッド予測情報が設定される
    請求項7記載の画像処理方法。
  9. ブロック単位で直交変換を施して量子化された画像圧縮情報を逆量子化する逆量子化処理と、
    逆量子化された係数データに対して逆直交変換処理を施し、復号画像データを出力する逆直交変換処理と、
    符号化されたデータを受けて可変長復号化処理を行い、このデータによる動きベクトルをデコードするデコード処理と、
    デコード結果によりハイブリッド動きベクトル予測を行い、その結果を動きベクトルデータとして生成する動きベクトル生成処理と、
    デブロッキング実行時にハイブリッド動きベクトル予測の結果を再利用可能になるように、動きベクトルデータにデブロッキングの実行の必要性を示すハイブリッド予測情報を埋め込む動きベクトル予測処理と、
    現在および比較対象の上記動きベクトルデータをデブロッキング処理でアクセス可能にメモリに隣接または非隣接の状態で格納する格納処理と、
    上記動きベクトルデータをデブロッキング処理でアクセス可能にメモリに格納する格納処理と、
    動きベクトルデータを受けて上記逆直交変換処理の出力画像データの動き補償を行う動き補償処理と、
    上記動きベクトルデータのハイブリッド予測情報に応じて、上記動き補償された復号画像データのデブロッキング処理を行うデブロッキング処理と、を含み、
    上記動きベクトルデータは、
    参照画像上の位置を表す垂直方向と水平方向のそれぞれに対応して形成され、
    上記動きベクトル予測処理では、
    動きベクトルデータを表すビット列の中に、動きベクトルデータを使用する演算に必要のないビットに上記ハイブリッド予測情報を埋め込み、
    上記デブロッキング処理では、
    上記埋め込まれたハイブリッド予測情報に応じて、デブロッキングの実行の必要性の判定を行う
    画像処理をコンピュータに実行させるプログラム。
JP2008119200A 2008-04-30 2008-04-30 画像処理装置およびその方法、並びにプログラム Expired - Fee Related JP5012647B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008119200A JP5012647B2 (ja) 2008-04-30 2008-04-30 画像処理装置およびその方法、並びにプログラム
US12/431,869 US8432971B2 (en) 2008-04-30 2009-04-29 Image processing apparatus, image processing method and image processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008119200A JP5012647B2 (ja) 2008-04-30 2008-04-30 画像処理装置およびその方法、並びにプログラム

Publications (2)

Publication Number Publication Date
JP2009272718A JP2009272718A (ja) 2009-11-19
JP5012647B2 true JP5012647B2 (ja) 2012-08-29

Family

ID=41257059

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008119200A Expired - Fee Related JP5012647B2 (ja) 2008-04-30 2008-04-30 画像処理装置およびその方法、並びにプログラム

Country Status (2)

Country Link
US (1) US8432971B2 (ja)
JP (1) JP5012647B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8625914B2 (en) * 2013-02-04 2014-01-07 Sony Corporation Image processing system, image processing method and program
EP2200321A1 (en) 2008-12-19 2010-06-23 Thomson Licensing Method for browsing video streams
US9237355B2 (en) * 2010-02-19 2016-01-12 Qualcomm Incorporated Adaptive motion resolution for video coding
JP5477575B2 (ja) * 2010-02-23 2014-04-23 日本電気株式会社 超解像化制御のための圧縮復号方法及び超解像化制御のための圧縮復号回路
US8976856B2 (en) * 2010-09-30 2015-03-10 Apple Inc. Optimized deblocking filters
US10327008B2 (en) 2010-10-13 2019-06-18 Qualcomm Incorporated Adaptive motion vector resolution signaling for video coding
US8862769B2 (en) 2010-11-23 2014-10-14 Qualcomm Incorporated Object-based transport protocol
US9326007B2 (en) * 2011-11-10 2016-04-26 Stmicroelectronics Asia Pacific Pte. Ltd. Motion compensated de-blocking
US10631005B2 (en) * 2014-04-21 2020-04-21 Qualcomm Incorporated System and method for coding in block prediction mode for display stream compression (DSC)
US10715819B2 (en) * 2017-04-26 2020-07-14 Canon Kabushiki Kaisha Method and apparatus for reducing flicker
WO2019000443A1 (zh) * 2017-06-30 2019-01-03 华为技术有限公司 一种帧间预测的方法及装置
WO2020024152A1 (zh) * 2018-08-01 2020-02-06 深圳市大疆创新科技有限公司 视频处理设备和方法
JP7386883B2 (ja) * 2019-02-27 2023-11-27 テレフオンアクチーボラゲット エルエム エリクソン(パブル) サブペル動きベクトルしきい値を使用するデブロッキング

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3057746B2 (ja) * 1990-10-31 2000-07-04 日本ビクター株式会社 インターレース動画像の符号化方法
US8107535B2 (en) * 2003-06-10 2012-01-31 Rensselaer Polytechnic Institute (Rpi) Method and apparatus for scalable motion vector coding
US8625680B2 (en) 2003-09-07 2014-01-07 Microsoft Corporation Bitstream-controlled post-processing filtering
US7567617B2 (en) * 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
EP1564997A1 (en) * 2004-02-12 2005-08-17 Matsushita Electric Industrial Co., Ltd. Encoding and decoding of video images based on a quantization with an adaptive dead-zone size
KR100843196B1 (ko) * 2004-12-17 2008-07-02 삼성전자주식회사 H.264/avc 비디오 디코더의 디블록킹 필터
JP2007036889A (ja) * 2005-07-28 2007-02-08 Sanyo Electric Co Ltd 符号化方法

Also Published As

Publication number Publication date
US8432971B2 (en) 2013-04-30
US20090274215A1 (en) 2009-11-05
JP2009272718A (ja) 2009-11-19

Similar Documents

Publication Publication Date Title
JP5012647B2 (ja) 画像処理装置およびその方法、並びにプログラム
RU2673277C1 (ru) Способ и устройство для кодирования или декодирования изображения с предсказанием информации движения между уровнями в соответствии со схемой сжатия информации движения
JP4182442B2 (ja) 画像データの処理装置、画像データの処理方法、画像データの処理方法のプログラム及び画像データの処理方法のプログラムを記録した記録媒体
KR100963864B1 (ko) 스케일러블 비디오 코딩에서의 계층 간 예측 모드 코딩을위한 방법 및 시스템
TWI461065B (zh) 重疊平滑與迴路內(in-loop)去區塊(deblocking)之分段處理
KR101455578B1 (ko) 동화상 부호화 장치 및 동화상 복호 장치
KR101362590B1 (ko) 화상 처리 장치 및 방법
US20170188033A1 (en) Method and Apparatus of Bandwidth Estimation and Reduction for Video Coding
KR20070111467A (ko) 중간 루프 필터 데이터를 저장하는 스크래치 패드
JP2013504256A (ja) シーン切替検出
JP5004180B2 (ja) 動画像符号化装置および復号装置
JP2007531345A (ja) 高速サーチ・ブロック・マッチングを用いた動き推定
JP2007013298A (ja) 画像符号化装置
KR101364532B1 (ko) 인접 파티션의 크기를 고려한 움직임 벡터 예측 방법,장치, 인코더, 디코더 및 복호화 방법
JP2011010197A (ja) 画像符号化装置及び画像復号装置
KR101051871B1 (ko) 디블록킹 필터에서의 경계면 세기 계수 판단 장치 및 방법
JP2006270851A (ja) 画像符号化装置及び画像復号装置
JP5137532B2 (ja) 画像符号化装置及び画像符号化方法
KR20130049736A (ko) 인터 예측 방법 및 장치
KR100899658B1 (ko) 고속 동작을 위한 mpeg2/h.264 디지털 비디오트랜스코딩 시스템 및 방법
JP4906458B2 (ja) 画像符号化装置、画像符号化方法
JP4779977B2 (ja) 画像符号化・復号化装置
WO2011105230A1 (ja) フィルタ係数符号化装置、フィルタ係数復号装置、動画像符号化装置、動画像復号装置、および、データ構造
JP2009246455A (ja) 復号装置および復号方法
JP4847423B2 (ja) 動画像符号化装置、および、コンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110304

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120131

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120326

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120521

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

Free format text: PAYMENT UNTIL: 20150615

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20150615

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees