JP6485045B2 - インデックス演算装置、プログラム及び方法 - Google Patents

インデックス演算装置、プログラム及び方法 Download PDF

Info

Publication number
JP6485045B2
JP6485045B2 JP2015000965A JP2015000965A JP6485045B2 JP 6485045 B2 JP6485045 B2 JP 6485045B2 JP 2015000965 A JP2015000965 A JP 2015000965A JP 2015000965 A JP2015000965 A JP 2015000965A JP 6485045 B2 JP6485045 B2 JP 6485045B2
Authority
JP
Japan
Prior art keywords
index
bit pattern
calculation
masked
processing means
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015000965A
Other languages
English (en)
Other versions
JP2016127486A (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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2015000965A priority Critical patent/JP6485045B2/ja
Publication of JP2016127486A publication Critical patent/JP2016127486A/ja
Application granted granted Critical
Publication of JP6485045B2 publication Critical patent/JP6485045B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、インデックス演算装置、プログラム及び方法に関し、例えば、H.265/MPEG−H HEVC等のように4分木構造に分割可能な符号化処理単位を指し示す再帰的なZスキャンインデックスに対する演算処理に適用し得るものである。
H.265/MPEG−H HEVC(以下、HEVCと呼ぶ。)等に代表される映像符号化方式による映像情報の圧縮符号化処理は、入力された対象画像を分割した処理単位ごとに、イントラ予測や動き補償予測等のインター予測を行った予測画像と、入力された対象画像との差分である予測残差信号に、離散コサイン変換等の空間変換を施した変換係数を量子化して、これをエントロピー符号化することによって高効率の映像圧縮を実現している。
図2に従来の映像符号化装置の機能的な構成を示す。HEVC等の符号化技術を用いる場合、入力された符号化対象画像は、画面分割部101により符号化ユニット等の処理単位領域毎に画面分割され、動き補償を伴うインター予測部109によるインター予測若しくはイントラ予測部110による画面内の符号化済み画素等からイントラ予測された予測画像との差分が求められる。変換部102は、この差分である予測残差信号をDCT(離散コサイン変換)やDST(離散サイン変換)によって変換し、得られた変換係数は量子化部103により量子化される。エントロピー符号化部104は、量子化された変換係数を可変長符号や算術符号のようなエントロピー符号化を行って符号化ストリームを出力する。量子化された変換係数は、逆量子化部105、逆変換部106により変換されて、予測画像と加算されることによって復号側で生成される復号画像が得られる。さらに、復号画像は、ブロック歪を軽減するデブロッキングフィルタなどのループ内フィルタ部107が適用され、後続の画像の符号化時のインター予側の動き補償のための参照画像として参照画像バッファ部108に保持される。
HEVCでは、8x8画素から64x64画素までの符号化単位であるコーディングユニット(以下、CUと呼ぶ。)を4分木構造の符号化ツリーで表現することが可能となっており、多様なブロックサイズでの符号化が可能となっている。さらに、CUは、4x4から32x32サイズの変換単位である変換ユニット(以下、TUとも呼ぶ。)に4分木構造で残差ツリーとして分割可能であり、CUの予測残差信号を様々なサイズの変換単位を組み合わせて変換・量子化して符号化することが可能となっている(図3参照)。
多様なブロックサイズの処理単位はZスキャンと呼ばれる順序で符号化処理が行われる。すなわち、図4に示すように再帰的に左上、右上、左下、右下の順に処理が行われる。図4の各領域に記載の番号は、符号化処理に係るZスキャンの順序を示しており、例えば「0」、「1」、「2」、…、「14」、「15」の順に符号化処理が行われる。
このようなZスキャン順の符号化データを効率的に保持する方法として非特許文献1に記載のHEVCの参照ソフトウェアに関する技術がある。このHEVCの参照ソフトウェアは、図5に示すようなZスキャンインデックスと呼ばれるインデックスの順に、各ブロック毎のデータを保持している。
さらに、HEVCでは注目するブロックに空間的に隣接するブロック(左、上、右上、左上、左下など)のデータを参照して動きベクトルの予測等を行う。
この場合、HEVCの参照ソフトウェアは、Zスキャンインデックス(図5参照)を、ラスターインデックス(図6参照)に変換して、動きベクトルの予測等の演算処理を行なう。図7は、HEVCの参照ソフトウェアによるインデックス演算処理を機能的に示したブロック図である。図7に示すように、従来は、ラスターインデックス変換部31は、変換テーブルを用いて、Zスキャンインデックスを、ラスタースキャン順のラスターインデックスに変換する。そして、ラスターインデックス演算処理部32が、変換されたラスターインデックスを用いて、注目ブロックに隣接する隣接ブロックのラスターインデックスを求めるなどの演算を行う。その後、Zスキャンインデックス変換部33が、逆方向の変換テーブルを用いて、得られたラスターインデックスをZスキャンインデックスに変換するという方法が用いられている。
F.Bossen,et al."HEVC Reference Software for Version 1 Profiles",JCTVC−R1011(http://phenix,it−sudparis.eu/jct/doc_end_user/documents/18_Sapporo/wg11/JCTVC−R1011−vl.zip)
しかしながら、隣接ブロックのインデックスを求める演算は、動きベクトルの予測やイントラ予測モードのモード予測など、ブロックレベルで頻繁に用いられる演算であり、変換テーブル参照のようなメモリアクセスを伴う方法では処理の負担になるという課題がある。
そのため、Zスキャンインデックスとラスターインデックスの間の双方向の変換テーブル用いずにZスキャンインデックスに対する演算を行うことが可能となり、処理負荷を低減することができるインデックス演算装置、プログラム及び方法が求められている。
本発明は、前記課題を解決するためになされたものであり、次のような構成を備える。
第1の本発明に係るインデックス演算装置は、木構造で表現することができる符号化処理単位の符号化処理の順序を示すインデックスに対して所定の演算処理を行なうインデックス演算装置において、(1)入力されたインデックスのビットパターンの一部をマスクするマスク処理手段と、(2)マスク処理手段によりマスクされたインデックスのビットパターンに対して所定の演算処理を行う演算処理手段とを備え、インデックスのビットパターンが、マトリックス上における当該インデックスのX方向の位置を示すビットパターンと、Y方向の位置を示すビットパターンとの各ビットが交互に配置されているものであり、マスク処理手段が、入力されたインデックスのビットパターンの一部をマスクして、当該インデックスのX方向インデックス及び又はY方向インデックスを抽出するものであることを特徴とする。
第2の本発明に係るインデックス演算プログラムは、木構造で表現することができる符号化処理単位の符号化処理の順序を示すインデックスに対して所定の演算処理を行なうインデックス演算プログラムにおいて、コンピュータを、(1)入力されたインデックスのビットパターンの一部をマスクするマスク処理手段と、(2)マスク処理手段によりマスクされたインデックスのビットパターンに対して所定の演算処理を行う演算処理手段として機能させ、インデックスのビットパターンが、マトリックス上における当該インデックスのX方向の位置を示すビットパターンと、Y方向の位置を示すビットパターンとの各ビットが交互に配置されているものであり、マスク処理手段が、入力されたインデックスのビットパターンの一部をマスクして、当該インデックスのX方向インデックス及び又はY方向インデックスを抽出することを特徴とする。
第3の本発明に係るインデックス演算方法は、木構造で表現することができる符号化処理単位の符号化処理の順序を示すインデックスに対して所定の演算処理を行なうインデックス演算方法において、(1)マスク処理手段が、入力されたインデックスのビットパターンの一部をマスクし、(2)演算処理手段が、マスク処理手段によりマスクされたインデックスのビットパターンに対して所定の演算処理を行い、インデックスのビットパターンが、マトリックス上における当該インデックスのX方向の位置を示すビットパターンと、Y方向の位置を示すビットパターンとの各ビットが交互に配置されているものであり、マスク処理手段が、入力されたインデックスのビットパターンの一部をマスクして、当該インデックスのX方向インデックス及び又はY方向インデックスを抽出することを特徴とする。
本発明によれば、Zスキャンインデックスとラスターインデックスの間の双方向の変換テーブル用いずにZスキャンインデックスに対する演算を行うことが可能となり、処理負荷を低減することができる。
第1の実施形態に係るインデックス演算装置の構成を示すブロック図である。 第1の実施形態に係る映像符号化装置の内部構成を示すブロック図である。 4分木構造による符号化単位への分割と、変換単位への分割を説明する説明図である。 再帰的なZスキャン順の処理順序を説明する説明図である。 Zスキャンインデックスを説明する説明図である。 ラスターインデックスを説明する説明図である。 従来のHEVCの参照ソフトウェアによるインデックス演算処理を機能的に示したブロック図である。 第1の実施形態に係るZスキャンインデックスのビットパターンと、抽出するX方向成分、Y方向成分との関係を説明する説明図である。 第1の実施形態に係るインデックス演算装置1の構成を示すブロック図である。 第2の実施形態に係る演算処理部による減算処理を説明する説明図である。 第2の実施形態に係る演算処理部による加算処理を説明する説明図である。
(A)第1の実施形態
以下では、本発明に係るインデックス演算装置、プログラム及び方法の第1の実施形態を、図面を参照しながら詳細に説明する。
(A−1)第1の実施形態の構成
(A−1−1)映像符号化装置の内部構成
図2は、第1の実施形態に係る映像符号化装置100の内部構成を示すブロック図である。
第1の実施形態に係る映像符号化装置100は、図2に示す各構成部を搭載した専用のICチップ等のハードウェアとして構成しても良いし、又は、CPUと、CPUが実行するプログラムを中心としてソフトウェア的に構成して良いが、機能的には、図2で表すことができる。
図2において、第1の実施形態に係る映像符号化装置100は、画面分割部101、変換部102、量子化部103、エントロピー符号化部104、逆量子化部105、逆変換部106、ループ内フィルタ部107、参照画像バッファ108、インター予測部109、イントラ予測部110、差分処理部111、加算部112、切り替え部113を有する。
映像符号化装置100は、入力された映像シーケンスを所定の符号化方式で符号化して、符号化映像ストリームを出力するものである。
第1の実施形態では、符号化方式がH.256/MPEG−H HEVCで規格化されている符号化方式である場合を例示する。しかし、符号化方式は、H.265/MPEG−H HEVCに限定されるものではなく、符号化単位であるコーディングユニット(CU)の予測残差信号を様々なサイズの変換単位に分割することができ、その変換単位の組み合わせにより量子化して符号化を行うことができるものであれば、様々な符号化方式を適用できる。例えば、符号化方式は、H.265/MPEG−H HEVCに限定されず、例えば、H.264/MPEG−4 AVCの規格化技術やH.265/MPEG−H HEVCの規格化技術等を基調として拡張した符号化方式にも適用可能である。
画面分割部101は、符号化対象画像である入力映像を所定の処理単位に分割するために、入力された映像シーケンスの符号化対象画像を、コーディングユニット等の所定の処理単位領域ごとに分割して、差分処理部111に与えるものである。
差分処理部111は、予測残差信号を求めるために、画面分割部101からの所定の処理単位領域に分割された入力画像と、インター予測部109若しくはイントラ予測部110からの、上記処理単位領域に対応する予測画像との差分を求め、その差分を予測残差信号として変換部102に与えるものである。
変換部102は、差分処理部111から入力された予測残差信号を、離散コサイン変換等の空間変換を施して、利用可能な処理単位の変数係数に変換するものである。変換部102は、変換した変数係数を量子化部103に与える。
利用することが可能な変換単位は、映像符号化装置100における符号化単位(処理領域単位)であるコーディングユニット(CU)によるが、例えば、処理領域単位が64×64サイズの場合、変換単位は4×4サイズ、8×8サイズ、16×16サイズ、32×32サイズとすることができ、変換部102は、上記それぞれの処理単位の変換係数を求める。なお、変換部102による予測残差信号の変換手法は、既存の変換手法を広く適用することができ、例えば、DCT(離散コサイン変換)やDST(離散コサイン変換)等を適用できる。
量子化部103は、変換部102により変換された変数係数を量子化して、変換された変換係数のツリー構造である量子化残差信号に変換し、その量子化残差信号を逆量子化部105及びエントロピー符号化部104に与える。
エントロピー符号化部104は、符号の出現確率の偏りを圧縮するために、量子化部103からの量子化残差信号をエントロピー符号化して、符号化モード情報や動きベクトル情報と共に符号化映像ストリームを出力するものである。
逆量子化部105は、符号化信号から残差信号(残差画像)を復元するために、量子化部103からの量子化残差信号を逆量子化するものである。
逆変換部106は、逆量子化部105により逆量子化された信号を逆変換して残差信号(残差画像)を復元して、加算部112に与えるものである。
加算部112は、逆変換部106からの復元された残差信号に、切り替え部113を介してインター予測部109又はイントラ予測部110からの予測画像を加算して、復号側で復号される復号画像を求めるものである。加算部112は、復号画像を、ループ内フィルタ部107及びイントラ予測部110に与える。
ループ内フィルタ部107は、符号化ループ内の量子化処理によって生じる符号化歪み(例えばブロック歪、リンギング歪等)を低減するために、加算部112からの復号画像をフィルタリングするものである。第1の実施形態はHEVC等を適用する場合を例示しており、デブロッキングフィルタ等のループ内フィルタ部107を用いて符号化歪みを低減する。
参照画像バッファ108は、ループ内フィルタ部107から出力される画像を、参照画像として保持するものである。ループ内フィルタ部107からの出力画像が、後続の入力画像の符号化時のインター予測の動き補償のための参照画像となる。
インター予測部109は、参照画像バッファ108に保持されている画像を参照画像として取得して動き補償予測を行うものである。
イントラ予測部110は、加算部112から出力される画像を用いてイントラ予測を行うものである。
切り替え部113は、画像のフレーム間又はフレーム内の画像符号化を行うために、インター予測部109又はイントラ予測部110の出力を切り替えるものである。
(A−1−2)インデックス演算装置の内部構成
図1は、第1の実施形態に係るインデックス演算装置1の構成を示すブロック図である。
第1の実施形態に係るインデックス演算装置1は、映像符号化装置100における一機能として実現可能なものである。映像符号化装置100内の各構成部は、符号化処理単位をZスキャン順に符号化処理を行い、単位ブロック毎の符号化データは、Zスキャンインデックス(図5参照)順に保持される。インター予測部109が動きベクトルの予測ベクトルを導出する際、若しくは、イントラ予測部110がイントラ予測モードの導出を行う際等のように、隣接ブロックのインデックスを求めるような演算処理がなされる場合、インデックス演算装置1は、変換テーブルを用いることなく、Zスキャンインデックスの構造の特徴を利用することで、従来のラスターインデックスを用いた演算処理と同等の演算処理を行なう。
なお、インデックス演算装置1は、インター予測やイントラ予測等を行う場合に実行するものであるため、映像符号化装置100と同様に、図1に示す各構成部を搭載した専用のICチップ等のハードウェアとして構成しても良いし、又は、CPUと、CPUが実行するプログラムを中心としてソフトウェア的に構成しても良いが、機能的には図1で表すことができる。
図1において、第1の実施形態に係るインデックス演算装置1は、マスク処理部11、演算処理部12を有する。
マスク処理部11は、入力される再帰的なZスキャンインデックスに対して、マスク処理を施して、X方向の成分若しくはY方向の成分を抽出するものである。Zスキャンインデックスのインデックスのビットパターンは、ZスキャンインデックスにおけるX方向成分(X方向のインデックス)とY方向成分(Y方向のインデックス)とが交互に配置されているという特徴的な構造を有している。そこで、マスク処理部11は、入力されたZスキャンインデックスのインデックスのビットパターンに対してマスク処理を施して、当該インデックスのX方向成分、Y方向成分を抽出する。
演算処理部12は、マスク処理部11によりマスクされたインデックス(X方向成分、Y方向成分)に対して、所定の演算パラメータを用いて、演算処理を行なうものある。
(A−2)第1の実施形態の動作
次に、第1の実施形態に係るインデックス演算装置1におけるインデックス演算処理を、図面を参照しながら詳細に説明する。
まず、Zスキャンインデックスがインデックス演算装置1に入力すると、マスク処理部11が、Zスキャンインデックスのビットパターンから、当該インデックスのX方向成分、Y方向成分を抽出する。
ここで、Zスキャンインデックスの特徴的な構造を説明する。符号化処理はZスキャン順に行われ、各ブロックの符号化データは、図5のZスキャンインデックス順に保持される。図5に示す領域に付されている番号は、Zスキャン順を示すインデックス番号であり、符号化データはインデックス番号に対応付けられて保持される。
図5に示すように、Zスキャンインデックスは非常に複雑な順にインデックス番号が付けられている。しかし、インデックス番号のビットパターンは、X方向のインデックスのビットの値と、Y方向のインデックスのビットの値とが交互に配置された構造となっている。
図8は、第1の実施形態に係るZスキャンインデックスのビットパターンと、抽出するX方向成分、Y方向成分との関係を説明する説明図である。なお、図8では、X方向成分をX方向マスクと表記し、Y方向成分をY方向マスクと表記している。
ただし、対象となるブロックのサイズがm×mのサイズであるとする。このとき、単位ブロック数がX方向にm(例えば16個)、Y方向にm(例えば16個)であるとする。ブロック全体のZスキャンインデックスは、N=m×m(例えば、16×16=256個)であり、インデックス番号のビットパターンは8ビットで表されている。mは、4分木構造の性質から2の冪乗数である。
図8に示すように、8ビットのインデックス番号のビットパターンを「y33221100」とすると、ビットパターンは、当該インデックスのZスキャンインデックスのX方向のインデックス「x3210」と、Y方向のインデックス「y3210」とがビット毎に交互に配置されている。
例えば、図5が、上記のような対象となるブロックのZスキャンインデックスの一部とする。図5において、Zスキャンインデックス番号「7」のビットパターン「y33221100」は「00000111」となる(これは「7」を2進数で示している。)。このビットパターン「y33221100」から、X方向のインデックス「x3210」と、Y方向のインデックス「y3210」とを抽出する。すなわち、X方向のインデックス「x3210」は「0011」となり、Y方向のインデックス「y3210」は「0001」となる。例えば、X方向のインデックス「x3210=0011」は10進法の「3」であり、Y方向のインデックス「y3210=0001」は10進法の「1」である。そのため、図5のZスキャンインデックスの左上であるインデックス番号「0」の位置から、X方向に「3」だけ移動させ、Y方向に「1」だけ移動させた位置に、Zスキャンインデックス番号「7」が位置していることを示す。
上記のように、インデックス番号のビットパターンは、Zスキャンインデックスにおける、当該インデックスのX方向のインデックスとY方向のインデックスとのビットが交互に配置された構造となっている。
このようなインデックスの構造であるため、マスク処理部11は、Zスキャンインデックスから、X方向成分とY方向成分との両方又はいずれかを抽出することができる。
マスク処理部11によるマスク処理は、種々の方法を広く適用することができるが、次のような方法を適用することができる。例えば、X方向成分のみを抽出する場合、マスク処理部11は、図8(a)のビットパターン「y33221100」に16進数の「0x55(2進数では「01010101」)」で論理積を行うことで、Y方向成分をマスクしたX方向成分「x3210」を得ることができる。また、Y方向成分のみを抽出する場合、図8(a)のビットパターン「y33221100」に16進数の「0xAA(2進数では「10101010」)」で論理積を行うことで、X方向成分をマスクしたX方向成分「y3210」を得ることができる。
なお、マスク処理部11によるビット演算をハードウェアの回路を用いて行う場合は、配線の工夫のみでX方向成分、Y方向成分の抽出を容易に行なうことができるが、汎用の演算器を用いるCPUによる演算処理の場合は、メモリアクセスを伴うテーブル参照を用いないで、ビットが飛び飛びに配置されたままの値として抽出するほうが処理は軽量となる。
上記のようにして、マスク処理部11は、入力される再帰的なZスキャンインデックスに対してマスク処理を施すことで、X方向成分、Y方向成分を抽出することができる。
マスク処理部11により抽出されたX方向成分、Y方向成分は、演算処理部12に与えられる。そして、演算処理部12は、マスクされたインデックス(すなわち、X方向成分、Y方向成分)に対して、所定の演算パラメータを用いて以下のような演算処理を行うことが可能である。
(a)ゼロ判定
ゼロ判定は、ZスキャンインデックスのX方向成分若しくはY方向成分がゼロであるか否かを判定することである。ゼロ判定は、マスクされたインデックスがゼロであるかどうかを判定することで可能である。
なお、汎用のCPUの論理積演算は演算結果がゼロとなった場合にフラグレジスタのゼロフラグが立つものが一般的であり、演算処理部12での処理を特に行わずに(演算パラメータも特に用いずに)にマスク処理時のゼロフラグを演算結果としてもよい。
(b)同値判定
同値判定は、ZスキャンインデックスのX方向成分の値若しくはY方向成分の値が、所定の値と同値であるかを判定することである。同値判定は、演算パラメータとして、所定の値を図8(b)若しくは図8(c)に示すようなビットパターンで与えることにより、演算処理部12におけるマスクされたインデックスの値と演算パラメータの値との同値判定演算で判定することで可能である。
例えば、入力されるZスキャンインデックスが対象ブロックの右端のブロックであるか否かの判定は、m−1の値を図8(a)に示すような飛び飛びに配置されたビットパターンで演算パラメータとして与える。あるいは、N−1の値と0x55との論理積で演算パラメータを求めてもよい。
(c)大小比較
大小比較は、ZスキャンインデックスのX方向成分の値若しくはY方向成分と、所定の値との大小比較をいう。大小比較も、同値判定と同様に、比較対象の所定の値を、図8(b)若しくは図8(c)に示すようなビットパターンで与えることにより、演算処理部12における通常の比較演算で比較することが可能である。これは、図8(b)、図8(c)のようなマスクされたインデックスの順序関係と、もともとのX方向のインデックス「x3210」やY方向のインデックス「y3210」の順序関係とが同じであることによる。
以上のように、Zスキャンインデックスに対してマスク処理を施し、マスクされたインデックスのまま、同値判定や大小比較等の演算処理を行って、得られた演算結果を出力する。
(A−3)第1の実施形態の効果
以上のように、第1の実施形態によれば、以下のような効果が得られる。
Zスキャンインデックスからラスターインデックスへの変換テーブル用いずにZスキャンインデックスのX方向成分若しくはY方向成分に対する、ゼロ判定、同値判定、大小比較等の演算を行うことが可能となり、処理負荷を低減することができる。
(B)第2の実施形態
次に、本発明に係るインデックス演算装置、プログラム及び方法の第2の実施形態を、図面を参照しながら詳細に説明する。
(B−1)第2の実施形態の構成
図9は、第2の実施形態に係るインデックス演算装置2の構成を示すブロック図である。
図9において、第2の実施形態のインデックス演算装置2は、X方向マスク処理部211、Y方向マスク処理部212、演算処理部22、結合部23を有する。
第2の実施形態では、インデックス演算装置2が、再帰的なZスキャンインデックスを入力し、所定の演算パラメータを用いて演算処理を行った演算結果としてZスキャンインデックスを出力する。
X方向マスク処理部211は、入力されたZスキャンインデックスから、Y方向成分をマスクしてX方向成分(X方向インデックス)を抽出し、そのX方向成分を演算処理部22に与える。
Y方向マスク処理部212は、入力されたZスキャンインデックスから、X方向成分をマスクしてY方向成分(Y方向インデックス)を抽出し、そのY方向成分を演算処理部22に与える。
なお、X方向マスク処理部211及びY方向マスク処理部212によるマスク処理に係る演算方法は、第1の実施形態で説明した演算方法を適用することができる。
演算処理部22は、X方向マスク処理部211からのマスクされたX方向インデックスと、Y方向マスク処理部212からのマスクされたY方向イシデックスと、入力された所定の演算パラメータとを用いて所定の演算処理を行ない、その演算結果を結合部23に与える。演算処理部22は、演算パラメータを用いたX方向インデックスに対する演算処理と、演算パラメータを用いたY方向インデックスに対する演算処理とを別個に行ない、X方向インデックスに対する演算結果とY方向インデックスに対する演算結果とを結合部23に与える。
結合部23は、演算処理部22からのX方向インデックスに対する演算結果と、Y方向インデックスに対する演算結果とを結合して、その演算結果のZスキャンインデックスを求めて後段の構成部に出力する。
(B−2)第2の実施形態の動作
次に、第2の実施形態に係るインデックス演算装置2におけるインデックス演算処理を、図面を参照しながら詳細に説明する。
例えばHEVCでは、注目するブロックに空間的に隣接するブロック(左、上、右上、左上、左下など)のデータを参照して動きベクトルの予測等を行う。
この場合、注目しているブロックのZスキャンインデックスからX方向あるいはY方向に所定のブロック数だけ移動した位置のブロックのZスキャンインデックスを求める処理が必要となる。
第2の実施形態では、インデックス演算装置2に、注目するブロックのZスキャンインデックスが入力される。そして、X方向マスク処理部211が、第1の実施形態と同様に、入力されるZスキャンインデックスのX方向成分に相当するマスクされたX方向インデックスを抽出する。また同時に、Y方向マスク処理部212が、Y方向成分に相当するマスクされたY方向インデックスを抽出する。これにより、第1の実施形態に係る図8(b)及び図8(c)に示すように、X方向及びY方向の成分を表すビットが飛び飛びに配置されたままの値として抽出する。
次に、演算処理部22では、マスクされたX方向インデックスとマスクされたY方向インデックスと所定の演算パラメータとを用いて演算処理を行う。演算処理部22では、マスクされたX方向インデックスおよびY方向インデックスに対して、所定の演算パラメータを用いて、以下のように減算や加算を行うことが可能である。
例えば、注目するブロックに空間的に隣接するブロックのデータを参照して動きベクトルの予測等を行う場合、注目ブロックの左に隣接するブロックは、Y方向インデックスは同じであり、かつ、注目ブロックからX方向に「1」だけ左方向に移動させた位置のブロックである。この場合、演算処理部22は、注目ブロックのX方向インデックスに対して演算パラメータを「1」とし、X方向インデックスに「1」だけ減算させる処理を行ない、Y方向インデックスに対しては演算処理を行わない。
同様に、例えば、注目ブロックの右上に隣接するブロックを求める場合、演算処理部22は、注目ブロックのX方向インデックスに演算パラメータ「1」を加算する処理と、注目ブロックのY方向インデックスに演算パラメータ「1」を減算する処理とを行う。
(d)減算
図10は、第2の実施形態に係る演算処理部22による減算処理を説明する説明図である。図10では、X方向インデックスに対する減算処理を例示しているが、Y方向インデックスに対する減算処理も同様である。
マスクされたX方向若しくはY方向のインデックスに対する減算処理は、減算したい所定の値を図8(b)若しくは図8(c)に示すようなビットパターンで演算パラメータとして与え、演算処理部22が、マスクされたインデックスと演算パラメータとの通常の減算結果を再度マスクすることにより実現する。
つまり、図10の例に示すように、X方向インデックス「0a30a20a10a0」のマスク状態と同様にマスクした演算パラメータ「0b30b20b10b0」が演算処理部22に入力され、演算処理部22は、X方向インデックス「0a30a20a10a0」から、演算パラメータ「0b30b20b10b0」を減算する。
ここで、減算処理を行なう場合、桁下がりが生じる場合があるが、マスク処理によって「0」に置き換えられたビットはそのまま桁下がりが伝播するため、X方向若しくはY方向の成分を表すビットについては正しい値が求まっている。従って、演算処理部22は、この結果に再度マスクすることによってマスクされた減算結果を求めることができる。
図10に示すように、演算処理部22は、X方向インデックス「0a30a20a10a0」から、演算パラメータ「0b30b20b10b0」を減算した結果「?c3?c2?c1?c0」(「?」の位置は桁下がりが生じ得るビットの値を示している)に対して、16進数の0x55(2進数の「01010101」)と論理積をとることで、演算結果「0c30c20c10c0」が得られる。
例えば、注目するブロックのZスキャンインデックスに対して、左に隣接するブロックのZスキャンインデックスを求める場合は、当該注目ブロックの左であるから、マスクされたX方向インデックスから「1」を減算して、その減算結果を16進数の0x55(2進数の「01010101」)でマスクすることによって、左に隣接するブロックのマスクされたX方向インデックスを求めることができる。
(e)加算
図11は、第2の実施形態に係る演算処理部22による加算処理を説明する説明図である。図11でも、X方向インデックスに対する減算処理を例示しているが、Y方向インデックスに対する減算処理も同様である。
マスクされたX方向若しくはY方向のインデックスに対する加算処理は、減算処理の場合と同様に、加算したい所定の値を図8(b)若しくは図8(c)に示すようなビットパターンで演算パラメータとして与え、演算処理部22が、マスクされたインデックスと演算パラメータとの通常の加算結果を再度マスクすることにより実現する。
ここで、加算処理を行なう場合は桁上がりが生じ得る場合があるが、この桁上がりをマスクされたビットを超えて伝播させるために、演算パラメータはマスクされたビットにすべて「1」が挿入された値として与える。あるいは、演算パラメータとしては「0」が挿入された値を用い、X方向マスク処理部211もしくはY方向マスク処理部212におけるマスク処理を、0x55、0xAAとの論理積演算の変わりに0xAA、0x55との論理和演算とすることにとってマスクするべきビットを「1」とするよう構成してもよい。すなわち、加算対象のマスクするべきビットの一方のみに「1」を挿入された値として与える。
演算処理部22は、得られた通常の加算結果を再度マスクすることによってマスクされた加算結果を求めることができる。
図11の例に示すように、X方向インデックス「0a30a20a10a0」と、マスクとするべきビットに「1」を挿入した演算パラメータ「1b31b21b11b0」を加算する。そして、演算処理部22は、加算結果「?c3?c2?c1?c0」(「?」の位置は桁上がりが生じ得るビットの値を示している。)に対して、16進数の0x55(2進数の「01010101」)との論理積をとることで、演算結果「0c30c20c10c0」が得られる。
これにより、例えば、注目するブロックのZスキャンインデックスから右にiブロックの移動した位置のZスキャンインデックスを求める場合は、演算パラメータとして「i」を図8(b)のビットパターンで「1」を交互に挿入して与え、マスクされたX方向インデックスとこの演算パラメータを加算した結果を16進数の0x55(2進数の「01010101」)でマスクすることによって、移動後のブロックのマスクされたX方向インデックスを求めることができる。
以上のような減算や加算処理を組み合わせて、マスクされたインデックスのまま演算処理を行い、また実施形態1の判定処理も組み合わせることでX方向およびY方向のマスクされたインデックスに対する演算処理を演算処理部22で行う。
結合部23は、演算処理部22により得られたX方向およびY方向の演算結果を、論理和を用いて図8(a)のようなビットパターンに結合することにより演算結果のZスキャンインデックスを求めて出力する。
(B−3)第2の実施形態の効果
以上のように、第2の実施形態によれば以下のような効果が得られる。
Zスキャンインデックスとラスターインデックスの間の双方向の変換テーブル用いずにZスキャンインデックスのX方向もしくはY方向の成分、あるいはその双方に対する加算、減算等の処理を行うことが可能となり、処理負荷を低減することができる。
(C)他の実施形態
上述した実施形態においても種々の変形実施形態を言及したが、本発明は、以下の変形実施形態にも広く適用することができる。
(C−1)本発明は、上述した第1及び第2の実施形態に限定されるものではなく、HEVCと同様な再帰的なZスキャンインデックスを用いるような処理の演算処理に広く適用することができる。
(C−2)本発明は、上述した第1及び第2の実施形態で説明した構成を有するような演算方法として構成する場合や、上記処理を実現するようなプログラムとしても実施可能である。
1及び2…インデックス演算装置、11…マスク処理部、12及び22…演算処理部、211…X方向マスク処理部、212…Y方向マスク処理部、23…結合部。

Claims (9)

  1. 木構造で表現することができる符号化処理単位の符号化処理の順序を示すインデックスに対して所定の演算処理を行なうインデックス演算装置において、
    入力されたインデックスのビットパターンの一部をマスクするマスク処理手段と、
    上記マスク処理手段によりマスクされたインデックスのビットパターンに対して所定の演算処理を行う演算処理手段と
    を備え
    上記インデックスのビットパターンが、マトリックス上における当該インデックスのX方向の位置を示すビットパターンと、Y方向の位置を示すビットパターンとの各ビットが交互に配置されているものであり、
    上記マスク処理手段が、上記入力されたインデックスのビットパターンの一部をマスクして、当該インデックスのX方向インデックス及び又はY方向インデックスを抽出するものである
    ことを特徴とするインデックス演算装置。
  2. 上記演算処理手段は、上記マスク処理手段からのX方向インデックス及び又はY方向インデックスがゼロであるか否かを判定するものであることを特徴とする請求項に記載のインデックス演算装置。
  3. 上記演算処理手段は、上記マスク処理手段からのX方向インデックスの値及び又はY方向インデックスの値と、同じマスク処理が施されたインデックスの値とを比較して同値か否かを判定することを特徴とする請求項2に記載のインデックス演算装置。
  4. 上記演算処理手段は、上記マスク処理手段からのX方向インデックスの値及び又はY方向インデックスの値と、同じマスク処理が施されたインデックスの値とを比較して、値の大小関係を判定することを特徴とする請求項のいずれかに記載のインデックス演算装置。
  5. 上記演算処理手段により、マスクされたX方向インデックスに対する演算結果と、マスクされたY方向インデックスに対する演算結果とを結合する結合手段を更に備えることを特徴とする請求項1に記載のインデックス演算装置。
  6. 上記演算処理手段が、マスクされたX方向インデックス及び又はY方向のインデックスから、同じマスク処理が施されたインデックスを減算した後に再度マスクした減算結果を求め、
    上記結合手段が、上記減算結果を含むマスクしたX方向インデックスとY方向インデックスとを結合して、X方向及び又はY方向に別のインデックスで減算したインデックスを求める
    ことを特徴とする請求項に記載のインデックス演算装置。
  7. 上記演算処理手段が、マスクされたX方向インデックス及び又はY方向インデックスに対して、マスクするビットに対して1を論理和することによってマスクした別のマスクされたインデックスを加算した後に再度マスクした加算結果を求め、
    上記結合手段が、上記加算結果を含むマスクしたX方向インデックス及び又はY方向のインデックスを結合して、X方向及び又はY方向に別のインデックスを加算したインデックスを求める
    ことを特徴とする請求項又はに記載のインデックス演算装置。
  8. 木構造で表現することができる符号化処理単位の符号化処理の順序を示すインデックスに対して所定の演算処理を行なうインデックス演算プログラムにおいて、
    コンピュータを、
    入力されたインデックスのビットパターンの一部をマスクするマスク処理手段と、
    上記マスク処理手段によりマスクされたインデックスのビットパターンに対して所定の演算処理を行う演算処理手段と
    して機能させ
    上記インデックスのビットパターンが、マトリックス上における当該インデックスのX方向の位置を示すビットパターンと、Y方向の位置を示すビットパターンとの各ビットが交互に配置されているものであり、
    上記マスク処理手段が、上記入力されたインデックスのビットパターンの一部をマスクして、当該インデックスのX方向インデックス及び又はY方向インデックスを抽出する
    ことを特徴とするインデックス演算プログラム。
  9. 木構造で表現することができる符号化処理単位の符号化処理の順序を示すインデックスに対して所定の演算処理を行なうインデックス演算方法において、
    マスク処理手段が、入力されたインデックスのビットパターンの一部をマスクし、
    演算処理手段が、上記マスク処理手段によりマスクされたインデックスのビットパターンに対して所定の演算処理を行い、
    上記インデックスのビットパターンが、マトリックス上における当該インデックスのX方向の位置を示すビットパターンと、Y方向の位置を示すビットパターンとの各ビットが交互に配置されているものであり、
    上記マスク処理手段が、上記入力されたインデックスのビットパターンの一部をマスクして、当該インデックスのX方向インデックス及び又はY方向インデックスを抽出する
    ことを特徴とするインデックス演算方法。
JP2015000965A 2015-01-06 2015-01-06 インデックス演算装置、プログラム及び方法 Active JP6485045B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015000965A JP6485045B2 (ja) 2015-01-06 2015-01-06 インデックス演算装置、プログラム及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015000965A JP6485045B2 (ja) 2015-01-06 2015-01-06 インデックス演算装置、プログラム及び方法

Publications (2)

Publication Number Publication Date
JP2016127486A JP2016127486A (ja) 2016-07-11
JP6485045B2 true JP6485045B2 (ja) 2019-03-20

Family

ID=56359883

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015000965A Active JP6485045B2 (ja) 2015-01-06 2015-01-06 インデックス演算装置、プログラム及び方法

Country Status (1)

Country Link
JP (1) JP6485045B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3222633B2 (ja) * 1993-06-28 2001-10-29 株式会社東芝 情報処理装置
KR0131715B1 (ko) * 1994-07-25 1998-04-16 조백제 주사방식 변환회로
KR0179497B1 (ko) * 1995-08-03 1999-05-01 이준 지그재그 및 얼터네이트 주사변환회로
JP2009147888A (ja) * 2007-12-18 2009-07-02 Hitachi Kokusai Electric Inc スキャン変換装置
US9838692B2 (en) * 2011-10-18 2017-12-05 Qualcomm Incorporated Detecting availabilities of neighboring video units for video coding

Also Published As

Publication number Publication date
JP2016127486A (ja) 2016-07-11

Similar Documents

Publication Publication Date Title
US11659210B2 (en) Video encoding method for encoding division block, video decoding method for decoding division block, and recording medium for implementing the same
JP6825064B2 (ja) 動画データを生成する方法
US11044473B2 (en) Adaptive loop filtering classification in video coding
RU2683165C1 (ru) Внутреннее предсказание блочного копирования с асимметричными разделами и схемами поиска на стороне кодера, диапазоны поиска и подходы к разделению
US7251371B2 (en) Image encoding method, image decoding method, image encoder, image decoder, program, computer data signal, and image transmission system
JP6542225B2 (ja) イントラブロックコピーのための残差予測
KR101927281B1 (ko) 비디오 코딩을 위한 저 복잡성 인트라 예측
RU2684202C2 (ru) Улучшенный процесс кодирования с использованием режима палитры
TW202007166A (zh) 解碼器的視訊解碼方法及裝置
RU2764258C1 (ru) Способ, устройство и система для кодирования и декодирования преобразованного блока выборок видео
JP2017519447A (ja) ビデオコーディングのためのイントラブロックコピーブロックベクトルシグナリング
CN105393537A (zh) 用于基于散列的块匹配的散列表构建和可用性检查
CN106162187B (zh) 用于运动补偿的视频解码方法和视频解码器
JP2015507885A5 (ja)
KR20160091392A (ko) 이미지를 인코딩하고 디코딩하기 위한 방법, 이미지를 인코딩하고 디코딩하기 위한 디바이스 및 상응하는 컴퓨터 프로그램
JP2023507935A (ja) パレットモードで映像データを符号化するための方法及び装置
JP6176044B2 (ja) ブロック構造決定回路および情報圧縮回路
JP6708211B2 (ja) 動画像符号化装置、動画像符号化方法および動画像符号化プログラムを記憶する記録媒体
JP6485045B2 (ja) インデックス演算装置、プログラム及び方法
JP5698629B2 (ja) 画像処理装置、フィルタ処理方法及びプログラム
JP6402520B2 (ja) 符号化装置、方法、プログラム及び機器
KR102628530B1 (ko) 영상 부호화 또는 복호화하기 위한 장치 및 방법
JP6497100B2 (ja) 映像符号化装置、方法及びプログラム
CN105049846A (zh) 图像和视频编解码的方法和设备
JP2021190718A (ja) 画像符号化装置、画像復号装置及びこれらのプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180703

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180827

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190204

R150 Certificate of patent or registration of utility model

Ref document number: 6485045

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150