US8649439B2 - Decoding circuit, decoding device, and decoding system - Google Patents
Decoding circuit, decoding device, and decoding system Download PDFInfo
- Publication number
- US8649439B2 US8649439B2 US11/791,220 US79122005A US8649439B2 US 8649439 B2 US8649439 B2 US 8649439B2 US 79122005 A US79122005 A US 79122005A US 8649439 B2 US8649439 B2 US 8649439B2
- Authority
- US
- United States
- Prior art keywords
- macroblock
- decoding
- motion vector
- direct mode
- buffer
- 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, expires
Links
- 239000013598 vector Substances 0.000 claims abstract description 123
- 238000012546 transfer Methods 0.000 claims abstract description 80
- 238000000034 method Methods 0.000 abstract description 35
- 238000010276 construction Methods 0.000 abstract description 10
- 238000012545 processing Methods 0.000 description 25
- 230000009466 transformation Effects 0.000 description 9
- 230000002457 bidirectional effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 238000011112 process operation Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Classifications
-
- 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
- H04N19/43—Hardware specially adapted for motion estimation or compensation
- H04N19/433—Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
-
- 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
- H04N19/436—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 using parallelised computational arrangements
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
Definitions
- the present invention relates to a decoding circuit, a decoding device, and a decoding system for sequentially decoding a plurality of macroblocks composing an encoded picture in a predetermined order.
- a “motion-compensated interframe prediction” is one of important elements of a conventional moving image compression encoding/decoding technology.
- the motion-compensated interframe prediction is a method for detecting how pictures in continuous frames (screens) composing a moving image move, in order to compress the moving image effectively.
- a typical moving image compression method such as MPEG (Moving Picture Experts Group) and the like
- MPEG Motion Picture Experts Group
- the motion vector indicates, per unit called a “macroblock” made by dividing a picture, to which direction a current picture moves and an amount of the movement of the current picture compared to a macroblock in another picture preceding or succeeding the current picture in a display order. Note that the compared picture is called a “reference picture”.
- MPEG 4-AVC Advanced Video Coding
- the bidirectional motion-compensated interframe prediction is a method for selecting two arbitrary reference pictures from other pictures preceding or succeeding a current picture in a display order, and performing the motion-compensated interframe prediction using the two reference pictures.
- a picture, on which the bidirectional motion-compensated interframe prediction is to be performed is called a “Bi-predictive picture”, or a “B picture” for short.
- an encoding mode called a “direct mode” may be used.
- the direct mode calculates a motion vector of a current macroblock using a motion vector of a reference macroblock that has already been decoded, without encoding the motion vector of the current macroblock. Specifically, if the current macroblock is encoded by the direct mode, the motion vector of the current macroblock is calculated using the motion vector of the reference macroblock on same orthogonal coordinates as the current macroblock in a preceding picture.
- a conventional process of decoding a macroblock encoded by the direct mode will be briefly described with reference to FIG. 7 .
- a predetermined amount of motion vectors of decoded macroblocks are stored.
- motion vectors of four pictures are stored.
- one picture is composed of 8,160 macroblocks
- motion vectors of 32,640 macroblocks in total are required to be stored.
- a normal buffer is neither sufficient nor practical for storing so many motion vectors in a decoding circuit. Therefore, motion vectors of decoded macroblocks are stored in a memory located outside of the decoding circuit, such as a DRAM (Dynamic Random Access Memory).
- DRAM Dynamic Random Access Memory
- step S 200 when a macroblock of a B picture is decoded, firstly, macroblock type information included in the head of the macroblock is referenced to judge whether the macroblock is encoded by the direct mode (step S 200 ).
- a DMA (Direct Memory Access) transfer instruction is performed to obtain a motion vector of a reference macroblock from an external memory (step S 201 ).
- a motion vector of the macroblock is specified based on the motion vector of the reference macroblock transferred from the external memory as a result of the DMA transfer instruction (step S 202 ).
- the necessary motion vector of the reference macroblock is obtained by accessing the external memory (step S 201 ). Because it takes time to transfer the motion vector of the reference macroblock from the external memory to the decoding circuit, a waiting time is required as shown by an arrow in FIG. 7 . As a result, a total time T for decoding the macroblock of the B picture becomes longer.
- a longer total time T for decoding the macroblock of the B picture causes a delay in the decoding of the B picture. This can adversely affect a speed for decoding a whole moving image.
- a main object of the present invention is to provide a decoding circuit, a decoding device, and a decoding system for decoding a B picture encoded by the direct mode at a high speed.
- a decoding circuit for sequentially decoding a plurality of macroblocks in a predetermined order, the plurality of macroblocks composing a picture that is encoded according to MPEG, the decoding circuit comprising: a transferring unit operable to execute a data transfer with an external memory located outside of the decoding circuit; a buffer operable to hold a motion vector of a reference macroblock, the motion vector of the reference macroblock being to be referenced if a current macroblock has been encoded by a direct mode; a buffer transfer instructing unit operable to instruct the transferring unit to transfer, before decoding of a macroblock preceding the current macroblock ends, the motion vector of the reference macroblock from the external memory to the buffer; a decoding unit operable to, if the current macroblock has been encoded by the direct mode, specify a motion vector of the current macroblock based on the motion vector held in the buffer; and an external memory transfer instructing unit operable to instruct the transferring unit to transfer the specified motion vector
- a decoding circuit which is required to temporarily store a decoded motion vector in an external memory because of a limit of a buffer capacity of the decoding circuit, transfers a motion vector as follows.
- the decoding circuit transfers a motion vector that will be needed for a macroblock to be decoded, from the external memory to the buffer in the decoding circuit, before decoding of the macroblock is started.
- This construction is not necessary unless a macroblock is encoded by the direct mode.
- a motion vector of the macroblock can be immediately specified when the macroblock starts to be decoded.
- a time required for decoding the macroblock can be shortened.
- the buffer transfer instructing unit instructs the transferring unit to transfer the motion vector of the reference macroblock from the external memory to the buffer, during a period from when decoding of a macroblock immediately preceding the current macroblock begins to when the decoding ends.
- a motion vector, to which is referenced when an (n+1)-th macroblock is encoded by the direct mode is transferred to the buffer in the decoding circuit. Therefore, even if the (n+1)-th macroblock is encoded by the direct mode, a motion vector of the (n+1)-th macroblock can be immediately specified when the (n+1)-th macroblock starts to be decoded. Also, a buffer size in the decoding circuit can be minimized for retaining a motion vector to which is referenced by a succeeding macroblock.
- FIG. 1 is a block diagram showing a construction of a decoding system 10 of the present invention.
- FIG. 2 is a schematic diagram showing a structure of data encoded according to MPEG.
- FIG. 3 is a schematic diagram showing a method of calculating a motion vector in a temporal direct mode.
- FIG. 4 is a flowchart showing a decoding process operation of the decoding system 10 .
- FIG. 5 is a timing chart showing the decoding process operation of the decoding system 10 .
- FIG. 6 is a schematic diagram showing a method of calculating a motion vector in a spatial direct mode.
- FIG. 7 is a timing chart showing a conventional decoding process.
- a decoding system 10 includes a decoding circuit 100 , an external memory 200 connected to the decoding circuit 100 , and a storage medium 300 .
- the external memory 200 is a writable memory used as a working area such as a DRAM and the like, and temporarily stores data that is necessary for the decoding circuit 100 to perform a decoding process.
- the decoding circuit 100 will be described later.
- the storage medium 300 is a mass storage medium such as a HDD (Hard Disk Drive) and the like, and stores moving image data (hereinafter, referred also to as a “stream”) that is encoded according to MPEG.
- the stream is a TV program recorded by a user.
- the decoding circuit 100 is an integrated circuit for decoding a stream that is encoded according to MPEG.
- the decoding circuit 100 receives a stream sequentially loaded from the storage medium 300 to a working area of the external memory 200 , and decodes the stream.
- the decoding circuit 100 includes a stream transfer instructing unit 101 , a decoding unit 102 , a DMA controller 103 , a reference image transfer instructing unit 104 , a buffer transfer instructing unit 105 , a buffer 106 , an external memory transfer instructing unit 107 , an inverse frequency transformation processing unit 108 , a motion compensation processing unit 109 , an intra macroblock processing unit 110 , a deblock filter processing unit 111 ; and a decoded image transfer instructing unit 112 .
- the stream transfer instructing unit 101 instructs the DMA controller 103 to transfer the stream from the external memory 200 to the buffer 106 described later.
- the decoding unit 102 variable-length-decodes the stream that has been variable-length-encoded according to MPEG per macroblock, and outputs a macroblock type, a motion vector, and a pixel residual value of the macroblock. If the macroblock is encoded by a mode other than the direct mode, the motion vector is specified by decoding the macroblock. On the other hand, if the macroblock is encoded by the direct mode, the motion vector is calculated using a motion vector retained in the buffer 106 .
- the DMA controller 103 transfers data between the external memory 200 and each buffer included in the decoding circuit 100 such-as the buffer 106 , using a DMA method.
- the reference image transfer instructing unit 104 instructs the DMA controller 103 to transfer a reference image indicated by the motion vector outputted from the decoding unit 102 , from the external memory 200 to the buffer 106 .
- the buffer transfer instructing unit 105 instructs the DMA controller 103 to transfer the motion vector of an already decoded macroblock, to which is referenced when the macroblock is encoded by the direct mode, to the buffer 106 .
- the buffer 106 is a storage area for temporarily storing data in the decoding circuit 100 , and has a capacity of storing at least one motion vector of a macroblock. Specifically, the buffer 106 temporarily stores the motion vector outputted from the DMA controller 103 according to the instruction from the buffer transfer instructing unit 105 .
- the external memory transfer instructing unit 107 instructs the DMA controller 103 to transfer a motion vector specified each time the decoding unit 102 decodes a macroblock, to the external memory 200 .
- the inverse frequency transformation processing unit 108 inverse-frequency-transforms the pixel residual value outputted from the decoding unit 102 and outputs it.
- the motion compensation processing unit 109 combines the pixel residual value outputted from the inverse frequency transformation processing unit 108 with the reference image transferred according to the instruction from the reference image transfer instructing unit 104 , and outputs the combined image as a decoded image.
- the intra macroblock processing unit 110 if the macroblock is encoded by a mode that does not require an interframe prediction (hereinafter, referred to as an “intra macroblock”), decodes the macroblock using the pixel residual value of the macroblock outputted from the inverse frequency transformation processing unit 108 , and outputs the decoded image.
- an intra macroblock a mode that does not require an interframe prediction
- the deblock filter processing unit 111 performs a deblock filter process on the decoded image outputted from any of the motion compensation processing unit 109 and the intra macroblock processing unit 110 , in order to reduce block noise.
- the decoded image transfer instructing unit 112 instructs the DMA controller 103 to transfer the decoded image on which the deblock filter process has been performed by the deblock filter processing unit 111 , to the external memory 200 .
- a stream encoded according to MPEG is composed of a plurality of pictures (P 1 , P 2 , P 3 , . . . Pn).
- Each of the plurality of pictures is a still image composing the stream which is a moving image, and corresponds to one screen.
- each of the plurality of pictures is divided into slices each having a width of 16 lines in a horizontal direction (slice # 1 , slice # 2 , . . . slice #n).
- a slice is a basic unit for encoding a picture.
- a macroblock is a basic unit for decoding including the motion-compensated interframe prediction.
- a macroblock is a basic unit for decoding including the motion-compensated interframe prediction.
- HDTV High Definition Television
- MPEG4-AVC Advanced Video Coding
- the motion vector is information showing to which direction a current picture moves and an amount of the movement of the current picture compared to a macroblock in another picture preceding or succeeding the current picture in a display order. If the macroblock is encoded by a mode other than the direct mode, the motion vector is specified when the macroblock is variable-length-decoded.
- the motion vector of the macroblock is calculated using a motion vector of another macroblock.
- a method of calculating a motion vector in a “temporal direct mode” will be described.
- a motion vector of a macroblock (MB 01 ) to be decoded one of two reference pictures (hereinafter, referred to as an “anchor picture”) (AP 01 ) for the macroblock to be decoded is referenced.
- the motion vector of the MB 01 is calculated using a motion vector of a macroblock (hereinafter, referred to as an “anchor block”) (AB 01 ) on same orthogonal coordinates as the MB 01 in the AP 01 , according to the following formula.
- mvL 0 mvCol*tb/td [Formula 1]
- mvL 1 mvL 0 ⁇ mvCol [Formula 2]
- mvCol is a value of the motion vector of the AB 01 , and indicates to which macroblock in the reference picture the AB 01 corresponds.
- tb is a time interval between the other reference picture and the picture of the MB 01 .
- td is a time interval between the other reference picture and the AP 01 . Values of tb and td are informed from the decoding unit 102 . From the formulas 1 and 2, mvL 0 and mvL 1 as the motion vector of the MB 01 are calculated. By mvL 0 and mvL 1 , a macroblock MB 00 on the AP 01 and a macroblock MB 02 on the other reference picture are determined as reference images.
- the stream transfer instructing unit 101 instructs the DMA controller 103 to transfer the stream from the external memory 200 to the decoding unit 102 .
- the DMA controller 103 transfers the stream from the external memory 200 to the decoding unit 102 (step S 100 ).
- the decoding unit 102 receiving the stream starts a decoding process of a picture composing the stream per macroblock (step S 101 ).
- a decoding process of an n-th macroblock is started.
- the buffer transfer instructing unit 105 instructs the DMA controller 103 to transfer a motion vector of an anchor block to be referenced if an (n+1)-th macroblock succeeding the n-th macroblock is encoded by the direct mode (hereinafter, referred to as an “anchor block for the (n+1)-th macroblock”), from the external memory 200 to the buffer 106 (step S 102 ).
- the decoding unit 102 judges whether the macroblock is a macroblock requiring the interframe prediction (hereinafter, referred to as an “inter macroblock”) or a macroblock not requiring the interframe prediction (hereinafter, referred to as an “intra macroblock) by referring to a macroblock header (step S 103 ).
- inter macroblock a macroblock requiring the interframe prediction
- intra macroblock a macroblock not requiring the interframe prediction
- step S 104 the decoding unit 102 further judges whether an encoding mode of the n-th macroblock is the direct mode (step S 104 ).
- step S 104 if the encoding mode of the n-th macroblock is the direct mode (“YES” in step S 104 ), the decoding unit 102 specifies a motion vector of the n-th macroblock using a motion vector stored in the buffer 106 (step S 105 ).
- the motion vector stored in the buffer 106 here is a motion vector of an anchor block that was transferred in parallel with a decoding process of an (n ⁇ 1)-th macroblock and is to be referenced if the n-th macroblock is encoded by the direct mode (hereinafter, referred to as an “anchor block for the n-th macroblock”).
- step S 104 if the encoding mode of the n-th macroblock is not the direct mode, the decoding unit 102 specifies the motion vector when variable-length-decoding the n-th macroblock (step S 106 ).
- the decoding unit 102 outputs the specified motion vector to a buffer in the external memory transfer instructing unit 107 . Then, the external memory transfer instructing unit 107 instructs the DMA controller 103 to transfer the motion vector to the external memory 200 (step S 107 ).
- the motion vector is transferred so that an address in the external memory 200 to which the motion vector is transferred corresponds to the n-th macroblock.
- the reference image transfer instructing unit 104 instructs the DMA controller 103 to transfer a reference image based on the motion vector outputted from the decoding unit 102 , from the external memory 200 to a buffer in the motion compensation processing unit 109 (step S 108 ).
- the inverse frequency transformation processing unit 108 inverse-frequency-transforms the pixel residual value outputted from the decoding unit 102 and outputs it (step S 109 ).
- the motion compensation processing unit 109 combines the pixel residual value outputted from the inverse frequency transformation processing unit 108 with the reference image transferred via the DMA controller 103 according to the instruction from the reference image transfer instructing unit 104 , and outputs the combined image as a decoded image (step S 110 ).
- step S 103 if the macroblock is the intra macroblock, the decoding unit 102 instructs the DMA controller 103 to transfer information that the macroblock is the intra macroblock, to the external memory 200 (step S 111 ).
- the inverse frequency transformation processing unit 108 inverse-frequency-transforms the pixel residual value outputted from the decoding unit 102 and outputs it (step S 112 ).
- the intra macroblock processing unit 110 generates a reference image based on an image around the n-th macroblock, adds the reference image to the pixel residual value outputted from the inverse frequency transformation processing unit 108 , and outputs the image as a decoded image (step S 113 ).
- the deblock filter processing unit 111 performs a deblock filter process on the decoded image outputted in step S 110 or step S 113 to remove block noise, and outputs the decoded image to a buffer in the decoded image transfer instructing unit 112 (step S 114 ).
- the decoded image transfer instructing unit 112 instructs the DMA controller 103 to transfer the decoded image on which the deblock filter process has been performed, to the external memory 2 b 0 (step S 115 ).
- the motion vector of the anchor block for the (n+1)-th macroblock is transferred to the buffer 106 via the DMA controller 103 , according to the instruction of transferring the motion vector in step S 102 (step S 116 ).
- a variable “n” is incremented. Then, a decoding process of the (n+1)-th macroblock and transfer of a motion vector of an anchor block for an (n+2)-th macroblock are started (steps S 101 and S 102 ).
- the decoding process of the n-th macroblock (steps S 103 to S 115 ) is performed in parallel with the transfer of the motion vector of the anchor block for the (n+1)-th macroblock to the buffer 106 (steps S 102 and S 116 ).
- the motion vector can be immediately calculated using the motion vector of the anchor block for the (n+1)-th macroblock in the buffer 106 .
- step S 200 the macroblock type is judged once (step S 200 ), after the macroblock is judged to be encoded by the direct mode, the DMA controller 103 is instructed to transfer the motion vector (step S 201 ). Therefore, even if the decoding process of the macroblock is completed, it is necessary to wait until the transfer of the macroblock from the external memory 200 is completed. As a result, the total time T required for decoding the macroblock becomes longer.
- the decoding process of the n-th macroblock (steps S 103 to S 115 ) is performed in parallel with the transfer of the motion vector of the anchor block for the (n+1)-th macroblock to the buffer 106 (steps S 102 and S 116 ).
- the motion vector can be immediately calculated using the motion vector of the anchor block for the (n+1)-th macroblock in the buffer 106 .
- each of the macroblocks composing a B picture when each of macroblocks composing a B picture is encoded by the direct mode, each of the macroblocks can be decoded at a high speed. This can speed up decoding of the B picture.
- the motion vector of the anchor block for the immediately succeeding macroblock is transferred to the buffer 106 .
- a plurality of motion vectors of anchor blocks for a plurality of macroblocks succeeding the current macroblock can be collectively transferred, by making a capacity of the buffer 106 larger.
- transfer efficiency may be reduced because a burst length is not reached by transferring the data per one motion vector.
- the motion vector of the anchor block for the (n+1)-th macroblock and the motion vector of the anchor block for the (n+2)-th macroblock can be collectively transferred at the same time.
- the size of the buffer 106 can be minimum for retaining the motion vector to be referenced by the macroblock immediately succeeding the current macroblock. However, it is not limited to one macroblock as far as the size of the buffer 106 allows.
- a plurality of motion vectors of a plurality of macroblocks may be collectively transferred.
- the “temporal direct mode” is described as the direct mode.
- a “spatial direct mode” may be used.
- a motion vector of an anchor block and a motion vector of a macroblock around the macroblock are used for specifying a motion vector of the macroblock.
- the motion vector of the MB 01 is calculated according to the following formula using each of motion vectors of a macroblock (MB(A)) located on a left side of the MB 01 , a macroblock (MB(B)) located on an upper side of the MB 01 , and a macroblock (MB(C)) located on an upper right side of the MB 01 .
- mv median( mvA,mvB,mvC ) [Formula 3]
- mvA is a motion vector of the MB (A).
- mvB is a motion vector of the MB(B).
- mvC is a motion vector of the MB(C). From the formula 3, mv as the motion vector of the MB 01 is calculated.
- step S 102 in the flowchart shown in FIG. 4 the DMA controller 103 may be instructed to transfer each of motion vectors (three motion vectors in total) of macroblocks located on a left side, an upper side, and an upper right side in the picture of the (n+1)-th macroblock to the buffer 106 .
- a size of the buffer 106 may be fitted to a size for storing the three motion vectors.
- the decoding circuit, the decoding device, and the decoding system of the present invention can be applied to a reproducing device for decoding an image encoded according to MPEG, and are useful as a technology for realizing high-speed decoding.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
- Nonpatent Document 1: ITU-T Recommendation H.264 “Advanced Video Coding for Generic Audiovisual Services”
-
- 10: decoding system
- 100: decoding circuit
- 101: stream transfer instructing unit
- 102: decoding unit
- 103: DMA controller
- 104: reference image transfer instructing unit
- 105: buffer transfer instructing unit
- 106: buffer
- 107: external memory transfer instructing unit
- 108: inverse frequency transformation processing unit
- 109: motion compensation processing unit
- 110: intra macroblock processing unit
- 111: deblock filter processing unit
- 112: decoded image transfer instructing unit
- 200: external memory
- 300: storage medium
mvL0=mvCol*tb/td [Formula 1]
mvL1=mvL0−mvCol [Formula 2]
mv=median(mvA,mvB,mvC) [Formula 3]
Claims (3)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004-342198 | 2004-11-26 | ||
JP2004342198 | 2004-11-26 | ||
PCT/JP2005/020952 WO2006057182A1 (en) | 2004-11-26 | 2005-11-15 | Decoding circuit, decoding device, and decoding system |
Publications (2)
Publication Number | Publication Date |
---|---|
US20080008244A1 US20080008244A1 (en) | 2008-01-10 |
US8649439B2 true US8649439B2 (en) | 2014-02-11 |
Family
ID=36497920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/791,220 Active 2030-09-29 US8649439B2 (en) | 2004-11-26 | 2005-11-15 | Decoding circuit, decoding device, and decoding system |
Country Status (4)
Country | Link |
---|---|
US (1) | US8649439B2 (en) |
JP (2) | JP4106070B2 (en) |
CN (2) | CN101980540B (en) |
WO (1) | WO2006057182A1 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5468604B2 (en) * | 2009-05-13 | 2014-04-09 | パナソニック株式会社 | Image decoding apparatus, integrated circuit, image decoding method, and image decoding system |
JP5387520B2 (en) * | 2010-06-25 | 2014-01-15 | ソニー株式会社 | Information processing apparatus and information processing method |
KR102401123B1 (en) | 2011-02-09 | 2022-05-23 | 엘지전자 주식회사 | Method for storing motion information and method for inducing temporal motion vector predictor using same |
JP5768510B2 (en) * | 2011-06-06 | 2015-08-26 | 富士通株式会社 | Moving picture coding method and moving picture coding apparatus |
CN107257482A (en) * | 2012-02-07 | 2017-10-17 | 松下知识产权经营株式会社 | Image processing apparatus, image processing method, program and integrated circuit |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5631713A (en) * | 1994-02-24 | 1997-05-20 | Nec Corporation | Video processor with field memory for exclusively storing picture information |
WO2000036841A1 (en) | 1998-12-15 | 2000-06-22 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for image processing |
WO2000043868A1 (en) | 1999-01-20 | 2000-07-27 | Hitachi, Ltd. | Data processor and device for arithmetic operation |
WO2003075580A1 (en) | 2002-03-04 | 2003-09-12 | Matsushita Electric Industrial Co., Ltd. | Moving picture coding method and moving picture decoding method |
JP2003259377A (en) | 2002-03-06 | 2003-09-12 | Matsushita Electric Ind Co Ltd | Moving picture encoding method, moving picture decoding method, and code string format |
JP2004040512A (en) | 2002-07-03 | 2004-02-05 | Matsushita Electric Ind Co Ltd | Image encoding method and image decoding method |
US6850568B1 (en) * | 2000-01-12 | 2005-02-01 | Sony Corporation | Method and apparatus for decoding mpeg video signals |
US20050281334A1 (en) * | 2004-05-04 | 2005-12-22 | Qualcomm Incorporated | Method and apparatus for weighted prediction in predictive frames |
US7756204B2 (en) * | 2001-11-06 | 2010-07-13 | Panasonic Corporation | Moving picture coding method, and moving picture decoding method |
US7839935B2 (en) * | 2003-03-03 | 2010-11-23 | Lg Electronics Inc. | Method of selecting a reference picture |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5974184A (en) * | 1997-03-07 | 1999-10-26 | General Instrument Corporation | Intra-macroblock DC and AC coefficient prediction for interlaced digital video |
JP2004007563A (en) * | 2002-04-19 | 2004-01-08 | Matsushita Electric Ind Co Ltd | Method for encoding moving image and method for decoding moving image |
KR100491530B1 (en) * | 2002-05-03 | 2005-05-27 | 엘지전자 주식회사 | Method of determining motion vector |
CN1194544C (en) * | 2003-04-25 | 2005-03-23 | 北京工业大学 | Video Coding Method Based on Time-Space Domain Correlation Motion Vector Prediction |
-
2005
- 2005-11-15 US US11/791,220 patent/US8649439B2/en active Active
- 2005-11-15 CN CN2010105519647A patent/CN101980540B/en active Active
- 2005-11-15 WO PCT/JP2005/020952 patent/WO2006057182A1/en active Application Filing
- 2005-11-15 JP JP2006547732A patent/JP4106070B2/en active Active
- 2005-11-15 CN CN2005800402672A patent/CN101065973B/en active Active
-
2008
- 2008-01-11 JP JP2008004883A patent/JP4625096B2/en active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5631713A (en) * | 1994-02-24 | 1997-05-20 | Nec Corporation | Video processor with field memory for exclusively storing picture information |
WO2000036841A1 (en) | 1998-12-15 | 2000-06-22 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for image processing |
US6791625B1 (en) | 1998-12-15 | 2004-09-14 | Matsushita Electric Industrial Co., Ltd. | Video processing apparatus for performing address generation and control, and method therefor |
WO2000043868A1 (en) | 1999-01-20 | 2000-07-27 | Hitachi, Ltd. | Data processor and device for arithmetic operation |
US6850568B1 (en) * | 2000-01-12 | 2005-02-01 | Sony Corporation | Method and apparatus for decoding mpeg video signals |
US7756204B2 (en) * | 2001-11-06 | 2010-07-13 | Panasonic Corporation | Moving picture coding method, and moving picture decoding method |
US20040086044A1 (en) * | 2002-03-04 | 2004-05-06 | Satoshi Kondo | Moving picture coding method and moving picture decoding method |
WO2003075580A1 (en) | 2002-03-04 | 2003-09-12 | Matsushita Electric Industrial Co., Ltd. | Moving picture coding method and moving picture decoding method |
JP2003259377A (en) | 2002-03-06 | 2003-09-12 | Matsushita Electric Ind Co Ltd | Moving picture encoding method, moving picture decoding method, and code string format |
JP2004040512A (en) | 2002-07-03 | 2004-02-05 | Matsushita Electric Ind Co Ltd | Image encoding method and image decoding method |
US7839935B2 (en) * | 2003-03-03 | 2010-11-23 | Lg Electronics Inc. | Method of selecting a reference picture |
US7916786B2 (en) * | 2003-03-03 | 2011-03-29 | Lg Electronics Inc. | Method of processing a current field macroblock |
US20050281334A1 (en) * | 2004-05-04 | 2005-12-22 | Qualcomm Incorporated | Method and apparatus for weighted prediction in predictive frames |
Non-Patent Citations (2)
Title |
---|
"H.264 AVC Textbook", p. 124 and its Partial English Translation. |
ITU-T Recommendation H.264, "Advanced video coding for generic audiovisual services", Mar. 2005. |
Also Published As
Publication number | Publication date |
---|---|
CN101980540A (en) | 2011-02-23 |
JP4106070B2 (en) | 2008-06-25 |
CN101065973B (en) | 2011-01-12 |
JP2008141782A (en) | 2008-06-19 |
US20080008244A1 (en) | 2008-01-10 |
JPWO2006057182A1 (en) | 2008-06-05 |
WO2006057182A1 (en) | 2006-06-01 |
CN101065973A (en) | 2007-10-31 |
JP4625096B2 (en) | 2011-02-02 |
CN101980540B (en) | 2012-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9712842B2 (en) | Video encoder and operation method thereof | |
US8428126B2 (en) | Image decoding device with parallel processors | |
US8565315B2 (en) | Image decoding device and image decoding method | |
JP5155159B2 (en) | Video decoding device | |
JP4774315B2 (en) | Image decoding apparatus and image decoding method | |
US8442119B2 (en) | Moving image decoding apparatus and processing method thereof | |
US9386310B2 (en) | Image reproducing method, image reproducing device, image reproducing program, imaging system, and reproducing system | |
JP4625096B2 (en) | Decoding circuit, decoding device, and decoding system | |
US7738564B2 (en) | Filter for eliminating discontinuity of block-based encoded image, and method thereof | |
JP2012085001A5 (en) | ||
JPH11298903A (en) | Digital image decoding device/method and supply medium thereof | |
US20140105306A1 (en) | Image processing apparatus and image processing method | |
JP5694674B2 (en) | Image coding apparatus, image coding / decoding system, image coding method, and image display method | |
US20120201520A1 (en) | Video reproducing apparatus, video reproducing method, and program | |
US20150010061A1 (en) | Video encoding method, device and program | |
US20110051815A1 (en) | Method and apparatus for encoding data and method and apparatus for decoding data | |
US20070071098A1 (en) | Image storage device for motion estimation and method of storing image data | |
JP2000134581A (en) | Device and method for reproducing moving picture | |
TW201429259A (en) | Video data process method and video process apparatus | |
JP5867050B2 (en) | Image processing device | |
JPH11177992A (en) | Image decoding device | |
US20070165999A1 (en) | Coded-data decoding/playback apparatus | |
WO2013073422A1 (en) | Video encoding device | |
JP4651344B2 (en) | MPEG-2 stream wipe switching method | |
KR100928272B1 (en) | Motion estimation method and apparatus for video coding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD., JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHIKAMURA, KEISHI;TANAKA, TAKESHI;REEL/FRAME:020424/0600 Effective date: 20070410 |
|
AS | Assignment |
Owner name: PANASONIC CORPORATION, JAPAN Free format text: CHANGE OF NAME;ASSIGNOR:MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD.;REEL/FRAME:021835/0446 Effective date: 20081001 Owner name: PANASONIC CORPORATION,JAPAN Free format text: CHANGE OF NAME;ASSIGNOR:MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD.;REEL/FRAME:021835/0446 Effective date: 20081001 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |