CN100534183C - A method and apparatus for data transmission during video coding and decoding - Google Patents

A method and apparatus for data transmission during video coding and decoding Download PDF

Info

Publication number
CN100534183C
CN100534183C CN 200510069088 CN200510069088A CN100534183C CN 100534183 C CN100534183 C CN 100534183C CN 200510069088 CN200510069088 CN 200510069088 CN 200510069088 A CN200510069088 A CN 200510069088A CN 100534183 C CN100534183 C CN 100534183C
Authority
CN
China
Prior art keywords
macro block
memory cell
storage unit
search window
dma controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN 200510069088
Other languages
Chinese (zh)
Other versions
CN1671211A (en
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.)
Mid Star Technology Ltd By Share Ltd
Original Assignee
Vimicro 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 Vimicro Corp filed Critical Vimicro Corp
Priority to CN 200510069088 priority Critical patent/CN100534183C/en
Publication of CN1671211A publication Critical patent/CN1671211A/en
Application granted granted Critical
Publication of CN100534183C publication Critical patent/CN100534183C/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

A data transmission method and device in video compression, which contains storing every row in macro block to be transmitted in continuous address mode, the transmission of every macro block between motion estimation/compensation module is controlled by DMA controller, the macro blocks in first/forth memory unit transmitted to second/fifth memory unit in address continuous mode by setting data transmission unit in motion estimation/compensation module, said invention can reduce the starting and interruption time, raise data transmission efficiency and reduce power consumption.

Description

