JP2005204310A - 映像符号化装置 - Google Patents
映像符号化装置 Download PDFInfo
- 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
Links
- 238000012856 packing Methods 0.000 claims abstract description 61
- 238000013139 quantization Methods 0.000 claims abstract description 13
- 230000015654 memory Effects 0.000 claims description 63
- 238000000034 method Methods 0.000 abstract description 20
- 238000010586 diagram Methods 0.000 description 12
- 239000003550 marker Substances 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000010977 unit operation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02K—DYNAMO-ELECTRIC MACHINES
- H02K15/00—Methods or apparatus specially adapted for manufacturing, assembling, maintaining or repairing of dynamo-electric machines
- H02K15/0006—Disassembling, repairing or modifying dynamo-electric machines
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02K—DYNAMO-ELECTRIC MACHINES
- H02K15/00—Methods or apparatus specially adapted for manufacturing, assembling, maintaining or repairing of dynamo-electric machines
- H02K15/02—Methods or apparatus specially adapted for manufacturing, assembling, maintaining or repairing of dynamo-electric machines of stator or rotor bodies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02W—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO WASTEWATER TREATMENT OR WASTE MANAGEMENT
- Y02W30/00—Technologies for solid waste management
- Y02W30/50—Reuse, recycling or recovery technologies
- Y02W30/82—Recycling 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
【解決手段】 映像符号化装置は、現在マクロブロックの絶対偏差平均値(MAD)を求める動き補償(MC)ブロック;上記絶対偏差平均値(MAD)と量子化係数(QP)を基に現在マクロブロックのビート量を予測してビデオパケットの終了可否を制御する制御部;及び動き予測及びテクスチャ符号化を遂行して、上記制御部の制御によってビデオパケット内のすべてのマクロブロックに対するパッキングを遂行する可変長符号化(VLC)ブロックを含む。
【選択図】 図6
Description
DCT/Qブロック(103a)は空間領域の映像データを周波数領域のデータに変えて、その結果がより少ない種類の値を持つように量子化を遂行する。
ADPブロック(104)は、現在ブロックのAC/DC係数に対して、周辺ブロックのAC/DC係数から差分値を求む。これは空間的な連続性を利用して符号量を削減しようとする目的である。
IQ/IDCTブロック(103b)はDCT/Qが終わった係数に対して逆量子化を遂行して、その結果をまた空間領域のデータに変える。IQ/IDCT直後の映像がMC(−)直後の映像と違う点は、IQ/IDCT直後の映像はDCT/Qブロック(103a)とADPブロック(104)の量子化/逆量子化によってデータが損失されることもできるということである。データが損失された映像を求めるのは復号器と同じ環境を作るためである。
符号化器(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)と外部メモリーのデータを受け渡す。
先に、マクロブロック0に対するMEが遂行される。この時は、マクロブロック0に対する動きベクターがないから、マクロブロック0のテクスチャ符号化の遂行ができない。
次に、マクロブロック1に対するMEが遂行される間、マクロブロック0に対する動きベクターが出ていて、同時に、マクロブロック0に対するテクスチャ符号化が遂行されることができる。このような方式で符号化を行うことで最後のマクロブロックではMEは動作しなく、テクスチャ符号化だけ動作するようになる。
符号化されたマクロブロックはそのマクロブロックの特性を示すヘッダーと実際の映像データが含まれたテクスチャとで構成される。
ヘッダー符号化制御部(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)へ伝達する。
先に、再同期マーカーとビデオパケットヘッダーを挿入する(S100)。
次に、マクロブロックの符号化を遂行する(S110)。符号化が終わると、ヘッダーメモリー(hmem)(305)にはヘッダー1とヘッダー2のビットストリームが貯蔵され、テクスチャメモリー(tmem)(301)には、テクスチャのビットストリームが貯蔵される。
次に、ヘッダー1、ヘッダー2、テクスチャビットストリームをそれぞれメインメモリー(202)上で別途の空間に貯蔵する(Sl12乃至S116)。これらは、ビデオパケット内のすべてのマクロブロックを符号化した後、ヘッダー1はヘッダー1同士に、ヘッダー2はヘッダー2同士に、テクスチャはテクスチャ同士に合致させるためにそれぞれ独立した空間を要する。
ビデオパケットが終了するとステップSl22へ、終了しないとステップS110へそれぞれ分岐される。上記ステップSl22では、現在ビデオパケットに該当されるマクロブロック等からヘッダー1、ヘッダー2、テクスチャのパッキング過程を遂行する。
最終的に、ステップSl24ではビデオパケット(VP)ストリームをフェッチする。
以上から明らかなように、従来技術によると、マクロブロック符号化の結果で生じたヘッダー及びテクスチャビットストリームを使用者が併合しなければならないので、それだけCPUの負荷が余計にかかるようになる。特に、データ分割の場合ビデオパケット内のすべてのマクロブロックに対してヘッダー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)を求めて出力するということである。
図面符号411は、MCブロック(409)で求められたMAD値であって、図面符号412は現在マクロブロックに適用される量子化係数(QP)値として、以後に記述するようにMAD値とQP値は、現在マクロブロックが符号化された後のビート量を予測することに使われる。また、図面符号413は、現在マクロブロックを符号化する以前に、VLCブロック(406)に供給されるパッキング可否を示す情報として、1であると現在マクロブロックでパッキングを遂行して、0であると遂行しない。参照で、上記QPは既に知られているように、量子化率を決める制御アルゴリズムによって決めることができる。
ヘッダーロムテーブル(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)へ伝達する。
パッキング実行制御部(pack control)(601)は、パッキング実行部(pack_ctrl)(504)の全体的な制御を担当する。ここで、VLCレジスター部(VLC_reg)(505)から入力されるpack_en信号は、PEN値(413)と等しい値としてパッキング遂行の可否を示す。
また、ヘッダー符号化制御部(header_ctrl)(507)から入力されるhend信号は、現在マクロブロックのヘッダー符号化が完了したことを示す信号で、hoverflow信号は、ヘッダー符号化の中にオーバーフローが発生して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信号の値はデータ分割された場合のみ有効である。
パッキング演算部(pshifter)(602)は、シフト&マージ(shift&merge)ブロック(603)とレジスターファイルブロック(register file)(604)ブロックとで構成される。
シフト&マージブロック(603)は、テクスチャメモリー(tmem)(501)及び/またはヘッダーメモリー(hmem)(506)から出た二つの32bit単位をそれぞれ適切にシフトし、マージしてパッキングされた新しい一つの32bit単位を生ずるブロックである。
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)に引き続き記録する。
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を参照して符号化されたストリームをフェッチすることができる。
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の大きさを超過する場合。
ステップS200で、再同期マーカーとビデオパケットヘッダーを挿入する。
ステップS210では現在マクロブロックの符号化結果に、ビットストリームの長さ、即ちマクロブロックビート量を予測する。
上記マクロブロックビート量は次のように(式2)予測される。
(式2)
bit_est = 140 × (MAD/QP) + offset
ここで、bit_estは予測されるビート量であり、140は実験的に得られた値である。offsetは、0以上の値として、この値が高いほど実際に出るビート量がbit_estより小さい確率が大きくなる(具体的な数値は図13で説明される。)
offsetが大きいほど実際ビート量がbit_estより大きくなる確率が減って、オーバーフローをより確実に防止することができるが、ビート量予測が実際より増加する傾向が現われることもある。(式2)でMAD値とQPは既に他のブロックで求められた値であって、別に求める必要がない値である。
ステップS214では、実際にマクロブロック符号化が遂行される。
ステップS216では、現在マクロブロックがビデオパケットの終わりであると、ステップS218に分岐し、そうではなければステップS210に分岐する。
ステップS218では、完成されたビデオパケットストリームをメインメモリー部(402)にフェッチする。
図13は、(式2)のoffset値によって、マクロブロックの実際ビート量がbit_estより小さい確率がどのように変わるかを示し、offsetが50である場合は約95.0%、70である場合は約98.1%、100である場合は約99.4%である。
目標とするビデオパケットの長さがtmemまたはhmemの大きさと殆ど類似すると、このoffset値を充分に大きく供給して実際にオーバーフローが発生する場合を最小化することができる。
目標とするビデオパケットの長さがtmemまたはhmemの大きさより充分に小さいと、offset値を50程度のみ取ってもオーバーフローが殆ど発生しないようにすることができる。
N番目マクロブロックを符号化する途中にオーバーフローが発生すると、(N−1)番目マクロブロックまで符号化されたヘッダー1、ヘッダー2、テクスチャをパッキングし、そのマクロブロックの動作を終える。
万一、オーバーフローが発生した時、(N+1)番目マクロブロックの動き予測(ME)が進行していると、その動作が終わるまで待たなければならない。
次の過程は、N番目マクロブロックを符号化することでMC部(409)とME部(410)のメモリー及びレジスターの内容が(N+1)番目マクロブロックに合致するように入っているので、N番目マクロブロックの動き予測をもう一度遂行する必要がある。
その後、(N+1)番目マクロブロックの動き予測とN番目マクロブロックのテクスチャコーディング(TC: texture coding)が同時になる正常な状態で開始することになる。
非常に珍しい場合だが、データ分割されない場合に、符号化途中hmemまたはtmemでオーバーフローが発生すると、符号化装置はそのまま動作を中止する。そのようになると、中止された時点で符号化を進行したマクロブロックのデータはパッキングされない状態で残る。そのように中止されたマクロブロックは殆どnoiseに近い映像になる確率が高くなり、量子化係数を高くし次第次の符号化を再実行することができる。
Claims (9)
- DCT変換と動き補償及び予測を通じて映像符号化を遂行する映像符号化装置において、
現在マクロブロックの絶対偏差平均値(MAD)を求める動き補償(MC)ブロック;
上記絶対偏差平均値(MAD)と量子化係数(QP)を基に現在マクロブロックのビート量を予測してビデオパケットの終了可否を制御する制御部;及び
動き予測及びテクスチャ符号化を遂行して、上記制御部の制御によってビデオパケット内のすべてのマクロブロックに対するパッキングを遂行する可変長符号化(VLC)ブロックを含むことを特徴とする映像符号化装置。 - 請求項1に記載された映像符号化装置において、上記制御部は下記の(式1)によって現在マクロブロックのビート量を予測して、現在ビデオパケットで過去マクロブロックまでビート量の合計にbit_estを加えた値が予め決めたビデオパケットの目標長さより大きくなる場合にビデオパケットの終了を決めることを特徴とする映像符号化装置。
(式1)
bit_est = k × (MAD/QP) + offset
ここで、bit_estは予測されるビート量で、kは実験的に求められた定数であり、offsetはマクロブロックが予測されたビート量以内に符号化される確率を調節する変数である。 - 請求項1に記載された映像符号化装置において、上記可変長符号化(VLC)ブロックは、ヘッダー符号化の制御を担当するヘッダー符号化制御部(header_ctrl);
ヘッダーを符号化するのに必要な様々なテーブルを含むヘッダーロムテーブル(mb_rom);
ヘッダー符号化になった結果を貯蔵するヘッダーメモリー(hmem);
テクスチャ符号化の制御を担当するテクスチャ符号化制御部(texture_ctrl);
テクスチャを符号化するのに必要なさまざまなテーブルを含むテクスチャロムテーブル(ac_rom);
テクスチャ符号化になった結果を貯蔵するテクスチャメモリー(tmem);
ヘッダーとテクスチャのパッキングを担当するパッキング実行部(pack_ctrl);及びヘッダー及びテクスチャ符号化に必要な様々な設定を貯蔵するVLCレジスター部(VLC_reg)を含むことを特徴とする映像符号化装置。 - 請求項3に記載された映像符号化装置において、上記パッキング実行部(pack_ctrl)は、
上記パッキング実行部(pack_ctrl)の全体的な制御を担当するパッキング実行制御部(pack control);
パッキングを実際に遂行するパッキング演算部(pshifter);
テクスチャメモリー(tmem)でパッキングに必要なデータをパッキング演算部(pshifter)に供給するテクスチャメモリー制御部(texture memory control);及び
ヘッダーメモリー(hmem)でパッキングに必要なデータをパッキング演算部(pshifter)に供給し、パッキングされたデータを更にヘッダーメモリー(hmem)に記録するヘッダーメモリー制御部(header memory control)を含むことを特徴とする映像符号化装置。 - 請求項4に記載された映像符号化装置において、上記パッキング実行制御部(pack control)はpack_en、toverflowまたはhoverflow信号が1であると、tend信号とhend信号を通じてヘッダー及びテクスチャ符号化がそれぞれ完了されたのかを確認して、完了するとp_start信号でパッキングを開始しようと命令することを特徴とする映像符号化装置。
- 請求項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)ブロックを含むことを特徴とする映像符号化装置。 - 請求項1乃至請求項6のいずれか1項に記載された映像符号化装置において、
一般ビデオパケットの場合には現在マクロブロックの符号化されたデータをパッキングしてヘッダーメモリー(hmem)に記録することを特徴とする映像符号化装置。 - 請求項1乃至請求項6のいずれか1項に記載された映像符号化装置において、
データ分割されたビデオパケットの場合には現在ビデオパケットに含まれたすべてのマクロブロックの符号化されたデータをパッキングしてヘッダーメモリー(hmem)に記録することを特徴とする映像符号化装置。 - 請求項8に記載された映像符号化装置において、N番目マクロブロックのテクスチャ符号化を進行する間にテクスチャメモリー(tmem)またはヘッダーメモリー(hmem)にオーバーフローが発生する場合に、
現在ビデオパケットに対してビデオパケットのスタートマクロブロックから(N−1)番目マクロブロックまで強制にパッキングを遂行し;
N番目マクロブロックに対する動き予測を再遂行し;
N番目マクロブロックのテクスチャ符号化と(N+1)番目マクロブロックに対する動き予測を同時に遂行することを特徴とする映像符号化装置。
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)
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)
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)
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 |
-
2004
- 2004-01-13 KR KR20040002200A patent/KR100556340B1/ko active IP Right Grant
-
2005
- 2005-01-07 JP JP2005002919A patent/JP4142652B2/ja active Active
- 2005-01-12 US US11/034,270 patent/US7620104B2/en active Active
- 2005-01-13 CN CNB2005100021032A patent/CN100397905C/zh active Active
Cited By (2)
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 |