JP2005204310A - 映像符号化装置 - Google Patents

映像符号化装置 Download PDF

Info

Publication number
JP2005204310A
JP2005204310A JP2005002919A JP2005002919A JP2005204310A JP 2005204310 A JP2005204310 A JP 2005204310A JP 2005002919 A JP2005002919 A JP 2005002919A JP 2005002919 A JP2005002919 A JP 2005002919A JP 2005204310 A JP2005204310 A JP 2005204310A
Authority
JP
Japan
Prior art keywords
header
texture
macroblock
packing
video
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005002919A
Other languages
English (en)
Other versions
JP4142652B2 (ja
Inventor
Hyun Il Byun
ヒョン イル ビョン
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.)
SHIENESU TECHNOLOGY KK
Original Assignee
SHIENESU TECHNOLOGY KK
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 SHIENESU TECHNOLOGY KK filed Critical SHIENESU TECHNOLOGY KK
Publication of JP2005204310A publication Critical patent/JP2005204310A/ja
Application granted granted Critical
Publication of JP4142652B2 publication Critical patent/JP4142652B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02KDYNAMO-ELECTRIC MACHINES
    • H02K15/00Methods or apparatus specially adapted for manufacturing, assembling, maintaining or repairing of dynamo-electric machines
    • H02K15/0006Disassembling, repairing or modifying dynamo-electric machines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02KDYNAMO-ELECTRIC MACHINES
    • H02K15/00Methods or apparatus specially adapted for manufacturing, assembling, maintaining or repairing of dynamo-electric machines
    • H02K15/02Methods or apparatus specially adapted for manufacturing, assembling, maintaining or repairing of dynamo-electric machines of stator or rotor bodies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02WCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO WASTEWATER TREATMENT OR WASTE MANAGEMENT
    • Y02W30/00Technologies for solid waste management
    • Y02W30/50Reuse, recycling or recovery technologies
    • Y02W30/82Recycling of waste of electrical or electronic equipment [WEEE]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Manufacturing & Machinery (AREA)
  • Power Engineering (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】 可変長符号化装置制御に必要なCPUの負荷を減らすことができる映像符号化技術を提供する。
【解決手段】 映像符号化装置は、現在マクロブロックの絶対偏差平均値(MAD)を求める動き補償(MC)ブロック;上記絶対偏差平均値(MAD)と量子化係数(QP)を基に現在マクロブロックのビート量を予測してビデオパケットの終了可否を制御する制御部;及び動き予測及びテクスチャ符号化を遂行して、上記制御部の制御によってビデオパケット内のすべてのマクロブロックに対するパッキングを遂行する可変長符号化(VLC)ブロックを含む。
【選択図】 図6

Description

本発明はデジタル映像符号化技術に関して、特に、DCT変換と動き補償及び予測により映像符号化を遂行する符号化装置に関する。
映像符号化装置で、特に、可変長符号化器は映像圧縮/復号標準が進むにつれて、その回路構成及び制御方法が益々複雑になっている。例えば、MPEG-4を利用して映像を符号化する場合、エラー耐性を強化するためにデータ分割モードを使う場合に、あるビデオパケット内でマクロブロックのテクスチャと二つのヘッダーをそれぞれ種類別に出すべきである。この時、可変長符号化器が単純にマクロブロック単位でヘッダーとテクスチャを別々に出す構造では、使用者がビデオパケットを構成するためには複雑な制御を通さなければならず、映像符号化装置を制御するCPUの負荷増加になる問題が生じる。
図1は、従来技術による符号化器のブロック図であって、MPEG-4に対する実施例である。図1を参照すると、符号化器(100)は、動き予測(Motion Estimation:以下、MEと言う)ブロック(101)、動き補償(Motion Compensation:以下、MCと言う)ブロック(102)、離散コサイン変換/量子化(Discrete Cosine Transform/Quantization:以下DCT/Qと言う)ブロック(103a)、AC/DC予測(AC/DC Prediction:以下ADPと言う)ブロック(104)、可変長符号化(Variable Length Coding:以下VLCと言う)ブロック(105)、及び逆離散コサイン変換/逆量子化(Inverse DCT/Inverse Q:以下IQ/IDCTと言う)ブロック(103b)を含む。
MEブロック(101)は、過去フレームに対して現在フレームの動きを予測する作業を遂行する。結果は動きベクターで出し、これはマクロブロックまたはブロック毎に過去フレームに比べてどの方向にどのくらい移動したのかを示す。このような、動き予測を利用すると、時間的な繰り返しを除去して符号量を減らすことができる。上記マクロブロックは16×16個の画素単位で構成され、4個の輝度ブロックと2個の色差ブロックで構成される。よって、計6個のブロックを含み、これらブロックは8×8個の画素で構成される。
MCブロック(102)は、MC(−)(MC minus)(102a)とMC(+)(MC plus)(102b)の二種類に仕分けされる。MC(−)(102a)は、現在フレームで過去フレームからの動き予測結果を抜く作業であって、時間的な繰り返しが除去されたフレームデータの結果がでる。また、MC(+)(102b)は、以後に説明されるIQ/IDCT部(103b)の結果にMC(−)(102)で使われた過去フレームを加える作業で、最終的に復号器で見られる映像が得られる。この映像は次のフレームを符号化する時過去フレームに活用される。
DCT/Qブロック(103a)は空間領域の映像データを周波数領域のデータに変えて、その結果がより少ない種類の値を持つように量子化を遂行する。
ADPブロック(104)は、現在ブロックのAC/DC係数に対して、周辺ブロックのAC/DC係数から差分値を求む。これは空間的な連続性を利用して符号量を削減しようとする目的である。
VLCブロック(105)はADPが完了した係数を可変長符号化して、最終的に符号化されたビットストリームを発生させる。この時、ビットストリームは所定個数のマクロブロックに対するデータを含んだビデオパケットで構成される。
IQ/IDCTブロック(103b)はDCT/Qが終わった係数に対して逆量子化を遂行して、その結果をまた空間領域のデータに変える。IQ/IDCT直後の映像がMC(−)直後の映像と違う点は、IQ/IDCT直後の映像はDCT/Qブロック(103a)とADPブロック(104)の量子化/逆量子化によってデータが損失されることもできるということである。データが損失された映像を求めるのは復号器と同じ環境を作るためである。
図2は、従来技術による映像符号化装置のブロック図として、符号化器(100)、メモリー部(204、205)、中央処理装置(CPU)(201)及びメインメモリー部(202)、データバス(203)で構成される。
符号化器(100)は、MEブロック(101)で構成される動き予測部分及びMCブロック(102)、DCT/IDCTブロック(103)、ADPブロック(104)、VLCブロック(105)で構成されるテクスチャ符号化部分とで分けられて、上記二つの部分は、お互いに独立的に動作することができる。然し、テクスチャ符号化の為にはMEが遂行された後に出る動きベクターが必要である。
MEブロック(101)での動き予測はマクロブロック単位で動作が構成される。その間テクスチャ符号化部分(102、103、104、105)ではブロック単位の動作が6回繰り返される。
メモリー部(204、205)は、テクスチャ符号化のための必要なデータを貯蔵して、中央処理装置(CPU)(201)及びメインメモリー部(202)は、残りブロックの動作を制御するためである。
データバス(203)は、符号化器(100)と外部メモリーのデータを受け渡す。
図3は、図2の符号化器をパイプライン構造で利用してN個のマクロブロックで構成されるフレームを符号化する方法を示す。
先に、マクロブロック0に対するMEが遂行される。この時は、マクロブロック0に対する動きベクターがないから、マクロブロック0のテクスチャ符号化の遂行ができない。
次に、マクロブロック1に対するMEが遂行される間、マクロブロック0に対する動きベクターが出ていて、同時に、マクロブロック0に対するテクスチャ符号化が遂行されることができる。このような方式で符号化を行うことで最後のマクロブロックではMEは動作しなく、テクスチャ符号化だけ動作するようになる。
図4は、従来技術によるVLC部の詳細ブロック図である。
符号化されたマクロブロックはそのマクロブロックの特性を示すヘッダーと実際の映像データが含まれたテクスチャとで構成される。
ヘッダー符号化制御部(header_ctrl)(306)はヘッダー符号化の制御を行う。
ヘッダーロムテーブル(mb_rom)(307)はヘッダーを符号化することに必要な様々なテーブルを含む。
ヘッダーメモリー(hmem)(305)はヘッダー符号化になった結果を貯蔵する。
テクスチャ符号化制御部(texture_ctrl)(302)は、テクスチャ符号化の制御を行う。
テクスチャロムテーブル(ac_rom)(303)は、テクスチャを符号化することに必要な様々なテーブルを含む。
テクスチャメモリー(tmem)(301)は、テクスチャ符号化になった結果を貯蔵する。
VLCレジスター部(VLC_reg)(304)は、ヘッダー及びテクスチャ符号化に必要な様々な設定等をCPU(201)から受けてテクスチャ符号化制御部(texture_ctrl)(302)とヘッダー符号化制御部(header_ctrl)(306)に伝達し、また、テクスチャ符号化制御部(texture_ctrl)(302)とヘッダー符号化制御部(header_ctrl)(306)から符号化の結果、どの程度多くのビート量が生じているかの情報を受けてCPU(201)へ伝達する。
図5は、データ分割された時のVP(ビデオパケット)符号化過程を示す。ここで、ビデオパケットは1個またはその以上のマクロブロックを括る単位で、マクロブロックデータ外に最前部にビット列固定長符号(再同期マーカー)があり、それに引き継いでフレームヘッダー情報の一部が繰り返されてエラー耐性を強化させる。また、データ分割はビデオパケット内で重要なヘッダー情報を前部に位置させるモードで、ヘッダーは重要度によってヘッダー1とヘッダー2に仕分けされて、その間には特定ビット列で構成されるマーカーが挿入される。
先に、再同期マーカーとビデオパケットヘッダーを挿入する(S100)。
次に、マクロブロックの符号化を遂行する(S110)。符号化が終わると、ヘッダーメモリー(hmem)(305)にはヘッダー1とヘッダー2のビットストリームが貯蔵され、テクスチャメモリー(tmem)(301)には、テクスチャのビットストリームが貯蔵される。
次に、ヘッダー1、ヘッダー2、テクスチャビットストリームをそれぞれメインメモリー(202)上で別途の空間に貯蔵する(Sl12乃至S116)。これらは、ビデオパケット内のすべてのマクロブロックを符号化した後、ヘッダー1はヘッダー1同士に、ヘッダー2はヘッダー2同士に、テクスチャはテクスチャ同士に合致させるためにそれぞれ独立した空間を要する。
次に、ビデオパケット終了可否を決める為に(S118)、ビデオパケットの一番目マクロブロック以後にヘッダー1、ヘッダー2、及びテクスチャのビットストリームが総体でどのくらい出ているかを計算して、その値が予め決めたビデオパケットの目標長さ値より大きくなるとビデオパケットを終了する事に決める。
ビデオパケットが終了するとステップSl22へ、終了しないとステップS110へそれぞれ分岐される。上記ステップSl22では、現在ビデオパケットに該当されるマクロブロック等からヘッダー1、ヘッダー2、テクスチャのパッキング過程を遂行する。
最終的に、ステップSl24ではビデオパケット(VP)ストリームをフェッチする。
以上から明らかなように、従来技術によると、マクロブロック符号化の結果で生じたヘッダー及びテクスチャビットストリームを使用者が併合しなければならないので、それだけCPUの負荷が余計にかかるようになる。特に、データ分割の場合ビデオパケット内のすべてのマクロブロックに対してヘッダー1、ヘッダー2、テクスチャをそれぞれ保管し、途中にビデオパケットが終わる毎に使用者がそれらを一つでパッキングする作業を行わなければならない。そのパッキング作業は多量のビートシフト及びメモリー入出力をし、CPUの負荷を増加させる。このような問題は従来技術の符号化装置では符号化方法を異にしても根本的に解決することができない。
従って、本発明が解決しようとする技術的課題は、MPEG-1、2、4またはH.261、H.263のように代表的なデジタル映像データ圧縮/復号標準を具現する映像符号化装置を制御するCPUの負荷を減らすことである。
上記の技術的課題を達成するために、本発明による映像符号化装置は、DCT変換と動き補償及び予測を通じて映像符号化を遂行する映像符号化装置において、現在マクロブロックの絶対偏差平均値(MAD)を求める動き補償(MC)ブロック1、上記絶対偏差平均値(MAD)と量子化係数(QP)を基に現在マクロブロックのビート量を予測して、ビデオパケットの終了可否を制御する制御部1及び動き予測及びテクスチャ符号化を遂行し、上記制御部の制御によって、ビデオパケット内のすべてのマクロブロックに対するパッキングを遂行する可変長符号化(VLC)ブロックを含むことを特徴とする。
本発明と本発明の動作での利点及び本発明の実施によって達成される目的を充分に理解するため、本発明の望ましい実施例を例示する添付図面及び添付図面に記載した内容を参照することができる。
本発明によると、第一に、VLCでパッキング、すなわちヘッダー(データ分割された場合はヘッダー1とヘッダー2)、そしてテクスチャを併合する過程を完璧に支援することでCPUの負荷を減らすことができる。
第二は、マクロブロックの符号化終了またはビデオパケットの符号化終了の後VLCメモリーの追加的な読み取り/書き込み、シフト、論理演算などが要求されないためCPUの負荷を減らすことができる。
第三は、符号化装置の制御が単純になる。使用者はマクロブロックまたはビデオパケットの符号化が終了した後、hmemの内容を単純にメインメモリー(MAIN_MEM)にフェッチすればよい。
第四は、データ分割された場合、パッキングを支援するためにビデオパケット内の多数マクロブロックのデータを一度にtmemとhmemとに貯蔵するとオーバーフローが起きる可能性を排除することができない。ところが、(式1)を利用してマクロブロックのビート量を予め予測すると、オーバーフローが発生する確率を10万分の1以下の水準に低減することができる。オーバーフローが発生すると2個マクロブロック程の符号化時間が更にかかるが、これはパッキング支援で減ったCPU負荷に比べて殆ど無視し得る水準である。
以下、添付した図面を参照して本発明の望ましい実施例を説明する。
図6は、本発明による映像符号化装置のブロック図である。
図6を参照すると、本発明による映像符号化装置は符号化器(400)、メモリー部(404、405)、中央処理装置(CPU)(401)及びメインメモリー部(402)、データバス(403)とで構成され、これらは図2の従来技術による映像符号化装置での符号化器(100)、メモリー部(204、205)、中央処理装置(CPU)(201)及びメインメモリー部(202)、データバス(203)と等しい機能を遂行する。ただ、異なる点は、VLCブロック(406)がパッキングが可能になるように改善されたものであり、MCブロック(409)が絶対偏差平均値(MAD:Mean Absolute Difference)を求めて出力するということである。
上記絶対偏差平均値(MAD)は、一つのマクロブロックに対して現在フレームがデータと動き予測されたデータの差分値の構成でマクロブロックを計算した後、それぞれのピクセルの絶対値を全て併合して256で割った値であって、一般的に、この値が大きい程符号化されたビットストリームの長さが長くなる。
図面符号411は、MCブロック(409)で求められたMAD値であって、図面符号412は現在マクロブロックに適用される量子化係数(QP)値として、以後に記述するようにMAD値とQP値は、現在マクロブロックが符号化された後のビート量を予測することに使われる。また、図面符号413は、現在マクロブロックを符号化する以前に、VLCブロック(406)に供給されるパッキング可否を示す情報として、1であると現在マクロブロックでパッキングを遂行して、0であると遂行しない。参照で、上記QPは既に知られているように、量子化率を決める制御アルゴリズムによって決めることができる。
図7は、本発明によるVLCブロックの詳細ブロック図である。
ヘッダーロムテーブル(mb_rom)(508)は、ヘッダーを符号化に必要な様々なテーブルを含む。
ヘッダーメモリー(hmem)(506)は、ヘッダー符号化になった結果を保存し、データ分割可否によってヘッダー1とヘッダー2とに区分されることもある。
テクスチャ符号化制御部(texture_ctrl)(502)は、テクスチャ符号化の制御を行う。
テクスチャロムテーブル(ac_rom)(503)は、テクスチャを符号化に必要様々なテーブルを含む。
テクスチャメモリー(tmem)(501)は、テクスチャ符号化になった結果を貯蔵する。
パッキング実行部(pack_ctrl)(504)は、ヘッダーとテクスチャのパッキングを担当する。上記パッキングはヘッダーメモリー(hmem)(506)及び/又はテクスチャメモリー(tmem)(501)から一定の単位でデータを読み出し次第にヘッダーメモリー(hmem)(506)に再び書き込む過程である。
パッキングを遂行する場合は次の二つの種類がある。
第一は、マクロブロック符号化のスタート前にCPU(401)からパッキング可否に対する制御信号、即ち、PEN値(413)を通じて該マクロブロックの符号化が終わった次第にパッキングを行うと言う命令を受けた場合。
第二は、マクロブロック符号化を遂行する途中にテクスチャメモリー(tmem)(501)またはヘッダーメモリー(hmem)(506)でオーバーフローが発生した場合。
VLCレジスター部(VLC_reg)(505)は、ヘッダー及びテクスチャ符号化に必要な様々な設定をCPU(401)から受け、テクスチャ符号化制御部(texture_ctrl)(502)、パッキング実行部(pack_ctrl)(504)(504)、ヘッダー符号化制御部(header_ctrl)(507)へ伝達する。
図8は、本発明によるパッキング実行部(pack_ctrl)の詳細ブロック図である。図8を参照すると、パッキング実行部(pack_ctrl)はパッキング実行制御部(pack control)(601)、パッキング演算部(pshifter)(602)、テクスチャメモリー制御部(texture memory control)(605)、及びヘッダーメモリー制御部(header memory control)とで構成される。
パッキング実行制御部(pack control)(601)は、パッキング実行部(pack_ctrl)(504)の全体的な制御を担当する。ここで、VLCレジスター部(VLC_reg)(505)から入力されるpack_en信号は、PEN値(413)と等しい値としてパッキング遂行の可否を示す。
また、ヘッダー符号化制御部(header_ctrl)(507)から入力されるhend信号は、現在マクロブロックのヘッダー符号化が完了したことを示す信号で、hoverflow信号は、ヘッダー符号化の中にオーバーフローが発生してpack_enと係わらずに、強制的にパッキングが進行されるべきであることを示す信号である。
また、テクスチャ符号化制御部(texture_ctrl)(502)から入力されるtend信号は、現在マクロブロックのテクスチャ符号化の完了を示す信号であり、toverflow信号は、テクスチャ符号化の中にオーバーフローが発生してpack_en信号と係わらずに強制的にパッキングが進行されるべきであることを示す信号である。
パッキング実行制御部(pack control)(601)は、pack_en、toverflow、またはhoverflow信号が1であるとtend信号とhend信号を通じてヘッダー及びテクスチャ符号化がそれぞれ完了したかを確認し、完了すると、p_start信号でパッキングを行うように命令する。
パッキング演算部(pshifter)(602)は、実際にパッキングを遂行する。ヘッダー符号化制御部(header_ctrl)(507)からh1_start_pos、h1_end_pos、h2_start_pos、h2_end_pos信号が入力され、順番に現在マクロブロックでヘッダー1(データ分割されない場合はヘッダー)のスタート位置、ヘッダー1(データ分割されない場合はヘッダー)の終了位置、ヘッダー2のスタート位置、ヘッダー2の終了位置を意味する。h2_start_posとh2_end_pos信号の値はデータ分割された場合のみ有効である。
図8で‘_pos’で終わる信号は、テクスチャメモリー(tmem)(501)またはヘッダーメモリー(hmem)(506)上でビート単位の位置を示す信号である。テクスチャ符号化制御部(texture_ctrl)(502)からt_start_pos、t_end_pos信号が入力され、順番に現在マクロブロックでテクスチャのスタート位置、テクスチャの終了位置を意味する。
パッキング演算部(pshifter)(602)は、シフト&マージ(shift&merge)ブロック(603)とレジスターファイルブロック(register file)(604)ブロックとで構成される。
シフト&マージブロック(603)は、テクスチャメモリー(tmem)(501)及び/またはヘッダーメモリー(hmem)(506)から出た二つの32bit単位をそれぞれ適切にシフトし、マージしてパッキングされた新しい一つの32bit単位を生ずるブロックである。
レジスターファイルブロック(604)は、pre_h1_start_pos、pre_h2_start_pos、pre_t_start_pos信号を蓄積するのに、データ分割された場合にだけ使われる。
pre_h1_start_posは、ヘッダーメモリー(hmem)(506)上でビデオパケットの一番目マクロブロックに対するヘッダー1のスタート位置である。pre_h2_start_posはヘッダーメモリー(hmem)(506)上でビデオパケットの一番目マクロブロックに対するヘッダー2のスタート位置である。
pre_t_start_posは、テクスチャメモリー(tmem)(501)上でビデオパケットの一番目マクロブロックに対するテクスチャスタート位置である。データ分割された場合には、ビデオパケットに含まれたすべてのマクロブロックの符号化されたデータをパッキングすべきであるから、レジスターファイルブロック(604)に保存された内容が必要である。
テクスチャメモリー制御部(605)は、テクスチャメモリー(tmem)(501)でパッキングに必要なデータをパッキング演算部(pshifter)(602)に送るブロックである。
ヘッダーメモリー制御部(606)は、ヘッダーメモリー(hmem)(506)でパッキングに必要なデータをパッキング演算部(pshifter)(602)に送り、パッキングされたデータを再びヘッダーメモリー(hmem)(506)に記録するブロックである。万一、パッキングされたデータでヘッダーメモリー(hmem)(506)がフルになると、テクスチャメモリー(tmem)に引き続き記録する。
図9は、データ分割されない場合のパッキングの実施例を示す。
h1_start_posとt_start_posは、それぞれヘッダーとテクスチュアの書き込み開始位置(bit単位)を示す。マクロブロックの符号化が始まって、ヘッダーとテクスチュアがそれぞれ全て符号化されると、h1_end_posとt_end_posは、それぞれヘッダーとテクスチュアの終了位置を示す。そしてパッキングが完了するとp_end_posはヘッダーとテクスチュアとがパッキングされた後、マクロブロックデータの終わりを示す。
データ分割されない場合は、すべてのマクロブロック毎にパッキングが遂行するようにCPU(401)から命令を受ける。例として、hmemとtmemは32bit幅を持つメモリーであって、それぞれ128ワードまたは4096ビートを貯蔵することができる。
h1_start_posは0〜4095の値を持ち、過去マクロブロックストリームの終了位置によって0〜31間の値が入るように進む。t_start_posも0〜4095の値を持ち、符号化結果の書き込む空間を最大限確保することができるように0を入れる。符号化が終わるとh1_start_posとmp_end_posを参照して符号化されたストリームをフェッチすることができる。
図10は、データ分割された場合のパッキングの実施例を示す。ここで、符号化するビデオパケットは三つのマクロブロックになる。
h1_start_pos、h2_start_pos、t_start_posは、それぞれ三番目マクロブロック、すなわちビデオパケットの最後のマクロブロックのヘッダー1、ヘッダー2とテクスチュアが使われ始める位置(bit単位)を示す。
pre_h1_start_pos、pre_h2_start_pos、pre_t_start_posは、それぞれビデオパケットの初マクロブロックのヘッダー1、ヘッダー2とテクスチュアが書き込みし始める位置として、パッキングする時利用される。
h1_end_pos、h2_end_pos、t_end_posは、それぞれビデオパケットの最後のマクロブロックのヘッダー1、ヘッダー2とテクスチュアが書き込まれた最後の位置である。
図10は、一番目、二番目マクロブロックはPEN値(4B)を0とし、また三番目、すなわちビデオパケットの最後のマクロブロックでPEN値(413)を1として符号化した場合である。ビデオパケットの最後のマクロブロックのヘッダー1、ヘッダー2とテクスチュアの符号化が終わると3個マクロブロックのヘッダー1、ヘッダー2、テクスチュアが順番にパッキングされる。
万一、三番目マクロブロックを符号化する間tmemでオーバーフローが発生すると、PEN値(413)に構わずに一番目と二番目マクロブロックだけ強制にパッキングされて、VLCが修了される。
データ分割された場合は、次の3種類のオーバーフローが発生することがある。
h1 overflow:ヘッダー1の符号化結果がh2_start_pos(ヘッダー2のスタートアドレス)を超過する場合。
h2 overflow:ヘッダー2の符号化結果がhmemの大きさを超過する場合。
t overflow:テクスチュアの符号化結果がtmemの大きさを超過する場合。
図11は、データ分割された時の本発明によるビデオパケットの符号化過程を示す。
ステップS200で、再同期マーカーとビデオパケットヘッダーを挿入する。
ステップS210では現在マクロブロックの符号化結果に、ビットストリームの長さ、即ちマクロブロックビート量を予測する。
上記マクロブロックビート量は次のように(式2)予測される。
(式2)
bit_est = 140 × (MAD/QP) + offset
ここで、bit_estは予測されるビート量であり、140は実験的に得られた値である。offsetは、0以上の値として、この値が高いほど実際に出るビート量がbit_estより小さい確率が大きくなる(具体的な数値は図13で説明される。)
offsetが大きいほど実際ビート量がbit_estより大きくなる確率が減って、オーバーフローをより確実に防止することができるが、ビート量予測が実際より増加する傾向が現われることもある。(式2)でMAD値とQPは既に他のブロックで求められた値であって、別に求める必要がない値である。
ステップS212では、ビデオパケットパッキング可否を決めることにっいて、現在ビデオパケットの長さに該予測値を加えた値が予め決めたビデオパケット長さより大きいとか、次のマクロブロックまでビデオパケットに包含させる場合、hmemまたはtmemでオーバーフローが生じると予想されると、PEN値(413)を1で設定して現在マクロブロックでパッキングを遂行してビデオパケットを仕上げる。
ステップS214では、実際にマクロブロック符号化が遂行される。
ステップS216では、現在マクロブロックがビデオパケットの終わりであると、ステップS218に分岐し、そうではなければステップS210に分岐する。
ステップS218では、完成されたビデオパケットストリームをメインメモリー部(402)にフェッチする。
図12は、(式2)を導く上で根拠になった実験資料として、マクロブロック当たりビート量とMAD/QP値との関係を示す。マクロブロック毎に差があるがマクロブロックのビート量はMAD/QP値にほぼ比例することが分かる。
図13は、(式2)のoffset値によって、マクロブロックの実際ビート量がbit_estより小さい確率がどのように変わるかを示し、offsetが50である場合は約95.0%、70である場合は約98.1%、100である場合は約99.4%である。
目標とするビデオパケットの長さがtmemまたはhmemの大きさと殆ど類似すると、このoffset値を充分に大きく供給して実際にオーバーフローが発生する場合を最小化することができる。
目標とするビデオパケットの長さがtmemまたはhmemの大きさより充分に小さいと、offset値を50程度のみ取ってもオーバーフローが殆ど発生しないようにすることができる。
図14は、データ分割された場合、本発明によるVLCオーバーフロー処理過程を示す。
N番目マクロブロックを符号化する途中にオーバーフローが発生すると、(N−1)番目マクロブロックまで符号化されたヘッダー1、ヘッダー2、テクスチャをパッキングし、そのマクロブロックの動作を終える。
万一、オーバーフローが発生した時、(N+1)番目マクロブロックの動き予測(ME)が進行していると、その動作が終わるまで待たなければならない。
次の過程は、N番目マクロブロックを符号化することでMC部(409)とME部(410)のメモリー及びレジスターの内容が(N+1)番目マクロブロックに合致するように入っているので、N番目マクロブロックの動き予測をもう一度遂行する必要がある。
その後、(N+1)番目マクロブロックの動き予測とN番目マクロブロックのテクスチャコーディング(TC: texture coding)が同時になる正常な状態で開始することになる。
よって、VLCオーバーフローが一回発生する時毎に、二つマクロブロックの符号化のための時間が追加される。ところが、tmemの大きさをビデオパケットが要る最大の大きさより約200bit程大きく取っても、オーバーフローが発生する確率は10万分の2以下に維持されて殆ど影響がない。(ビデオパケットに含まれるマクロブロックの平均個数を15個で仮定した場合)tmemの大きさをもっと大きく取るとオーバーフロー確率はもっと減る。
非常に珍しい場合だが、データ分割されない場合に、符号化途中hmemまたはtmemでオーバーフローが発生すると、符号化装置はそのまま動作を中止する。そのようになると、中止された時点で符号化を進行したマクロブロックのデータはパッキングされない状態で残る。そのように中止されたマクロブロックは殆どnoiseに近い映像になる確率が高くなり、量子化係数を高くし次第次の符号化を再実行することができる。
従来技術による符号化器のブロック図である。 従来技術による映像符号化装置のブロック図である。 図2の符号化器をパイプライン構造を用いてN個のマクロブロックになるフレームを符号化する方法のフローチャートである。 従来技術によるVLC部の詳細ブロック図である。 データが分割された時、VP(ビデオパケット)符号化過程を示すフローチヤートである。 本発明による映像符号化装置のブロック図である。 本発明によるVLCブロックの詳細ブロック図である。 本発明によるパッキング実行部(pack_ctrl)の詳細ブロック図である。 データ分割になってない場合のパッキングの実施例を示す。 データ分割になった場合のパッキングの実施例を示す。 データ分割された時の本発明によるビデオパケットの符号化過程を示すフローチャートである。 (式2)を導く基になった実験資料である。 (式2)のoffset値によって、マクロブロックの実際ビート量がbit_estより小さくなる確率がどのように変化するかを示す図である。 データ分割された場合、本発明によるVLCオーバーフロー処理過程を示すフローチャートである。
符号の説明
400・・・符号化器、401・・・CPU、402・・・メインメモリー部、404,405・・・メモリー部、406・・・VLCブロック、409・・・MCブロック、411・・・MAD値、412・・・QP値、413・・・PEN値。

Claims (9)

  1. DCT変換と動き補償及び予測を通じて映像符号化を遂行する映像符号化装置において、
    現在マクロブロックの絶対偏差平均値(MAD)を求める動き補償(MC)ブロック;
    上記絶対偏差平均値(MAD)と量子化係数(QP)を基に現在マクロブロックのビート量を予測してビデオパケットの終了可否を制御する制御部;及び
    動き予測及びテクスチャ符号化を遂行して、上記制御部の制御によってビデオパケット内のすべてのマクロブロックに対するパッキングを遂行する可変長符号化(VLC)ブロックを含むことを特徴とする映像符号化装置。
  2. 請求項1に記載された映像符号化装置において、上記制御部は下記の(式1)によって現在マクロブロックのビート量を予測して、現在ビデオパケットで過去マクロブロックまでビート量の合計にbit_estを加えた値が予め決めたビデオパケットの目標長さより大きくなる場合にビデオパケットの終了を決めることを特徴とする映像符号化装置。
    (式1)
    bit_est = k × (MAD/QP) + offset
    ここで、bit_estは予測されるビート量で、kは実験的に求められた定数であり、offsetはマクロブロックが予測されたビート量以内に符号化される確率を調節する変数である。
  3. 請求項1に記載された映像符号化装置において、上記可変長符号化(VLC)ブロックは、ヘッダー符号化の制御を担当するヘッダー符号化制御部(header_ctrl);
    ヘッダーを符号化するのに必要な様々なテーブルを含むヘッダーロムテーブル(mb_rom);
    ヘッダー符号化になった結果を貯蔵するヘッダーメモリー(hmem);
    テクスチャ符号化の制御を担当するテクスチャ符号化制御部(texture_ctrl);
    テクスチャを符号化するのに必要なさまざまなテーブルを含むテクスチャロムテーブル(ac_rom);
    テクスチャ符号化になった結果を貯蔵するテクスチャメモリー(tmem);
    ヘッダーとテクスチャのパッキングを担当するパッキング実行部(pack_ctrl);及びヘッダー及びテクスチャ符号化に必要な様々な設定を貯蔵するVLCレジスター部(VLC_reg)を含むことを特徴とする映像符号化装置。
  4. 請求項3に記載された映像符号化装置において、上記パッキング実行部(pack_ctrl)は、
    上記パッキング実行部(pack_ctrl)の全体的な制御を担当するパッキング実行制御部(pack control);
    パッキングを実際に遂行するパッキング演算部(pshifter);
    テクスチャメモリー(tmem)でパッキングに必要なデータをパッキング演算部(pshifter)に供給するテクスチャメモリー制御部(texture memory control);及び
    ヘッダーメモリー(hmem)でパッキングに必要なデータをパッキング演算部(pshifter)に供給し、パッキングされたデータを更にヘッダーメモリー(hmem)に記録するヘッダーメモリー制御部(header memory control)を含むことを特徴とする映像符号化装置。
  5. 請求項4に記載された映像符号化装置において、上記パッキング実行制御部(pack control)はpack_en、toverflowまたはhoverflow信号が1であると、tend信号とhend信号を通じてヘッダー及びテクスチャ符号化がそれぞれ完了されたのかを確認して、完了するとp_start信号でパッキングを開始しようと命令することを特徴とする映像符号化装置。
  6. 請求項4に記載された映像符号化装置において、上記パッキング演算部(pshifter)は、
    テクスチャメモリー(tmem)及び/またはヘッダーメモリー(hmem)から出た二つのA bit単位のデータをそれぞれ適切にシフトしてマージしてパッキングされた新しい一つのA bit単位のデータを生成するシフト&マージ(shift&merge)ブロック(ここで、Aは上記テクスチャメモリー(tmem)の幅とヘッダーメモリー(hmem)の幅のうち、小さくない値);及び
    ビデオパケットに含まれたすべてのマクロブロックの符号化されたデータをパッキングするためにビデオパケットの一番目マクロブロックのヘッダー1、ヘッダー2、テクスチャデータのスタート位置を示す情報(pre_h1_start_pos、pre_h2_start_pos、pre_t_start_pos)を貯蔵するレジスターファイル(register file)ブロックを含むことを特徴とする映像符号化装置。
  7. 請求項1乃至請求項6のいずれか1項に記載された映像符号化装置において、
    一般ビデオパケットの場合には現在マクロブロックの符号化されたデータをパッキングしてヘッダーメモリー(hmem)に記録することを特徴とする映像符号化装置。
  8. 請求項1乃至請求項6のいずれか1項に記載された映像符号化装置において、
    データ分割されたビデオパケットの場合には現在ビデオパケットに含まれたすべてのマクロブロックの符号化されたデータをパッキングしてヘッダーメモリー(hmem)に記録することを特徴とする映像符号化装置。
  9. 請求項8に記載された映像符号化装置において、N番目マクロブロックのテクスチャ符号化を進行する間にテクスチャメモリー(tmem)またはヘッダーメモリー(hmem)にオーバーフローが発生する場合に、
    現在ビデオパケットに対してビデオパケットのスタートマクロブロックから(N−1)番目マクロブロックまで強制にパッキングを遂行し;
    N番目マクロブロックに対する動き予測を再遂行し;
    N番目マクロブロックのテクスチャ符号化と(N+1)番目マクロブロックに対する動き予測を同時に遂行することを特徴とする映像符号化装置。
JP2005002919A 2004-01-13 2005-01-07 映像符号化装置 Active JP4142652B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20040002200A KR100556340B1 (ko) 2004-01-13 2004-01-13 영상 부호화 장치

Publications (2)

Publication Number Publication Date
JP2005204310A true JP2005204310A (ja) 2005-07-28
JP4142652B2 JP4142652B2 (ja) 2008-09-03

Family

ID=34738051

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005002919A Active JP4142652B2 (ja) 2004-01-13 2005-01-07 映像符号化装置

Country Status (4)

Country Link
US (1) US7620104B2 (ja)
JP (1) JP4142652B2 (ja)
KR (1) KR100556340B1 (ja)
CN (1) CN100397905C (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010278730A (ja) * 2009-05-28 2010-12-09 Mitsubishi Electric Corp 動画像符号化装置及び動画像符号化方法
JP2012186569A (ja) * 2011-03-03 2012-09-27 Fujitsu Ltd 画像符号化装置、画像符号化方法、及び画像符号化プログラム

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
US7580584B2 (en) * 2003-07-18 2009-08-25 Microsoft Corporation Adaptive multiple quantization
US7738554B2 (en) 2003-07-18 2010-06-15 Microsoft Corporation DC coefficient signaling at small quantization step sizes
US8218624B2 (en) * 2003-07-18 2012-07-10 Microsoft Corporation Fractional quantization step sizes for high bit rates
US7801383B2 (en) 2004-05-15 2010-09-21 Microsoft Corporation Embedded scalar quantizers with arbitrary dead-zone ratios
US8422546B2 (en) 2005-05-25 2013-04-16 Microsoft Corporation Adaptive video encoding using a perceptual model
US7974340B2 (en) 2006-04-07 2011-07-05 Microsoft Corporation Adaptive B-picture quantization control
US8130828B2 (en) 2006-04-07 2012-03-06 Microsoft Corporation Adjusting quantization to preserve non-zero AC coefficients
US7995649B2 (en) 2006-04-07 2011-08-09 Microsoft Corporation Quantization adjustment based on texture level
US8059721B2 (en) 2006-04-07 2011-11-15 Microsoft Corporation Estimating sample-domain distortion in the transform domain with rounding compensation
US8503536B2 (en) 2006-04-07 2013-08-06 Microsoft Corporation Quantization adjustments for DC shift artifacts
US8711925B2 (en) 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
US7324026B2 (en) * 2006-05-19 2008-01-29 Nvidia Corporation Optimization of decoder memory usage for VLC tables
US8238424B2 (en) 2007-02-09 2012-08-07 Microsoft Corporation Complexity-based adaptive preprocessing for multiple-pass video compression
US8498335B2 (en) 2007-03-26 2013-07-30 Microsoft Corporation Adaptive deadzone size adjustment in quantization
US8243797B2 (en) 2007-03-30 2012-08-14 Microsoft Corporation Regions of interest for quality adjustments
US8442337B2 (en) 2007-04-18 2013-05-14 Microsoft Corporation Encoding adjustments for animation content
US8331438B2 (en) 2007-06-05 2012-12-11 Microsoft Corporation Adaptive selection of picture-level quantization parameters for predicted video pictures
US8116372B1 (en) * 2007-10-26 2012-02-14 Xilinx, Inc. Data structure and method using same for encoding video information
US8189933B2 (en) 2008-03-31 2012-05-29 Microsoft Corporation Classifying and controlling encoding quality for textured, dark smooth and smooth video content
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
EP2297963B1 (en) * 2008-06-20 2011-11-30 Dolby Laboratories Licensing Corporation Video compression under multiple distortion constraints
KR101323863B1 (ko) 2011-11-01 2013-10-31 아주대학교산학협력단 움직임 추정 방법 및 움직임 추정 장치
WO2013070974A2 (en) * 2011-11-08 2013-05-16 General Instrument Corporation Method of determining binary codewords for transform coefficients
EP2777279B1 (en) * 2011-11-08 2016-06-01 Google Technology Holdings LLC Method of determining binary codewords for transform coefficients
CN103581675A (zh) * 2012-08-07 2014-02-12 上海算芯微电子有限公司 视频数据的压缩/解压缩方法及系统
CN103581674A (zh) * 2012-08-07 2014-02-12 上海算芯微电子有限公司 视频数据的压缩/解压缩方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07235877A (ja) * 1994-02-24 1995-09-05 Canon Inc 可変長符号パッキング装置
JP3274284B2 (ja) * 1994-08-08 2002-04-15 キヤノン株式会社 符号化装置およびその方法
US5969764A (en) * 1997-02-14 1999-10-19 Mitsubishi Electric Information Technology Center America, Inc. Adaptive video coding method
KR100335138B1 (ko) * 1998-12-30 2002-11-27 엘지정보통신주식회사 비디오코더의가변부호화기및이를이용한코딩방법
JP3662171B2 (ja) * 2000-06-05 2005-06-22 三菱電機株式会社 符号化装置及び符号化方法
US20030215011A1 (en) * 2002-05-17 2003-11-20 General Instrument Corporation Method and apparatus for transcoding compressed video bitstreams

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010278730A (ja) * 2009-05-28 2010-12-09 Mitsubishi Electric Corp 動画像符号化装置及び動画像符号化方法
JP2012186569A (ja) * 2011-03-03 2012-09-27 Fujitsu Ltd 画像符号化装置、画像符号化方法、及び画像符号化プログラム

Also Published As

Publication number Publication date
KR100556340B1 (ko) 2006-03-03
CN100397905C (zh) 2008-06-25
KR20050074012A (ko) 2005-07-18
US7620104B2 (en) 2009-11-17
US20050152451A1 (en) 2005-07-14
JP4142652B2 (ja) 2008-09-03
CN1642282A (zh) 2005-07-20

Similar Documents

Publication Publication Date Title
JP4142652B2 (ja) 映像符号化装置
US8306125B2 (en) 2-bin parallel decoder for advanced video processing
JP4987884B2 (ja) 映像データ処理
US6798833B2 (en) Video frame compression/decompression hardware system
US7869660B2 (en) Parallel entropy encoding of dependent image blocks
JP2003299102A (ja) ビデオ符号化システムにおけるbピクチャーモード決定方法及びその装置
JP2009260977A (ja) 不可逆圧縮及び可逆圧縮を組み合わせて用いたビデオデータ圧縮
US9161056B2 (en) Method for low memory footprint compressed video decoding
JP2007274035A (ja) 画像圧縮符号化装置、画像復号装置、プログラム及び方法
US20060133512A1 (en) Video decoder and associated methods of operation
JP2004336451A (ja) 画像復号ユニットとそれを用いた画像符号化装置及び符号化方法並びに画像復号装置及び復号方法
US20050226332A1 (en) Motion vector detector, method of detecting motion vector and image recording equipment
CN102860010A (zh) 视频编码控制方法及装置
US20110069900A1 (en) Random access image encoding system and method
US7307550B2 (en) Decoding method, decoding device, and program for the same
JP4498970B2 (ja) 符号化データの変更装置、変更方法及び変更プログラム
US20060071830A1 (en) Decoder and decoding method
JP2002199392A (ja) 映像符号化方法および装置
JP2000059792A (ja) 動画像信号の高能率符号化装置
JP2006203597A (ja) ディジタル画像復号装置及び方法
JP4514666B2 (ja) 動画像符号化装置
WO2008079330A1 (en) Video compression with complexity throttling
JP4034793B2 (ja) 補完映像を生成してデブロッキング処理に用いる映像圧縮装置及び方法
JP2006050571A (ja) 画像処理装置
KR100677128B1 (ko) 동영상 부호화기의 비트율 제어장치 및 방법

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080424

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

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

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

Free format text: PAYMENT UNTIL: 20110620

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4142652

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110620

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120620

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20130620

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250