JP2016046641A - 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 - Google Patents
画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 Download PDFInfo
- Publication number
- JP2016046641A JP2016046641A JP2014168614A JP2014168614A JP2016046641A JP 2016046641 A JP2016046641 A JP 2016046641A JP 2014168614 A JP2014168614 A JP 2014168614A JP 2014168614 A JP2014168614 A JP 2014168614A JP 2016046641 A JP2016046641 A JP 2016046641A
- Authority
- JP
- Japan
- Prior art keywords
- vector
- prediction
- block
- encoding
- block shift
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
スクリーンコンテンツは、カメラにより撮影された動画像と異なるいくつかの性質を有している。
図41において、破線で囲まれているブロック201aとブロック202aは符号化対象ブロックを表している。
動画像は、左上から順に右に向かって符号化が実施されるため、例えば、符号化対象ブロック201aの符号化を行う際には、破線で囲まれているブロック201bは、既に符号化が完了している。
したがって、符号化対象ブロック201aの予測画像を生成する際、符号化済み領域の中から、符号化対象ブロック201aと類似しているブロック201bを探索して、そのブロック201bを予測画像とするようにすれば(画像のコピー)、高精度な予測画像を生成することができる。
同様に、符号化対象ブロック202aの予測画像を生成する際、符号化済み領域の中から、符号化対象ブロック202aと類似しているブロック202bを探索して、そのブロック202bを予測画像とするようにすれば(画像のコピー)、高精度な予測画像を生成することができる。
スクリーンコンテンツでは、1つの画面内に同一の絵柄を持つ箇所が複数存在する場合が多いため、画面内の類似領域探索によって高精度な予測画像を生成することができる。
つまり、類似しているブロック201bをコピーすることで、符号化対象ブロック201aの予測画像とするならば、参照領域であるブロック201bの位置情報(例えば、符号化対象ブロック201aからブロック201bを指し示すベクトル)も併せて符号化することで、正しく符号化対象ブロック201aを復号することができる。
また、この発明は、上記の画像符号化装置及び画像符号化方法により生成された符号化ビットストリームを正しく復号することができる画像復号装置及び画像復号方法を得ることを目的とする。
図1はこの発明の実施の形態1による画像符号化装置を示す構成図である。
この実施の形態1の画像符号化装置が処理対象とする映像信号は、輝度信号と2つの色差信号からなるYUV信号や、ディジタル撮像素子から出力されるRGB信号等の任意の色空間のカラー映像信号のほか、モノクロ画像信号や赤外線画像信号など、映像フレームが水平・垂直2次元のディジタルサンプル(画素)列から構成される任意の映像信号である。各画素の階調は8ビットでもよいし、10ビット、12ビットなどの階調であってもよい。また、入力信号は映像信号ではなく静止画像信号でもよいことは、静止画像信号を1フレームのみで構成される映像信号と解釈できることから当然である。
なお、映像の各フレームに対応する処理データ単位を「ピクチャ」と称し、この実施の形態1では、「ピクチャ」は順次走査(プログレッシブスキャン)された映像フレームの信号として説明を行う。ただし、映像信号がインタレース信号である場合、「ピクチャ」は映像フレームを構成する単位であるフィールド画像信号であってもよい。
選択手法の例としては、選択可能な1以上の符号化モードの中から、ブロック分割部3から出力される符号化対象ブロックに対する符号化効率が最も高い符号化モードを選択する手法がある。
変換ブロックサイズは、図2に示すように、符号化対象ブロックを四分木状に階層分割することによって決定される。例えば、変換ブロックを分割する場合と変換ブロックを分割しない場合での符号量や、符号化誤差を加味した評価尺度などに基づいて、評価値が最小になるように変換ブロックを分割するか否かを決定することで、符号量と符号化誤差のトレードオフの観点から最適な変換ブロックの分割形状を決定することができる。
ブロック分割部3はスライス分割部2により分割されたスライスを入力する毎に、そのスライスを符号化制御部1により決定された最大サイズの符号化対象ブロックである最大符号化ブロックに分割するとともに、符号化制御部1により決定された上限の階層数に至るまで、その最大符号化ブロックを階層的に各符号化対象ブロックへ分割する処理を実施する。
即ち、ブロック分割部3はスライスを符号化制御部1から出力されたブロック分割情報にしたがってスライスを各符号化対象ブロックに分割して、その符号化対象ブロックを出力する処理を実施する。また、各符号化対象ブロックは予測処理単位となる1つないし複数の予測ブロックに分割される。
即ち、イントラ予測部5は、輝度信号については、輝度信号のイントラ予測パラメータを用いたイントラ予測処理(フレーム内予測処理)を実施して、輝度信号の予測画像を生成する。一方、色差信号については、色差信号のイントラ予測パラメータが、輝度信号に対するイントラ予測モードと同じ予測モードを用いる旨を示している場合(イントラ予測パラメータが輝度色差共通イントラ予測モード(DMモード)を示している場合)、輝度信号と同じフレーム内予測を実施して、色差信号の予測画像を生成する。
図5はYUV4:2:0フォーマットの信号において輝度信号と色差信号で同一の方向性予測を用いた場合を示し、図6はYUV4:2:2フォーマットの信号において輝度信号と色差信号で同一の方向性予測を用いた場合を示している。
具体的には、図9に示すように、輝度信号の予測方向ベクトルをvL=(dxL,dyL)とした場合、色差信号の予測方向ベクトルは、vC=(dxL/2,dyL)となる。即ち、図10に示すように、予測方向の角度をθとした場合、輝度信号の予測方向の角度をθL、色差信号の予測方向の角度をθCとして、tanθC=2tanθLの関係となる予測方向で予測する必要がある。
具体的には、インデックスの変換テーブルを用意し、その変換テーブルを参照することで、インデックスを変換するように構成してもよいし、予め変換式を用意して、その変換式に従ってインデックスを変換するように構成してもよい。このように構成することで、方向性予測処理自体を変更することなく、インデックスの変換のみで、YUV4:2:2信号のフォーマットに応じた色差信号の適切な予測を実施することができる。
変換・量子化部9は変換係数を量子化する際、上記量子化パラメータから算出される量子化ステップサイズを変換係数毎にスケーリングする量子化マトリクスを用いて、変換係数の量子化処理を実施するようにしてもよい。
例えば、符号化ビットレートを抑制するために、図11に示すように、高域の変換係数程、量子化ステップサイズを大きな値にスケーリングすることで、複雑な画像領域等で発生する高域の変換係数を抑制して符号量を抑えながら、主観品質に大きく影響する低域の係数の情報を落とさずに符号化することができる。このように、変換係数毎の量子化ステップサイズを制御したい場合には量子化マトリクスを用いればよい。
イントラ用メモリ12は加算部11により算出された局所復号画像を格納する記録媒体である。
具体的には、変換ブロックの境界や予測ブロックの境界に発生する歪みを低減するフィルタ(デブロッキングフィルタ)処理、画素単位に適応的にオフセットを加算する(画素適応オフセット)処理、ウィーナフィルタ等の線形フィルタを適応的に切り替えてフィルタ処理する適応フィルタ処理などを行う。
一般に使用するフィルタ処理の種類が多いほど、画像品質は向上するが、一方で処理負荷は高くなる。即ち、画像品質と処理負荷はトレードオフの関係にある。また、各フィルタ処理の画像品質改善効果はフィルタ処理対象画像の特性によって異なる。したがって、画像符号化装置が許容する処理負荷や符号化処理対象画像の特性にしたがって使用するフィルタ処理を決めればよい。例えば、図12の構成よりも処理負荷を削減したい場合、デブロッキングフィルタ処理と画素適応オフセット処理のみで構成するといったことが考えられる。
画素適応オフセット処理では、最初に、画像を複数のブロックに分割し、そのブロック単位に、オフセット処理を行わない場合もクラス分類手法の一つとして定義して、予め用意されている複数のクラス分類手法の中から、1つのクラス分類手法を選択する。
次に、選択したクラス分類手法によって、ブロック内の各画素をクラス分類し、クラス毎に符号化歪みを補償するオフセット値を算出する。
最後に、局所復号画像の輝度値に対して、そのオフセット値を加算する処理を行うことで局所復号画像の画像品質を改善する。
なお、画素適応オフセット処理において、例えば、最大符号化ブロックといった固定サイズのブロック単位に常に分割し、そのブロック毎にクラス分類手法を選択して、クラス毎の適応オフセット処理を行ってもよい。この場合、上記ブロック分割情報が不要となり、ブロック分割情報に要する符号量分だけ符号量が削減され、符号化効率を高めることができる。
可変長符号化部15は変換・量子化部9から出力された圧縮データと、符号化制御部1の出力信号(最大符号化ブロック内のブロック分割情報、符号化モード、予測差分符号化パラメータ、ループフィルタパラメータ、イントラ予測パラメータ、画面内コピー予測パラメータ、インター予測パラメータ)と、画面内コピー予測部6から出力されたブロックシフトベクトル(符号化モードが画面内コピー符号化モードである場合)と、動き補償予測部7から出力された動きベクトル(符号化モードがインター符号化モードである場合)とを可変長符号化して符号化データを生成する処理を実施する。
また、可変長符号化部15は、図13に例示するように、符号化ビットストリームのヘッダ情報として、シーケンスレベルヘッダ、ピクチャレベルヘッダを符号化し、ピクチャデータと共に符号化ビットストリームを生成する処理を実施する。なお、可変長符号化部15は可変長符号化手段を構成している。
シーケンスレベルヘッダは、画像サイズ、色信号フォーマット、輝度信号や色差信号の信号値のビット深度、シーケンス単位でのループフィルタ部13における各フィルタ処理(適応フィルタ処理、画素適応オフセット処理、デブロッキングフィルタ処理)の有効フラグ情報、量子化マトリクスの有効フラグ情報など、一般的にシーケンス単位に共通となるヘッダ情報をまとめたものである。
スライスレベルヘッダは、当該スライスがピクチャのどの位置にあるかを示す位置情報、どのピクチャレベルヘッダを参照するかを示すインデックス、スライスの符号化タイプ(オールイントラ符号化、インター符号化など)、ループフィルタ部13における各フィルタ処理(適応フィルタ処理、画素適応オフセット処理、デブロッキングフィルタ処理)を行うか否かを示すフラグ情報などのスライス単位のパラメータをまとめたものである。
図14はこの発明の実施の形態1による画像符号化装置の処理内容(画像符号化方法)を示すフローチャートである。
図15において、可変長復号部31は図1の画像符号化装置により生成された符号化ビットストリームを入力すると、そのビットストリームからシーケンスレベルヘッダ、ピクチャレベルヘッダ、スライスレベルヘッダなどの各ヘッダ情報とピクチャデータを復号する処理を実施する。
ただし、ピクチャデータは1以上のスライスデータから構成されており、各スライスデータはスライスレベルヘッダと当該スライス内にある符号化データがまとめられているものである。ピクチャデータはスライスデータの他に補足情報を示すヘッダ情報を含む場合もある。このとき、YUV4:4:4フォーマット信号やRGB4:4:4フォーマット信号の各信号をモノクローム画像信号とみなしてそれぞれ独立にモノクローム(YUV4:0:0)符号化していることを示す情報がヘッダ情報に含まれる場合、各色信号の符号化ビットストリームに対してそれぞれ独立に復号処理を実施することができる。
可変長復号部31は、符号化モードがインター符号化モードである場合、動きベクトルを可変長復号し、符号化モードが画面内コピー符号化モードである場合、画面内コピー予測パラメータに含まれているブロックシフトベクトルを可変長復号しているが、動きベクトルの可変長復号に用いる復号方式と異なる復号方式を用いて、そのブロックシフトベクトルを可変長復号する。なお、可変長復号部31は可変長復号手段を構成している。
輝度信号については、例えば、図2に示すように、符号化対象ブロックが1つ又は複数の正方形の変換ブロックに階層的に分割されるように構成する。色差信号については、図2に示すように、入力信号フォーマットがYUV4:2:0信号である場合、輝度信号と同様に、符号化対象ブロックが1つ又は複数の正方形の変換ブロックに階層的に分割されるように構成する。この場合、色差信号の変換ブロックサイズは、対応する輝度信号の変換ブロックの縦横ともに半分のサイズとなる。
入力信号フォーマットがYUV4:4:4信号である場合、図4に示すように、色差信号の変換ブロックは、常に輝度信号の変換ブロックと同様の分割を行い、同じサイズの変換ブロックとなるように構成する。
即ち、イントラ予測部34は、輝度信号については、輝度信号に対する上記イントラ予測パラメータを用いたイントラ予測処理(フレーム内予測処理)を実施して、輝度信号の予測画像を生成する。一方、色差信号については、色差信号のイントラ予測パラメータが、輝度信号に対するイントラ予測モードと同じ予測モードを用いる旨を示している場合(イントラ予測パラメータが輝度色差共通イントラ予測モード(DMモード)を示している場合)、輝度信号と同じフレーム内予測を実施して、色差信号の予測画像を生成する。
イントラ用メモリ38は加算部37により算出された復号画像をイントラ予測処理及び画面内コピー予測処理で用いる参照画像として格納する記録媒体である。
具体的には、変換ブロックの境界や予測ブロックの境界に発生する歪みを低減するフィルタ(デブロッキングフィルタ)処理、画素単位に適応的にオフセットを加算する(画素適応オフセット)処理、ウィーナフィルタ等の線形フィルタを適応的に切り替えてフィルタ処理する適応フィルタ処理などを行う。
このとき、2つ以上のフィルタ処理を行う場合において、例えば、画像符号化装置のループフィルタ部13が図12のように構成されていれば、図16に示すようにループフィルタ部39が構成される。当然、画像符号化装置のループフィルタ部13がデブロッキングフィルタ処理と画素適応オフセット処理から構成されていれば、ループフィルタ部39もデブロッキングフィルタ処理と画素適応オフセット処理で構成される。
なお、クラス分類手法の候補として、ループフィルタ部13の画素適応オフセット処理のクラス分類手法の候補と同一のものが予め用意されている。
そして、ブロック単位の各クラスのオフセット値を特定するオフセット情報を参照して、復号画像の輝度値にオフセットを加算する処理を行う。
図17はこの発明の実施の形態1による画像復号装置の処理内容(画像復号方法)を示すフローチャートである。
この実施の形態1では、映像の各フレーム画像を入力画像として、符号化済みの近傍画素からのイントラ予測又は近接フレーム間での動き補償予測を実施して、得られた予測差分信号に対して直交変換・量子化による圧縮処理を施し、その後、可変長符号化を行って符号化ビットストリームを生成する画像符号化装置と、その画像符号化装置から出力される符号化ビットストリームを復号する画像復号装置について説明する。
この実施の形態1では、このような映像信号の一般的な性質に適応した符号化を行うため、最初に所定の最大ブロックサイズから予測処理等を開始し、階層的に映像信号の領域を分割し、分割した領域毎に予測処理や、その予測差分の符号化処理を適応化させる構成をとるようにしている。
まず、符号化制御部1は、符号化対象となるピクチャ(カレントピクチャ)のスライス分割状態を決めると共に、ピクチャの符号化に用いる最大符号化ブロックのサイズと、最大符号化ブロックを階層分割する階層数の上限を決定する(図14のステップST1)。
最大符号化ブロックのサイズの決め方としては、例えば、入力画像の映像信号の解像度に応じて、全てのピクチャに対して同一のサイズを定めてもよいし、入力画像の映像信号の局所的な動きの複雑さの違いをパラメータとして定量化して、動きの激しいピクチャには、小さいサイズを定める一方、動きが少ないピクチャには、大きいサイズを定めるようにしてもよい。
即ち、符号化制御部1は、最大符号化ブロックサイズの画像領域毎に、先に定めた分割階層数の上限に至るまで、階層的に符号化対象ブロックサイズを有する符号化対象ブロックに分割して、各々の符号化対象ブロックに対する符号化モードを決定する。
ただし、後述するブロック分割部3により階層的に分割される各々の符号化対象ブロックは、さらに予測処理を行う単位である1つないし複数の予測ブロックに分割され、予測ブロックの分割状態も符号化モードの中に情報として含まれる。即ち、符号化モードは、どのような予測ブロック分割を持つイントラ符号化モード、画面内コピー符号化モード又はインター符号化モードかを識別するインデックスである。
符号化制御部1による符号化モードの選択方法は、公知の技術であるため詳細な説明を省略するが、例えば、利用可能な任意の符号化モードを用いて、符号化対象ブロックに対する符号化処理を実施して符号化効率を検証し、利用可能な複数の符号化モードの中で、最も符号化効率がよい符号化モードを選択する方法などがある。
例えば、変換ブロックを分割する場合と変換ブロックを分割しない場合での符号量や、符号化誤差を加味した評価尺度などに基づいて、評価値が最小になるように変換ブロックを分割するか否かを決定することで、符号量と符号化誤差のトレードオフの観点から最適な変換ブロックの分割形状を決定することができる。
また、入力信号フォーマットがYUV4:4:4信号である場合、図4に示すように、色差信号の変換ブロックは、常に輝度信号の変換ブロックと同様の分割を行い、同じサイズの変換ブロックとなるように構成する。
符号化制御部1は、イントラ予測パラメータを必要に応じてイントラ予測部5に出力する。
また、符号化制御部1は、画面内コピー予測パラメータを必要に応じて画面内コピー予測部6に出力する。
また、符号化制御部1は、インター予測パラメータを必要に応じて動き補償予測部7に出力する。
ブロック分割部3は、スライス分割部2から各スライスを入力する毎に、そのスライスを符号化制御部1により決定された最大符号化ブロックサイズに分割し、さらに、分割した最大符号化ブロックを符号化制御部1により決定された符号化対象ブロックへ階層的に分割して、その符号化対象ブロックを出力する。
図18において、最大符号化ブロックは、「第0階層」と記されている輝度成分が(L0,M0)のサイズを有する符号化対象ブロックである。最大符号化ブロックを出発点として、4分木構造で別途定める所定の深さまで、階層的に分割を行うことによって符号化対象ブロックを得るようにしている。深さnにおいては、符号化対象ブロックはサイズ(Ln,Mn)の画像領域である。ただし、LnとMnは、同じであってもよいし、異なっていてもよいが、図18では、Ln=Mnのケースを示している。
なお、図15の画像復号装置がイントラ予測画像PINTRAi nと全く同じイントラ予測画像を生成する必要があるため、イントラ予測画像PINTRAi nの生成に用いられたイントラ予測パラメータは、符号化制御部1から可変長符号化部15に出力されて、ビットストリームに多重化される。イントラ予測部5の処理内容の詳細は後述する。
画面内コピー予測部6は、参照ブロックを予測ブロックPi nの予測画像として、画面内コピー予測画像PICOPYi nを生成する(図14のステップST5)。
このブロックシフトベクトルは、画面内コピー予測部6により探索された参照ブロックを指し示す位置情報であり、一般的に図20に示すようなベクトルである。
図20では、符号化対象ブロックを原点として、参照ブロックまでの移動量をブロックシフトベクトルによって表現している。このブロックシフトベクトルは、可変長符号化部15により符号化されるが、その際、直前の符号化済み予測ブロックのブロックシフトベクトル、あるいは、当該予測ブロックの周囲の符号化済み予測ブロックのブロックシフトベクトルとの差分値を符号化するようにしてもよい。
また、動き補償予測部7により探索された動きベクトルも可変長符号化部15に出力されて、ビットストリームに多重化される。
また、変換・量子化部9は、その予測差分符号化パラメータに含まれる量子化パラメータを参照して、その変換ブロック単位の変換係数を量子化し、量子化後の変換係数である圧縮データを逆量子化・逆変換部10及び可変長符号化部15に出力する(図14のステップST8)。このとき、上記量子化パラメータから算出される量子化ステップサイズを変換係数毎にスケーリングする量子化マトリクスを用いて量子化処理を実施するようにしてもよい。
また、逆量子化・逆変換部10は、変換ブロック単位に逆量子化後の圧縮データである変換係数に対する逆直交変換処理(例えば、逆DCT、逆DST、逆KL変換など)を実施して、減算部8から出力された予測差分信号ei nに相当する局所復号予測差分信号を算出して加算部11に出力する(図14のステップST9)。
また、加算部11は、その局所復号画像をループフィルタ部13に出力するとともに、その局所復号画像をイントラ用メモリ12に格納する。この局所復号画像が、以降のイントラ予測処理及び画面内コピー予測処理の際に用いられる符号化済みの画像信号になる。
具体的には、変換ブロックの境界や予測ブロックの境界に発生する歪みを低減するフィルタ(デブロッキングフィルタ)処理、画素単位に適応的にオフセットを加算する(画素適応オフセット)処理、ウィーナフィルタ等の線形フィルタを適応的に切り替えてフィルタ処理する適応フィルタ処理などを行う。
一般に使用するフィルタ処理の種類が多いほど、画像品質は向上するが、一方で処理負荷は高くなる。即ち、画像品質と処理負荷はトレードオフの関係にある。また、各フィルタ処理の画像品質改善効果はフィルタ処理対象画像の特性によって異なる。したがって、画像符号化装置が許容する処理負荷や符号化処理対象画像の特性にしたがって使用するフィルタ処理を決めればよい。
次に、選択したクラス分類手法によってブロック内の各画素をクラス分類し、クラス毎に符号化歪みを補償するオフセット値を算出する。
最後に、局所復号画像の輝度値に対して、そのオフセット値を加算する処理を行うことで局所復号画像の画像品質を改善する。
なお、画素適応オフセット処理において、例えば最大符号化ブロックといった固定サイズのブロック単位に常に分割して、そのブロック毎にクラス分類手法を選択して、クラス毎の適応オフセット処理を行ってもよい。この場合、上記ブロック分割情報が不要となり、ブロック分割情報に要する符号量分だけ符号量が削減され、符号化効率を高めることができる。
そして、クラス毎に設計したフィルタをヘッダ情報として可変長符号化部15に出力する。
ここで、クラス分類手法としては、画像を空間的に等間隔に区切る簡易な手法や、ブロック単位に画像の局所的な特性(分散など)に応じて分類する手法がある。また、適応フィルタ処理で使用するクラス数は、予め画像符号化装置及び画像復号装置で共通の値に設定してもよいし、符号化すべきパラメータの一つとしてもよい。
前者と比較して後者の方が、使用するクラス数を自由に設定することができるため、画像品質改善効果が上がるが、一方でクラス数を符号化するために、その分の符号量が増加する。
図21は16×16画素の変換ブロックにおける係数の符号化順(スキャン順)を示している。このように、4×4画素単位の16個のCGを右下のCGから順に符号化処理し、さらに、各CGはCG内の16個の係数を右下の係数から順に符号化する。
直交変換後の係数は、左上に位置する直流成分をはじめとして、左上に近い程、低い周波数成分の低い係数を表すことから、図22に示す例のように、一般的に左上に近いほど有意(非零)係数が多く発生するために、図21に示すように、右下から順に符号化することで効率的に符号化することができる。
既に画面内コピー予測部6の動作説明で述べたように、画面内コピー予測パラメータとしては参照ブロックの位置を指し示すブロックシフトベクトルが挙げられる。つまり、符号化モードが画面内コピー符号化モードである場合も、インター符号化モードである場合も、符号化されるのはベクトルということになる。いずれの場合も直前の符号化済みブロックのベクトル、あるいは、符号化対象ブロックの周囲の符号化済みブロックのベクトルとの差分値を符号化することにより、ベクトルの符号化に要する符号量を削減することができる。
図24はベクトルの差分値を符号化する代表的方式である次数が1の指数ゴロム符号の符号語を示す説明図である。
図24から明らかなように、小さな差分値となるベクトルに対しては短い符号語を割り当て、差分値が大きくなるにつれて符号語が長くなるようにしている。なお、符号化はベクトルの垂直成分と水平成分のそれぞれに対して行う。また、絶対値を符号化し、差分の正負を表す符号については別途符号化している。
図25はカメラで撮影された動画像を符号化した際のインター予測処理における動きベクトルの差分値の分布を示す説明図である。
図25の場合、動きベクトル差分の頻度はゼロ付近がきわめて高く、発生確率が高いことが分かる。したがって、発生確率の高い値に対して短い符号語を割り当てる図24のような符号化方式を用いれば、高い符号化効率を実現することができる。
図26より、スクリーンコンテンツの符号化におけるブロックシフトベクトルの差分値は、カメラで撮影された動画像(スクリーンコンテンツでない画像)の動きベクトルの差分値(図25)と比べて、ゼロ付近への集中度が低いことが分かる。
このような場合、ゼロ付近の符号語が極めて短く、ゼロから離れるにつれて急速に符号語が長くなる図24に示すような符号化方式を利用すると、高い符号化効率を実現することができなくなる。
つまり、従来のように動きベクトルとブロックシフトベクトルの符号化に同じ方式を用いたのでは、十分な符号化効率が得られない。
図26に示すようなゼロ付近の発生確率がそれほど高くない信号に対しては、例えば、指数ゴロム符号の次数を上げることが有効である。
図27は次数が4の指数ゴロム符号の符号語を示す説明図である。
次数が1の指数ゴロム符号を示す図24と、次数が4の指数ゴロム符号の符号語を示す図27を比較すると、次数が4の指数ゴロム符号の方が、ゼロ付近の値に対する符号長が大きくなるが、ゼロから離れるにつれて次数が1の指数ゴロム符号ほど、急激に符号長が大きくならないことがわかる。
可変長符号化部15の選択スイッチ52は、符号化制御部1からインター予測パラメータあるいは画面内コピー予測パラメータとしてベクトル差分50を受けると、符号化制御部1から出力された符号化方式選択情報51(符号化モードを示すパラメータ)にしたがって、そのベクトル差分50をベクトル符号化部53(第1の符号化方式で符号化を行う符号化部)又はベクトル符号化部54(第2の符号化方式で符号化を行う符号化部)に出力する。
即ち、可変長符号化部15の選択スイッチ52は、符号化方式選択情報51が、符号化モードがインター符号化モードである旨を示していれば(図29のステップST100)、そのベクトル差分50をベクトル符号化部53に出力し、符号化モードが画面内コピー予測モードを示していれば(図29のステップST100)、そのベクトル差分50をベクトル符号化部54に出力する。
ベクトル符号化部54は、選択スイッチ52からベクトル差分50を受けると、次数が4の指数ゴロム符号化によってベクトル差分50を符号化する(ステップST102)。
選択スイッチ55は、符号化方式選択情報51が、符号化モードがインター符号化モードである旨を示していれば、ベクトル符号化部53により符号化されたベクトル差分50の符号化データであるビット列56を符号化ビットストリームに加える。
一方、符号化モードが画面内コピー予測モードを示していれば、ベクトル符号化部54により符号化されたベクトル差分50の符号化データであるビット列56を符号化ビットストリームに加える。
符号化対象ブロックがスクリーンコンテンツであるか否かを示す情報を含んでいる場合、符号化モードが画面内コピー予測モードであり、かつ、符号化対象ブロックがスクリーンコンテンツである場合に限り、ベクトル符号化部54が、次数が4の指数ゴロム符号化によってベクトル差分50を符号化し、それ以外の場合には、ベクトル符号化部53が、次数が1の指数ゴロム符号化によってベクトル差分50を符号化する構成などが考えられる。
図26に示すようなブロックシフトベクトルの差分値の分布は、スクリーンコンテンツに特有のものであるため、符号化対象ブロックがスクリーンコンテンツである場合に限り、次数が4の指数ゴロム符号化を行うことで、どのような動画像が入力されても高い符号化効率を実現することが可能になる。
いずれの場合も、例えば、スクリーンコンテンツである場合には“1”、スクリーンコンテンツでない場合には“0”となるようなフラグを用意し、このフラグを可変長符号化部15で符号化することで、動画像がスクリーンコンテンツであるか否かを図15の画像復号装置が正しく判断できるようにする必要がある。
また、入力された動画像のうち、一部のピクチャのみがスクリーンコンテンツであると判断できる場合には、上記のフラグを後述するピクチャレベルヘッダなどに加えて可変長符号化部15にて符号化を実施する。
また、入力された動画像の中で、或るピクチャの一部のみがスクリーンコンテンツであると判断できる場合には、上記のフラグを後述するスライスレベルヘッダに加えて可変長符号化部15にて符号化を実施することが考えられる。なお、スライス単位に限らずに、タイル単位あるいは符号化対象ブロック単位にフラグを用意して、可変長符号化部15にて符号化を実施するようにしてもよい。
例えば、入力された動画像中のある固定領域が常にスクリーンコンテンツであり、その領域の位置情報を画像符号化装置と画像復号装置の双方で共有できている場合などでは、画像復号装置で符号化方式選択情報51を算出することが可能であると考えられる。
上記のフラグを符号化する必要がなければ、その分だけ符号量を削減することができるため、更に符号化効率を高めることが可能である。
シーケンスレベルヘッダは、画像サイズ、色信号フォーマット、輝度信号や色差信号の信号値のビット深度、シーケンス単位でのループフィルタ部13における各フィルタ処理(適応フィルタ処理、画素適応オフセット処理、デブロッキングフィルタ処理、ヒストグラム補正処理)の有効フラグ情報、量子化マトリクスの有効フラグ情報など、一般的にシーケンス単位に共通となるヘッダ情報をまとめたものである。
スライスレベルヘッダは、当該スライスがピクチャのどの位置にあるかを示す位置情報、どのピクチャレベルヘッダを参照するかを示すインデックス、スライスの符号化タイプ(オールイントラ符号化、インター符号化など)、ループフィルタ部13における各フィルタ処理(適応フィルタ処理、画素適応オフセット処理、デブロッキングフィルタ処理、ヒストグラム補正処理)を行うか否かを示すフラグ情報などといったスライス単位のパラメータをまとめたものである。
イントラ予測部5は、上述したように、予測ブロックPi nのイントラ予測パラメータを参照して、その予測ブロックPi nに対するイントラ予測処理を実施して、イントラ予測画像PINTRAi nを生成するが、ここでは、輝度信号における予測ブロックPi nのイントラ予測画像を生成するイントラ処理について説明する。
図30はli n=mi n=4の場合の予測画像生成ブロック内の画素の予測値を生成する際に用いる画素の一例を示す説明図である。図30では、予測画像生成ブロックの上の符号化済みの画素(2×li n+1)個と、左の符号化済みの画素(2×mi n)個を予測に用いる画素としているが、予測に用いる画素は、図30に示す画素より多くても少なくてもよい。また、図30では、予測画像生成ブロックの近傍の1行又は1列分の画素を予測に用いているが、2行又は2列、あるいは、それ以上の画素を予測に用いてもよい。
予測画像生成ブロックが属する予測ブロックPi nに対するイントラ予測モードのインデックス値が1(平均値(DC)予測)の場合には、予測画像生成ブロックの上に隣接する符号化済み画素と、予測画像生成ブロックの左に隣接する符号化済み画素の平均値を予測画像生成ブロック内の画素の予測値として予測画像を生成する。
・領域A(Pi nの左上の画素)
a0=1/2,a1=1/4,a2=1/4
・領域B(領域A以外のPi nの上端の画素)
a0=3/4,a2=1/4,(a1=0)
・領域C(領域A以外のPi nの左端の画素)
a0=3/4,a1=1/4,(a2=0)
ただし、座標(x,y)は予測画像生成ブロック内の左上画素を原点とする相対座標(図33を参照)であり、S’(x,y)は座標(x,y)における予測値、S(x,y)は座標(x,y)における符号化済み画素の輝度値(復号された輝度値)である。また、算出した予測値が輝度値の取り得る値の範囲を超えている場合、予測値がその範囲内に収まるように値を丸めるようにする。
ただし、座標(x,y)は予測画像生成ブロック内の左上画素を原点とする相対座標(図33を参照)であり、S’(x,y)は座標(x,y)における予測値、S(x,y)は座標(x,y)における符号化済み画素の輝度値(復号された輝度値)である。また、算出した予測値が輝度値の取り得る値の範囲を超えている場合、予測値がその範囲内に収まるように値を丸めるようにする。
図33に示すように、予測画像生成ブロックの左上画素を原点として、予測画像生成ブロック内の相対座標を(x,y)と設定すると、予測に用いる参照画素の位置は、下記のLと隣接画素の交点になる。
ただし、kは負の実数である。
色差信号のイントラ予測パラメータが、輝度信号に対するイントラ予測モードと同じ予測モードを用いる旨を示している場合(イントラ予測パラメータが輝度色差共通イントラ予測モード(DMモード)を示している場合)、輝度信号と同じフレーム内予測を実施して、色差信号の予測画像を生成する。
また、色差信号のイントラ予測パラメータが、垂直方向予測モード又は水平方向予測モードを示している場合、色差信号に対する方向性予測を実施して、色差信号の予測画像を生成する。また、色差信号のイントラ予測パラメータが、輝度相関利用色差信号予測モード(LMモード)を示している場合、予測画像の生成対象ブロックの上及び左に隣接している複数の画素の輝度信号及び色差信号を用いて、輝度信号と色差信号の相関を示す相関パラメータを算出し、その相関パラメータと予測処理対象の色差信号のブロックに対応する輝度信号を用いて、色差信号の予測画像を生成する。
したがって、輝度信号と色差信号で同一方向の予測を行う上記DMモードを正しく実施できるようにするために、入力信号フォーマットがYUV4:2:2信号である場合、輝度信号に使用したイントラ予測モードのインデックスを色差信号の予測に用いるイントラ予測モードのインデックスに変換し、変換後のインデックスに対応するイントラ予測モードによる色差信号の予測処理を実施する。
変換処理の実現は、上記のように、インデックスの変換テーブルを用意し、その変換テーブルを参照することでインデックスを変換するように構成してもよいし、変換式を用意し、その変換式に従ってインデックスを変換するように構成してもよい。このように構成することで、方向性予測処理自体を変更することなく、インデックスの変換のみでYUV4:2:2信号のフォーマットに応じた色差信号の適切な予測を実施することができる。
さらに、色差信号では、平均値(DC)予測、垂直方向予測、水平方向予測について、輝度信号の場合で説明したブロック境界のフィルタ処理を行わずに、MPEG−4 AVC/H.264と同様の予測手法としてもよい。このようにフィルタ処理を行わないことで、予測処理の低演算化を図ることができる。
可変長復号部31は、図1の画像符号化装置により生成された符号化ビットストリームを入力すると、そのビットストリームに対する可変長復号処理を実施して(図17のステップST21)、1フレーム以上のピクチャから構成されるシーケンス単位のヘッダ情報(シーケンスレベルヘッダ)及びピクチャ単位のヘッダ情報(ピクチャレベルヘッダ)などの各ヘッダ情報とピクチャデータを復号する。ただし、ピクチャデータは1以上のスライスデータから構成され、各スライスデータはスライスレベルヘッダと当該スライス内にある符号化データがまとめられているものである。ピクチャデータはスライスデータの他に補足情報を示すヘッダ情報を含む場合もある。
可変長復号部31は、決定された最大符号化ブロック単位に、図19で示されるような最大符号化ブロックの分割状態を復号する。復号された分割状態に基づき、階層的に符号化対象ブロックを特定する(図17のステップST23)。
即ち、可変長復号部31は、符号化対象ブロックに割り当てられている符号化モードがイントラ符号化モードである場合、符号化対象ブロックに含まれており、予測処理単位となる1つ以上の予測ブロック毎にイントラ予測パラメータを復号し、符号化対象ブロックに割り当てられている符号化モードが画面内コピー符号化モードである場合、符号化対象ブロックに含まれており、予測処理単位となる1つ以上の予測ブロック毎に画面内コピー予測パラメータを復号する。また、符号化対象ブロックに割り当てられている符号化モードがインター符号化モードである場合、符号化対象ブロックに含まれており、予測処理単位となる1つ以上の予測ブロック毎にインター予測パラメータ及び動きベクトルを復号する(図17のステップST24)。
以下、図15の画像復号装置において、ベクトルの予測差分が符号化されている場合について説明する。
可変長復号部31の選択スイッチ62は、符号化対象ブロックに割り当てられている符号化モードがインター符号化モードあるいは画面内コピー符号化モードである場合、符号化ビットストリーム60を受け取ると、復号方式選択情報61にしたがって、その符号化ビットストリーム60をベクトル復号部63(第1の復号方式で復号を行う復号部)又はベクトル復号部64(第2の復号方式で復号を行う復号部)に出力する。
ここでは、図1の画像符号化装置の可変長符号化部15が、符号化対象ブロックの動きベクトルと、例えば、直前の符号化済み予測ブロックの動きベクトルとの差分値を符号化しているものとしているので、復号したベクトル差分に対して、上記の符号化済み予測ブロックに対応する復号済み予測ブロックの動きベクトルを可算して、符号化対象ブロックの動きベクトルを算出する。
ここでは、図1の画像符号化装置の可変長符号化部15が、符号化対象ブロックのブロックシフトベクトルと、直前の符号化済み予測ブロックのブロックシフトベクトル(あるいは、当該予測ブロックの周囲の符号化済み予測ブロックのブロックシフトベクトル)との差分値を符号化しているものとしているので、その復号したベクトル差分に対して、上記の符号化済み予測ブロックに対応する復号済み予測ブロックのブロックシフトベクトルを可算して、符号化対象ブロックのブロックシフトベクトルを算出する。
一方、符号化モードが画面内コピー予測モードを示していれば、ベクトル復号部64により算出されたブロックシフトベクトルを復号ベクトル66として、切換スイッチ33を介して画面内コピー予測部35に出力する。
このようなフラグが含まれている場合には、そのフラグを復号し、符号化モードが画面内コピー予測モードであり、かつ、そのフラグが“1”である場合に限り、ベクトル復号部64が、次数が4の指数ゴロム復号によってベクトル差分を復号し、それ以外の場合には、ベクトル復号部63が、次数が1の指数ゴロム復号によってベクトル差分を復号する構成などが考えられる。
また、イントラ予測部34は、輝度信号については、輝度信号に対する上記イントラ予測パラメータを用いたイントラ予測処理(フレーム内予測処理)を実施して、輝度信号の予測画像を生成する。
一方、色差信号については、色差信号のイントラ予測パラメータに基づくイントラ予測処理を実施して、色差信号の予測画像を生成する。
また、色差信号のイントラ予測パラメータが、垂直方向予測モード又は水平方向予測モードを示している場合、色差信号に対する方向性予測を実施して、色差信号の予測画像を生成する。また、色差信号のイントラ予測パラメータが、輝度相関利用色差信号予測モード(LMモード)を示している場合、予測画像の生成対象ブロックの上及び左に隣接している複数の画素の輝度信号及び色差信号を用いて、輝度信号と色差信号の相関を示す相関パラメータを算出し、その相関パラメータと予測処理対象の色差信号のブロックに対応する輝度信号を用いて、色差信号の予測画像を生成する。
具体的には、変換ブロックの境界や予測ブロックの境界に発生する歪みを低減するフィルタ(デブロッキングフィルタ)処理、画素単位に適応的にオフセットを加算する(画素適応オフセット)処理、ウィーナフィルタ等の線形フィルタを適応的に切り替えてフィルタ処理する適応フィルタ処理などを行う。
ただし、ループフィルタ部39は、上記のデブロッキングフィルタ処理、画素適応オフセット処理、適応フィルタ処理のそれぞれについて、可変長復号部31により可変長復号された各ヘッダ情報を参照して、当該スライスで処理を行うか否かを特定する。
このとき、2つ以上のフィルタ処理を行う場合に、例えば、画像符号化装置のループフィルタ部13が図12のように構成されている場合には、図16に示すようにループフィルタ部39が構成される。
なお、クラス分類手法の候補として、ループフィルタ部13の画素適応オフセット処理のクラス分類手法の候補と同一のものが予め用意されている。
このループフィルタ部39によるフィルタ処理後の復号画像が、動き補償予測用の参照画像となり、また、再生画像となる。
上記実施の形態1では、可変長符号化部15が、動きベクトルの可変長符号化に用いる符号化方式と異なる符号化方式を用いて、ブロックシフトベクトルを可変長符号化するものを示したが、予め用意している複数のベクトルの表現形式の中から、可変長符号化部15によりブロックシフトベクトルが可変長符号化された際の符号量が最も少なくなるベクトルの表現形式を選択し、その表現形式で表現したブロックシフトベクトルを可変長符号化するようにしてもよい。
図42はこの発明の実施の形態2による画像符号化装置の画面内コピー予測部6を示す構成図である。
予測画像生成部72は参照ブロック探索部71から出力されたブロックシフトベクトルが指し示す参照ブロックを予測ブロックPi nの予測画像として、画面内コピー予測画像PICOPYi nを生成する処理を実施する。
ベクトル表現形式決定部73は予め用意している複数のベクトルの表現形式の中から、可変長符号化部15により当該ブロックシフトベクトルが可変長符号化された際の符号量が最も少なくなるベクトルの表現形式を選択し、その表現形式で表現したブロックシフトベクトルを可変長符号化する処理を実施する。
画面内コピー予測部6の参照ブロック探索部71は、符号化制御部1により決定された符号化モードm(Bn)が画面内コピー符号化モードであり(m(Bn)∈ICOPYの場合)、切換スイッチ4から符号化対象ブロックBnを受けると(図14のステップST3)、符号化対象ブロックBn内の各予測ブロックPi nとイントラ用メモリ12に格納されている局所復号画像を比較し、予測ブロックPi nと最も類似している領域のブロック(参照ブロック)を探索して、その参照ブロックの位置を示すブロックシフトベクトルを出力する。
図43は参照ブロック探索部71から出力されるブロックシフトベクトルの表現形式を示す説明図である。
参照ブロック探索部71から出力されるブロックシフトベクトルは、図43に示すように、参照ブロックの位置を示す位置情報として、符号化対象ブロックから参照ブロックまでの相対的な水平移動量と垂直移動量(BVx,BVy)で表現している。
このとき、予測ブロックPi nのブロックシフトベクトルと、直前の符号化済み予測ブロックのブロックシフトベクトル、あるいは、当該予測ブロックの周囲の符号化済み予測ブロックのブロックシフトベクトルとの差分値を符号化するようにすることで、予測ブロックPi nのブロックシフトベクトルの符号化に必要な符号量を削減することが可能である。
このような場合に、そのままブロックシフトベクトルの符号化を行うと、符号量が大きくなり、符号化効率の低下を招くことになる。
そこで、この実施の形態2では、画面内コピー予測部6の中にベクトル表現形式決定部73を追加し、ベクトル表現形式決定部73が、複数のベクトルの表現形式から最適な表現形式を選択して、ブロックシフトベクトルの符号化に必要な符号量を削減するようにしている。
以下、ベクトル表現形式決定部73の処理内容を具体的に説明する。
ここで、直前の符号化済み予測ブロックのブロックシフトベクトル、あるいは、当該予測ブロックの周囲の符号化済み予測ブロックのブロックシフトベクトルを(PBVx,PBVy)として、予測ブロックPi nのブロックシフトベクトルである(BVx,BVy)と、符号化済み予測ブロックのブロックシフトベクトルである(PBVx,PBVy)との差分(BVDx,BVDy)だけを符号化するようにすると、符号量を削減することができる。
(BVDx,BVDy)=(BVx−PBVx,BVy−PBVy)
しかし、既に述べたように、スクリーンコンテンツにおける符号化では、必ずしも(PBVx,PBVy)の予測精度が高くないため、(BVDx,BVDy)が十分にゼロに近い値にならないことがある。
図44の例では、参照ブロックを内部に含む最大符号化ブロックのインデックスをk、この最大符号化ブロックの左上座標を原点とする参照ブロックの位置座標を(BVx’,BVy’)として、3つの数値の組(k、BVx’,BVy’)によって参照ブロックの位置を表現している。
ベクトル表現形式決定部73は、図43の表現形式で表現されている場合の符号量と、図44の表現形式で表現されている場合の符号量とを比較し、図43の表現形式で表現されている場合の符号量の方が少なければ、図43の表現形式を選択し、図43の表現形式で表現しているブロックシフトベクトルを可変長符号化部15に出力する。
一方、図44の表現形式で表現されている場合の符号量の方が少なければ、図44の表現形式を選択し、図44の表現形式で表現しているブロックシフトベクトルを可変長符号化部15に出力する。
ベクトル表現形式インデックスとしては、例えば、図43の表現形式で表現している場合は“0”の値、図44の表現形式で表現している場合は“1”の値を取るようなものが考えられる。
ここでは、2種類のベクトル表現形式が用意されている例を示しているが、3種類以上のベクトル表現形式を用意し、3種類以上のベクトル表現形式の中から、最も符号量が少なくなるベクトル表現形式を選択するようにしてもよい。
可変長符号化部15における画面内コピー予測パラメータの符号化方式は、上記実施の形態1と同様である。
このため、どの座標を原点とするかを示すインデックス(例えば、インデックスを2ビットとして、左上座標を“00”、右上座標を“01”、左下座標を“10”、右下座標を“11”と表現する)をパラメータとして別途追加するようにしてもよい。
適切な座標を原点とすることで、ブロックシフトベクトルの符号化に必要な符号量を削減して符号化効率を高めることが可能である。
もちろん、画面内コピー符号化モードにおけるブロックシフトベクトルの符号化には、常に図44のベクトル表現形式を用いるようにするなど、符号化モード情報などと対応付けて一意にベクトル表現形式を導出できるようにしてもよい。このようにすれば、ベクトル表現形式インデックスを符号化する必要がなくなり、符号量が削減されて符号化効率が向上する。
図46はこの発明の実施の形態2による画像復号装置の画面内コピー予測部35を示す構成図である。
図46において、参照ブロック座標決定部81は可変長復号部31により復号された画面内コピー予測パラメータに含まれているベクトル表現形式インデックスから、その画面内コピー予測パラメータに含まれているブロックシフトベクトルの表現形式を認識して、そのブロックシフトベクトルから参照ブロックの位置を表す座標を特定する処理を実施する。
予測画像生成部82はイントラ用メモリ38に格納されている局所復号画像から、参照ブロック座標決定部81により特定された座標上の参照ブロックを読み出して、その参照ブロックを予測画像として加算部37に出力する処理を実施する。
画面内コピー予測部35の参照ブロック座標決定部81は、可変長復号部31により復号された画面内コピー予測パラメータを受けると、その画面内コピー予測パラメータに含まれているベクトル表現形式インデックスから、その画面内コピー予測パラメータに含まれているブロックシフトベクトルの表現形式を認識する。
例えば、ベクトル表現形式インデックスが“0”であれば、図43の表現形式で表現されていると認識し、ベクトル表現形式インデックスが“1”であれば、図44の表現形式で表現されていると認識する。
また、ベクトル表現形式インデックスが“1”であるとき、どの座標を原点とするかを示すインデックスが含まれている場合、そのインデックスから図44の表現形式で表現されているのか、図45の表現形式で表現されているのか等を認識する。
参照ブロック座標決定部81は、ブロックシフトベクトルの表現形式を認識すると、そのブロックシフトベクトルから参照ブロックの位置を表す座標を特定する。
上記実施の形態1,2では、画面内コピー符号化モードで予測処理を実施する際、符号化対象ブロック全体で1つのブロックシフトベクトルを用いて、符号化済み領域から参照ブロックを取得する構成である。
この実施の形態3では、符号化対象ブロックが複数の領域に分割されている場合、各々の分割ブロック毎に、異なるブロックシフトベクトルを用いて、符号化済み領域から参照ブロックを取得する際、それらのブロックシフトベクトルの符号化に必要な符号量を削減する構成である。
図47はこの発明の実施の形態3による画像符号化装置の画面内コピー予測部6を示す構成図である。
参照領域探索部92は領域分割部91から複数の分割ブロックを受けると、イントラ用メモリ12に格納されている局所復号画像の中から、各々の分割ブロックと類似している参照領域(分割ブロックに対応する参照ブロック)をそれぞれ探索し、その参照領域を指し示すベクトルであるブロックシフトベクトルをそれぞれ出力する処理を実施する。
ベクトル差分計算部94は参照領域探索部92から出力された複数のブロックシフトベクトルが可変長符号化部15で可変長符号化される際に、複数のブロックシフトベクトルの全体の符号量が最も少なくなる複数のブロックシフトベクトルの符号化順を決定して、その符号化順に複数のブロックシフトベクトルの並び替えを実施する。
可変長符号化部15はベクトル差分計算部94により並び替えられた複数のブロックシフトベクトルを並び順に可変長符号化するとともに、ベクトル差分計算部94によるブロックシフトベクトルの並び替えを示す並び替え情報を可変長符号化する。このとき、複数のブロックシフトベクトルの符号化方法は、上記実施の形態1,2と同様である。
画面内コピー予測部6の領域分割部91は、符号化対象ブロックを受けると、その符号化対象ブロックを複数の領域に分割し、複数の領域である分割ブロックを出力する。
図48は符号化対象ブロックのブロックサイズが16画素×16画素である場合の分割例を示す説明図である。
図48の太線で囲まれている領域が分割された1つの領域を示している。図48(a)では、符号化対象ブロックを均等に1画素×16画素の16領域に分割している例を示しており、図48(b)では、符号化対象ブロックを不均等に9領域に分割している例を示している。
この実施の形態3では、符号化対象ブロックをどのように分割するかは問わないが、符号化制御部1が符号化効率や画質などを考慮して決定することが考えられる。
領域分割情報としては、例えば、図48(b)に示すような分割を行う場合、各領域の始点位置(符号化対象ブロック内の画素をラスタスキャンした場合のインデックス等)と連結の長さを用いることが考えられる。ただし、分割方法を常に固定とする場合には、領域分割情報を符号化してビットストリームに多重化する必要はない。
図49は複数の分割ブロックに対応する参照ブロックを示すブロックシフトベクトルを示す説明図である。
図49の例では、符号化対象ブロックが3つの分割ブロックに分割され、3つの分割ブロックに対応する参照ブロック(1)〜(3)を指し示すブロックシフトベクトル(1)〜(3)を示している。
予測画像生成部93は、複数のブロックシフトベクトルを用いて、複数の参照ブロックを取得すると、複数の参照ブロックを符号化対象ブロック全体の予測画像として出力する。
以下、ベクトル差分計算部94の処理内容を具体的に説明する。
このとき、i番目のブロックシフトベクトルを(BVxi,BVyi)で表すと、ベクトル差分計算部94は、(BVxi−BVxi−1,BVyi−BVyi−1)のようにして2つの隣り合ったベクトルをペアにしてベクトルの差分を求めるようにしてもよい。
なお、(BVx0,BVy0)については、近傍にあるブロックのブロックシフトベクトルを用いて予測を行ってもよいし、あるいは(10,10)などの適当な定数により予測を行ってもよい。
図50の例では、(BVx6,BVy6)と(BVx7,BVy7)などは、類似しているベクトルであるため(ベクトルの方向が近い)、ベクトルの差分を小さくすることができるが、(BVx3,BVy3)と(BVx4,BVy4)などでは、類似していないため、ベクトルの差分が非常に大きくなり、符号化効率が低下する。
そこで、ベクトル差分計算部94は、ブロックシフトベクトル間の差分が小さくなるようにベクトルの並べ替えを行う。
図51では、図50に示している9本のブロックシフトベクトルの原点を合わせて図示している。
ここで、水平方向からのなす角θが最も小さいインデックス(3)のベクトルと、最も大きいインデックス(2)のベクトルに着目し、例えば、これら2つのベクトルがなす角を4等分して4つのエリアを定義し、これを順にA0,A1,A2,A3とする。
次に、エリアA1に含まれるブロックシフトベクトルをインデックスが小さい順に符号化する。つまり、インデックス(5)のベクトルの符号化として、インデックス(5)のベクトルとインデックス(8)のベクトルとの差分(BVx5−BVx8,BVy5−BVy8)を符号化する。
同様に、エリアA2,A3に含まれるブロックシフトベクトルをインデックスが小さい順に符号化する。
この実施の形態3は、図51に示すようなエリアの分割方法及び分割数に限定されるものではなく、例えば、図55に示すように、図51とは異なるエリアの分割方法及び分割数を用いることも当然考えられる。
しかし、画面内コピー予測部35では、どのような並べ替えが行われているかが未知であるため、正しい並べ替えを行うことができるようにベクトル差分計算部94が、ベクトルの並べ替え情報を出力し、このベクトルの並べ替え情報を可変長符号化部15で符号化してビットストリームに多重化する。
ただし、図51のようなA0,A1,A2,A3といったエリア分割を行わず、全てのベクトルを任意に入れ替えて、その入れ替え順番をベクトルのインデックスによって表現しているベクトル並べ替え情報を符号化するようにしてもよい。
しかし、このようにすると符号化対象ブロック内に含まれるブロックシフトベクトルの数が例えば64などのように大きくなった場合、(0)から(63)までのインデックスを符号化しなければならず、ベクトル並べ替え情報の符号化に必要な符号量が大きくなり符号化効率が低下する。
一方、図51のようなエリア分割を行って各ベクトルが属するエリアのインデックスだけをベクトル並べ替え情報として符号化するようにすれば、インデックスの符号化に必要な符号量を分割エリア数で調整することができるため、符号量を削減して符号化効率を改善することができる。
図53はこの発明の実施の形態3による画像復号装置の画面内コピー予測部35を示す構成図である。
図53において、ベクトル並べ替え部101は可変長復号部31により復号された各分割ブロックに係るブロックシフトベクトルの並べ替え情報を参照して、可変長復号部31により復号された各分割ブロックのブロックシフトベクトルを正しい順番に並べ替える(ベクトル差分計算部94により並べ替えられる前のブロックシフトベクトルと同じ順番になるように、可変長復号部31により復号された各分割ブロックのブロックシフトベクトルを並べ替える)処理を実施する。
予測画像生成部102はベクトル並べ替え部101により並び替えられたブロックシフトベクトルを用いて、イントラ用メモリ38に格納されている局所復号画像から、各分割ブロックに対応する参照ブロックを読み出し、複数の参照ブロックを復号対象ブロック全体の予測画像として出力する処理を実施する。
画面内コピー予測部35のベクトル並べ替え部101は、可変長復号部31から各分割ブロックに係るブロックシフトベクトルの並べ替え情報を受けると、その並べ替え情報を参照して、可変長復号部31により復号された各分割ブロックのブロックシフトベクトルを正しい順番に並べ替える処理を行う。
図54は並べ替え前後のベクトルインデックスとベクトルの並べ替え情報を示す説明図である。
以下、図54を参照しながら、ブロックシフトベクトルの並べ替えを説明する。
ベクトル並べ替え部101は、ベクトル並べ替え情報(所属エリアインデックス)を参照して、所属エリアインデックスが小さい順にブロックシフトベクトルを並べる。つまり、所属エリアインデックスが(0)となるブロックシフトベクトルを求め、所属エリアインデックスが(0)となるブロックシフトベクトルが複数存在する場合は、ベクトルインデックスが小さい順に並べる。
図54の例では、所属エリアインデックスが(0)となるブロックシフトベクトルは、インデックス(3)とインデックス(8)のベクトルであるため、ベクトルインデックスが小さい順に、インデックス(3)とインデックス(8)のベクトルを並べる。
これを繰り返していき、最終的に図54のようにベクトルの並べ替えが行われ、図1の画像符号化装置における画面内コピー予測部6で並べ替えを行う前の正しいベクトルインデックスを得ることができる。
上記実施の形態1では、可変長符号化部15が画面内コピー予測のブロックシフトベクトルを符号化する際、直前の符号化済みブロックのベクトル、あるいは、符号化対象ブロックの周囲の符号化済みブロックのベクトルを予測ベクトルとしてベクトルの差分値を符号化するものを示したが、ベクトルの差分値を符号化するか、あるいは、ベクトルの予測を行わずにブロックシフトベクトルを直接符号化するかを適応的に切り替えるようにしてもよい。
図56はこの発明の実施の形態4による画像符号化装置の可変長符号化部15のうち画面内コピー予測のブロックシフトベクトルを符号化する部分を示す構成図である。
ベクトル符号量比較部115はベクトル符号量計算部113から出力された符号量情報114に基づいてブロックシフトベクトル111をそのまま符号化する場合と、ブロックシフトベクトル111と予測ベクトル112の差分を取ってから符号化する場合とにおいて、どちらの方が符号化性能が高くなるかを決定し、最終的に符号化するベクトル116と、ベクトルの予測を行うか否かを示すフラグ117(例えば、予測を行う場合は1、予測を行わない場合は0)を出力する処理を実施する。
ベクトル116とフラグ117は、可変長符号化部15の内部で可変長符号化されてビットストリームに重畳される。
まず、ベクトル符号量計算部113は、画面内コピー予測部6から(BVx,BVy)で表されるブロックシフトベクトル111と、(PBVx,PBVy)で表される予測ベクトル112を受け取ると、予測ベクトル112を使用せずにブロックシフトベクトル111をそのまま符号化する場合の符号量と、予測ベクトル112を使用して差分値(BVx−PBVx,BVy−PBVy)を符号化する場合の符号量とを計算し、それらの計算結果を符号量情報114として出力する。
ベクトル符号量比較部115は、ベクトル符号量計算部113から符号量情報114を受け取ると、ブロックシフトベクトル111である(BVx,BVy)を符号化する場合の符号量と、差分値(BVx−PBVx,BVy−PBVy)を符号化する場合の符号量とを比較して、小さくなる方を選択する。
一方、ブロックシフトベクトル111である(BVx,BVy)を符号化する場合の符号量の方が小さくなる場合、(BVx,BVy)をベクトル116として出力するとともに、フラグ117を0(予測を行わないことを示す値)として出力する。
ベクトル116とフラグ117は、可変長符号化部15の内部で可変長符号化されてビットストリームに重畳される。
なお、ベクトルの予測を実施するか否かを示すフラグ117は、ベクトルの水平成分と垂直成分のそれぞれに対して個別に設けるようにしてもよい。つまり、例えばベクトルの水平成分は予測を実施し、垂直成分は予測を実施しない、といった柔軟な選択が行えるようにしてもよい。このようにすることで、符号量の削減効果がさらに向上する。
以下、図57及び図58を用いて、可変長符号化部15が画面内コピー予測のブロックシフトベクトルを可変長符号化する手順を説明する。
ここでは、符号化するベクトル116の値を(Vx,Vy)とする。(Vx,Vy)は、フラグ117が0の場合、(BVx,BVy)と等しく、フラグ117が1の場合、(BVx−PBVx,BVy−PBVy)と等しいものとする。
また、Vyについても同様にVyの絶対値|Vy|を求め(ステップST122)、フラグabs_mvd_greater0_flag_yを符号化する(ステップST123)。フラグabs_mvd_greater0_flag_yは、|Vy|が0より大きい場合に1、|Vy|が0以下の場合に0となるフラグである。
可変長符号化部15は、|Vx|と|Vy|が共に0の場合(ステップST124:Yesの場合)、そのまま終了するが、|Vx|又は|Vy|の少なくとも一方が0でない場合(ステップST124:Noの場合)、フラグis_pred_flagを符号化する(図58のステップST125)。フラグis_pred_flagは、フラグ117の値に等しく、ベクトルの予測を行う場合に1、予測を行わない場合に0となるフラグである。
また、Vyの絶対値|Vy|が0よりも大きければ(ステップST128:Yesの場合)、フラグabs_mvd_greater1_flag_yを符号化する(ステップST129)。フラグabs_mvd_greater1_flag_yは|Vy|が1よりも大きい場合に1、そうでない場合に0となるフラグである。
また、Vyについても同様に、Vyの絶対値|Vy|が1よりも大きければ(ステップST134:Yesの場合)、Vyの絶対値|Vy|から2を引いた値を符号化し(ステップST135)、Vyの絶対値|Vy|が0よりも大きければ(ステップST136:Yesの場合)、フラグmvd_sign_flag_yを符号化する(ステップST137)。フラグmvd_sign_flag_yは、Vyが正の場合に0、負の場合に1となるフラグである。
したがって、BVx=0のときは必ずBVy<0になり、BVy=0のときは必ずBVx<0になる他、BVxとBVyの正負の組み合わせは、BVx<0かつBVy<0、BVx>0かつBVy<0、BVx<0かつBVy>0のいずれかとなる。
一方、フラグis_pred_flagが0となる場合(ステップST155:Noの場合)、つまりブロックシフトベクトル111の予測を実施せず、ベクトルをそのまま符号化する場合は、VxまたはVyのいずれかが0となるのであれば符号フラグ(mvd_sign_flag_xやmvd_sign_flag_y)を符号化することなく終了する(ステップST160:Noの場合)。なぜならば、Vy=0ならば必ずVx<0となり、Vx=0ならば必ずVy<0となるため正負を表す符号を別途符号化する必要がないためである。
また、VxとVyがどちらも0でない場合(ステップST160:Yesの場合)、まず、フラグboth_negative_flagを符号化する(ステップST161)。フラグboth_negative_flagは、Vx<0かつVy<0の場合に1、そうでない場合に0となるフラグである。Vx<0かつVy<0の場合は(ステップST162:Yesの場合)、そのまま終了し、Vx又はVyのうち、少なくとも一方が0より大きい場合(ステップST162:Noの場合)、VxとVyのどちらかの符号をシグナリングする必要があるため、図62ではVxの符号としてフラグmvd_sign_flag_xを符号化する(ステップST163)。
図63はこの発明の実施の形態4による画像復号装置の画面内コピー予測部35を示す構成図である。
図63において、参照ブロック座標決定部180は可変長復号部31により復号された画面内コピー予測パラメータに含まれているベクトル予測フラグから、その画面内コピー予測パラメータに含まれているブロックシフトベクトル111に対してベクトルの予測が行われているのかどうかを認識して、そのブロックシフトベクトル111から参照ブロックの位置を表す座標を特定する処理を実施する。
予測画像生成部181はイントラ用メモリ38に格納されている局所復号画像から、参照ブロック座標決定部180により特定された座標上の参照ブロックを読み出して、その参照ブロックを予測画像として加算部37に出力する処理を実施する。
図64及び図65は、画面内コピー予測パラメータが画像符号化装置にて図57及び図58に示す手順で符号化されている場合に、その復号に係る可変長復号部31の動作を示したものである。
ここでは、画面内コピー予測におけるブロックシフトベクトルを(Vx,Vy)とし、その初期値を0とする。まず、可変長復号部31は、フラグabs_mvd_greater0_flag_xを復号し、これをVxに加算する(図64のステップST190)。
また、可変長復号部31は、フラグabs_mvd_greater0_flag_yを復号し、これをVyに加算する(ステップST191)。
次に、可変長復号部31は、Vxが0よりも大きい場合(ステップST194:Yesの場合)、フラグabs_mvd_greater1_flag_xを復号し、これをVxに加算する(ステップST195)。
また、可変長復号部31は、Vyが0よりも大きい場合(ステップST196:Yesの場合)、フラグabs_mvd_greater1_flag_yを復号し、これをVyに加算する(ステップST197)。
また、可変長復号部31は、Vyが1よりも大きい場合(ステップST202:Yesの場合)、Vy’ (=|Vy|−2)を復号し、これをVyに加算する(ステップST203)。そして、Vyが0よりも大きい場合(ステップST204:Yesの場合)、フラグmvd_sign_flag_yを復号し、これが1の場合だけVyの符号を負に設定する(ステップST205)。
一方、フラグis_pred_flagが0となる場合(ステップST223:Noの場合)、つまりブロックシフトベクトル111の予測が実施されず、ベクトルがそのまま符号化されている場合は、VxまたはVyのいずれかが0となるのであれば(ステップST228:Noの場合)、0でない方の符号を負に設定して終了する(ステップST232)。
また、VxとVyがどちらも0でない場合(ステップST228:Yesの場合)、まず、フラグboth_negative_flagを復号してこれが1であればVxとVyの符号を負に設定する(ステップST229)。フラグboth_negative_flagが0の場合(ステップST230:Noの場合)、フラグmvd_sign_flag_xを復号し、これが1であればVxの符号を負、Vyの符号を正、0であればVxの符号を正、Vyの符号を負に設定する。(ステップST231)。
例えば、ベクトル予測フラグが“0”であれば、ベクトルの予測が行われず、画面内コピー予測におけるベクトルがそのまま符号化されていると認識し、ベクトル予測フラグが“1”であれば、ベクトルの予測が行われて、画面内コピー予測におけるベクトルと予測ベクトルとの差分が符号化されていると認識して、画面内コピー予測パラメータに含まれているブロックシフトベクトルに対して予測ベクトルを加算したベクトルを生成する。
参照ブロック座標決定部81は、ブロックシフトベクトルから参照ブロックの位置を表す座標を特定する。
上記実施の形態4では、画面内コピー予測部6が、可変長符号化部15によりブロックシフトベクトルが可変長符号化された際の符号量が最も少なくなるようにするために、ブロックシフトベクトルと予測ベクトルの差分ベクトルを符号化する場合の符号量と、ブロックシフトベクトルそのものを符号化する場合の符号量とを比較し、その差分ベクトルを符号化する場合の方が符号量が少なければ、その差分ベクトルを可変長符号化し、ブロックシフトベクトルそのものを符号化する場合の方が符号量が少なければ、ブロックシフトベクトルそのものを可変長符号化するようにしている。
このように、差分ベクトルを可変長符号化する場合と、ブロックシフトベクトルそのものを可変長符号化する場合とを適応的に切り替えると、常に差分ベクトルを可変長符号化する場合と比べて符号化するベクトルの分布が大きく変化するため、可変長符号化部15が、この新たな分布に合致した符号化方式を用いて、ブロックシフトベクトルを可変長符号化するようにしてもよい。
以下、可変長符号化部15が、画面内コピー予測のブロックシフトベクトルを符号化する際の動作について説明する。
従来の画像符号化装置では、図69(a)に示すように、符号化するベクトルの長さが0から大きくなるにつれてなだらかに出現頻度が小さくなっている。
これに対して、上記実施の形態4のように、符号量を比較して、差分ベクトル又はブロックシフトベクトルそのものを符号化する場合、長さが短い方のベクトルが適応的に選択されて符号化されるため、長さが短いベクトルの出現頻度が大きくなる。このため、符号化するベクトルの長さの分布が図69(b)に示すような分布になる。
図69(b)に示す分布は、0や1などの長さが短いベクトルの出現頻度が極めて大きくなり、それよりも長さが長いベクトルの出現頻度がほぼ一定になる。
以下、図70及び図71を用いて、可変長符号化部15が画面内コピー予測のブロックシフトベクトルを可変長符号化する手順を説明する。
上記実施の形態4と同様に、符号化するベクトル116の値を(Vx,Vy)とする。(Vx,Vy)は、フラグ117が0の場合、(BVx,BVy)と等しく、フラグ117が1の場合、(BVx−PBVx,BVy−PBVy)と等しいものとする。
また、可変長符号化部15は、Vyの絶対値|Vy|を求め(ステップST252)、フラグabs_mvd_greater0_flag_yを符号化する(ステップST253)。フラグabs_mvd_greater0_flag_yは、|Vy|が0より大きい場合に1、|Vy|が0以下の場合に0となるフラグ(ブロックシフトベクトルの絶対値|Vy|が零であるか否かを示す零フラグ)である。
また、可変長符号化部15は、Vyの絶対値|Vy|が0よりも大きければ(ステップST258:Yesの場合)、フラグabs_mvd_greaterTH_flag_yを符号化する(ステップST259)。フラグabs_mvd_greaterTH_flag_yは、Vyの絶対値|Vy|が閾値THよりも大きい場合に1、そうでない場合に0となるフラグ(ブロックシフトベクトルの絶対値|Vy|が閾値THより大きいか否かの比較結果を示す閾値比較フラグ)である。
一方、Vxの絶対値|Vx|が閾値THよりも大きい場合(ステップST261:Noの場合)、Vxの絶対値|Vx|から(TH+1)を引いた値を次数5の指数ゴロム符号で符号化する(ステップST263)。
可変長符号化部15は、ステップST262又はステップST263で符号化すると、フラグmvd_sign_flag_xを符号化する(ステップST264)。フラグmvd_sign_flag_xは、Vxが正の場合に0、負の場合に1となるフラグ(ブロックシフトベクトルの正負を示す符号)である。
一方、Vyの絶対値|Vy|が閾値THよりも大きい場合(ステップST266:Noの場合)、Vyの絶対値|Vy|から(TH+1)を引いた値を次数5の指数ゴロム符号で符号化する(ステップST268)。
可変長符号化部15は、ステップST267又はステップST268で符号化すると、フラグmvd_sign_flag_yを符号化する(ステップST269)。フラグmvd_sign_flag_yは、Vyが正の場合に0、負の場合に1となるフラグ(ブロックシフトベクトルの正負を示す符号)である。
閾値THが16の場合、長さが閾値TH以下のベクトルは、ステップST262で常に4ビットで符号化される。一方、閾値THよりも長いベクトルは、ステップST263で次数5の指数ゴロム符号で符号化されるが、この符号化方式は、図72に示すような符号長の割り当てとなっており、発生確率に偏りがない信号の符号化に適している。
これにより、図69(b)に示すように、長さが0や1などの極めて短いベクトル以外はほぼ等確率に発生するという特徴的なベクトルの分布に合致した符号化を行うことができるため、ベクトルの符号量を削減して高い符号化効率を得ることができる。
なお、この実施の形態5では、長さが0となるベクトルについては極めて発生頻度が高いことから、フラグ(abs_mvd_greater0_flag_x、abs_mvd_greater0_flag_y)だけを符号化していることに注意されたい。
したがって、符号化の際に最適な閾値THを決定して、その閾値THをビットストリームに重畳することで、画像復号装置側に伝送することが考えられる。閾値THを変更する単位としては、シーケンスレベルやスライスレベルなどが可能であり、変更単位に対応したヘッダ(シーケンスレベルヘッダやスライスレベルヘッダ)に閾値THを追加すればよい。閾値THを可変とすることで、さらに、ベクトルの分布と合致する符号化を行うことができるようになるため、ベクトルの符号量を更に削減して符号化効率を高めることができる。
また、閾値THをそのままビットストリームに重畳するのではなく、複数の閾値THをメモリに保持しておき、どの値を用いるかを示すインデックスだけをビットストリームに重畳するようにしてもよい。このようにすれば、閾値THの符号化に必要な符号量が削減されるため符号化効率がさらに向上する。
この実施の形態5による画像復号装置は、上記実施の形態4における画像復号装置と同様の構成であるが、可変長復号部31が、画面内コピー予測のブロックシフトベクトルを復号する際の動作が異なる。
以下、可変長復号部31が、画面内コピー予測のブロックシフトベクトルを復号する際の動作について説明する。
ここでは、画面内コピー予測におけるブロックシフトベクトルを(Vx,Vy)とし、その初期値を0とする。
まず、可変長復号部31は、フラグabs_mvd_greater0_flag_xを復号して、そのフラグabs_mvd_greater0_flag_xをVxに加える(図73のステップST280)。
また、可変長復号部31は、フラグabs_mvd_greater0_flag_yを復号して、そのフラグabs_mvd_greater0_flag_yをVyに加える(ステップST281)。
次に、可変長復号部31は、Vxが0でない場合(ステップST284:Yesの場合)、フラグabs_mvd_greaterTH_flag_xを復号し、そのフラグabs_mvd_greaterTH_flag_xが1であれば、閾値THをVxに加算する(ステップST285)。
また、可変長復号部31は、Vyが0でない場合(ステップST286:Yesの場合)、フラグabs_mvd_greaterTH_flag_yを復号し、そのフラグabs_mvd_greaterTH_flag_yが1であれば、閾値THをVyに加算する(ステップST287)。
一方、Vxが閾値THよりも大きい場合(ステップST289:Noの場合)、次数5の指数ゴロム符号で符号化されているVx’(=|Vx|−TH−1)を復号し、そのVx’をVxに加算する(ステップST291)。
また、可変長復号部31は、フラグmvd_sign_flag_xを復号し、そのフラグmvd_sign_flag_xが0であれば、Vxの符号を正に設定し、そのフラグmvd_sign_flag_xが1であれば、Vxの符号を負に設定する(ステップST292)。
一方、Vyが閾値THよりも大きい場合(ステップST294:Noの場合)、次数5の指数ゴロム符号で符号化されているVy’(=|Vy|−TH−1)を復号し、そのVy’をVyに加算する(ステップST296)。
また、可変長復号部31は、フラグmvd_sign_flag_yを復号し、そのフラグmvd_sign_flag_yが0であれば、Vyの符号を正に設定し、そのフラグmvd_sign_flag_yが1であれば、Vyの符号を負に設定する(ステップST297)。
即ち、参照ブロック座標決定部180は、フラグis_pred_flagが“0”であれば、ベクトルの予測が行われず、画面内コピー予測におけるベクトルがそのまま符号化されていると認識し、フラグis_pred_flagが“1”であれば、ベクトルの予測が行われて、画面内コピー予測におけるベクトルと予測ベクトルとの差分ベクトルが符号化されていると認識して、画面内コピー予測パラメータに含まれているブロックシフトベクトル(Vx,Vy)に対して予測ベクトルを加算したベクトルを生成する。
参照ブロック座標決定部180は、画面内コピー予測におけるベクトルがそのまま符号化されていると認識すると、そのブロックシフトベクトル(Vx,Vy)から参照ブロックの位置を表す座標を特定する。一方、画面内コピー予測におけるベクトルと予測ベクトルとの差分ベクトルが符号化されていると認識すると、ブロックシフトベクトル(Vx,Vy)に対して予測ベクトルを加算したベクトルから参照ブロックの位置を表す座標を特定する。
また、この実施の形態5によれば、上記効果を持つ画像符号化装置及び画像符号化方法が生成する符号化ビットストリームを正しく復号することができる画像復号装置及び画像復号方法が得られる効果を奏する。
上記実施の形態4では、画面内コピー予測部6が、可変長符号化部15によりブロックシフトベクトルが可変長符号化された際の符号量が最も少なくなるようにするために、ブロックシフトベクトルと予測ベクトルの差分ベクトルを符号化する場合の符号量と、ブロックシフトベクトルそのものを符号化する場合の符号量とを比較し、その差分ベクトルを符号化する場合の方が符号量が少なければ、その差分ベクトルを可変長符号化し、ブロックシフトベクトルそのものを符号化する場合の方が符号量が少なければ、ブロックシフトベクトルそのものを可変長符号化するようにしている。 このように、差分ベクトルを可変長符号化する場合と、ブロックシフトベクトルそのものを可変長符号化する場合とを適応的に切り替えると、常に差分ベクトルを可変長符号化する場合と比べて符号化するベクトルの分布が大きく変化するため、可変長符号化部15が、この新たな分布に合致した符号化方式を用いて、ブロックシフトベクトルを可変長符号化するようにしてもよい。
以下、可変長符号化部15が、画面内コピー予測のブロックシフトベクトルを符号化する際の動作について説明する。
以下、図75及び図76を用いて、可変長符号化部15が画面内コピー予測のブロックシフトベクトルを可変長符号化する手順を説明する。
上記実施の形態4と同様に、符号化するベクトル116の値を(Vx,Vy)とする。(Vx,Vy)は、フラグ117が0の場合、(BVx,BVy)と等しく、フラグ117が1の場合、(BVx−PBVx,BVy−PBVy)と等しいものとする。
また、可変長符号化部15は、Vyの絶対値|Vy|を求め(ステップST302)、フラグabs_mvd_greater0_flag_yを符号化する(ステップST303)。フラグabs_mvd_greater0_flag_yは、|Vy|が0より大きい場合に1、|Vy|が0以下の場合に0となるフラグ(ブロックシフトベクトルの絶対値|Vy|が零であるか否かを示す零フラグ)である。
ここで、coeff_abs_level_remainingは、変換・量子化部9で出力される量子化後の係数を示している。この係数の値の分布は、図69(b)に示す分布と極めて近いため、0などの極めて短い長さ以外はほぼ等確率に発生するという特徴的なベクトルの分布に合致した符号化を行うことができるようになる。そのため、ベクトルの符号量を更に削減して高い符号化効率を得ることができる。
なお、この実施の形態5では、長さが0となるベクトルについては極めて発生頻度が高いことからフラグ(abs_mvd_greater0_flag_x、abs_mvd_greater0_flag_y)だけを符号化していることに注意されたい。
また、可変長符号化部15は、フラグmvd_sign_flag_yを符号化する(ステップST311)。フラグmvd_sign_flag_yは、Vyが正の場合に0、負の場合に1となるフラグ(ブロックシフトベクトルの正負を示す符号)である。
この実施の形態6による画像復号装置は、上記実施の形態4における画像復号装置と同様の構成であるが、可変長復号部31が、画面内コピー予測のブロックシフトベクトルを復号する際の動作が異なる。
以下、可変長復号部31が、画面内コピー予測のブロックシフトベクトルを復号する際の動作について説明する。
ここでは、画面内コピー予測におけるブロックシフトベクトルを(Vx,Vy)とし、その初期値を0とする。
まず、可変長復号部31は、フラグabs_mvd_greater0_flag_xを復号して、そのフラグabs_mvd_greater0_flag_xをVxに加える(図77のステップST320)。
また、可変長復号部31は、フラグabs_mvd_greater0_flag_yを復号して、そのフラグabs_mvd_greater0_flag_yをVyに加える(ステップST321)。
次に、可変長復号部31は、Vxが0でない場合(ステップST324:Yesの場合)、予め設定されている復号方式、即ち、上記の非特許文献1に記載されているcoeff_abs_level_remainingと同様の復号方式を利用して、Vx’(|Vx|−1)を復号し、そのVx’をVxに加算する(ステップST325)。
また、可変長復号部31は、フラグmvd_sign_flag_xを復号し、そのフラグmvd_sign_flag_xが0であれば、Vxの符号を正に設定し、そのフラグmvd_sign_flag_xが1であれば、Vxの符号を負に設定する(ステップST326)。
また、可変長復号部31は、フラグmvd_sign_flag_yを復号し、そのフラグmvd_sign_flag_yが0であれば、Vyの符号を正に設定し、そのフラグmvd_sign_flag_yが1であれば、Vyの符号を負に設定する(ステップST329)。
即ち、参照ブロック座標決定部180は、フラグis_pred_flagが“0”であれば、ベクトルの予測が行われず、画面内コピー予測におけるベクトルがそのまま符号化されていると認識し、フラグis_pred_flagが“1”であれば、ベクトルの予測が行われて、画面内コピー予測におけるベクトルと予測ベクトルとの差分ベクトルが符号化されていると認識して、画面内コピー予測パラメータに含まれているブロックシフトベクトル(Vx,Vy)に対して予測ベクトルを加算したベクトルを生成する。
参照ブロック座標決定部180は、画面内コピー予測におけるベクトルがそのまま符号化されていると認識すると、そのブロックシフトベクトル(Vx,Vy)から参照ブロックの位置を表す座標を特定する。一方、画面内コピー予測におけるベクトルと予測ベクトルとの差分ベクトルが符号化されていると認識すると、ブロックシフトベクトル(Vx,Vy)に対して予測ベクトルを加算したベクトルから参照ブロックの位置を表す座標を特定する。
また、この実施の形態6によれば、上記効果を持つ画像符号化装置及び画像符号化方法が生成する符号化ビットストリームを正しく復号することができる画像復号装置及び画像復号方法が得られる効果を奏する。
上記実施の形態4では、画面内コピー予測部6が、可変長符号化部15によりブロックシフトベクトルが可変長符号化された際の符号量が最も少なくなるようにするために、ブロックシフトベクトルと予測ベクトルの差分ベクトルを符号化する場合の符号量と、ブロックシフトベクトルそのものを符号化する場合の符号量とを比較し、その差分ベクトルを符号化する場合の方が符号量が少なければ、その差分ベクトルを可変長符号化し、ブロックシフトベクトルそのものを符号化する場合の方が符号量が少なければ、ブロックシフトベクトルそのものを可変長符号化するようにしている。
このように、差分ベクトルを可変長符号化する場合と、ブロックシフトベクトルそのものを可変長符号化する場合とを適応的に切り替えると、常に差分ベクトルを可変長符号化する場合と比べて符号化するベクトルの分布が大きく変化するため、可変長符号化部15が、この新たな分布に合致した符号化方式を用いて、ブロックシフトベクトルを可変長符号化するようにしてもよい。
以下、可変長符号化部15が、画面内コピー予測のブロックシフトベクトルを符号化する際の動作について説明する。
以下、図79及び図80を用いて、可変長符号化部15が画面内コピー予測のブロックシフトベクトルを可変長符号化する手順を説明する。
上記実施の形態4と同様に、符号化するベクトル116の値を(Vx,Vy)とする。(Vx,Vy)は、フラグ117が0の場合、(BVx,BVy)と等しく、フラグ117が1の場合、(BVx−PBVx,BVy−PBVy)と等しいものとする。
また、可変長符号化部15は、Vyの絶対値|Vy|を求め(ステップST342)、abs_bvd_msb_idx_p1_yを符号化する(ステップST343)。abs_bvd_msb_idx_p1_yは、|Vy|を示すビット値の最上位ビット(|Vy|を示すビット値の一部)に対応するインデックスに1を加えた値であり、最上位ビットのインデックスは図81のように定義される。
次に、可変長符号化部15は、|Vx|が0でない場合(ステップST348:Yesの場合)、フラグbvd_sign_flag_xを符号化する(ステップST349)。フラグbvd_sign_flag_xは、Vxが正の場合に0、負の場合に1となるフラグである。
次に、可変長符号化部15は、|Vy|が0でない場合(ステップST352:Yesの場合)、フラグbvd_sign_flag_yを符号化する(ステップST353)。フラグbvd_sign_flag_yは、Vyが正の場合に0、負の場合に1となるフラグである。
可変長符号化部15が、上記のように符号化することで、0などの極めて短い長さ以外はほぼ等確率に発生するという特徴的なベクトルの分布に合致した符号化を行うことができるようになる。そのため、ベクトルの符号量を更に削減して高い符号化効率を得ることができる。
なお、この実施の形態7では、絶対値|Vx|,|Vy|が0の場合、abs_bvd_msb_idx_p1_x,abs_bvd_msb_idx_p1_yだけを符号化していることに注意されたい。
この実施の形態7による画像復号装置は、上記実施の形態4における画像復号装置と同様の構成であるが、可変長復号部31が、画面内コピー予測のブロックシフトベクトルを復号する際の動作が異なる。
以下、可変長復号部31が、画面内コピー予測のブロックシフトベクトルを復号する際の動作について説明する。
ここでは、画面内コピー予測におけるブロックシフトベクトルを(Vx,Vy)とし、その初期値を0とする。
まず、可変長復号部31は、abs_bvd_msb_idx_p1_xを復号し、そのabs_bvd_msb_idx_p1_xが0でなければ、2abs_bvd_msb_idx_p1_x−1をVxに加算する(図82のステップST360)。
また、可変長復号部31は、abs_bvd_msb_idx_p1_yを復号し、そのabs_bvd_msb_idx_p1_yが0でなければ、2abs_bvd_msb_idx_p1_y−1をVyに加算する(ステップST361)。
次に、可変長復号部31は、Vxが1よりも大きい場合(ステップST364:Yesの場合)、abs_bvd_refinement_bits_xを復号して、そのabs_bvd_refinement_bits_xをVxに加算する(ステップST365)。
また、可変長復号部31は、Vxが0でない場合(ステップST366:Yesの場合)、フラグbvd_sign_flag_xを復号し、そのフラグbvd_sign_flag_xが0であれば、Vxの符号を正に設定し、そのフラグbvd_sign_flag_xが1であれば、Vxの符号を負に設定する(ステップST367)。
また、可変長復号部31は、Vyが0でない場合(ステップST370:Yesの場合)、フラグbvd_sign_flag_yを復号し、そのフラグbvd_sign_flag_yが0であれば、Vyの符号を正に設定し、そのフラグbvd_sign_flag_yが1であれば、Vyの符号を負に設定する(ステップST371)。
即ち、参照ブロック座標決定部180は、フラグis_pred_flagが“0”であれば、ベクトルの予測が行われず、画面内コピー予測におけるベクトルがそのまま符号化されていると認識し、フラグis_pred_flagが“1”であれば、ベクトルの予測が行われて、画面内コピー予測におけるベクトルと予測ベクトルとの差分ベクトルが符号化されていると認識して、画面内コピー予測パラメータに含まれているブロックシフトベクトル(Vx,Vy)に対して予測ベクトルを加算したベクトルを生成する。
参照ブロック座標決定部180は、画面内コピー予測におけるベクトルがそのまま符号化されていると認識すると、そのブロックシフトベクトル(Vx,Vy)から参照ブロックの位置を表す座標を特定する。一方、画面内コピー予測におけるベクトルと予測ベクトルとの差分ベクトルが符号化されていると認識すると、ブロックシフトベクトル(Vx,Vy)に対して予測ベクトルを加算したベクトルから参照ブロックの位置を表す座標を特定する。
また、この実施の形態7によれば、上記効果を持つ画像符号化装置及び画像符号化方法が生成する符号化ビットストリームを正しく復号することができる画像復号装置及び画像復号方法が得られる効果を奏する。
上記実施の形態5〜7では、可変長符号化部15が、差分ベクトルを可変長符号化する場合と、ブロックシフトベクトルそのものを可変長符号化する場合とを適応的に切り替えたときのベクトル分布に合致した符号化方式を用いて、ブロックシフトベクトルを可変長符号化するものを示している。
この実施の形態8では、可変長符号化部15が、差分ベクトルを可変長符号化する場合と、ブロックシフトベクトルそのものを可変長符号化する場合とを適応的に切り替えたときのベクトル分布に合致した符号化方式を用いて、ブロックシフトベクトルを可変長符号化する際、ベクトル予測フラグであるフラグ117が差分ベクトルを符号化している旨を示していれば、第1の符号化方式(例えば、動きベクトルの可変長符号化に用いる符号化方式)で差分ベクトルを符号化し、フラグ117が差分ベクトルを符号化していない旨を示していれば、第1の符号化方式と異なる第2の符号化方式でブロックシフトベクトルそのものを符号化するものを説明する。
可変長符号化部15の選択スイッチ118は、符号化制御部1から画面内コピー予測で符号化するベクトル116を受けると、符号化制御部1から出力されたベクトル予測フラグであるフラグ117(予測を行う場合は1、予測を行わない場合は0)が“1”であれば、そのベクトル116をブロックシフトベクトル符号化部119に出力し、そのフラグ117が“0”であれば、そのベクトル116をブロックシフトベクトル符号化部120に出力する。
ブロックシフトベクトル符号化部120は、第2の符号化方式で符号化を行う符号化部であり、選択スイッチ118からベクトル116を受けると、例えば、次数が4の指数ゴロム符号化によってベクトル116を符号化する。
選択スイッチ121は符号化制御部1から出力されたフラグ117が“1”であれば、ブロックシフトベクトル符号化部119により符号化されたベクトル116の符号化データであるビット列122を符号化ビットストリームに加え、そのフラグ117が“0”であれば、ブロックシフトベクトル符号化部120により符号化されたベクトル116の符号化データであるビット列122を符号化ビットストリームに加える。
そこで、この実施の形態8では、2つのブロックシフトベクトル符号化部119,120を設け、ベクトルの予測の有無に応じて符号化方式を切り替えるようにしている。
即ち、画面内コピー予測におけるベクトルと予測ベクトルとの差分ベクトルを符号化する場合、ブロックシフトベクトル符号化部119が、第1の符号化方式で差分ベクトルであるベクトル116を符号化し、画面内コピー予測におけるブロックシフトベクトルそのものを符号化する場合、ブロックシフトベクトル符号化部120が、第2の符号化方式でブロックシフトベクトルそのものであるベクトル116を符号化するようにしている。
これにより、符号化を行う各ベクトルに最適な符号化方式を選択することができるようになり、上記実施の形態4よりも更に、ブロックシフトベクトルの符号化に必要な符号量を削減して、スクリーンコンテンツに対する符号化性能を高めることができる。
これにより、ブロックシフトベクトルの符号化に必要な符号量を削減しつつ、必要な符号化部の種類を少なくすることができるため、ハードウェアおよびソフトウェア実装時の実装規模および開発期間を削減することが可能になる。
この実施の形態8による画像復号装置は、上記実施の形態4における画像復号装置と同様の構成であるが、可変長復号部31が、画面内コピー予測のブロックシフトベクトルを復号する際の動作が異なる。
図85はこの発明の実施の形態8による画像復号装置の可変長復号部31の内部構成のうち、画面内コピー予測のブロックシフトベクトルの復号に関する部分を示す構成図である。
可変長復号部31の選択スイッチ124は、フラグ125が差分ベクトルを符号化している旨を示していれば、符号化ビットストリーム123をブロックシフトベクトル復号部126に出力し、フラグ125が差分ベクトルを符号化していない旨を示していれば、符号化ビットストリーム123をブロックシフトベクトル復号部127に出力する。
ブロックシフトベクトル復号部127は、図84におけるブロックシフトベクトル符号化部120の符号化方式に対応する復号方式で復号を行う復号部であり、選択スイッチ124から符号化ビットストリーム123を受けると、例えば、次数が4の指数ゴロム復号によって符号化ビットストリーム123からブロックシフトベクトルを復号する。
また、この実施の形態8によれば、上記効果を持つ画像符号化装置及び画像符号化方法が生成する符号化ビットストリームを正しく復号することができる画像復号装置及び画像復号方法が得られる効果を奏する。
Claims (14)
- 符号化対象ブロックの予測画像を生成する際、局所復号画像のうち同一のピクチャ内で既に復号が済んでいる領域の中から、前記符号化対象ブロックに対応する参照ブロックを探索し、前記参照ブロックの位置を示すブロックシフトベクトルを出力する画面内コピー予測手段と、
前記画面内コピー予測手段から出力されたブロックシフトベクトルを可変長符号化する可変長符号化手段とを備え、
前記可変長符号化手段は、前記ブロックシフトベクトルに対する予測ベクトルと当該ブロックシフトベクトルとの差分ベクトルを符号化するか、あるいは前記ブロックシフトベクトルをそのまま符号化するかを適応的に切り替え、そのベクトル分布に合致した符号化方式を用いて、前記ブロックシフトベクトルを可変長符号化することを特徴とする画像符号化装置。 - 前記可変長符号化手段は、
前記ブロックシフトベクトルの絶対値が零であるか否かを示す零フラグを符号化し、
前記ブロックシフトベクトルの絶対値が零でなければ、前記ブロックシフトベクトルに対する予測ベクトルと当該ブロックシフトベクトルとの差分ベクトルを符号化しているか否かを示すベクトル予測フラグと、前記ブロックシフトベクトルの絶対値が予め設定された閾値より大きいか否かの比較結果を示す閾値比較フラグと、前記ブロックシフトベクトルの正負を示す符号とを符号化するとともに、前記比較結果に応じた符号化方式で前記ブロックシフトベクトルの絶対値を符号化することを特徴とする請求項1記載の画像符号化装置。 - 前記可変長符号化手段は、
前記ブロックシフトベクトルの絶対値が零であるか否かを示す零フラグを符号化し、
前記ブロックシフトベクトルの絶対値が零でなければ、前記ブロックシフトベクトルに対する予測ベクトルと当該ブロックシフトベクトルとの差分ベクトルを符号化しているか否かを示すベクトル予測フラグと、前記ブロックシフトベクトルの正負を示す符号とを符号化するとともに、予め設定されている符号化方式で前記ブロックシフトベクトルの絶対値を符号化することを特徴とする請求項1記載の画像符号化装置。 - 前記可変長符号化手段は、
前記ブロックシフトベクトルの絶対値を示すビット値の一部に対応するインデックスを符号化し、
前記ブロックシフトベクトルの絶対値が零でなければ、前記ブロックシフトベクトルに対する予測ベクトルと当該ブロックシフトベクトルとの差分ベクトルを符号化しているか否かを示すベクトル予測フラグと、前記ブロックシフトベクトルの正負を示す符号とを符号化し、
前記ブロックシフトベクトルの絶対値が1より大きければ、前記ビット値の一部を除く、前記絶対値を示す残りのビット値を符号化することを特徴とする請求項1記載の画像符号化装置。 - 前記可変長符号化手段は、
前記ブロックシフトベクトルの絶対値が零であるか否かを示す零フラグを符号化し、
前記ブロックシフトベクトルの絶対値が零でなければ、前記ブロックシフトベクトルに対する予測ベクトルと当該ブロックシフトベクトルとの差分ベクトルを符号化しているか否かを示すベクトル予測フラグを符号化するとともに、前記ベクトル予測フラグが前記差分ベクトルを符号化している旨を示していれば、第1の符号化方式で前記差分ベクトルを符号化し、前記ベクトル予測フラグが前記差分ベクトルを符号化していない旨を示していれば、第2の符号化方式で前記ブロックシフトベクトルを符号化することを特徴とする請求項1記載の画像符号化装置。 - 前記符号化対象ブロックの予測画像を生成する際、前記符号化対象ブロックと前記局所復号画像を比較して動きベクトルを探索する動き補償予測手段を備え、
前記可変長符号化手段が、前記動き補償予測手段により探索された動きベクトル又は前記画面内コピー予測手段から出力されたブロックシフトベクトルを可変長符号化する場合、前記動きベクトルの可変長符号化に用いる符号化方式と前記第1の符号化方式が同じ符号化方式であることを特徴とする請求項5記載の画像符号化装置。 - ブロックシフトベクトルを可変長復号する可変長復号手段と、
復号画像の中から、前記可変長復号手段により可変長復号されたブロックシフトベクトルが示す位置の参照ブロックを符号化対象ブロックの予測画像として取得する画面内コピー予測手段とを備え、 前記可変長復号手段は、前記ブロックシフトベクトルに対する予測ベクトルと当該ブロックシフトベクトルとの差分ベクトルを符号化するか、あるいは前記ブロックシフトベクトルをそのまま符号化するかを適応的に切り替えたときのベクトル分布に合致した復号方式を用いて、前記ブロックシフトベクトルを可変長復号することを特徴とする画像復号装置。 - 前記可変長復号手段は、
前記ブロックシフトベクトルの絶対値が零であるか否かを示す零フラグを復号し、
前記零フラグが零でない旨を示していれば、前記ブロックシフトベクトルに対する予測ベクトルと当該ブロックシフトベクトルとの差分ベクトルを符号化しているか否かを示すベクトル予測フラグと、前記ブロックシフトベクトルの絶対値が予め設定された閾値より大きいか否かの比較結果を示す閾値比較フラグと、前記ブロックシフトベクトルの正負を示す符号とを復号するとともに、前記閾値比較フラグが示す比較結果に応じた復号方式で前記ブロックシフトベクトルの絶対値を復号し、
前記ベクトル予測フラグが前記差分ベクトルを符号化している旨を示していれば、前記ブロックシフトベクトルの絶対値及び前記正負を示す符号から前記差分ベクトルを得て、前記差分ベクトルと前記予測ベクトルから前記ブロックシフトベクトルを求める一方、前記ベクトル予測フラグが前記差分ベクトルを符号化していない旨を示していれば、前記ブロックシフトベクトルの絶対値及び前記正負を示す符号から前記ブロックシフトベクトルを得ることを特徴とする請求項7記載の画像復号装置。 - 前記可変長復号手段は、
前記ブロックシフトベクトルの絶対値が零であるか否かを示す零フラグを復号し、
前記零フラグが零でない旨を示していれば、前記ブロックシフトベクトルに対する予測ベクトルと当該ブロックシフトベクトルとの差分ベクトルを符号化しているか否かを示すベクトル予測フラグと、前記ブロックシフトベクトルの正負を示す符号とを復号するとともに、予め設定されている復号方式で前記ブロックシフトベクトルの絶対値を復号し、
前記ベクトル予測フラグが前記差分ベクトルを符号化している旨を示していれば、前記ブロックシフトベクトルの絶対値及び前記正負を示す符号から前記差分ベクトルを得て、前記差分ベクトルと前記予測ベクトルから前記ブロックシフトベクトルを求める一方、前記ベクトル予測フラグが前記差分ベクトルを符号化していない旨を示していれば、前記ブロックシフトベクトルの絶対値及び前記正負を示す符号から前記ブロックシフトベクトルを得ることを特徴とする請求項7記載の画像復号装置。 - 前記可変長復号手段は、
前記ブロックシフトベクトルの絶対値を示すビット値の一部に対応するインデックスを復号し、
前記ブロックシフトベクトルの絶対値が零でなければ、前記ブロックシフトベクトルに対する予測ベクトルと当該ブロックシフトベクトルとの差分ベクトルを符号化しているか否かを示すベクトル予測フラグと、前記ブロックシフトベクトルの正負を示す符号とを復号し、
前記ブロックシフトベクトルの絶対値が1より大きければ、前記ビット値の一部を除く、前記絶対値を示す残りのビット値を復号し、
前記ベクトル予測フラグが前記差分ベクトルを符号化している旨を示していれば、前記インデックス、前記残りのビット値及び前記正負を示す符号から前記差分ベクトルを得て、前記差分ベクトルと前記予測ベクトルから前記ブロックシフトベクトルを求める一方、前記ベクトル予測フラグが前記差分ベクトルを符号化していない旨を示していれば、前記インデックス、前記残りのビット値及び前記正負を示す符号から前記ブロックシフトベクトルを得ることを特徴とする請求項7記載の画像復号装置。 - 前記可変長復号手段は、
前記ブロックシフトベクトルの絶対値が零であるか否かを示す零フラグを復号し、
前記零フラグが零でない旨を示していれば、前記ブロックシフトベクトルに対する予測ベクトルと当該ブロックシフトベクトルとの差分ベクトルを符号化しているか否かを示すベクトル予測フラグを復号し、
前記ベクトル予測フラグが前記差分ベクトルを符号化している旨を示していれば、第1の復号方式で前記差分ベクトルを復号して、前記差分ベクトルと前記予測ベクトルから前記ブロックシフトベクトルを求め、前記ベクトル予測フラグが前記差分ベクトルを符号化していない旨を示していれば、第2の復号方式で前記ブロックシフトベクトルを復号することを特徴とする請求項7記載の画像復号装置。 - 前記可変長復号手段は、前記符号化対象ブロックに係る動きベクトル又は前記ブロックシフトベクトルを可変長復号する場合、
前記動きベクトルの可変長復号に用いる復号方式と前記第1の復号方式が同じ復号方式であることを特徴とする請求項11記載の画像復号装置。 - 画面内コピー予測手段が、符号化対象ブロックの予測画像を生成する際、局所復号画像のうち同一のピクチャ内で既に復号が済んでいる領域の中から、前記符号化対象ブロックに対応する参照ブロックを探索し、前記参照ブロックの位置を示すブロックシフトベクトルを出力する画面内コピー予測処理ステップと、
可変長符号化手段が、前記画面内コピー予測処理ステップで出力されたブロックシフトベクトルを可変長符号化する可変長符号化処理ステップとを備え、
前記可変長符号化処理ステップでは、前記ブロックシフトベクトルに対する予測ベクトルと当該ブロックシフトベクトルとの差分ベクトルを符号化するか、あるいは前記ブロックシフトベクトルをそのまま符号化するかを適応的に切り替え、そのベクトル分布に合致した符号化方式を用いて、前記ブロックシフトベクトルを可変長符号化することを特徴とする画像符号化方法。 - 可変長復号手段が、ブロックシフトベクトルを可変長復号する可変長復号処理ステップと、
画面内コピー予測手段が、復号画像の中から、前記可変長復号処理ステップで可変長復号されたブロックシフトベクトルが示す位置の参照ブロックを符号化対象ブロックの予測画像として取得する画面内コピー予測処理ステップとを備え、
前記可変長復号処理ステップでは、前記ブロックシフトベクトルに対する予測ベクトルと当該ブロックシフトベクトルとの差分ベクトルを符号化するか、あるいは前記ブロックシフトベクトルをそのまま符号化するかを適応的に切り替えたときのベクトル分布に合致した復号方式を用いて、前記ブロックシフトベクトルを可変長復号することを特徴とする画像復号方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014168614A JP2016046641A (ja) | 2014-08-21 | 2014-08-21 | 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014168614A JP2016046641A (ja) | 2014-08-21 | 2014-08-21 | 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016046641A true JP2016046641A (ja) | 2016-04-04 |
Family
ID=55636824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014168614A Pending JP2016046641A (ja) | 2014-08-21 | 2014-08-21 | 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016046641A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020183859A1 (ja) * | 2019-03-11 | 2020-09-17 | キヤノン株式会社 | 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、及びプログラム |
CN116233470A (zh) * | 2020-02-04 | 2023-06-06 | 华为技术有限公司 | 指示高级语法的编码器、解码器以及对应方法 |
-
2014
- 2014-08-21 JP JP2014168614A patent/JP2016046641A/ja active Pending
Non-Patent Citations (3)
Title |
---|
KAZUYUKI MIYAZAWA ET AL., NON-SCCE1: ADAPTIVE SWITCHING BETWEEN DIFFERENTIAL AND DIRECT CODING FOR INTRA BLOCK COPY VECTORS, JPN6017039237, 30 June 2014 (2014-06-30) * |
MARTA KARCZEWICZ ET AL., NON-SCCE1: BLOCK VECTOR CODING FOR INTRA BLOCK COPY, JPN6017039238, 30 June 2014 (2014-06-30) * |
SHIH-TA HSIANG ET AL., SCCE1: TEST 3.5 - BLOCK VECTOR DIFFERENCE CODING, JPN6017039241, 30 June 2014 (2014-06-30) * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020183859A1 (ja) * | 2019-03-11 | 2020-09-17 | キヤノン株式会社 | 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、及びプログラム |
CN116233470A (zh) * | 2020-02-04 | 2023-06-06 | 华为技术有限公司 | 指示高级语法的编码器、解码器以及对应方法 |
CN116233470B (zh) * | 2020-02-04 | 2024-01-09 | 华为技术有限公司 | 指示高级语法的编码器、解码器以及对应方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6573689B2 (ja) | 画像符号化装置および画像符号化方法 | |
US10116939B2 (en) | Method of deriving motion information | |
US10158857B2 (en) | Method of constructing merge list | |
JP6580185B2 (ja) | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 | |
JP6147368B2 (ja) | 画像符号化装置、画像復号装置、符号化ストリーム変換装置、画像符号化方法、及び画像復号方法 | |
WO2013108684A1 (ja) | 動画像復号装置、動画像符号化装置、動画像復号方法及び動画像符号化方法 | |
WO2014163200A1 (ja) | カラー画像符号化装置、カラー画像復号装置、カラー画像符号化方法及びカラー画像復号方法 | |
WO2012081162A1 (ja) | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 | |
JP6362370B2 (ja) | 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 | |
JP6373008B2 (ja) | 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 | |
JP6318729B2 (ja) | 端末装置及びデータ管理装置 | |
JP2016046641A (ja) | 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 | |
JP2014204311A (ja) | カラー画像符号化装置、カラー画像復号装置、カラー画像符号化方法及びカラー画像復号方法 | |
JP6256222B2 (ja) | 端末装置及びデータ管理装置 | |
JP6300660B2 (ja) | 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 | |
JP6338408B2 (ja) | 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 | |
CN113785581A (zh) | 基于缩放列表的视频或图像编译 | |
JP6555856B2 (ja) | 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 | |
US12052414B2 (en) | Image encoding/decoding method and apparatus using quantization matrix, and method for transmitting bitstream | |
KR20240090206A (ko) | 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체 | |
JP2018166329A (ja) | 画像符号化装置および画像復号装置 | |
JP2016005210A (ja) | 端末装置及びデータ管理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170120 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171005 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171017 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171215 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180130 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180329 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20180515 |