Data transmission method in a kind of video coding and the decode procedure and device
Technical field
The present invention relates to video compression technology, relate in particular to the method and the device of transfer of data in a kind of video compression.
Background technology
In video compression standard, relate to intraframe coding and interframe encode, and interframe encode mainly is to come calculation of motion vectors by motion estimation module, and reference frame is predicted according to this motion vector.In specific implementation, motion estimation module because of its computation complexity than higher, in most cases realize, with the speed-up computation process by the dedicated hardware circuit.
In motion estimation module, comprise some internal storage units, be used for preserving the search window in the reference frame, pending macro block, results of intermediate calculations and the final calculation result in the present frame.Dma controller is responsible for the data of search window and pending macro block data are transferred in the internal storage unit by data/address bus from main storage.
In existing method, a frame image is line by line in the continued presence main storage area.Such storage mode causes each macro block (16 X 16) to be actually and is divided into 16 discontinuous minizones, and each minizone is the delegation in the macro block, and the address is continuous in the minizone.In like manner as can be known, search window also is some discontinuous minizones, and the address is continuous in each minizone.And at every turn can only the continuous data in space, transport address by dma controller, like this in order to transmit the macro block of 16 X 16, or search window, just need to start 16 dma controllers, greatly increase the configuration dma controller, started expense outside dma controller, the DMA Interrupt Process service execution time single-candidate, reduced the efficient of transfer of data.
Summary of the invention
The objective of the invention is to improve data transmission efficiency in video coding or the decode procedure.
In order to realize purpose of the present invention, on the one hand, the invention provides the data transmission method in a kind of video coding process.This method comprises: with each macro block of the present frame of image, and each macro block of reference frame in each row address in main storage store continuously; Macro block is sent in tendency to develop in the selected present frame, and the search window in the corresponding reference frame; The macro block of each in the search window once is transferred in first storage unit A of motion estimation module by dma controller respectively in the main storage with being stored in; The macro block that is transferred to the search window in first storage unit A is transferred to respectively among the second memory cell B, and the row of each macro block that is comprised in the every row of search window is stored in the continuous mode in address in the second memory cell B; Afterwards, send macro block once to be transferred in first storage unit A of motion estimation module with being stored in the main storage tendency to develop in the present frame by dma controller.
According to the data transmission method in the above-mentioned video coding process of the present invention, make the capacity of described first storage unit A can store the data of a macro block at least.
According to the data transmission method in the above-mentioned video coding process of the present invention, in described first storage unit A, double buffering is set, make one of them buffering area be used to receive the data of the macro block that comes by the dma controller transmission, the data that another buffering area is used for the macro block that will receive are transferred to the second memory cell B, when macro block in two buffering areas all behind the end of transmission, simultaneously two buffering areas are switched, and continue macro block data transmission and transfer, all be transferred among the second memory cell B until macro block search window; The macro block of present frame is transferred in first storage unit A.
According to the data transmission method in the above-mentioned video coding process of the present invention, can the 3rd memory cell be set in described motion estimation module, be specifically designed to the present frame that comes is transmitted in storage from main storage by dma controller macro block.
According to the data transmission method in the above-mentioned video coding process of the present invention, wherein the capacity of each buffering area can be stored the data volume of a macro block at least.
On the other hand, the invention provides the data transmission device in a kind of video coding process, it comprises main storage, dma controller, motion estimation module, the present frame of described main memory store image and reference frame, described motion estimation module comprises first storage unit A, the second memory cell B, described dma controller with the transfer of data in the described main storage in first storage unit A of motion estimation module, it is characterized in that, described motion estimation module also comprises data transfer unit, in described main storage, row in row in the present frame in each macro block and the reference frame in each macro block of search window is stored in the continuous mode in address, makes dma controller respectively each macro block once to be sent in first storage unit A of motion estimation module; Described data transfer unit is used for the macro block that is sent in the search window of first storage unit A is transferred among the second memory cell B, and the row of each macro block that is comprised in the every row of search window is stored in the continuous mode in address in the second memory cell B; Described first storage unit A is used for storing the macro block of the present frame corresponding with this search window after each macro block of a search window all is transferred among the second memory cell B.
According to the data transmission device in the above-mentioned video coding process of the present invention, described motion estimation module can also comprise the 3rd memory cell, and it is specifically designed to the macro block of the present frame that storage sends from main storage.
According to the data transmission device in the above-mentioned video coding process of the present invention, described motion estimation module also comprises switch unit, described first storage unit A is a double buffering, and it alternately transmits next macro block, transfers to the macro block the second memory cell B from dma controller as storage; Described switch unit be used for dma controller and data transfer unit respectively with corresponding buffer data end of transmission after, two buffering areas are switched.Described switch unit also can be arranged in the data transfer unit.
Data transmission device according in the above-mentioned video coding process of the present invention can be used in the video encoder.
Also on the one hand, the invention provides the data transmission method in a kind of video decoding process, it comprises: each row address in main storage in each macro block of the reference frame of image is stored continuously; In reference frame, find out search window corresponding to current macro block to be decoded; With each macro block in the search window by dma controller once be transferred to respectively the 4th storage unit A of motion compensating module ' in, transfer to then among the 5th memory cell B ', and the row of each macro block that is comprised in the every row of search window is stored in the continuous mode in address in the 5th memory cell B ', until the macro block in the search window all being transferred among the 5th memory cell B '; With the motion vector of current macro block correspondence to be decoded transfer to the 4th storage unit A ' in; Obtain decoded macroblock by described motion compensating module; With this decoded macroblock from the 4th storage unit A ' once transfer to the main storage by dma controller.
According to the data transmission method in the above-mentioned video decoding process of the present invention, make described the 4th storage unit A ' the capacity data that can store a macro block at least.
According to the data transmission method in the above-mentioned video decoding process of the present invention, described the 4th storage unit A ' in double buffering is set, make one of them buffering area be used to receive the data of the macro block that comes by the dma controller transmission, the data that another buffering area is used for the macro block that will receive are transferred to the 5th memory cell B ', when macro block in two buffering areas all behind the end of transmission, simultaneously two buffering areas are switched, and continue macro block data transmission and transfer, all be transferred among the 5th memory cell B ' until macro block search window; With the motion vector of current macro block correspondence to be decoded transfer to described the 4th storage unit A ' in.
According to the data transmission method in the above-mentioned video decoding process of the present invention, the 6th memory cell can also be set in motion compensating module, be used to store the motion vector of current macro block correspondence to be decoded.
According to the data transmission method in the above-mentioned video decoding process of the present invention, make the capacity of each buffering area can store the data volume of a macro block at least.
Another aspect the invention provides the data transmission device in a kind of video decoding process, and it comprises main storage, dma controller, motion compensating module, is used for the 7th memory cell D of storing moving vector; The reference frame of described main memory store image; Described motion compensating module comprise the 4th storage unit A ', the 5th memory cell B '; Described dma controller is used for transmitting data between described main storage and motion compensating module, it is characterized in that, also comprise data transfer unit, in described main storage, row in the reference frame in each macro block of search window is stored in the continuous mode in address, make dma controller each macro block once can be sent to respectively the 4th storage unit A of motion compensating module ' in; Described data transfer unit be used for be sent to the 4th storage unit A ' search window in macro block transfer among the 5th memory cell B ', and the row of each macro block that is comprised in the every row of search window is stored in the 5th memory cell B ' in the continuous mode in address; Described motion compensating module by be stored among the 5th memory cell B ' search window and by the 7th memory cell D be transferred to the 4th storage unit A ' in motion vector obtain decoded macroblock, and be stored in the 4th storage unit A ' in, be transferred in the main storage by dma controller then.
In the data transmission device in above-mentioned video decoding process according to the present invention, in motion compensating module, the 6th memory cell can also be set, be used to store the motion vector that sends from the 7th memory cell D.
In the data transmission device in above-mentioned video decoding process according to the present invention, described motion compensating module also comprises switch unit, described the 4th storage unit A ' be double buffering, it alternately transmits next macro block, transfers to the macro block the 5th memory cell B ' from dma controller as storage; Described switch unit be used for dma controller and data transfer unit respectively with corresponding buffer data end of transmission after, two buffering areas are switched.Wherein, described switch unit can also be arranged in the data transfer unit.
Data transmission device according in the above-mentioned video decoding process of the present invention can be used for Video Decoder.
Utilize the present invention, by each the row address in main storage in each macro block is stored continuously, make each macro block once to be transferred in the motion estimation module by dma controller, thereby overcome the problem that repeatedly starts dma controller, interruption dma controller that causes because of each row address in each macro block is discontinuous in the prior art, improve data transmission efficiency, and can reduce energy consumption.
The present invention is mainly used in the video compression chip, as MPEG4, H.264 wait.
Description of drawings
Fig. 1 shows the flow chart according to an embodiment of the data transmission method in the video coding process of the present invention;
Fig. 2 shows the schematic diagram according to an embodiment of the data transmission device in the video coding process of the present invention;
Fig. 3 shows the flow chart according to the data transmission method in the video decoding process of the present invention;
Fig. 4 shows the schematic diagram according to an embodiment of the data transmission device in the video decoding process of the present invention.
Embodiment
Describe the present invention with reference to the accompanying drawings in detail.Given accompanying drawing only is used for explanation, does not limit the present invention.
Fig. 1 shows the flow chart according to an embodiment of the data transmission method in the video coding process of the present invention.
As shown in Figure 1, the image present frame is stored in the main storage, and 16 row of each 16 X, 16 macro block are wherein stored in the continuous mode in address in main storage, but the address can be discontinuous between each macro block; A macro block Ei of selected present frame, and in main storage, find out in the reference frame mutually the initial address of pairing each macro block of search window S Si that should macro block Ei; Wherein 16 of each 16 X, 16 macro block Si row also are to store by the continuous mode in address in main storage in the reference frame; With 16 X, the 16 macro block S in the search window of reference frame iBe transferred to successively in first storage unit A of 256 bytes of motion estimation module, through data/address bus by dma controller respectively then with macro block S iThe B of the second memory cell B that transfers to iThe place, i=1 wherein, 9, in all the macro block Si in the search window of reference frame all being transferred to the second memory cell B (48 x 48=2304 byte), and the row of each macro block that is comprised in the every row of search window is stored in the second memory cell B in the continuous mode in address, for example, the 1st row of B1 is continuous on the address with the 1st row of B2, but the 1st row of B1 and the 2nd row of B1 are discontinuous on the address.This is with different in the primary memory area, and the 1st row of S1 is discontinuous on the address with the 1st row of S2, but the 1st row of S1 and the 2nd row of S1 are continuous on the address.Then, with the macro block E of present frame iTransfer in first storage unit A through data/address bus by dma controller; So far, finish the transmission of carrying out an estimation computing desired data.In this way, each macro block in the search window of present frame and reference frame in the transmission main storage.In follow-up transmission, if when selected search window and previous search window partially overlap, then only not the macro block of intersection be sent to respectively in first storage unit A, be transferred among the second memory cell B then and not the intersection respective macroblock cover.
In said method, the memory capacity of described first storage unit A is not limited to 256 bytes, can be more than or equal to 256 bytes.
In said method,, buffering area A1 and A2 that first storage unit A comprises 2 256 bytes are set in order further to improve data transmission efficiency.Dma controller at first transmits a macro block S of search window in the reference frame by data/address bus iIn A1; Treat macro block S iAfter all reaching among the A1, the data among the A1 are transported to macro block position B corresponding among the second memory cell B iOn, meanwhile, dma controller is with next macro block S of search window in the reference frame I+1Be sent among the A2; After both all finished, A1 and A2 switched with ping-pong simultaneously.So continue, macro block to be passed all transmits and finishes in search window.
In said method, the memory capacity of described buffering area A1 and A2 is not limited to 256 bytes, can be respectively more than or equal to 256 bytes.
Certainly, example shown in Figure 1 can be made an amendment slightly, the 3rd memory cell is set in motion estimation module, be used to store the macro block E of present frame i
Fig. 2 shows the schematic diagram according to an embodiment of the data transmission device in the video coding process of the present invention.As shown in Figure 2, data transmission device in the video coding process comprises main storage 1, dma controller 2, motion estimation module 3, store the present frame E and the reference frame R of image in the main storage 1, motion estimation module 3 comprises first storage unit A, the second memory cell B, data transfer unit 5, wherein, each 16 X, 16 macro block E of present frame E iIn 16 row addresses continuous, selected one 48 X 48 search window S, wherein each 16 X, 16 macro block S in reference frame R i(i=1 wherein ... 9) row address in is continuous, thereby dma controller can once be sent to each macro block in first storage unit A of 256 bytes of motion estimation module through data/address bus.For the macro block S that is transferred to the search window S in first storage unit A i, data transfer unit 5 is correspondingly transferred to the B of the second memory cell B with it i(i=1 wherein ... 9) locate.
In Fig. 2, in order further to improve data transmission efficiency, in first storage unit A, be provided with the buffering area A1 and the A2 of two 256 bytes, switch unit 7 is set in motion estimation module 3.Dma controller 2 at first transmits the macro block S of search window S in the reference frame R by data/address bus 4 iIn A1; Treat macro block S iAfter all reaching among the A1, data transfer unit 5 begins the data among the A1 are transported to macro block position B corresponding among the second memory cell B iOn, meanwhile, dma controller 2 is with next the macro block S of search window S in the reference frame I+1Be sent among the A2; After both all finished, switch unit 7 switched A1 and A2 simultaneously with ping-pong.So continue, 9 macro blocks in search window S all are transferred among the second memory cell B.
When being next macro block E to be passed of present frame I+1Selected search window S I+1With last search window S iHave that part is identical to be, then same section need not retransfer again, and only transmits part inequality, and substitutes corresponding part among the second memory cell B.
In the data transmission device in above-mentioned video coding process, the 3rd memory cell of 256 bytes can be set, in motion estimation module 3 as the macro block E that at first transmits present frame iThe time, be used for storing the present frame macro block E that is sent to motion estimation module 3 from dma controller i
In the above-described embodiments, described first, second, third memory cell can be for general memory cell, as SRAM, and SDRAM.Described data transfer unit can be made of address generator and register, by map addresses the macro block data of the search window in first storage unit A is transferred among the second memory cell B then.Described switch unit can be a change over switch.
In the above-described embodiments, in video coding process,,, can directly transmit, and needn't utilize dma controller to transmit with CPU because data volume seldom by the motion vector of each macro block that motion estimation module generated.
Data transmission device in the above-mentioned video coding process can be used for video encoder.
Fig. 3 shows the flow chart of an embodiment of data transmission method in the decode procedure of the present invention.
R is stored in the main storage 1 with the image reference frame, and makes 256 data addresses in main storage of each 16 X, 16 macro block wherein continuous; Select among the reference frame R corresponding to current macro block E to be decoded i' the search window S of 48 X 48; With 16 X, the 16 macro block S among the search window S of reference frame R iRespectively by dma controller 2 through data/address bus 4 be transferred to successively motion compensating module 3 ' 256 bytes the 4th storage unit A ' in, then with macro block S iThe B of the 5th memory cell B ' that transfers to respectively i' locate, i=1 wherein ... 9, up to all the macro block S among the search window S iAll transfer among the 5th memory cell B ' (48 x 48=2304 byte), and the row of each macro block that is comprised in the every row of search window is stored in the 5th memory cell B ' in the continuous mode in address, for example, the 1st row of B1 ' is continuous on the address with the 1st row of B2 ', but the 1st row of B1 ' and the 2nd row of B1 ' are discontinuous on the address.This is with different in the primary memory area, and the 1st row of S1 ' is discontinuous on the address with the 1st row of S2 ', but the 1st row of S1 ' and the 2nd row of S1 ' are continuous on the address; Then, with current macro block E to be decoded i' corresponding motion vector transfer to the 4th storage unit A ' in; So far, the required data of motion compensation computing end of transmission.After treating that the motion compensation operation is finished, the decoded macroblock E that interpolation obtains i' leave in the 4th storage unit A ' in, start a DMA then this macro block be sent in the main storage.
Data transmission method in above-mentioned decode procedure, described the 4th storage unit A ' the capacity data volume that can store a macro block at least.
In said method,, the 4th storage unit A ' comprise the buffering area A1 ' and the A2 ' of 2 256 bytes are set in order further to improve data transmission efficiency.Dma controller at first transmits a macro block S of search window in the reference frame by data/address bus iIn A1 '; Treat macro block S iAfter all reaching among the A1 ', the data among the A1 ' are transported to the macro block position B of the middle correspondence of the 5th memory cell B ' i' on, meanwhile, dma controller is with next macro block S of search window in the reference frame I+1Be sent among the A2 '; After both all finished, A1 ' and A2 ' while switched with ping-pong.So continue, macro block to be passed all transmits and finishes in search window.
In the data transmission method in above-mentioned decode procedure, the data volume that the capacity of described each buffering area A1 ' and A2 ' can be stored a macro block at least.
Data transmission method in above-mentioned decode procedure also can be provided with the 6th memory cell in motion compensating module, be used to store the macro block E of present frame i'.
Fig. 4 is the schematic diagram of an embodiment of the data transmission device in the video decoding process.As shown in Figure 4, the data transmission device in the video decoding process comprise main storage 1, dma controller 2, motion compensating module 3 ', be used for the 7th memory cell D, and the data/address bus 4 of storing moving vector; The reference frame R of described main storage 1 memory image; Described motion compensating module 3 ' comprise the 4th storage unit A ', the 5th memory cell B ', data transfer unit 5 '; In described main storage 1, the row among the reference frame R in each macro block of search window S is stored in the continuous mode in address, make dma controller 2 can respectively each macro block once be sent to motion compensating module 3 ' the 4th storage unit A ' in; Described data transfer unit 2 be used for be sent to the 4th storage unit A ' search window in macro block transfer among the second memory cell B ', and the row of each macro block that is comprised in the every row of search window is stored in the 5th memory cell B ' in the continuous mode in address; Described motion compensating module 3 ' by be stored among the 5th memory cell B ' search window S and by the 7th memory cell D be transferred to the 4th storage unit A ' in motion vector obtain decoded macroblock E i', and be stored in the 4th storage unit A ' in, be transferred in the main storage 1 through data/address bus 4 by dma controller 2 then.
In the data transmission device in video decoding process shown in Figure 4, motion compensating module 3 ' in the 6th memory cell can also be set, be used for storing the motion vector that comes from the 7th memory cell D transmission.
In the data transmission device in above-mentioned video decoding process, described the 4th storage unit A ' can store at least data of a macro block.
In order further to improve data transmission efficiency, in the data transmission device in above-mentioned video decoding process, described motion compensating module 3 ' can also comprise that switch unit 7 ' described the 4th storage unit A is set to double buffering A1 ' and A2 ', dma controller 2 at first transmit the macro block S of search window S in the reference frame R by data/address bus 4 iIn A1 '; Treat macro block S iAfter all reaching among the A1 ', data transfer unit 5 begins the data among the A1 ' are transported to the macro block position B of the middle correspondence of the 5th memory cell B ' i' on, meanwhile, dma controller 2 is with next the macro block S of search window S in the reference frame I+1' be sent among the A2 '; After both all finished, switch unit 7 switched A1 ' and A2 ' simultaneously with ping-pong.So continue, the macro block in search window S all is transferred among the 5th memory cell B '.
In the data transmission device in above-mentioned video decoding process, described switch unit 7 ' also can be arranged at data transfer unit 5 ' in.
In the above-described embodiments, described the 4th, the 5th, the 6th, the 7th memory cell can be general memory cell, as SRAM, and SDRAM.Described data transfer unit can be made of address generator and register, by map addresses the macro block data of the 4th storage unit A ' middle search window is transferred among the 5th memory cell B ' then.Described switch unit can be a change over switch.
In the above-described embodiments, in video decoding process,, can directly be sent in the motion compensating module, and needn't utilize dma controller to transmit with CPU because the data volume of the motion vector of each macro block to be decoded seldom.
Data transmission device in the above-mentioned video decoding process can be used for Video Decoder.
In the above-described embodiments, as required, can once transmit two or more macro blocks.
Can set up memory cell as required in the motion compensating module, be specifically designed to the resulting decoded macroblock of storing moving compensating module.
Above-mentioned execution mode is just in order to be illustrated more clearly in the present invention, and the present invention is not limited to above-mentioned execution mode.What can understand is that those skilled in the art will fall within the scope of protection of the present invention under the situation that does not deviate from spirit of the present invention and essence any conspicuous modification, change that the present invention made.

Claims (18)

1. the data transmission method in the video coding process is characterized in that,
With each macro block of the present frame of image, and each macro block of reference frame in each row in main storage, store in the continuous mode in address;
Macro block is sent in tendency to develop in the selected present frame, and the search window in the corresponding reference frame;
The macro block of each in the search window once is transferred in first storage unit A of motion estimation module by dma controller respectively in the main storage with being stored in;
The macro block that is transferred to the search window in first storage unit A is transferred to respectively among the second memory cell B, and the row of each macro block that is comprised in the every row of search window is stored in the continuous mode in address in the second memory cell B;
Afterwards, send macro block once to be transferred in first storage unit A of motion estimation module with being stored in the main storage tendency to develop in the present frame by dma controller.
2. the data transmission method in the video coding process is characterized in that,
With each macro block of the present frame of image, and each macro block of reference frame in each row in main storage, store in the continuous mode in address;
Macro block is sent in tendency to develop in the selected present frame, and the search window in the corresponding reference frame;
The macro block of each in the search window once is transferred in first storage unit A of motion estimation module by dma controller respectively in the main storage with being stored in;
The macro block that is transferred to the search window in first storage unit A is transferred to respectively among the second memory cell B, and the row of each macro block that is comprised in the every row of search window is stored in the continuous mode in address in the second memory cell B;
The 3rd memory cell also is set, the macro block of present frame is once transferred in the 3rd memory cell by dma controller;
In described first storage unit A, double buffering is set, two buffering areas are switched.
3. data transmission method according to claim 1 and 2 is characterized in that,
Make the capacity of described first storage unit A can store the data of a macro block at least.
4. data transmission method according to claim 1 and 2 is characterized in that,
In described first storage unit A, double buffering is set, make one of them buffering area be used to receive the data of the macro block that comes by the dma controller transmission, the data that another buffering area is used for the macro block that will receive are transferred to the second memory cell B, when macro block in two buffering areas all behind the end of transmission, simultaneously two buffering areas are switched, and continue macro block data transmission and transfer, all be transferred among the second memory cell B until macro block search window.
5. data transmission method according to claim 4 is characterized in that,
Make the capacity of each buffering area can store the data volume of a macro block at least.
6. the data transmission device in the video coding process, it comprises main storage, dma controller, motion estimation module, the present frame of described main memory store image and reference frame, described motion estimation module comprises first storage unit A, the second memory cell B, described dma controller with the transfer of data in the described main storage in first storage unit A of motion estimation module, it is characterized in that, described motion estimation module also comprises data transfer unit, in described main storage, row in row in the present frame in each macro block and the reference frame in each macro block of search window is stored in the continuous mode in address, makes dma controller respectively each macro block once to be sent in first storage unit A of motion estimation module; Described data transfer unit is used for the macro block that is sent in the search window of first storage unit A is transferred among the second memory cell B, and the row of each macro block that is comprised in the every row of search window is stored in the continuous mode in address in the second memory cell B; Described first storage unit A is used for storing the macro block of the present frame corresponding with this search window after each macro block of a search window all is transferred among the second memory cell B.
7. the data transmission device in the video coding process, it comprises main storage, dma controller, motion estimation module, the present frame of described main memory store image and reference frame, described motion estimation module comprises the second memory cell B, the 3rd memory cell, described dma controller is transferred to the macro block data in the described main storage in the motion estimation module, it is characterized in that, described motion estimation module also comprises first storage unit A, data transfer unit, in described main storage, row in row in the present frame in each macro block and the reference frame in each macro block of search window is stored in the continuous mode in address, makes dma controller once to be sent to each macro block of present frame in the 3rd memory cell respectively, once be sent to each macro block of the search window in the reference frame in first storage unit A respectively; Described data transfer unit is used for transferring among the second memory cell B being sent to the first storage unit A macro block, and the row of each macro block that is comprised in the every row of search window is stored in the continuous mode in address in the second memory cell B.
8. according to claim 6 or 7 described data transmission devices, it is characterized in that, described motion estimation module also comprises switch unit, and described first storage unit A is a double buffering, and it alternately transmits next macro block, transfers to the macro block the second memory cell B from dma controller as storage; Described switch unit be used for dma controller and data transfer unit respectively with corresponding buffer data end of transmission after, two buffering areas are switched.
9. according to claim 6 or 7 described data transmission devices, it is characterized in that, be used for video encoder.
10. the data transmission method in the video decoding process, it comprises:
Each row in each macro block of the reference frame of image is stored in the continuous mode in address in main storage;
In reference frame, find out search window corresponding to current macro block to be decoded;
With each macro block in the search window by dma controller once be transferred to respectively the 4th storage unit A of motion compensating module ' in, transfer to then among the 5th memory cell B ', and the row of each macro block that is comprised in the every row of search window is stored in the continuous mode in address in the 5th memory cell B ', until the macro block in the search window all being transferred among the 5th memory cell B ';
With the motion vector of current macro block correspondence to be decoded transfer to the 4th storage unit A ' in;
Obtain decoded macroblock by described motion compensating module;
With this decoded macroblock from the 4th storage unit A ' once transfer to the main storage by dma controller.
11. data transmission method according to claim 10 is characterized in that,
Make described the 4th storage unit A ' the capacity data that can store a macro block at least.
12. data transmission method according to claim 10 is characterized in that,
Described the 4th storage unit A ' in double buffering is set, make one of them buffering area be used to receive the data of the macro block that comes by the dma controller transmission, the data that another buffering area is used for the macro block that will receive are transferred to the 5th memory cell B ', when macro block in two buffering areas all behind the end of transmission, simultaneously two buffering areas are switched, and continue macro block data transmission and transfer, all be transferred among the 5th memory cell B ' until macro block search window.
13. data transmission method according to claim 12 is characterized in that,
The 6th memory cell also is set in described motion compensating module;
The motion vector of current macro block correspondence to be decoded is transferred in the 6th memory cell.
14. according to claim 12 or 13 described data transmission methods, it is characterized in that,
Make the capacity of each buffering area can store the data volume of a macro block at least.
15. the data transmission device in the video decoding process, it comprises main storage, dma controller, motion compensating module, is used for the 7th memory cell D of storing moving vector; The reference frame of described main memory store image; Described motion compensating module comprise the 4th storage unit A ', the 5th memory cell B '; Described dma controller is used for transmitting data between described main storage and motion compensating module, it is characterized in that, also comprise data transfer unit, in described main storage, row in the reference frame in each macro block of search window is stored in the continuous mode in address, make dma controller each macro block once can be sent to respectively the 4th storage unit A of motion compensating module ' in; Described data transfer unit be used for be sent to the 4th storage unit A ' search window in macro block transfer among the 5th memory cell B ', and the row of each macro block that is comprised in the every row of search window is stored in the 5th memory cell B ' in the continuous mode in address; Described motion compensating module by be stored among the 5th memory cell B ' search window and by the 7th memory cell D be transferred to the 4th storage unit A ' in motion vector obtain decoded macroblock, and be stored in the 4th storage unit A ' in, be transferred in the main storage by dma controller then.
16. the data transmission device in the video decoding process, it comprises main storage, dma controller, motion compensating module, is used for the 7th memory cell D of storing moving vector; The reference frame of described main memory store image, described motion compensating module comprises the 5th memory cell B ', the 6th memory cell, described dma controller is used for transmitting data between described main storage and motion compensating module, it is characterized in that, described motion compensating module also comprise the 4th storage unit A ', data transfer unit, described the 6th memory cell is used to store the motion vector that sends from the 7th memory cell D; In described main storage, the row in the reference frame in each macro block of search window is stored in the continuous mode in address, make dma controller each macro block once can be sent to respectively the 4th storage unit A of motion compensating module ' in; Described data transfer unit be used for be sent to the 4th storage unit A ' macro block transfer among the 5th memory cell B ', and the row of each macro block that is comprised in the every row of search window is stored in the 5th memory cell B ' in the continuous mode in address; Described motion compensating module obtains decoded macroblock by being stored in search window among the 5th memory cell B ' and the motion vector in described the 6th memory cell, and be stored in the 4th storage unit A ' in, be transferred in the main storage by dma controller then.
17. data transmission device according to claim 15 or 16, it is characterized in that, described motion compensating module also comprises switch unit, described the 4th storage unit A ' and be double buffering, it alternately transmits next macro block, transfers to the macro block the 5th memory cell B ' from dma controller as storage; Described switch unit be used for dma controller and data transfer unit respectively with corresponding buffer data end of transmission after, two buffering areas are switched.
18. according to claim 15 or 16 described data transmission devices, it is characterized in that, be used for Video Decoder.
CN 200510069088 2005-05-10 2005-05-10 A method and apparatus for data transmission during video coding and decoding Active CN100534183C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200510069088 CN100534183C (en) 2005-05-10 2005-05-10 A method and apparatus for data transmission during video coding and decoding

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200510069088 CN100534183C (en) 2005-05-10 2005-05-10 A method and apparatus for data transmission during video coding and decoding

Publications (2)

Publication Number Publication Date
CN1671211A CN1671211A (en) 2005-09-21
CN100534183C true CN100534183C (en) 2009-08-26

Family

ID=35042241

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200510069088 Active CN100534183C (en) 2005-05-10 2005-05-10 A method and apparatus for data transmission during video coding and decoding

Country Status (1)

Country Link
CN (1) CN100534183C (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101662308B (en) * 2009-09-29 2013-01-16 中兴通讯股份有限公司 Setting method of search window centre and device
CN109660810B (en) * 2018-12-29 2021-07-27 湖南国科微电子股份有限公司 Data coding method

Also Published As

Publication number Publication date
CN1671211A (en) 2005-09-21

Similar Documents

Publication Publication Date Title
US20050190976A1 (en) Moving image encoding apparatus and moving image processing apparatus
JP5031976B2 (en) Processing digital video data
Zhou et al. A 530 Mpixels/s 4096x2160@ 60fps H. 264/AVC high profile video decoder chip
KR101279507B1 (en) Pipelined decoding apparatus and method based on parallel processing
CN100493193C (en) A method and device for carrying out buffer control to real time digital video stream
CN100534183C (en) A method and apparatus for data transmission during video coding and decoding
US10757430B2 (en) Method of operating decoder using multiple channels to reduce memory usage and method of operating application processor including the decoder
CN101783958B (en) Computation method and device of time domain direct mode motion vector in AVS (audio video standard)
JP3544524B2 (en) Image processing device
CN101179724B (en) Frame storage method and apparatus for interframe compressed encoding
US20100111166A1 (en) Device for decoding a video stream and method thereof
US6788227B2 (en) Apparatus for integrated cascade encoding
US6097843A (en) Compression encoding apparatus, encoding method, decoding apparatus, and decoding method
US20110096082A1 (en) Memory access control device and method thereof
US20110099340A1 (en) Memory access control device and method thereof
CN101448160B (en) Pixel reconstruction method with reconstruction data feedback and decoder
JP2004046499A (en) Data processing system
US7590295B2 (en) Semiconductor device and an image processor
US20090201989A1 (en) Systems and Methods to Optimize Entropy Decoding
KR100636911B1 (en) Method and apparatus of video decoding based on interleaved chroma frame buffer
KR100708183B1 (en) Image storing device for motion prediction, and method for storing data of the same
KR20060009525A (en) Variable length coding method with 4 stage pipeline and variable length coder using the same
JP2002152756A (en) Moving picture coder
US20100232511A1 (en) Motion compensator, motion compensating method, and motion-compensated video decoder implementing the same
Ouyang et al. Optimization and implementation of h. 264 encoder on symmetric multi-processor platform

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20171221

Address after: 100083 Haidian District, Xueyuan Road, No. 35, the world building, the second floor of the building on the ground floor, No. 16

Patentee after: Zhongxing Technology Co., Ltd.

Address before: 100080 Xueyuan Road, Haidian District, Beijing, No. 35

Patentee before: Beijing Vimicro Corporation

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 100083 Haidian District, Xueyuan Road, No. 35, the world building, the second floor of the building on the ground floor, No. 16

Patentee after: Mid Star Technology Limited by Share Ltd

Address before: 100083 Haidian District, Xueyuan Road, No. 35, the world building, the second floor of the building on the ground floor, No. 16

Patentee before: Zhongxing Technology Co., Ltd.