JP5059728B2 - 画像符号化装置及び方法 - Google Patents

画像符号化装置及び方法 Download PDF

Info

Publication number
JP5059728B2
JP5059728B2 JP2008253631A JP2008253631A JP5059728B2 JP 5059728 B2 JP5059728 B2 JP 5059728B2 JP 2008253631 A JP2008253631 A JP 2008253631A JP 2008253631 A JP2008253631 A JP 2008253631A JP 5059728 B2 JP5059728 B2 JP 5059728B2
Authority
JP
Japan
Prior art keywords
code amount
block
coefficient
processing target
quantization
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
JP2008253631A
Other languages
English (en)
Other versions
JP2010087770A (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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2008253631A priority Critical patent/JP5059728B2/ja
Publication of JP2010087770A publication Critical patent/JP2010087770A/ja
Application granted granted Critical
Publication of JP5059728B2 publication Critical patent/JP5059728B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、画像符号化装置及び方法に関し、特に、ビデオエンコーダ等の符号量制御を行う画像符号化装置及び方法に関する。
動画像データを少ないデータ量で伝送するための動画圧縮規格であるMPEG(Moving Picture Experts Group)−2(ISO/IEC 13818−2)やH.264(MPEG−4 AVC(Advanced Video Coding))では、マクロブロック当たりの符号量の上限が規格で決められている。また、MPEG−2では、上限を超えても良いマクロブロックの個数が規定されている。
ここで、マクロブロックとは、動画像データの内1枚の画面データであるピクチャを定められた大きさに分割されたものである。H.264の符号化方式における、マクログロックの構成を表した図を図20に示す。
図20は、H.264のIntra16x16ブロックの例であり、画面を輝度16x16、色差8x8画素サイズに分割したマクロブロックを、4x4画素サイズのブロックに分けて直交変換を行い、さらに、それぞれのブロックのDC(Direct Current)成分を集めたブロックから成り、全部で27ブロック構成されている。
また、図21は、4x4、色差DC2x2であるマクロブロック内の1ブロックにおけるスキャン順の例を示す図である。ブロック内の各係数位置は、スキャン順である番号で示され、番号の小さいものから大きいものへの順序は、直交変換を施したデータの周波数帯域において、低周波成分側から高周波成分側への順序に対応する。
近年、地上波デジタル放送の普及やデジタルビデオレコーダの普及に伴い、MPEG−2及びH.264といった符号化方式に対応した画像符号化装置が必要とされている。関連技術として下記の特許文献1乃至3がある。
特許文献1には、量子化係数を調整する係数調整回路による発生符号量の制限方法が開示されている。特許文献1にかかる発生符号量の制限方法は、可変長符号化(VLC:Variable Length Coding)回路の前段に係数調整回路を配置し、VLC回路の後段の出力バッファのデータ量に応じて量子化係数データを0に置換するものである。特許文献1では、出力バッファの残容量に応じて量子化係数のAC(Alternating Current)成分を0とする係数の個数を制御する。この際、逆量子化への入力は、0に置換されないデータであり、エンコーダとデコーダとのミスマッチが生じるため、デコード画像に劣化を生じさせてしまう。
そこで、特許文献2には、特許文献1に改良を加え、同一のスライスに含まれ複数のマクロブロックに分割される画像データから符号化されたデータを生成する画像符号化装置及び方法が開示されている。図18は、特許文献2にかかる画像符号化装置の一部の構成を示すブロック図である。以下では、図18の内、本発明に関係する部分を中心に説明し、本発明に関係しない部分についての説明は省略する。
図18に示す画像符号化装置901は、VLC回路916により画像データに基づくデータをブロックごとに所定の順序で可変長符号化する。可変長符号化されたデータの量は、符号量算出回路919によりマクロブロックごとに算出され、符号量判定回路920により所定の値を超えているか否かが判定される。可変長符号化されたデータの量が所定の値を超える際には、VLC設定回路915により、後続する同一のスライスに含まれるマクロブロックに対してVLC回路916で可変長符号化されるデータの量が制限される。
また、特許文献3には、ブロック毎の符号量を目標値以下に制御する符号量制御装置が開示されている。図19は、特許文献3にかかる動画像符号化装置の一部の構成を示すブロック図である。以下では、図19の内、本発明に関係する部分を中心に説明し、本発明に関係しない部分についての説明は省略する。
図19に示す符号量制御装置902は、量子化回路941において変換係数951を入力し、量子化結果を出力する。そして、丸め回路942は、出力された量子化結果から0ランと非0係数レベルから符号長テーブルを参照して符号長を求め、当該符号長を積算して、レート制御回路943から入力される目標符号量952を超える場合には、量子化値を切り捨てるものである。
特開平9−23427号公報 特開平11−355774号公報 特開平10−243399号公報
しかしながら、特許文献2及び3では、符号化方式によっては、正確に量子化係数の打ち切りを行うことができない、あるいは画質劣化への影響が大きいという問題点がある。以下では、H.264やMPEG−2といったマクロブロック当たりの符号量の上限が決められている符号化方式における課題を明らかにする。
まず、次世代符号化方式であるH.264の可変長符号化方法には、CAVLC(Context-based Adaptive VLC)とCABAC(Context-based Adaptive Binary Arithmetic Coding)の2つの方式がある。ここで、図22は、1ブロックの量子化係数の例である。図23は、H.264のCAVLCにおける可変長符号化の例を示す図である。図23は、図22の例におけるzig−zag scanの場合を示す。尚、図22は、株式会社インプレス発行の「H.264/AVC教科書」におけるp.146の図6−4の一部を引用したものである。
CAVLCでは、非ゼロ係数の数(TotalCoeff)、最後に連続する絶対値1の係数の個数(TrailingOnes)、最後に連続する絶対値1の係数の符号(Trailing_ones_sign_flag)、 係数の値(level)、最後の非ゼロ係数以前の0係数の個数(TotalZeros)、及び係数値の前の0の連続個数(run_before)を符号化する。係数の並び順は逆スキャン順になっている。TotalCoeff、TotalZeroなどは、ブロック内の全ての係数の量子化が終了しないと確定しない。また、これらの情報が確定しないと、符号量が正確に算出できない情報もある。さらに、符号化テーブルは、隣接ブロックの係数の個数などの情報を利用するため、ブロック内の情報だけでは正確な符号量を算出できない。尚、図23では、TotalCoeff、TrainlingOnes、TotalZerosの符号化については、図示を省略している。
また、図24は、H.264のCABACにおける可変長符号化の例を示す図である。図24は、図22の例におけるzig−zag scanの場合を示す。CABACでは、非ゼロ係数か否かのフラグ(significant_coeff_flag)、最後の非ゼロ係数か否かのフラグ(last_significant_coeff_flag)、非ゼロ係数の絶対値(coeff_abs_level)、非ゼロ係数の符号(coeff_sign_flag)を符号化する。なお、CABACでは、この符号をさらに算術符号化する。
また、図25は、MPEG−2における可変長符号化の例を示す図である。尚、MPEG−2は、本来、8x8ブロックサイズであるが、H.264との比較のために便宜的に4×4ブロックサイズのまま記載する。MPEG−2では、非ゼロ係数の値(level)、非ゼロ係数の前の0の連続個数(run)、ブロックの最後を示すコード(EOB)、を符号化する。
ここで、特許文献2は、マクロブロック単位にVLC(可変長符号化)を行った後に次のマクロブロックについて制御を行うものであり、同一マクロブロック内のブロックにフィードバックを反映することができない。そのため、マクロブロック当たりの符号量の上限を超えても良いマクロブロックの個数を制御することはできるが、規定されているマクロブロック当たりの符号量の上限を守ることができない。
特に、特許文献2では、実際のVLC結果に基づいて、発生符号量を計算し、マクロブロックの発生符号量が規格を超えたら、それ以降のマクロブロックで符号量が越えないように、VLCの後で係数を打ち切っている。打ち切りはVLCのスキャンの途中で、VLC設定回路915がVLC回路916へブロックエンド933を出力することで実現している。そのため、ブロック内の画素データの読み込み順番が、高周波成分側から低周波成分側であるような、いわゆる、逆スキャン順の場合では、視覚的に重要な低周波成分が切り捨てられる。そのため、画質への影響が非常に大きく、劣化が目立つ場合がある。
また、特許文献3では、0ランと非0係数レベルのみを用いて符号量を推定しているため、ブロック全体の量子化が終わらないと符号化できない情報については、符号量推定ができない。また、ブロック内の量子化係数に対して高周波からスキャンが行われる場合、マクロブロック内の視覚的に重要な成分である低周波の量子化係数から削除されてしまうため、画質劣化への影響が大きい。また、係数毎の打ち切り判定により係数の切り捨てを行うと、視覚的に重要な低域成分を打ち切ることがある。
そのため、MPEG−1/MPEG−2以外の符号化方式では、符号量の計算が正確にできない場合がある。そのため、所望の符号量制御ができない場合がある。あるいは不適切な打ち切りにより、画質が劣化する場合がある。
打ち切り制御については、特許文献2では、ブロック間の符号量配分を考慮せずに、発生符号量が目標を超えた時点で打ち切りをかけるため、符号化順で後ろのほうにあるブロックの係数が打ち切られやすくなり、画質への影響が大きい。特許文献3では、マクロブロック全体の符号量を、予め設定された固定の割合でマクロブロック内の各ブロックに目標符号量を割り当ててはいるが、ピクチャタイプやマクロブロックタイプに応じた適応的な制御は行われていない。またマクロブロックヘッダの符号量については考慮されていない。さらに、ブロック内の係数ごとの符号発生状況については考慮されていない。そのため、発生符号量の推移に合わない目標符号量が設定される恐れがあり、その場合には、過剰に打ち切りが行われる、又は、打ち切りが少なくなるなど、適切な制御が行えなくなる。
本発明にかかる画像符号化装置は、画像データに含まれる所定の領域であるマクロブロックを複数のブロックに分割してブロック毎に処理し、直交変換係数を量子化した量子化係数を出力し、当該ブロック内の係数を特定する係数位置における量子化係数に基づいて可変長符号化する画像符号化装置であって、前記マクロブロック内の処理対象のブロックである処理対象ブロックから所定の順序で入力される量子化係数に基づいて、当該処理対象ブロックに関する符号量の推定値であるブロック推定符号量を算出する符号量推定手段と、前記マクロブロック内の当該処理対象ブロックに関するブロック推定符号量と、当該処理対象ブロックに対する符号量の目標値である目標符号量とに基づいて、前記マクロブロック内の所定のブロックにおいて、いずれかの量子化係数を0に置換する調整を行うか否かを決定する制御手段と、前記制御手段により調整すると決定された前記所定のブロックにおけるいずれかの量子化係数を0に置換する係数置換手段と、を備える。
本発明にかかる画像符号化方法は、画像データに含まれる所定の領域であるマクロブロックを複数のブロックに分割してブロック毎に処理し、直交変換係数を量子化した量子化係数を出力し、当該ブロック内の係数を特定する画係数位置に対応する量子化係数に基づいて可変長符号化する画像符号化方法であって、前記マクロブロック内の処理対象のブロックである処理対象ブロックから所定の順序で読み出された量子化係数を入力するステップと、前記読み出された量子化係数に基づいて、当該処理対象ブロックに関する符号量の推定値であるブロック推定符号量を算出する符号量推定ステップと、前記マクロブロック内の当該処理対象ブロックに関するブロック推定符号量と、当該処理対象ブロックに対する符号量の目標値である目標符号量とに基づいて、前記マクロブロック内の所定のブロックにおいて、いずれかの量子化係数を0に置換する調整を行うか否かを決定する決定ステップと、前記決定ステップにより調整すると決定された前記所定のブロックにおけるいずれかの量子化係数を0に置換する係数置換ステップと、を備える。
上述した本発明にかかる画像符号化装置及び方法によれば、マクロブロック内のブロック単位に処理を行い、量子化係数を0に置換する調整を行うことで、より正確に量子化係数の打ち切りを行うことができる。また、処理対象ブロックから所定の順序で入力される量子化係数に基づいてブロック推定符号量を算出するため、処理対象ブロック全体の情報を用いて符号量の推定することができる。
本発明により、画質劣化をできるだけ抑制しつつ、マクロブロック当たりの符号量を予め定めた値以下にすることができる画像符号化装置及び方法を提供することができる。
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。
<発明の実施の形態1>
図1は、本発明の実施の形態にかかる画像符号化装置100の全体構成を示すブロック図である。画像符号化装置100は、動画像データの各画面であるピクチャを複数のマクロブロックに分割し、当該マクロブロックをさらに複数のブロックに分割し、当該ブロック(以下、処理対象ブロック)毎に処理を行う。そして、画像符号化装置100は、当該ブロック毎に直交変換を行い、直交変換により求められた変換係数をブロック毎に量子化処理し、可変長符号化及び逆量子化等を行う符号化装置である。言い換えれば、画像符号化装置100は、画像データに含まれる所定の領域であるマクロブロックを複数のブロックに分割してブロック毎に処理し、当該ブロック内の係数を特定する係数位置における量子化係数に基づいて可変長符号化するものである。そして、画像符号化装置100は、マクロブロック内の当該処理対象ブロックに関するブロック推定符号量と、当該処理対象ブロックに対する符号量の目標値である目標符号量とに基づいて、マクロブロック内の所定のブロックにおいて、いずれかの量子化係数を0に置換する調整を行うか否かを決定し、調整を行うと決定された所定のブロックにおけるいずれかの量子化係数を0に置換する。尚、当該ブロックにおける係数位置のスキャン順は、当該ブロック内における周波数帯域に対応した順番となっている。
画像符号化装置100は、量子化器10、セレクタ11、逆量子化器12、可変長符号化器13、符号量推定器14、MBヘッダ符号量推定器15、目標符号量計算器16及び打ち切り制御器17を備える。尚、図1では、画像符号化装置100の一部を表示している。
量子化器10は、変換係数20を入力し、ブロック毎に所定のスキャン順に量子化を行い、セレクタ11へ量子化係数21を出力する。
セレクタ11は、後述する打ち切り制御器17からの打ち切りを行うための係数位置である置換位置29に基づいて、量子化器10から入力される量子化係数21を0に置換するか否かを判定し、置換すると判定した場合に0を、また、置換しないと判定した場合に量子化係数21をそのまま、量子化係数22として出力する。
逆量子化器12は、量子化係数22を入力し、逆量子化処理を行い、逆量子化係数23を出力する。尚、逆量子化係数23は、局所復号画像の生成に使用される。また、可変長符号化器13は、量子化係数22を入力し、可変長符号化処理を行い、可変長符号(不図示)を出力する。尚、量子化器10、逆量子化器12及び可変長符号化器13は、公知技術としてよく知られているものであるから、ここでは詳細な説明を省略する。
符号量推定器14は、量子化係数22を入力し、マクロブロック内の処理対象ブロックに関する符号量の推定値であるブロック推定符号量25を算出する。その際、符号量推定器14は、量子化係数22毎に符号量の推定を行い、入力される量子化係数22の発生状態を示す発生状態情報を更新する。そして、符号量推定器14は、処理対象ブロックにおける全ての量子化係数22の入力が終わった後に、発生状態情報及び隣接ブロック情報24を用いて、当該処理対象ブロックの全体の符号量を推定し、ブロック推定符号量25を算出する。また、符号量推定器14は、当該マクロブロック内の当該処理対象ブロック以前に処理されたブロック毎に算出されたブロック推定符号量25を累算して累算値を算出し、打ち切り制御器17へ出力する。このとき、係数の発生情報は、他のブロックでの参照のために、一時的に保存しておく。
MBヘッダ符号量推定器15は、当該マクロブロック(MB)の情報であるMB情報26からマクロブロックヘッダにおける符号量の推定値であるMB推定符号量27を算出する。
目標符号量計算器16は、マクロブロック内の処理対象ブロックごとに当該処理対象ブロックに対する符号量の目標値である目標符号量28を算出する。
打ち切り制御器17は、ブロック推定符号量25と、MB推定符号量27と、目標符号量28とに基づいて、マクロブロック内の所定のブロックにおいて、いずれかの量子化係数を0に置換する調整を行うか否かを決定する制御手段である。そして、打ち切り制御器17は、所定のブロックにおいて、調整を行うと決定した場合に、当該所定のブロックにおける量子化係数を0に置換する係数位置である置換位置29を決定し、セレクタ11へ出力する。尚、打ち切り制御器17は、MBヘッダ符号量推定器15を必ずしも必要としない。但し、打ち切り制御器17は、MBヘッダ符号量推定器15により算出されるMB推定符号量27を用いることで、より正確な打ち切り制御を行うことができる。
ここで、打ち切り制御器17は、符号量推定器14により算出されたブロック推定符号量25の累算値と、マクロブロック内の当該処理対象ブロック以前に処理されたブロックに対する目標符号量28を累算した累算値との差分に応じて、調整を行うか否かを決定する。
また、打ち切り制御器17は、上述した所定のブロックを前記マクロブロック内において、当該処理対象ブロックの次に処理されるブロックとすることで、量子化係数の打ち切りを同一マクロブロック内に反映でき、発生符号量を制限する処理を効率的に行うことができる。
つまり、打ち切り制御器17は、MB推定符号量27及びブロック推定符号量25の累算値から、量子化処理の終了した処理対象ブロックまでのマクロブロック内での推定符号量を累算し、目標符号量28の累算値との差分に応じて、次に処理されるブロックの量子化処理における置換位置29を、例えばその位置からスキャン順で高周波数側の係数を打ち切る位置番号として決定することで、セレクタ11により置換位置29よりスキャン順で高周波数帯域の量子化係数を0に置き換えることができ、画質劣化を抑制しつつ、発生符号量を目標符号量に制御することができる。
尚、本発明の実施の形態における所定のブロックは、次に処理されるブロックに限定さ
れない。たとえば、次の次に処理されるブロックのように、次以降のブロックでもよい。
図2は、本発明の実施の形態にかかる一つのマクロブロック内の画像符号化処理の動作を示すフローチャート図である。まず、画像符号化装置100は、マクロブロックの初期化を行う(S101)。具体的には、例えば、置換位置29として打ち切りを開始する係数位置の番号を指定する場合には、画像符号化装置100は、係数打ち切り開始位置を、所定の初期値に設定する。また、目標符号量計算器16は、目標符号量の初期値を所定のオフセットの値に初期化する。
次に、MBヘッダ符号量推定器15は、量子化係数以外のマクロブロック内の情報であるMB情報26からMB推定符号量27を推定する(S102)。また、打ち切り制御器17は、MB推定符号量27をマクロブロックごとの累算推定符号量の初期値とする。
そして、符号量推定器14は、係数の発生状態情報を初期化する(S103)。すなわち、符号量推定器14は、ブロックごとの量子化係数の発生状況に応じてカウントするカウンタや係数位置をリセットする。
その後、処理対象ブロック毎にステップS104乃至S108が実行される。まず、量子化器10は、所定のスキャン順序で入力される変換係数20を一係数ずつ量子化し、量子化係数21を出力する(S104)。次に、セレクタ11は、係数打ち切り処理を行う(S105)。尚、ステップS105の詳細は、図6で後述する。
そして、符号量推定器14は、量子化係数22を入力し、係数の発生状態を示すカウンタの値や、係数位置番号に関する情報である係数の発生状態情報を計測する(S106)。その後、符号量推定器14は、量子化係数22における符号量の推定値である係数推定符号量を算出する(S107)。具体的には、符号量推定器14は、量子化係数22が非0である場合に、その値と0ランの値から、量子化係数22における係数推定符号量を算出する。また、量子化係数22が0係数の場合、符号量推定器14は、量子化係数22における係数推定符号量を0とする。そして、符号量推定器14は、係数推定符号量をブロック毎に累算する。
そして、符号量推定器14は、処理対象ブロックにおいて最後の量子化係数22であるか否かを判定する(S108)。処理対象ブロックの最後の係数でないと判定される場合、ステップS104へ戻り、処理対象ブロックの最後の係数であると判定される場合、ステップS109へ進む。
続いて、符号量推定器14は、ブロック符号量を推定する(S109)。具体的には、符号量推定器14は、量子化係数毎の発生状態情報から、ブロック全体の係数の発生状態に関わる符号量の推定値である全体推定符号量を算出する。さらに、符号量推定器14は、全体推定符号量に係数の符号量の累算値を加算し、ブロック推定符号量を算出する。そして、符号量推定器14は、ブロック推定符号量を当該マクロブロック内で積算し、ブロック推定符号量の累算値を計算する。
そして、目標符号量計算器16は、当該処理対象ブロックにおける目標符号量28を算出する(S110)。具体的には、目標符号量計算器16は、当該マクロブロック内の処理対象ブロックより前の目標符号量の値に、当該処理対象ブロックにおける予め決められた符号量増加分を加算し、目標符号量の値を更新する。
その後、打ち切り制御器17は、打ち切り制御パラメタを計算する(S111)。すなわち、当該処理対象ブロックの次に処理されるブロックの量子化係数に対して調整を行うか否かの判定をし、調整を行うと判定した場合、置換位置29を算出する。置換位置29は、例えば、打ち切りを開始する係数位置の番号である。
ここで、打ち切り制御器17は、マクロブロックヘッダ推定符号量にブロック推定符号量の累算値を加算した値と、目標符号量の値を比較し、目標符号量の値を超える場合に、調整を行うと判定する。調整を行う場合、打ち切り制御器17は、置換位置を算出する。
また、打ち切り制御器17は、ブロック推定符号量の累算値と目標符号量を比較して、累算値と目標符号量との差分が大きい場合、差分が小さい場合に比べて多くの量子化係数を0とするように置換位置を決定する。例えば、処理対象ブロックにおける量子化係数の番号が低周波数側から高周波数側に割り振られている場合に、指定の置換位置から高周波帯域側の係数を打ち切る場合には、置換位置の示す係数位置の番号を小さくする。
また、打ち切り制御器17は、累算値と目標符号量との差分が小さい場合、大きい場合に比べて少ない量子化係数を0とするように置換位置を決定する。例えば、処理対象ブロックにおける量子化係数の番号が低周波数側から高周波側に割り振られている場合に、指定の置換位置から高周波帯域側の係数を打ち切る場合には、置換位置の示す係数位置の番号を大きくする。
または、打ち切り制御器17は、累算値と目標符号量との差分が小さい場合、置換位置を決定しない。また、打ち切り制御器17は、所定のブロック内の高い周波数帯域に対応する係数位置を置換位置として決定する。
そして、画像符号化装置100は、マクロブロックの最後のブロックか否かを判定する(S112)。最後のブロックと判定されなければ、ステップS103へ戻り、次のブロックに対して処理を繰り返し、最後のブロックであると判定されれば、当該マクロブロックの処理を終了する。
尚、上述したステップS106乃至S109の処理の詳細は、以下の図3及び図4の説明において詳述する。
ここで、本発明の実施の形態にかかる符号量推定器14の構成を図3にブロック図で示す。符号量推定器14は、0ランカウンタ31、0係数カウンタ32、1係数カウンタ33、非0係数カウンタ34、非0係数最終位置35、係数符号量推定器36及びブロック符号量推定器37を備える。
0ランカウンタ31は、連続する0ランの値であるrunbefore41を保持する。0係数カウンタ32は、処理対象ブロック内で値が0である量子化係数の数であるTotalZeros42を保持する。1係数カウンタ33は、処理対象ブロック内で絶対値が1である量子化係数の数であるTrailingOnes43を保持する。非0係数カウンタ34は、処理対象ブロック内で値が0以外である量子化係数の数であるTotalCoeff44を保持する。非0係数最終位置35は、処理対象ブロック内で値が0以外である最後の量子化係数の係数位置であるCoeffNum45を保持する。
符号量推定器14は、入力される量子化係数22の発生状態を示す発生状態情報である0ランカウンタ31、0係数カウンタ32、1係数カウンタ33、非0係数カウンタ34及び非0係数最終位置35に保持される値を更新することで、係数の発生状態情報の計測を行う。
図4は、本発明の実施の形態にかかる係数の発生状態情報の計測処理の動作を示すフローチャート図である。まず、符号量推定器14は、量子化係数22が0であるか否かを判定する(S201)。量子化係数22が0である場合、符号量推定器14は、0ランカウンタ31をインクリメント(S202)し、0係数カウンタ32をインクリメント(S203)し、当該量子化係数における発生状態情報の計測処理を終了する。
量子化係数22が0でない場合、符号量推定器14は、0ランカウンタ31をリセット(S204)し、非0係数カウンタ34をインクリメント(S205)する。そして、符号量推定器14は、非0係数最終位置35に量子化係数22の係数位置を保存する(S206)。
その後、符号量推定器14は、量子化係数22の絶対値が1かつ1係数カウンタ33が3未満であるか否かを判定する(S207)。ステップS207において、YESと判定された場合、符号量推定器14は、1係数カウンタ33をインクリメント(S208)し、当該量子化係数における発生状態情報の計測処理を終了する。また、ステップS207において、NOと判定された場合、符号量推定器14は、当該量子化係数における発生状態情報の計測処理を終了する。
このように、符号量推定器14は、入力される量子化係数の発生状態を示す発生状態情報を更新する発生状態更新手段として動作する。
図3に戻って、係数符号量推定器36は、量子化係数22及び0ランカウンタ31からのrunbefore41を用いて、係数単位の符号量の推定値である係数推定符号量を算出する。そして、係数符号量推定器36は、係数ごとに係数推定符号量を累算して累算値をブロック符号量推定器37へ出力する。
ここで、係数符号量推定器36における符号量の推定方法の実施例について、符号化方式ごとに説明する。まず、MPEG−2に代表されるように、係数の符号化が、非0係数の値の大きさ(level)と0係数の連続する個数(run)の組み合わせにより、可変長符号が定義されている符号化方式では、その符号の符号長を記録した表を用意し、levelとrunの組み合わせからテーブル引きにより符号長を求めることができる。マクロブロックタイプに応じて異なる符号化を行う場合には、テーブルも複数用意し、マクロブロックタイプに応じて切り替える。また、levelとrunの値によっては、可変長符号が定義されておらず、Escape符号化となる場合もあるが、その場合はEscape符号化する場合に必要なビット数を符号長とする。
また、イントラDC係数については、levelとrunの組み合わせではなく、隣接ブロックとの差分値の大きさに応じてサイズと差分値が符号化されるが、それぞれの表現に必要なビット数を計算してそれらの合計を符号長とする。
次に、H.264のCAVLCのように、TrailingOnesを除いた非0係数の値の大きさ(level)と0係数の連続する個数(run_before)をそれぞれ符号化する場合には、規格で定められた符号の符号長を計算する。levelはlevel_prefixとlevel_suffixの2つの要素で符号化されるが、それぞれの符号長をlevelの値に応じて計算する。
但し、処理対象ブロックにおける第1係数の符号長のみは、TotalCoeffとTrailingOnesに依存し2通りの場合があるが、ブロックの量子化が終了するまで正確にはわからないため、取り得る値の大きなほうを選択する。
run_beforeについては、当該ブロックで符号化されていない残りの0の数(ZerosLeft)との組み合わせにより可変長符号が定義されているので、その符号の符号長を記録した表を用意し、run_beforeとZerosLeftの組み合わせからテーブル引きで符号長を求める。なお、ZerosLeftはブロック全体の0係数の個数が確定しないと不明であるため、取り得る値の最大値と仮定する。
続いて、H.264のCABACでは、符号化する情報を2値化したあと、算術符号化を行うが、ここでは、発生符号量の推定は、2値化したbinの符号長とする。量子化係数の符号化では、非0の係数ごとに、最後の有意係数フラグ(last_significant_coef_flag)、量子化係数の符号(coeff_sign_flag)、量子化係数の絶対値−1(coeff_abs_level_minus1)を2値化している。これらのbin長は定義に従って計算で求めることができる。
図3のブロック符号量推定器37は、処理対象ブロックにおける全ての量子化係数が入力された後に、発生状態情報から当該処理対象ブロックのブロック全体に関する符号量の推定値である全体推定符号量を算出し、当該全体推定符号量に係数推定符号量の累算値を加算してブロック推定符号量25を算出する。
このとき、ブロック符号量推定器37は、係数符号量推定器36から入力される係数推定符号量、0係数カウンタ32からのTotalZeros42、1係数カウンタ33からのTrailingOnes43、非0係数カウンタ34からのTotalCoeff44、非0係数最終位置35からのCoeffNum45及び隣接ブロック情報24を用いて、ブロック推定符号量25を出力する。
ここで、ブロック符号量推定器37における符号量に推定方法の実施例について、符号化方式ごとに説明する。まず、MPEG−2に代表されるように、ブロックの終了にEnd of Block(EOB)符号を付加する場合には、そのビット長を求める。
次に、H.264のCAVLCでは、係数以外のブロック毎に符号化される要素としてcoeff_token 、trailing_ones_sign_flag、total_zerosがあり、それらの符号化に必要なビット数を求める。Coeff_token は、TotalCoeffとTrailingOnesとの組み合せで可変長符号が定義されており、その符号の符号長を記録した表を用意し、TotalCoeffとTrailingOnesとの組み合わせからテーブル引きで求める。なお、上述した表は、隣接ブロックの係数の発生状態に応じて切り替える。隣接ブロックの情報を使用しない場合は、取り得る値の最大値とする。trailing_ones_sign_flagは、TrailingOnesの値から計算できる。total_zerosは、TotalCoeffに依存して可変長符号が定義されており、その符号の符号長を記録した表を用意し、TotalZerosとTotalCoeffの組み合わせによりテーブル引きで符号長を求める。
続いて、H.264のCABACでは、係数以外のブロック毎に符号化される要素として、有意係数フラグ(significant_coeff_flag)がある。これは、ブロックの量子化が終了したあと、非0係数の最終位置(CoeffNum)から有意係数フラグの必要数を求めてbin長を計算する。
なお、最後の有意係数フラグ(last_significant_coef_flag)、量子化係数の符号(coeff_sign_flag)を係数ごとに計算せず、ブロックの量子化終了後に、非0係数の数から計算して求めることもできる。すなわち、係数ごとに累算する代わりに、ブロックの終了でまとめて計算して累算することもできる。
このように、符号量推定器14における発生状態情報は、H.264のCAVLCの場合、0ランカウンタ、0係数カウンタ、1係数カウンタ及び非0係数カウンタに保持された値であるとよい。また、H.264のCABACの場合、0ランカウンタ及び非0係数最終位置に保持された値であるとよい。
また、符号量推定器14は、0ランカウンタ31、0係数カウンタ32、1係数カウンタ33、非0係数カウンタ34及び非0係数最終位置35に保持された値と、量子化係数22とを対応付けて記憶する発生状態情報記憶手段をさらに備えているとよい。そして、
ブロック符号量推定器37は、発生状態情報記憶手段により記憶された当該処理対象ブロックより前に処理されたブロックの内、当該処理対象ブロックに隣接する隣接ブロックにおける発生状態情報に基づいて前記全体推定符号量を算出する。
図5は、本発明の実施の形態にかかる打ち切り位置決定処理の例を示す図である。例えば、予めマクロブロック当たりの目標符号量、当該目標符号量の上限値からのマージン、およびオフセットを与えて、残りをブロックの係数の数に応じて配分して、ブロック当たりの目標符号量を算出し、図5の破線のような目標符号量を設定する。符号化処理中は、図5の実線のように、ブロック毎に推定の累算符号量を積算し、目標値からの差分の大きさに応じて、次のブロックに対する打ち切り位置を設定する。例えば、ブロックiにおけるブロック推定符号量の累算値と目標符号量を比較し、目標符号量からの差分に応じて、次のブロックi+1における打ち切り位置を決める。尚、所定のブロックを次に処理されるブロックとした場合、制御が1ブロック以上遅延するが、遅延分のマージンを見込むことで、最大発生符号量の制御を行うことができる。
図6は、本発明の実施の形態にかかる係数打ち切り処理の動作を示すフローチャート図である。まず、セレクタ11は、処理対象の量子化係数21の係数位置の番号が置換位置以上であるか否かを判定する(S301)。ステップS301でYESの場合、セレクタ11は、量子化係数21を0に置換して、量子化係数22を出力する(S302)。また、ステップS301でNOの場合、セレクタ11は、量子化係数21をそのまま量子化係数22として出力する(S303)。
尚、打ち切り制御器17が複数の置換位置を決定する場合、セレクタ11は、量子化係数21の係数位置が置換位置のいずれかに含まれる場合のみ、0に置換すればよい。
図7は、本発明の実施の形態にかかる係数打ち切り処理における前後の係数の例を示す図である。図7に示すように、4x4のzig−zag scanで、置換位置である打ち切り開始位置が10の場合、係数位置が10乃至15の量子化係数が0で置き換えられることとなる。
尚、H.264のような符号化方式では、0ランと非0係数レベルだけでは不十分で、ブロック全体の量子化係数が分からないと正確に符号量を見積もることができない。また、H.264のような符号化方式では、隣接ブロックの情報が符号量の見積もりに必要である。さらに、マクロブロックヘッダの符号量を加味する必要がある。そして、H.264のCAVLCの可変長符号化では、逆方向にスキャンすることが多く、その場合、量子化処理でも逆順にスキャンする必要がある。
そこで、本発明の実施の形態1は、マクロブロックにおける処理対象ブロック内の全ての量子化係数に基づいたブロック推定符号量により、当該マクロブロックにおける所定のブロックについて、量子化係数の調整を行うことものである。そのため、TotalCoeff、TotalZeroなどのブロック内の全ての係数の量子化が終了しないと確定しない情報を用いることにより、H.264のような1ブロック内の全ての量子化結果を必要とする符号化方式において、正確に量子化係数の打ち切りを行うことができるという効果を奏する。また、本発明の実施の形態1により、所望の符号量制御を行うことができる。
また、本発明の実施の形態1では、打ち切り制御器17により量子化係数を0に置換する係数位置である置換位置を決定し、セレクタ11により置換位置に該当する係数位置の量子化係数を0に置換することにより、H.264のCAVLCのように、ブロック当たりの量子化係数のスキャン順が高周波数のものから読み出すという、いわゆる逆スキャン順である場合においても、置換位置以前の係数位置に該当する量子化係数に対して置換を行うことができるため、データ圧縮の際、人間の視覚への影響が相対的に少ない高周波数のものから打ち切ること、つまり、人間の視覚への影響が相対的に大きく、より重要な低周波数の量子化係数を残すことができるため、画質劣化を小さく抑えられるという効果を奏する。尚、上記の効果を確保するため、DCブロックについては、0への置換は行われない様に制御する。
さらに、本発明の実施の形態1では、打ち切り制御器17において、マクロブロック内における処理対象ブロック以前のブロックに関するブロック推定符号量を累算した累算値を用いることにより、目標符号量の累算値との差分に応じた調整の判定を行うことができ、処理済みのブロック全体を加味したより正確な符号量制御を行うことができる。
また、本発明の実施の形態1では、符号量推定器14において、0ランカウンタ31、0係数カウンタ32、1係数カウンタ33、非0係数カウンタ34及び非0係数最終位置35を有することにより、量子化係数毎の発生状態情報を計測することで、H.264やMPEG−2といった複数の符号化方式に対応すると共に、正確に量子化係数の打ち切りを行うことができる。
さらに、本発明の実施の形態1の符号量推定器14では、係数符号量推定器36及びブロック符号量推定器37を有することにより、量子化係数毎の係数推定符号量及び全体推定符号量に基づいてブロック推定符号量を算出するため、より正確な符号量制御を行うことができる。
また、本発明の実施の形態1の符号量推定器14では、処理対象ブロック以外の隣接ブロックの情報を用いることにより、より正確な符号量制御を行うことができる。尚、上述した隣接ブロックの情報は、当該マクロブロックに隣接する隣接マクロブロックのブロックであってもよく、または、当該マクロブロック以外が隣接ブロックである場合は、とり得る最大値を推定符号量としてもよい。
さらに、本発明の実施の形態1では、MBヘッダ符号量推定器15において、MB推定符号量27を算出することにより、打ち切り制御器17でより正確な打ち切り制御を行うことができる。
尚、上述した特許文献2は、マクロブロック単位の制御であり、マクロブロック内でのフィードバックはかからない。本発明では、マクロブロック内のブロック単位に制御を掛けているため、マクロブロック内で所定の符号量に収まるように制御を掛けることができる。
尚、上述した特許文献3では、係数の量子化毎に打ち切り判定を行い、打ち切り制御を行っている。本発明では、ブロック単位に打ち切り判定を行い、打ち切り制御を行う。例えば、H.264のCAVLCによる可変長符号化では、逆スキャン順に符号化する場合があり、量子化処理でも逆スキャン順に行うことが多い。そのため、特許文献3のように、量子化処理順では、視覚的に重要な低周波帯域成分を打ち切ることになり、画質が著しく損なわれる。
そこで、本発明では、ブロック単位に、打ち切りスキャン位置を設定して、その位置から高周波帯域の係数を打ち切る制御のため、画質劣化の影響が抑えられる。
<発明の実施の形態2>
本発明の実施の形態2にかかる画像符号化装置は、本発明の実施の形態1にかかる画像符号化装置100の目標符号量計算器16に変更を加え、処理対象ブロックの特性に応じて、目標符号量を算出する目標符号量計算器を備えたものである。そして、打ち切り制御器17は、当該目標符号量算出器により算出された目標符号量を用いて、調整を行うか否かを決定するものである。これにより、符号量の配分を、実際の発生符号量の違いに対応させることができ、適切な打ち切り制御を行うことができる。尚、本発明の実施の形態2にかかる画像符号化装置は、目標符号量計算器16を除き、図1と同等の構成であるため、図示及び説明を省略する。以下では、本発明の実施の形態1との違いを中心に説明する。
本発明の実施の形態2にかかる目標符号量計算器は、ピクチャタイプ又はマクロブロックタイプに応じて、処理対象のマクロブロックにおける目標符号量のオフセット及び傾きを可変にするとよい。図8は、本発明の実施の形態にかかる目標符号量をピクチャタイプ又はマクロブロックタイプに応じて可変にした場合の目標符号量の例を示す図である。
図8に示す目標符号量81は、マクロブロックにおける目標符号量の傾きの基準である。目標符号量82は、予測性能の高いピクチャ又はマクロブロックタイプにおける目標符号量の例である。予測性能の高いピクチャ又はマクロブロックタイプでは、一般にMBヘッダ情報の比率が大きく、量子化係数への符号量の割り当て比率が小さくなる。そのため、目標符号量の初期値であるMBヘッダ情報の推定符号量に対応するオフセットの値を相対的に大きくし、目標符号量の傾きを基準である目標符号量81に比べて小さくすることで、符号量の配分を、実際の発生符号量の違いに対応させることができ、適切な打ち切り制御を行うことができる。
目標符号量83は、予測性能の低いピクチャ又はマクロブロックタイプ目標符号量の例である。予測性能の低いピクチャ又はマクロブロックタイプでは、MBヘッダ情報の比率が小さく、係数への符号量の割り当て比率が大きくなる。そのため、オフセットの値を相対的に小さくし、目標符号量の傾きを目標符号量82に比べて大きくすることで、符号量の配分を、実際の発生符号量の違いに対応させることができ、適切な打ち切り制御を行うことができる。尚、目標符号量83の傾きは、目標符号量81より大きくても構わない。
また、本発明の実施の形態2にかかる目標符号量計算器は、DCブロック及びACブロックに応じて、処理対象のマクロブロックにおける目標符号量の傾きを可変にするとよい。図9は、本発明の実施の形態にかかる目標符号量をDCブロック及びACブロックに応じて可変にした場合の目標符号量の例を示す図である。
DCブロックは、ACブロックに比べて画面における量子化係数に非0の係数が多いため、ある程度大きい推定符号量を許容することが望ましい。そのため、図9に示すように、ACブロックの場合に、目標符号量の傾きを傾きαとし、DCブロックの場合に、目標符号量の傾きを傾きαより大きい傾きβとすることで、効果的な打ち切り制御を行うことができる。
また、本発明の実施の形態2にかかる目標符号量計算器は、輝度ブロック及び色差ブロックに応じて、処理対象のマクロブロックにおける目標符号量の傾きを可変にするとよい。図10は、本発明の実施の形態にかかる目標符号量を輝度ブロック及び色差ブロックに応じて可変にした場合の目標符号量の例を示す図である。
輝度ブロックは、色情報の基準となるため、色差ブロックに比べて大きい推定符号量を許容することが望ましい。そのため、図10に示すように、輝度ブロックの場合に、目標符号量の傾きを傾きαとし、色差ブロックの場合に、目標符号量の傾きを傾きαより小さい傾きβとすることで、効果的な打ち切り制御を行うことができる。
上記のように、複数の種類の性質に分けて個別に目標を設定する方法について述べたが、これらの性質については、適宜組み合わせて目標符号量を設定してもよい。
上述した特許文献1乃至3の関連技術では、一定の符号量を超えた後から打ち切りを開始すると、符号化順で後のほうにあるブロックの係数が打ち切られやすくなり、画質への影響が大きい。また、全体の符号量を固定的に均等に割り当てているだけでは、ブロックの係数の発生状況を正確に反映しておらず、精度が高くない。さらに、ブロック個別に比例配分した目標符号量では、それまでの累算符号量が考慮されていないため、過剰に打ち切りが行われる又は打ち切りが少なくなり、適切な制御が行えない。
これに対し、本発明の実施の形態2では、処理対象ブロックの特性に応じて目標符号量を算出することができ、より精度の高い目標符号量配分ができる。
<発明の実施の形態3>
本発明の実施の形態3にかかる画像符号化装置は、本発明の実施の形態1にかかる画像符号化装置100に変更を加え、所定のブロックの調整を行う場合に量子化係数を0にする場合の最大の量子化係数の値である置換閾値に基づいて、置換位置を決定するものである。これにより、画質劣化をできるだけ抑制しつつ、マクロブロック当たりの符号量を制限することができる。
図11は、本発明の実施の形態3にかかる画像符号化装置101の全体構成を示すブロック図である。画像符号化装置101は、本発明の実施の形態1にかかる画像符号化装置100に比べ、打ち切り制御器17が打ち切り制御器17aに、セレクタ11が係数打ち切り器11aに置き換わったものである。尚、本発明の実施の形態3にかかる画像符号化装置101のその他の構成は、図1と同等の構成であるため、図示及び説明を省略する。以下では、本発明の実施の形態1との違いを中心に説明する。尚、本発明の実施の形態3は、本発明の実施の形態2に変更を加えることでも実現可能である。
打ち切り制御器17aは、ブロック推定符号量25、MB推定符号量27及び目標符号量28に基づいて、置換位置29及び量子化係数を0にする場合の最大の量子化係数の値である置換閾値29aを算出し、係数打ち切り器11aへ出力する。
係数打ち切り器11aは、打ち切り制御器17aからの置換位置29及び置換閾値29aに基づいて、量子化器10から入力される所定のブロックにおける量子化係数21を0に置換するか否かを判定し、置換すると判定した場合に0を、また、置換しないと判定した場合に量子化係数21をそのまま、量子化係数22として出力する。すなわち、係数打ち切り器11aは、所定のブロックから入力される量子化係数の係数位置が置換位置29に含まれ、かつ、量子化係数21が置換閾値29a以下である場合に、量子化係数を0とする。
尚、打ち切り制御器17aは、必ずしも置換閾値29aを算出しなくてもよく、量子化器10から量子化係数21を入力し、置換閾値29aに基づいて置換位置29を算出してもよい。例えば、処理対象ブロックにおいて、置換閾値29a未満の量子化係数である係数位置についてのみ、所定のブロックの対応する係数位置について置換位置29として算出してもよい。その場合、係数打ち切り器11aは、置換位置29に基づいて当該所定のブロックにおける量子化係数の一部を0に置換するようにすればよい。
尚、本発明の実施の形態3にかかる一つのマクロブロック内の画像符号化処理の動作は、図2の一部に変更を加えることで実現可能である。すなわち、図2のステップS101において、画像符号化装置101は、置換閾値を、所定の初期値に設定する。また、図2のステップS105において、係数打ち切り器11aは、係数打ち切り処理を行う。尚、係数打ち切り処理の詳細は、図13で後述する。
また、図2のステップS111において、打ち切り制御器17aは、当該処理対象ブロックの次に処理されるブロックの量子化係数に対して調整を行うか否かの判定をし、調整を行うと判定した場合、置換位置29及び置換閾値29aを算出する。
また、打ち切り制御器17aは、ブロック推定符号量の累算値と目標符号量を比較して、累算値と目標符号量との差分が大きい場合、差分が小さい場合に比べて多くの量子化係数を0とするように置換位置及び置換閾値を決定する。また、打ち切り制御器17aは、累算値と目標符号量との差分が小さい場合、大きい場合に比べて少ない量子化係数を0とするように置換位置及び置換閾値を決定する。または、打ち切り制御器17aは、累算値と目標符号量との差分が小さい場合、置換位置及び置換閾値を決定しない。また、打ち切り制御器17aは、所定のブロック内の高い周波数帯域に対応する係数位置を置換位置及び置換閾値を適用する対象として決定する。
図12は、本発明の実施の形態3にかかる係数打ち切り器11aの構成を示すブロック図である。係数打ち切り器11aは、セレクタ110、係数打ち切り判定器111及び係数閾値判定器112を備える。
係数打ち切り判定器111は、量子化係数21に対応する係数位置と置換位置29とを比較し、該当するか否かを係数閾値判定器112へ通知する。係数閾値判定器112は、係数打ち切り判定器111からの通知が該当する場合、量子化係数21が置換閾値29a以下であるか否かを判定し、結果をセレクタ110へ通知する。セレクタ110は、係数閾値判定器112からの結果に基づき、量子化係数21について置換を行う。すなわち、係数打ち切り器11aは、所定のブロックにおける量子化係数の一部を0に置換する。
図13は、本発明の実施の形態3にかかる係数打ち切り処理の動作を示すフローチャート図である。まず、係数打ち切り判定器111は、処理対象の量子化係数21の係数位置の番号が置換位置以上であるか否かを判定する(S401)。ステップS401でYESの場合、係数閾値判定器112は、量子化係数21が置換閾値29a以下であるか否かを判定する(S402)。ステップS402でYESの場合、セレクタ110は、量子化係数21を0に置換して、量子化係数22を出力する(S403)。また、ステップS401又はS402のいずれかでNOの場合、セレクタ110は、量子化係数21をそのまま量子化係数22として出力する(S404)。
尚、打ち切り制御器17aが置換閾値に基づいて複数の置換位置を決定する場合、係数打ち切り器11aは、量子化係数21の係数位置が置換位置のいずれかに含まれる場合のみ、0に置換すればよい。
図14は、本発明の実施の形態3にかかる係数打ち切り処理における前後の係数の例を示す図である。図14に示すように、4x4のzig−zag scanで、置換閾値である打ち切り閾値が5、かつ、置換位置である打ち切り開始位置が10の場合、係数位置が10、11、13、14及び15の量子化係数が0に置き換えられ、係数位置12については、量子化係数が6であるため置換されないこととなる。
上述した特許文献1乃至3の関連技術では、量子化係数の値の大きさにかかわらず、特定の係数位置の係数を0に置換してしまうので、重要な周波数成分がある場合でも打ち切られてしまい、画質に与える影響が大きい。
しかしながら、本発明の実施の形態3にかかる画像符号化装置101では、量子化係数が予め指定した閾値未満の場合に量子化係数を0に置換する。また、量子化係数が置換閾値以上であれば、その値をそのまま残す。値の大きい量子化係数は、その周波数成分に重要な情報があることを示しているので、その値を残すことで、画質を保持できる。
このように、本発明の実施の形態3では、例えば、H.264のように、1ブロック内の全ての量子化結果がわからないと符号量の推定ができない場合でも、視覚的に重要な大きな値を持つ係数や、低周波成分を残すようにすることで、画質劣化の抑えつつ、規定に定められたマクロブロックあたりの最大符号量の制限を満足させる制御を行うことができる。
例えば、上述した特許文献2では、量子化係数の0への置き換えは、図18のVLC設定回路915からブロックエンド933の位置を、本来よりも早く出すことで、後続する非0係数を0にしている。そのため、係数の値の大きさについては考慮されていない。本発明では、図11の打ち切り制御器17aから置換閾値を算出して、係数打ち切り器11aへ送り、図12の係数打ち切り器11aにあるように、入力の量子化係数21に対して閾値判定を行い、その値が閾値より小さければ、その係数を0に置換すると判定する。
<発明の実施の形態4>
本発明の実施の形態4にかかる画像符号化装置は、本発明の実施の形態1にかかる画像符号化装置100に変更を加え、処理対象ブロックの係数位置に対応する量子化係数毎の係数推定符号量に基づいて、当該処理対象ブロックの次に処理されるブロックにおける置換位置を決定するものである。これにより、ブロック推定符号量の累算値が目標符号量を超える前に、次に処理されるブロックにおける打ち切り制御を適用することができる。つまり、次に処理されるブロックにおいて、目標符号量を超えることを未然に防ぐことができる場合がある。そのため、より正確な打ち切り制御を行うことができ、また、打ち切り制御を安定させることができる。
尚、本発明の実施の形態4にかかる画像符号化装置は、本発明の実施の形態1にかかる画像符号化装置100の符号量推定器14及び打ち切り制御器17に変更を加えたことを除き、図1と同等の構成であるため、図示及び説明を省略する。以下では、本発明の実施の形態1との違いを中心に説明する。尚、本発明の実施の形態4は、本発明の実施の形態2又は3に変更を加えることでも実現可能である。
尚、本発明の実施の形態4にかかる画像符号化装置は、処理対象ブロックの次に処理されるブロックにおける置換位置を決定することに限定されない。例えば、本発明の実施の形態4にかかる画像符号化装置は、少なくとも処理対象ブロックの量子化係数毎の係数推定符号量に基づいて、所定のブロックにおいて、調整を行うか否かを決定すればよい。または、本発明の実施の形態4にかかる画像符号化装置は、処理対象ブロックの量子化係数毎の係数推定符号量に基づいて、所定のブロックにおける置換位置を決定すればよい。
図15は、本発明の実施の形態4にかかる符号量推定器14aの構成を示すブロック図である。符号量推定器14aは、図15の符号量推定器14における係数符号量推定器36とブロック符号量推定器37の間に、推定符号量累算器38が追加されたものである。
推定符号量累算器38は、係数符号量推定器36による係数推定符号量の算出ごとに、当該処理対象ブロックにおける係数推定符号量の累算値を処理対象の量子化係数の係数位置に対応付けて符号量分布情報である符号量分布46として出力し符号量分布情報記憶部(不図示)に格納する。すなわち、推定符号量累算器38は、係数符号量推定器36により算出された係数推定符号量と処理対象の量子化係数に対応する係数位置と対応付けて符号量分布46として符号量分布情報記憶部に記憶する。また、符号量分布情報記憶部は、ブロック毎の符号量分布46を記憶する。
図16は、本発明の実施の形態4にかかるブロック内の符号量分布の例を示す図である。推定符号量161は、正スキャン順における処理対象ブロック内の係数位置ごとの係数推定符号量の累算値の推移である。また、推定符号量162は、逆スキャン順における処理対象ブロック内の係数位置ごとの係数推定符号量の累算値の推移である。
また、本発明の実施の形態4にかかる打ち切り制御器(不図示)は、処理対象ブロックの係数位置に対応する係数推定符号量を、次に処理されるブロックの係数位置に対応する係数推定符号量と仮定し、係数推定符号量の累算値が目標符号量を超える次に処理されるブロックにおける係数位置を特定して、置換位置を決定するものである。これにより、連続するブロックの推定符号量の傾向に応じて、より正確な符号量の予測を行うことができる。
さらに、本発明の実施の形態4にかかる打ち切り制御器は、上述した符号量分布情報記憶部により記憶された当該処理対象ブロックにおける符号量分布46に基づいて、次に処理されるブロックにおける置換位置を決定するとよい。これにより、複数のブロック、又は複数のマクロブロックにおける符号量分布46を総合的に用いてより正確な符号量の予測を行うことができる。また、逆スキャン順の場合は、置換位置の決定のためには、符号量の累算値の推移を反転して、正スキャン順相当に変換して利用するとよい。
図17は、本発明の実施の形態4にかかる打ち切り位置決定処理の例を示す図である。図17の場合、本発明の実施の形態4にかかる打ち切り制御器は、ブロックiにおける符号量分布46を符号量分布情報記憶部から取得し、符号量分布46をブロックi+1におけるブロック推定符号量として、当該マクロブロックにおける推定符号量に加算する。そして、ブロックi+1において、目標符号量を超える係数位置が存在する場合、当該係数位置を置換位置として決定する。つまり、本発明の実施の形態4では、直前の処理対象ブロックにおける符号量分布46により、次のブロックの推定符号量が目標符号量を超過するか否かの見込みを立てることができる。これにより、不要な打ち切り制御を減らし、目標符号量の超過を未然に防ぎ、適度な制御を行うことができる。
<その他の発明の実施の形態>
ここで、本発明に適用可能なマクロブロックの構造について、以下に例示する。但し、これらに限定されるものではない。まず、4:2:0フォーマットの場合のマクロブロック構造について説明する。4:2:0フォーマットのマクロブロックの輝度は16x16画素である。また、色差は、CbとCrの2つであり、それぞれ8x8画素のサイズからなる。また、マクロブロックのタイプにより、内部のブロック分割パタンにはいくつか種類がある。
図20は、Intra16x16の場合のブロック分割を説明する図である。輝度は、4x4サイズの16個のブロックに分割され、さらに、直流成分だけを分離して集めて4x4サイズのDCブロックを構成する。残った交流成分のブロックは、15個の係数で構成されることになる。色差も同様にそれぞれ4x4サイズの4個のブロックに分割され、さらに、直流成分だけを分離して集めて2x2サイズのDCブロックを構成する。
図26は、Intra16x16以外で4x4サイズの直交変換を行う場合におけるマクロブロックの構成例を示す図である。この場合、輝度は、4x4サイズの16個のブロックに分割され、直流成分は分離しない。また、色差は、図20と同じである。
図27は、Intra16x16以外で8x8サイズの直交変換を行う場合におけるマクロブロックの構成例を示す図である。輝度は、8x8サイズの4個のブロックに分割され、直流成分は分離しない。色差は、図20と同じである。
図28は、MPEG−2の4:2:0フォーマットにおけるマクロブロック構造のブロック分割を説明する図である。輝度は、8x8サイズの4個のブロックに分割される。また、色差は8x8サイズのまま、1つのブロックを構成する。
図29は、8x8サイズの場合におけるスキャン順の例を示す図である。図21の4x4サイズの場合と同様に、図29に示すようにスキャン順が定義されている。尚、H.264とMPEG−2のzig−zagスキャンは同じである。また、H.264のCAVLCの場合には、64係数のデータを4つの16係数の系列に分けて符号化処理をしているため、量子化処理自体は、1つの系列を1ブロックとみなし、4x4サイズの場合と同様に扱う。
また、4:2:0以外の画像フォーマットの場合についても、色差ブロックの数が異なるだけで、本発明の方式を同様に適用することができる。例えば、monochromeの画像では色差ブロック(Cb、Cr)は存在しない。
その他のフォーマットの色差ブロックの構造を図30に示す。尚、以下では、輝度ブロックについては違いが無いため、図示及び説明を省略する。また、2つの色差ブロックの内、1つだけを図示及び説明する。また、4:2:2フォーマット及び4:4:4フォーマットでは、それぞれ色差のマクロブロックのサイズが大きくなり、ブロック数が増加する。図30は、フォーマットの違いによる色差ブロックの構成例を示す図である。
また、MPEG−2の場合の4:2:0フォーマット以外のマクロブロック構造を、図31、32に示す。図31は、MPEG−2の4:2:2フォーマットにおけるマクロブロックの構成例を示す図である。図32は、MPEG−2の4:4:4フォーマットにおけるマクロブロックの構成例を示す図である。
さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
本発明の実施の形態にかかる画像符号化装置の全体構成を示すブロック図である。 本発明の実施の形態にかかる画像符号化処理の動作を示すフローチャート図である。 本発明の実施の形態にかかる符号量推定器の構成を示すブロック図である。 本発明の実施の形態にかかる係数の発生状態情報の計測処理の動作を示すフローチャート図である。 本発明の実施の形態にかかる打ち切り位置決定処理の例を示す図である。 本発明の実施の形態にかかる係数打ち切り処理の動作を示すフローチャート図である。 本発明の実施の形態にかかる係数打ち切り処理における前後の係数の例を示す図である。 本発明の実施の形態にかかる目標符号量の例を示す図である。 本発明の実施の形態にかかる目標符号量の例を示す図である。 本発明の実施の形態にかかる目標符号量の例を示す図である。 本発明の実施の形態にかかる画像符号化装置の全体構成を示すブロック図である。 本発明の実施の形態にかかる係数打ち切り器 の構成を示すブロック図である。 本発明の実施の形態にかかる係数打ち切り処理の動作を示すフローチャート図である。 本発明の実施の形態にかかる係数打ち切り処理における前後の係数の例を示す図である。 本発明の実施の形態にかかる符号量推定器の構成を示すブロック図である。 本発明の実施の形態にかかるブロック内の符号量分布の例を示す図である。 本発明の実施の形態にかかる打ち切り位置決定処理の例を示す図である。 特許文献2にかかる画像符号化装置の一部の構成を示すブロック図である。 特許文献3にかかる動画像符号化装置の一部の構成を示すブロック図である。 Intra16x16の場合におけるマクロブロックの構成例を示す図である。 4x4、色差2x2の場合におけるスキャン順の例を示す図である。 1ブロックの量子化係数の例を示す図である。 H.264のCAVLCにおける可変長符号化の例を示す図である。 H.264のCABACにおける可変長符号化の例を示す図である。 MPEG−2における可変長符号化の例を示す図である。 Intra16x16以外で4x4サイズの直交変換を行う場合におけるマクロブロックの構成例を示す図である。 Intra16x16以外で8x8サイズの直交変換を行う場合におけるマクロブロックの構成例を示す図である。 MPEG−2の4:2:0フォーマットにおけるマクロブロックの構成例を示す図である。 8x8サイズの場合におけるスキャン順の例を示す図である。 フォーマットの違いによる色差ブロックの構成例を示す図である。 MPEG−2の4:2:2フォーマットにおけるマクロブロックの構成例を示す図である。 MPEG−2の4:4:4フォーマットにおけるマクロブロックの構成例を示す図である。
符号の説明
100 画像符号化装置
101 画像符号化装置
10 量子化器
11 セレクタ
11a 係数打ち切り器
110 セレクタ
111 係数打ち切り判定器
112 係数閾値判定器
12 逆量子化器
13 可変長符号化器
14 符号量推定器
14a 符号量推定器
15 MBヘッダ符号量推定器
16 目標符号量計算器
17 打ち切り制御器
17a 打ち切り制御器
20 変換係数
21 量子化係数
22 量子化係数
23 逆量子化係数
24 隣接ブロック情報
25 ブロック推定符号量
26 MB情報
27 MB推定符号量
28 目標符号量
29 置換位置
29a 置換閾値
31 0ランカウンタ
32 0係数カウンタ
33 1係数カウンタ
34 非0係数カウンタ
35 非0係数最終位置
36 係数符号量推定器
37 ブロック符号量推定器
38 推定符号量累算器
41 runbefore
42 TotalZeros
43 TrailingOnes
44 TotalCoeff
45 CoeffNum
46 符号量分布
81 目標符号量
82 目標符号量
83 目標符号量
161 推定符号量
162 推定符号量
901 画像符号化装置
911 符号化モード選択回路
912 DCT回路
913 量子化回路
914 スキャン順並べ替え回路
915 VLC設定回路
916 VLC回路
917 逆量子化回路
918 逆DCT回路
919 符号量算出回路
920 符号量判定回路
921 制御データ位置情報記憶回路
922 重複領域判定回路
931 予測データ位置情報
932 符号化出力
933 ブロックエンド
934 制御データ位置情報
902 符号量制御装置
941 量子化回路
942 丸め回路
943 レート制御回路
944 符号量テーブル
945 可変長符号化回路
946 逆量子化回路
951 変換係数
952 目標符号量
953 逆量子化変換係数
α 傾き
β 傾き

Claims (6)

  1. 画像データに含まれる所定の領域であるマクロブロックを複数のブロックに分割してブロック毎に処理し、直交変換係数を量子化した量子化係数を出力し、当該ブロック内の係数を特定する係数位置における量子化係数に基づいて可変長符号化する画像符号化装置であって、
    前記マクロブロック内の処理対象のブロックである処理対象ブロックから所定の順序で入力される量子化係数に基づいて、当該処理対象ブロックに関する符号量の推定値であるブロック推定符号量を算出する符号量推定手段と、
    当該処理対象ブロックの特性である第1の特性、第2の特性又は第3の特性のいずれかに応じて、当該処理対象ブロックに対する符号量の目標値である目標符号量を算出する目標符号量算出手段と、
    前記符号量推定手段により前記マクロブロック内の当該処理対象ブロック以前までに算出された前記ブロック推定符号量を、前記マクロブロック内で累算した累算値と、前記マクロブロック内の当該処理対象ブロック以前に処理されたブロックに対する前記目標符号量を累算した累算値との差分に応じて、前記マクロブロック内における当該処理対象ブロックの次に処理されるブロックである所定のブロックにおいて、いずれかの量子化係数を0に置換する調整を行うか否かを決定し、当該所定のブロックにおいて、前記調整を行うと決定した場合に、当該所定のブロックにおける量子化係数を0に置換する係数位置である置換位置をさらに決定する制御手段と、
    前記制御手段により調整すると決定された置換位置における量子化係数を0に置換する係数置換手段と、を備え、
    前記第1の特性は、ピクチャタイプ又はマクロブロックタイプの特性であり、
    前記第2の特性は、DC(Direct Current)ブロックであるか、あるいはAC(Alternating Current)ブロックであるかの特性であり、
    前記第3の特性は、輝度ブロックであるか、あるいは色差ブロックであるかの特性であり、
    前記制御手段は、
    前記符号量推定手段により算出された累算値と、前記目標符号量を累算した累算値との差分が大きい場合、当該差分が小さい場合に比べて多くの量子化係数を0とするように前記置換位置を決定する画像符号化装置。
  2. 前記符号量推定手段は、
    前記入力される量子化係数の発生状態を示す発生状態情報を更新する発生状態更新手段と、
    前記量子化係数における発生状態情報に基づいて、前記量子化係数に対応する符号量の推定値である係数推定符号量を算出する係数符号量推定手段と、
    当該処理対象ブロックにおける全ての量子化係数が入力された後に、前記発生状態情報から当該処理対象ブロックのブロック全体に関する符号量の推定値である全体推定符号量を算出し、当該全体推定符号量に前記係数推定符号量の累算値を加算して前記ブロック推定符号量を算出するブロック符号量推定手段と、
    を備えることを特徴とする請求項1に記載の画像符号化装置。
  3. 前記入力される量子化係数と、前記発生状態更新手段により更新された発生状態情報とを対応付けて記憶する発生状態情報記憶手段をさらに備え、
    前記ブロック符号量推定手段は、前記発生状態情報記憶手段により記憶された当該処理対象ブロックより前に処理されたブロックの内、当該処理対象ブロックに隣接する隣接ブロックにおける発生状態情報に基づいて前記全体推定符号量を算出することを特徴とする請求項2に記載の画像符号化装置。
  4. 前記発生状態情報は、0ランカウンタ、0係数カウンタ、1係数カウンタ及び非0係数カウンタ又は0ランカウンタ及び非0係数最終座標位置であることを特徴とする請求項2に記載の画像符号化装置。
  5. 画像データに含まれる所定の領域であるマクロブロックを複数のブロックに分割してブロック毎に処理し、当該ブロック内の係数を特定する係数位置に対応する量子化係数に基づいて可変長符号化する画像符号化方法であって、
    前記マクロブロック内の処理対象のブロックである処理対象ブロックから所定の順序で読み出された量子化係数を入力するステップと、
    前記読み出された量子化係数に基づいて、当該処理対象ブロックに関する符号量の推定値であるブロック推定符号量を算出する符号量推定ステップと、
    当該処理対象ブロックの特性である第1の特性、第2の特性又は第3の特性のいずれかに応じて、当該処理対象ブロックに対する符号量の目標値である目標符号量を算出する目標符号量算出ステップと、
    前記符号量推定ステップにより前記マクロブロック内の当該処理対象ブロック以前までに算出された前記ブロック推定符号量を、前記マクロブロック内で累算した累算値と、前記マクロブロック内の当該処理対象ブロック以前に処理されたブロックに応じた前記目標符号量を累算した累算値との差分に応じて、前記マクロブロック内における当該処理対象ブロックの次に処理されるブロックである所定のブロックにおいて、いずれかの量子化係数を0に置換する調整を行うか否かを決定し、当該所定のブロックにおいて、前記調整を行うと決定した場合に、当該所定のブロックにおける量子化係数を0に置換する係数位置である置換位置をさらに決定する決定ステップと、
    前記決定ステップにより調整すると決定された置換位置における量子化係数を0に置換する係数置換ステップと、を備え、
    前記第1の特性は、ピクチャタイプ又はマクロブロックタイプの特性であり、
    前記第2の特性は、DC(Direct Current)ブロックであるか、あるいはAC(Alternating Current)ブロックであるかの特性であり、
    前記第3の特性は、輝度ブロックであるか、あるいは色差ブロックであるかの特性であり、
    前記決定ステップは、
    前記符号量推定ステップにより算出された累算値と、前記目標符号量を累算した累算値との差分が大きい場合、当該差分が小さい場合に比べて多くの量子化係数を0とするように前記置換位置を決定する画像符号化方法。
  6. 前記符号量推定ステップは、
    前記入力される量子化係数の発生状態を示す発生状態情報を更新する発生状態更新ステップと、
    前記量子化係数における発生状態情報に基づいて、前記量子化係数に対応する符号量の推定値である係数推定符号量を算出する係数符号量推定ステップと、
    当該処理対象ブロックにおける全ての量子化係数が入力された後に、前記発生状態情報から当該処理対象ブロックのブロック全体に関する符号量の推定値である全体推定符号量を算出し、当該全体推定符号量に前記係数推定符号量の累算値を加算して前記ブロック推定符号量を算出するブロック符号量推定ステップと、
    を備えることを特徴とする請求項5に記載の画像符号化方法。
JP2008253631A 2008-09-30 2008-09-30 画像符号化装置及び方法 Expired - Fee Related JP5059728B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008253631A JP5059728B2 (ja) 2008-09-30 2008-09-30 画像符号化装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008253631A JP5059728B2 (ja) 2008-09-30 2008-09-30 画像符号化装置及び方法

Publications (2)

Publication Number Publication Date
JP2010087770A JP2010087770A (ja) 2010-04-15
JP5059728B2 true JP5059728B2 (ja) 2012-10-31

Family

ID=42251291

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008253631A Expired - Fee Related JP5059728B2 (ja) 2008-09-30 2008-09-30 画像符号化装置及び方法

Country Status (1)

Country Link
JP (1) JP5059728B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102352629B (zh) * 2011-07-25 2014-03-12 上海建工集团股份有限公司 大吨位双肢钢混组合环保支撑结构

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5741073B2 (ja) * 2011-03-03 2015-07-01 富士通株式会社 画像符号化装置、画像符号化方法、及び画像符号化プログラム
JP5768565B2 (ja) * 2011-07-28 2015-08-26 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
JP5943118B2 (ja) * 2015-04-13 2016-06-29 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
JP6943256B2 (ja) * 2016-10-24 2021-09-29 日本電気株式会社 符号化装置、符号化方法およびプログラム
JP6360591B2 (ja) * 2017-05-22 2018-07-18 株式会社東芝 画像符号化装置、及びその方法
US11924429B2 (en) * 2019-03-08 2024-03-05 Sony Group Corporation Information processing device and information processing method for determination of optimum quantization coefficients

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06153172A (ja) * 1992-10-30 1994-05-31 Hitachi Ltd 符号量制御方式
JPH08205153A (ja) * 1995-01-26 1996-08-09 Fujitsu Ltd 動画像符号化装置
JPH0923427A (ja) * 1995-07-06 1997-01-21 Sony Corp 画像圧縮方法及び装置
JPH10243399A (ja) * 1997-02-25 1998-09-11 Sharp Corp 符号量制御装置及び該符号量制御装置を含む動画像符号化装置
JPH11164302A (ja) * 1997-11-26 1999-06-18 Matsushita Electric Ind Co Ltd 画像圧縮方法
JPH11252572A (ja) * 1998-03-03 1999-09-17 Nippon Hoso Kyokai <Nhk> 符号量配分装置
JPH11355774A (ja) * 1998-06-03 1999-12-24 Matsushita Electric Ind Co Ltd 画像符号化装置および方法
JP2007019878A (ja) * 2005-07-07 2007-01-25 Matsushita Electric Ind Co Ltd 画像符号化装置及び画像符号化方法
WO2008111511A1 (ja) * 2007-03-14 2008-09-18 Nippon Telegraph And Telephone Corporation 符号量推定方法、装置、そのプログラムおよび記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102352629B (zh) * 2011-07-25 2014-03-12 上海建工集团股份有限公司 大吨位双肢钢混组合环保支撑结构

Also Published As

Publication number Publication date
JP2010087770A (ja) 2010-04-15

Similar Documents

Publication Publication Date Title
EP2984829B1 (en) Encoding and decoding of significant coefficients in dependence upon a parameter of the significant coefficients
JP2010087771A (ja) 画像符号化装置及び方法
EP3020196B1 (en) Data encoding and decoding
US7839312B2 (en) Coder
JP5059728B2 (ja) 画像符号化装置及び方法
EP3448028B1 (en) Apparatus for hierarchical data unit-based video encoding and decoding comprising quantization parameter prediction
US9445094B2 (en) Image coding apparatus, image coding method, and program, and image decoding apparatus, image decoding method, and program, relating to use of an image quality control parameter
JP5472105B2 (ja) 画像処理装置及び画像処理方法
US8396311B2 (en) Image encoding apparatus, image encoding method, and image encoding program
JP5524072B2 (ja) 動画像符号化装置
US8483494B2 (en) Image encoding device and image encoding method
KR101960470B1 (ko) 오프라인 cabac을 지원하는 비디오 코딩 프로세스의 비트 예측 기반 비트 레이트 컨트롤 방법 및 그 장치
KR20110096118A (ko) 이미지 인코딩 장치, 이미지 인코딩 방법, 및 이미지 인코딩 프로그램
EP2667603A1 (en) Moving picture encoding device, moving picture encoding method and computer program for moving picture encoding
JP4532980B2 (ja) 動画像符号化装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
JP5231243B2 (ja) 符号化装置及び符号化方法
EP1720356A1 (en) A frequency selective video compression
EP1768416A1 (en) Frequency selective video compression and quantization

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110401

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120229

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120306

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120420

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120515

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120709

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

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

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

Free format text: PAYMENT UNTIL: 20150810

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees