WO2011089798A1 - 動画像符号化方法、動画像復号化方法、動画像符号化装置および動画像復号化装置 - Google Patents
動画像符号化方法、動画像復号化方法、動画像符号化装置および動画像復号化装置 Download PDFInfo
- Publication number
- WO2011089798A1 WO2011089798A1 PCT/JP2010/072472 JP2010072472W WO2011089798A1 WO 2011089798 A1 WO2011089798 A1 WO 2011089798A1 JP 2010072472 W JP2010072472 W JP 2010072472W WO 2011089798 A1 WO2011089798 A1 WO 2011089798A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- macroblocks
- horizontal
- vertical direction
- encoding
- image
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 139
- 238000012545 processing Methods 0.000 claims abstract description 342
- 230000015654 memory Effects 0.000 claims abstract description 235
- 230000006870 function Effects 0.000 claims description 7
- 230000002093 peripheral effect Effects 0.000 description 63
- 238000006243 chemical reaction Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 18
- 239000004065 semiconductor Substances 0.000 description 10
- 230000001360 synchronised effect Effects 0.000 description 9
- 102000007316 Telomeric Repeat Binding Protein 2 Human genes 0.000 description 8
- 108010033710 Telomeric Repeat Binding Protein 2 Proteins 0.000 description 8
- 101710204517 Very long-chain acyl-CoA synthetase Proteins 0.000 description 8
- 102100023048 Very long-chain acyl-CoA synthetase Human genes 0.000 description 8
- 101710085308 Very long-chain fatty acid transport protein Proteins 0.000 description 8
- 230000003044 adaptive effect Effects 0.000 description 7
- 238000013139 quantization Methods 0.000 description 6
- 230000009466 transformation Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229910021421 monocrystalline silicon Inorganic materials 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 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/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/129—Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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/423—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 characterised by memory 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/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
Definitions
- the present invention relates to a moving image encoding method, a moving image decoding method, a moving image encoding device, and a moving image decoding device, and particularly to reduce an increase in storage capacity of a memory for storing peripheral macroblock information. It relates to effective technology.
- MPEG-2 A general moving picture compression method called MPEG-2 is a standard standardized by ISO / IEC 13818-2.
- MPEG-2 is based on the principle of reducing video storage capacity and required bandwidth by deleting redundant information from the video stream.
- MPEG is an abbreviation for Moving
- the MPEG-2 standard defines only the bitstream syntax (compressed encoded data string rules or encoded data bitstream configuration method) and decoding process, so that satellite broadcasting services, cable television, It is flexible enough to be used in various situations such as interactive television and the Internet.
- the video signal is sampled and quantized to define the color and luminance components of each pixel of the digital video.
- a value indicating a component of color and luminance is converted into a frequency value using a discrete cosine transform (DCT: Discrete Cosine Transform).
- DCT discrete cosine transform
- the transform coefficients obtained by DCT have different frequencies depending on the brightness and color of the picture.
- the quantized DCT transform coefficients are encoded by variable length coding (VLC) that further compresses the video stream.
- VLC variable length coding
- inter-frame predictive coding is used to achieve high coding efficiency using temporal correlation.
- Is used.
- the frame encoding mode can be predicted from an I frame that is encoded without using correlation between frames, a P frame that is predicted from one previously encoded frame, and two frames that are encoded in the past. There are B frames.
- a motion-compensated reference image (predicted image) is subtracted from the moving image, and a prediction residual by this subtraction is encoded.
- the encoding process includes processes of orthogonal transform such as DCT (Discrete Cosine Transform), quantization, and variable length encoding.
- Motion compensation includes processing for spatially moving a reference frame for inter-frame prediction, and motion compensation processing is performed in units of blocks of a frame to be encoded. When there is no motion in the image content, there is no movement and the pixel at the same position as the predicted pixel is used. If there is motion, the most suitable block is searched, and the amount of movement is set as a motion vector.
- the motion compensation block is a block of 16 pixels ⁇ 16 pixels / 16 pixels ⁇ 8 pixels in the MPEG-2 encoding method, and 16 pixels ⁇ 16 pixels / 16 pixels ⁇ 8 pixels / in the MPEG-4 encoding method. It is a block of 8 pixels x 8 pixels. In the MPEG-4 AVC (H.264) encoding method, it is 16 pixels x 16 pixels / 16 pixels x 8 pixels / 8 pixels x 16 pixels / 8 pixels x 8 pixels / 8 pixels. It is a block of ⁇ 4 pixels / 4 pixels ⁇ 8 pixels / 4 pixels ⁇ 4 pixels.
- the encoding process described above is performed for each video screen (frame or field), and a block obtained by subdividing the screen (usually 16 pixels ⁇ 16 pixels, called a macro block (MB) in MPEG) is a processing unit. It will be. That is, the most similar block (predicted image) is selected from the reference image that has already been encoded for each block to be encoded, and the difference signal between the encoded image (block) and the predicted image is encoded (orthogonal transform, Quantized). The difference between the relative positions of the block to be encoded and the prediction signal in the screen is called a motion vector.
- the following non-patent document 1 includes recommendation H.
- a video encoding technique compliant with H.246 / AVC is described.
- Video coding according to H.246 / AVC formats a video coding layer (VCL: Video ⁇ ⁇ Coding Layer) designed to effectively represent a video context, and formats a VCL representation of a video, while also transferring data using various transfer layers and storage media. Therefore, it is composed of a network abstraction layer (NCL: Network Abstraction Layer) that provides header information in an appropriate manner.
- NCL Network Abstraction Layer
- the following non-patent document 2 includes H.
- the video coding layer (VCL) according to H.246 / AVC is described as following an approach called block-based hybrid video coding.
- the VCL design is composed of macroblocks, slices, and slice blocks. Each picture is divided into a plurality of macroblocks of a fixed size, and each macroblock is a luminance picture component corresponding to a rectangular picture area of 16 ⁇ 16 samples. Each of the two color difference components includes a square sample area.
- a picture can contain one or more slices, each slice is self-inclusive in the sense that it provides an active sequence and a picture parameter set, and the slice representation is basically from other slices. Thus, the syntax element can be analyzed from the bitstream and the value of the sample in the picture area.
- MPEG-2 is an H.264 standard in the International Telecommunication Union (ITU). It is standardized as 262, and approved as ISO / IEC 13818-2 by the ISO / IEC. Furthermore, MPEG-4 is approved by the ISO / IEC as the international standard ISO / IEC 14496-2. Furthermore, MPEG-4 AVC (Advanced Video Coding) is an H.264 standard in the International Telecommunication Union (ITU). It is standardized as H.264, and is approved as ISO / IEC 14496-10 by ISO / IEC.
- ITU International Telecommunication Union
- the present inventors Prior to the present invention, the present inventors have conducted research and development on the next generation international standard video coding system.
- one video screen of I frame, P frame, or B frame is divided into a plurality of small areas called macroblocks (MB) and is located at the upper left of one video screen.
- the encoding process is sequentially performed on a plurality of macroblocks (MB) in the right direction and in the downward direction in accordance with the raster scan order starting from the macroblock (MB).
- moving picture coding moving picture information is compressed using a spatial correlation between macroblocks (MB) in a moving picture screen.
- one macro block (MB) when one macro block (MB) is processed, one macro block processed from information of the surrounding macro blocks (upward and leftward macroblocks of one video screen) ( MB) information is predicted, and only the difference from the prediction information is encoded in the moving image encoding process.
- inter-block prediction is executed using the DC component and the AC component of the DCT coefficient as the pixel information of the block.
- inter-block prediction of MPEG-4 AVC H.264 / AVC
- inter-block prediction is executed with the DC component and the AC component of the pixel value of the block after the DCT conversion process.
- a block consisting of an encoding reference block of an encoded frame and a plurality of blocks of a reference frame Matching is performed.
- a search for a 2-pixel precision motion vector and a 1-pixel precision motion vector are performed on a plurality of macroblocks (MB) around one macroblock (MB) of the 4-pixel precision motion vector searched first.
- a final motion vector is detected.
- a total of 8 pixels on the left and right of the block boundary and a total of 8 pixels on the upper and lower sides are set to a predetermined value. It is necessary to rewrite the left and right total 8 pixels and the top and bottom total 8 pixels by executing the filter processing according to the arithmetic expression.
- next-generation moving image encoding method that tends to increase the image size is required to support the above-described ultra-high-definition images.
- information on a plurality of macro blocks (MB) around the processed macro block (MB) is necessary as described above. Therefore, it is necessary to integrate a built-in memory (on-chip SRAM) for storing peripheral macroblock information in a semiconductor chip of a moving image encoding / decoding processing device configured by a system large-scale semiconductor integrated circuit (system LSI).
- system LSI system large-scale semiconductor integrated circuit
- an external memory constituted by a synchronous dynamic random access memory (SDRAM) or the like is connected to a semiconductor chip of a moving picture encoding / decoding processing device constituted by a system LSI.
- the external memory can store moving image data before the encoding process or decoding process and moving image data after the encoding process or decoding process.
- the peripheral macroblock information is stored in the built-in memory (on-chip SRAM).
- the amount of peripheral macroblock information that needs to be stored in the built-in memory (on-chip SRAM) increases as the image size increases, whereas the memory in the built-in memory (on-chip SRAM). The problem that the capacity is limited has been clarified by studies by the present inventors.
- the present invention has been made as a result of the examination by the present inventors prior to the present invention as described above.
- an object of the present invention is to reduce an increase in the storage capacity of a memory for storing peripheral macroblock information.
- a representative embodiment of the present invention uses a coding processing apparatus (201) to generate a plurality of macroblocks (horizontal width in a moving image on a horizontal screen larger than the vertical width).
- This is a moving image encoding method for encoding (MB).
- information of a plurality of already-encoded plurality of macroblocks (MB) around the macroblock (MB) to be encoded is stored in the information processing unit incorporated in the encoding processing device It is stored in the memory (204).
- a plurality of macroblocks (MB) arranged in the vertical direction at the left end of the horizontal width of the horizontally long screen are first sequentially encoded, so that the left end Encoded information of the plurality of macroblocks (MB) arranged in the vertical direction is stored in the information storage memory (204).
- the plurality of macroblocks (MB) arranged in the vertical direction next to the right side of the left end of the horizontal width of the horizontal screen. are sequentially encoded (see FIGS. 3, 4, and 5).
- an increase in the storage capacity of the memory for storing the peripheral macroblock information can be reduced.
- FIG. 1 is a diagram for explaining a hierarchical structure in a moving image encoding / decoding processing system according to Embodiment 1 of the present invention.
- FIG. 2 is a diagram showing a configuration of an encoded video stream encoded by the moving image encoding scheme according to Embodiment 1 of the present invention shown in FIG.
- FIG. 3 is a flowchart showing a processing procedure of moving image encoding / decoding processing according to Embodiment 1 of the present invention. 4 is arranged at the two-dimensional macroblock coordinates (x, y) of one video screen by the processing procedure of the encoding / decoding processing of the moving image according to the first embodiment of the present invention shown in the flowchart of FIG.
- FIG. 5 shows the moving picture encoding / decoding processing apparatus according to the first embodiment of the present invention capable of executing the processing procedure of the moving picture encoding / decoding process according to the first embodiment of the present invention shown in the flowchart of FIG. It is a figure which shows a structure.
- FIG. 6 is a diagram showing a data array of a moving image encoded bitstream supplied when the moving image encoding / decoding processing device according to Embodiment 1 of the present invention shown in FIG. 5 operates as a decoding processing device. .
- FIG. 7 shows a processing target macroblock (MB) 401 and four neighboring macroblocks (MB) used for prediction of the processing target macroblock (MB) 401 when a conventional encoding process different from the present invention is executed.
- MB processing target macroblock
- FIG. 8 shows a processing target macroblock (MB) 401 and a processing target macro when the processing procedure of the moving image encoding / decoding processing according to the first embodiment of the present invention described in FIGS. 1 to 6 is executed.
- FIG. 4 is a diagram showing a relationship with four neighboring macroblocks (MB) 406 to 409 used for prediction of a block (MB) 401.
- FIG. 9 shows a plurality of macroblocks starting from a macroblock (MB) located at the upper left of one video screen in accordance with the conventional encoding process, and in the order of raster scan of display first in the right direction and then in the lower direction. It is a figure which shows a mode that the encoding process of (MB) is performed.
- FIG. 10 starts from a macroblock (MB) located at the upper left of one video screen according to the encoding process according to the first embodiment of the present invention described in FIGS. It is a figure which shows a mode that the encoding process of several macroblock (MB) is performed sequentially to a direction.
- FIG. 11 shows a conventional encoding process for a pair of macroblocks (MB) of two columns in the macroblock adaptive frame / field prediction mode introduced in the MPEG-4 AVC (H.264) encoding method. It is a figure which shows a mode that it encodes according to FIG.
- FIG. 12 shows the macroblock (MB) pair of the macroblock adaptive frame / field prediction mode introduced in the MPEG-4 AVC (H.264) coding system, which is described in FIGS. It is a figure which shows a mode that it encodes according to the encoding process by Embodiment 1 of.
- FIG. 13 is a diagram showing a configuration of a moving image encoding / decoding processing device according to Embodiment 2 of the present invention.
- FIG. 14 is a diagram showing a configuration of a moving image encoding / decoding processing device according to Embodiment 3 of the present invention.
- FIG. 15 is a diagram showing a configuration of a moving image encoding / decoding processing device according to Embodiment 4 of the present invention.
- FIG. 16 shows the macroblock coding / decoding processing unit 203 of the moving picture coding / decoding processing device 201 according to the first embodiment of the present invention shown in FIG. 5 or the second embodiment of the present invention shown in FIG.
- FIG. 11 is a diagram showing a configuration of a device 1750.
- a typical embodiment of the present invention is that a plurality of macroblocks included in a moving image of a horizontally long screen in which the horizontal width in the horizontal direction is larger than the vertical width in the vertical direction using the encoding processing device (201).
- This is a moving image encoding method for encoding (MB).
- information of a plurality of already-encoded plurality of macroblocks (MB) around the macroblock (MB) to be encoded is stored in the information processing unit incorporated in the encoding processing device It is stored in the memory (204).
- a plurality of macroblocks (MB) arranged in the vertical direction at the left end of the horizontal width of the horizontally long screen are first sequentially encoded, so that the left end Encoded information of the plurality of macroblocks (MB) arranged in the vertical direction is stored in the information storage memory (204).
- the plurality of macroblocks (MB) arranged in the vertical direction next to the right side of the left end of the horizontal width of the horizontal screen. are sequentially encoded (see FIGS. 3, 4, and 5).
- the plurality of macroblocks (MB) arranged in the vertical direction on the right side in the horizontal direction at the left end are stored in the information storage memory (204) when sequentially encoded.
- the encoded information of the plurality of macroblocks (MB) arranged in the vertical direction at the left end is used (see FIGS. 3, 4, and 5).
- the last or first macroblock is located at the bottom or top of the vertical width. It is characterized in that it is determined by the encoding processing device (201) whether or not it is a macroblock (see FIG. 3: step 104).
- the plurality of macroblocks (MB) arranged in the vertical direction on the right side in the horizontal direction at the left end of the horizontal width of the horizontal screen are encoded and then encoded. Whether the plurality of macroblocks (MB) are the last plurality of macroblocks positioned at the right end of the horizontal width is determined by the encoding processing device (201) (FIG. 3: step). 106).
- the encoding processing device (201) determines that each macroblock is not the last or first macroblock located at the lower end or the upper end of the vertical width. Is characterized in that the count value of the vertical counter (205) that displays the position of the next macroblock to be encoded in the vertical direction at the left end is incremented by one (see FIG. 3: step 105). .
- the encoding processing device (201) determines that the plurality of encoded macroblocks (MB) are not the last plurality of macroblocks positioned at the right end of the horizontal width. In this case, the count value of a horizontal counter (207) that displays the positions of a plurality of macroblocks to be encoded next in the horizontal direction of the horizontal width of the horizontal screen is incremented by one ( (See FIG. 3: Step 107).
- a typical embodiment of another aspect of the present invention is included in a moving image of a horizontally long screen in which the horizontal width in the horizontal direction is larger than the vertical width in the vertical direction using the decoding processing device (201).
- This is a moving picture decoding method for decoding a plurality of macroblocks (MB).
- information of a plurality of decoded macroblocks (MB) around the macroblock (MB) to be decoded is stored in the decoding processing apparatus. It is stored in the memory (204).
- a plurality of macroblocks (MB) arranged in the vertical direction at the left end of the horizontal width of the horizontally long screen are first sequentially decoded, so that the left end Decoding information of the plurality of macroblocks (MB) arranged in the vertical direction is stored in the information storage memory (204).
- the plurality of macroblocks (MB) arranged in the vertical direction next to the right side of the left end of the horizontal width of the horizontal screen. are sequentially decoded (see FIGS. 3, 4, and 5).
- the plurality of macroblocks (MB) arranged in the vertical direction on the right side of the left end are sequentially decoded, they are stored in the information storage memory (204).
- the decoding information of the plurality of macroblocks (MB) arranged in the vertical direction at the left end is used (see FIGS. 3, 4, and 5).
- each macroblock is located at the last or first position at the bottom or top of the vertical width.
- the decoding processing device (201) determines whether or not it is a macroblock (see FIG. 3: step 104).
- the plurality of macroblocks (MB) arranged in the vertical direction at the right side of the horizontal end of the horizontal width of the horizontal screen are decoded and then decoded.
- the decoding processing device (201) determines whether or not the plurality of macroblocks (MB) are the last plurality of macroblocks positioned at the right end of the horizontal width (FIG. 3: step). 106).
- the decoding processing device (201) determines that each macroblock is not the last or first macroblock located at the lower end or the upper end of the vertical width. Is characterized in that the count value of the vertical direction counter (205) indicating the position of the next macroblock to be decoded in the vertical direction at the left end is incremented by 1 (see step 105 in FIG. 3). .
- the decoding processing device (201) determines that the plurality of decoded macroblocks (MB) are not the last plurality of macroblocks positioned at the right end of the horizontal width. In the case, the count value of a horizontal counter (207) that displays the positions of a plurality of macroblocks to be decoded next in the horizontal direction of the horizontal width of the horizontal screen is incremented by one ( (See FIG. 3: Step 107).
- a moving image encoding processing apparatus (201) includes an encoding processing unit (203) and an information storage memory (204).
- information on a plurality of encoded macroblocks (MB) around the macroblock (MB) to be encoded is the information. It is stored in the storage memory (204).
- a plurality of macroblocks (MB) arranged in the vertical direction at the left end of the horizontal width of the horizontally long screen are sequentially encoded by the encoding processing unit (203).
- the encoding information of the plurality of macroblocks (MB) arranged in the vertical direction at the left end is stored in the information storage memory (204) by the encoding processing unit (203).
- the plurality of macroblocks (MB) arranged in the vertical direction next to the right side of the left end of the horizontal width of the horizontal screen. are sequentially encoded by the encoding processing unit (203) (see FIGS. 3, 4, and 5).
- the encoding processing unit (203) when the plurality of macroblocks (MB) arranged in the vertical direction on the right side of the left end are sequentially encoded by the encoding processing unit (203), The encoded information of the plurality of macroblocks (MB) arranged in the vertical direction at the left end stored in the information storage memory (204) is used (FIGS. 3, 4, and 4). (See FIG. 5).
- each macroblock is positioned at the lower end or the upper end of the vertical width.
- the moving picture coding processing device (201) determines whether it is the last or first macro block (see FIG. 3: step 104).
- the encoding is performed after encoding the plurality of macroblocks (MB) arranged in the vertical direction adjacent to the horizontal right of the left end of the horizontal width of the horizontal screen.
- the moving picture coding processing device (201) determines whether or not the plurality of macroblocks (MB) that have been determined are the last plurality of macroblocks positioned at the right end of the horizontal width (201). (See FIG. 3: Step 106).
- the moving picture coding apparatus (201) further includes a vertical direction counter (205) for displaying the position of the next macroblock to be coded in the vertical direction ( (See FIG. 5).
- the vertical direction counter (205 ) Is incremented by one (see FIG. 3: step 105).
- the moving picture coding processing apparatus (201) further comprises a horizontal direction counter (207) for displaying the positions of a plurality of macroblocks to be coded next in the horizontal direction. (See FIG. 5).
- the count value of the counter (207) is incremented by one (see FIG. 3: step 107).
- the moving image encoding processing device (201) can be connected to an image memory (702, 902, 1302) capable of storing the plurality of macroblocks included in the moving image of the landscape screen. It is said.
- the horizontally long screen is then stored in the image memory.
- a plurality of macroblocks arranged in the horizontal direction adjacent to the lower end in the vertical direction of the vertical width can be stored in the image memory (5, 6, 7, 8) (FIG. 13, FIG. 14 and FIG. 15).
- the moving image encoding processing device (701) reads the landscape screen from the image memory, rotates the image by 90 °, and then writes the generated rotated image to the image memory.
- An image rotation unit (703) is further provided, and the rotation image stored in the image memory can be read and supplied to the encoding processing unit (704) (see FIG. 13).
- the moving image coding processing apparatus (201) further includes an image memory interface (903, 906, 1303, 1306, 1309) that can be connected to the image memory. .
- the image memory interface reads the plurality of macroblocks (9, 5, 1) arranged in the vertical direction at the left end of the horizontal width of the horizontally long screen from the image memory and reads the encoding processing unit (904, 1304), and then reading out a plurality of macroblocks (10, 6, 2) arranged in the vertical direction at the left end of the horizontal width of the horizontal screen and adjacent to the right in the horizontal direction. (904, 1304) (see FIGS. 14 and 15).
- the moving picture coding processing apparatus includes the plurality of macroblocks (9, 9) arranged in the vertical direction at the left end of the horizontal width of the horizontal screen from the image memory. 5, 1) are read out and supplied to the encoding processing unit (904, 1304), and then a plurality of macroblocks arranged in the vertical direction next to the left end of the horizontal width of the horizontal width at the left end in the horizontal direction It further includes an image read address generation unit (906, 1306) that can read out (10, 6, 2) and supply it to the encoding processing unit (904, 1304) (FIGS. 14 and 15). reference).
- the moving image coding processing device is configured to rotate each macroblock of the plurality of macroblocks read from the image memory according to an address generated from the image read address generation unit by approximately 90 °.
- An image rotation unit (903, 1303) that can generate an image and supply it to the encoding processing unit is further provided (see FIGS. 14 and 15).
- the coding processing units (704, 904, 1304) are operations of a variable length coding unit, an orthogonal transformer / quantizer, and a motion prediction unit. It includes a function (see FIG. 16).
- Still another representative embodiment of the present invention decodes a plurality of macroblocks (MB) included in a moving image of a horizontally long screen in which the horizontal width in the horizontal direction is larger than the vertical width in the vertical direction.
- the video decoding processing device (201) includes a decoding processing unit (203) and an information storage memory (204).
- information on a plurality of decoded macroblocks (MB) around the macroblock (MB) to be decoded is the information. It is stored in the storage memory (204).
- a plurality of macroblocks (MB) arranged in the vertical direction at the left end of the horizontal width of the horizontally long screen are first sequentially decoded by the decoding processing unit (203).
- the decoding information of the plurality of macroblocks (MB) arranged in the vertical direction at the left end is stored in the information storage memory (204) by the decoding processing unit (203).
- the plurality of macroblocks (MB) arranged in the vertical direction next to the right side of the left end of the horizontal width of the horizontal screen. are sequentially decoded by the decoding processing unit (203) (see FIGS. 3, 4, and 5).
- the decoding processing unit (203) when the plurality of macroblocks (MB) arranged in the vertical direction on the right side of the left end are sequentially decoded by the decoding processing unit (203), The decoding information of the plurality of macroblocks (MB) arranged in the vertical direction at the left end stored in the information storage memory (204) is used (FIGS. 3, 4, and 4). (See FIG. 5).
- the macroblocks (MB) of the plurality of macroblocks arranged in the vertical direction are decoded, the macroblocks are positioned at the lower end or the upper end of the vertical width.
- the moving picture decoding apparatus (201) determines whether it is the last or first macro block (see FIG. 3: step 104).
- the decoding is performed after the plurality of macroblocks (MB) arranged in the vertical direction adjacent to the horizontal right of the left end of the horizontal width of the horizontal screen are decoded.
- the moving picture decoding processing device (201) determines whether or not the plurality of macroblocks (MB) that have been processed are the last plurality of macroblocks positioned at the right end of the horizontal width (201). (See FIG. 3: Step 106).
- the moving picture decoding apparatus (201) further includes a vertical direction counter (205) for displaying a position of a macroblock to be decoded next in the vertical direction ( (See FIG. 5).
- the vertical direction counter (205 ) Is incremented by one (see FIG. 3: step 105).
- the moving picture decoding apparatus (201) further comprises a horizontal direction counter (207) for displaying the positions of a plurality of macroblocks to be decoded next in the horizontal direction. (See FIG. 5).
- the count value of the counter (207) is incremented by one (see FIG. 3: step 107).
- the video decoding processing device (711, 911, 1311) can be connected to an image memory (712, 912, 1312) capable of storing the plurality of macroblocks. It is characterized by that.
- the moving image encoding processing device (711) reads the horizontally long screen from the image memory, rotates the image by 90 °, and then generates the rotated image generated in the image memory.
- An image rotation unit (713) for writing is further provided (see FIG. 13).
- the moving picture coding processing devices (911, 1311) further include external interfaces (913, 916, 918, 1313, 1316, 1318) capable of supplying moving picture coded signals.
- the external interface is configured to decode the plurality of macroblocks (9, 5, 1) arranged in the vertical direction at the left end of the horizontal width of the horizontally long screen included in the video encoded signal. (914, 1314), and then a plurality of macroblocks (10, 10) arranged in the vertical direction next to the horizontal right of the left end of the horizontal width of the horizontal screen included in the video encoded signal. , 6, 2) can be supplied to the decoding processing unit.
- the video decoding processing device decodes the plurality of macroblocks arranged in the vertical direction at the left end of the horizontal width of the horizontal screen included in the video encoded signal supplied from the external interface. After processing, a plurality of macroblocks arranged in the vertical direction next to the horizontal right end of the left end of the horizontal width of the horizontal screen included in the moving image encoded signal supplied from the external interface. Decryption process.
- the moving picture decoding processing apparatus can be connected to an image memory (912, 1312) capable of storing decoded moving picture information in which the horizontal width in the horizontal direction is larger than the vertical width in the vertical direction.
- the moving picture decoding processing device stores decoding processing information of the plurality of macroblocks arranged in the vertical direction at the left end of the horizontal width of the horizontally long screen in a first storage area (9, 5, 1, )
- the decoding processing information of the plurality of macroblocks arranged in the vertical direction next to the left end of the horizontal width of the horizontal width of the horizontal screen included in the video encoded signal is next. It can be stored in the second storage area (10, 6, 2) of the image memory.
- the first storage area and the second storage area of the image memory are arranged in the vertical direction at the left end of the display horizontal width of a horizontally long moving image display screen whose horizontal display width is larger than the vertical display vertical width.
- the plurality of pieces of image information correspond to the plurality of pieces of image information arranged in the vertical direction adjacent to the left end of the display width in the horizontal direction (see FIGS. 14 and 15).
- the moving picture decoding processing device stores the decoding processing information of the plurality of macroblocks arranged in the vertical direction at the left end of the horizontal width of the horizontally long screen in the image memory. Decoding of the plurality of macroblocks arranged in the vertical direction next to the right in the horizontal direction at the left end of the horizontal width of the horizontal screen included in the moving image encoded signal after being stored in the first storage area An image write address generation unit (918, 1318) that can store processing information in the second storage area of the image memory is further provided (see FIGS. 14 and 15).
- the external interface can generate a rotated image obtained by rotating the plurality of macroblocks included in the moving image encoded signal by approximately 90 ° and supply the rotated image to the decoding processing unit. (See FIGS. 14 and 15).
- the decoding processing units (714, 914, 1314) are variable length decoding units, inverse quantizers / inverse orthogonal transformers, and motion compensation units. An operation function is included (see FIG. 16).
- FIG. 1 is a diagram for explaining a hierarchical structure in a moving image encoding / decoding processing system according to Embodiment 1 of the present invention.
- the moving picture coding system is a block (Block) of a processing unit from a sequence (Sequence) 10 corresponding to the entire moving image to a discrete cosine transform (DCT). ) It has a 6-layer structure of 15, 16, and 17. That is, the first layer is a sequence 10, the second layer is a group of pictures (GOP) 11, the third layer is a picture 12, the fourth layer is a slice 13, and the fifth layer is a macroblock. (Macro-block) 14, the sixth layer is blocks (Blocks) 15, 16, and 17.
- the number of pictures 12 included in the group of pictures (GOP) 11 or the number of macro-blocks 14 included in the slices 13 is relatively flexible.
- the screen height of the moving image of the picture 12 of the third hierarchy is a horizontally long screen shorter than the screen width of the moving image.
- the slice 13 is arranged in the horizontal direction of the picture 12 of the third hierarchy, and the macroblock ( (MB) 14 is also subjected to sequential encoding or decoding processing in the horizontal width direction in the slice 13 of the fourth layer arranged in the horizontal width direction.
- the slice 13 is arranged in the vertical direction of the picture 12 of the third layer and the fourth layer is the fifth layer.
- the macroblock (MB) 14 is also subjected to sequential encoding or decoding processing in the vertical width direction as indicated by the dashed arrow within the slice 13 of the fourth hierarchy arranged in the vertical width direction.
- FIG. 2 is a diagram showing a configuration of an encoded video stream encoded by the moving image encoding scheme according to Embodiment 1 of the present invention shown in FIG.
- the video stream shown in FIG. 2 has a hierarchy in which different levels of sequence level 211, group of picture (GOP) level 221, picture level 231, slice level 241, and macroblock (MB) level 251 are overlapped. Thus, each next level is part of each previous level.
- the sequence level 211 is a sequence sequence, and each sequence includes a plurality of group of pictures (GOP) groups.
- a group of group of pictures (GOP) level 221 is a series of groups of pictures, each GOP containing one or multiple pictures.
- the picture level 231 is a sequence of pictures (including I frames, P frames, and B frames), and each picture 230 includes one or many slices 240.
- Slice level 242 is a series of slices 240, and each slice 240 includes one or many macroblocks 250.
- the macroblock (MB) level 251 is a series of macroblocks.
- each block of data at each level of the video stream generally has a header that includes relevant information related to the encoding and decoding of the video stream.
- sequence 210 has sequence header 212
- GOP level 221 has GOP header 222
- picture level 231 has picture header 232
- slice level 241 and slice 240 has
- MB level 251 the macroblock (MB) 250 has a macroblock (MB) header 252.
- the sequence header 212 includes information such as the width of the picture 12 called a horizontal size (horizontal_size), the height of the picture 12 called a vertical size (vertical_size), and the aspect ratio of a pixel called aspect ratio information (aspect_ratio_information).
- the GOP header 222 includes a parameter called a time code (time_code) and parameter information describing a GOP structure called a closed GOP (closed_gop) or a broken link (broken_link).
- the picture header 232 includes information such as a parameter called a picture coding type (picture_coding_type) indicating whether the picture is an I picture, a P picture, or a B picture.
- the picture header 232 further includes a parameter called F code (f_code) indicating from which picture the motion vector is encoded.
- the slice header 242 includes information such as a slice start code (slice_start_code) indicating the start of a slice and parameters indicating the vertical position / horizontal position of the first macroblock (MB) of the slice.
- slice_start_code slice start code
- the macroblock (MB) header 252 designates a macroblock address, a macroblock type, whether or not the macroblock 250 includes a motion vector and a motion vector type (forward direction, reverse direction) in units of macroblocks. Information on quantizer scale and the like is included. Further, the macroblock (MB) header 252 determines the type of discrete cosine transform (DCT), DCT coefficients, and the like.
- DCT discrete cosine transform
- FIG. 3 is a flowchart showing a processing procedure of moving image encoding / decoding processing according to Embodiment 1 of the present invention.
- bitstream syntax compression coding data string rule or coding data bitstream configuration method
- the moving image encoding / decoding processing device that performs the processing of the moving image encoding / decoding processing according to Embodiment 1 of the present invention analyzes the above-described syntax, It is determined that the moving image encoding / decoding process should be executed according to the syntax according to the first embodiment of the present invention.
- step 101 the moving image encoding process or the moving image decoding process of one video screen (picture 12) is started, and in step 102, the coordinates (x, y) is initialized to the origin (0, 0).
- step 103 one macroblock (MB) located at the macroblock coordinates (x, y) is encoded or decoded.
- step 104 it is determined whether or not the macro block (MB) processed in step 103 is the lower end of the screen.
- step 104 If it is determined in step 104 that the processed macro block (MB) is not the lower end of the screen, the vertical coordinate y of the macro block coordinates (x, y) is incremented by one in step 105, The encoding process or decoding process of the macroblock (MB) in step 103 is repeated. If it is determined in step 104 that the processed macro block (MB) is the lower end of the screen, it is determined whether or not the macro block (MB) processed in step 106 is the right end of the screen. .
- step 106 If it is determined that the macroblock (MB) processed in step 106 is not the right edge of the screen, the horizontal coordinate x of the macroblock coordinates (x, y) is incremented by one in step 107 and After the coordinate y is reset to the initial value (0), the encoding process or decoding process of the macroblock (MB) in step 103 is repeated. If it is determined that the macro block (MB) processed in step 106 is the right edge of the screen, the moving image encoding process or moving image decoding process for one video screen is terminated in step 108. .
- FIG. 4 is arranged at the two-dimensional macroblock coordinates (x, y) of one video screen by the processing procedure of the encoding / decoding processing of the moving image according to the first embodiment of the present invention shown in the flowchart of FIG. It is a figure which shows a mode that several macroblock (MB) is processed sequentially.
- MB macroblock
- the moving direction of the first process is set to the horizontal right direction of the screen according to the raster scan order of display. Instead, it is the vertical down direction of the screen.
- the processed macro block (MB) reaches the lower end of the video screen according to the moving direction of the processing in the vertical down direction of the screen, it is processed to the macro block (MB) located at the upper end of the right macro block (MB) column. Is moved (the process is repeated), and the moving direction of the process is set to the vertical downward direction of the screen.
- FIG. 5 shows the moving picture encoding / decoding processing apparatus according to the first embodiment of the present invention capable of executing the processing procedure of the moving picture encoding / decoding process according to the first embodiment of the present invention shown in the flowchart of FIG. It is a figure which shows a structure.
- an external memory 202 constituted by a synchronous dynamic random access memory is connected to a moving picture encoding / decoding processing device 201 constituted by a system LSI.
- the semiconductor chip of the moving image encoding / decoding processing device 201 includes a macroblock encoding / decoding processing unit 203, a peripheral macroblock information storage memory 204, a vertical direction macroblock counter 205, a screen lower end determination unit 206, and a horizontal direction macroblock counter. 207, a screen right end determination unit 208, and an AND logic gate circuit 209.
- the moving image encoding / decoding processing device 201 executes the moving image encoding process using the original image and the reference image stored in the external memory 202 and stores the moving image in the external memory 202. An encoded bit stream and a reference image are output.
- the moving picture encoding / decoding processing apparatus 201 executes the moving picture decoding process using the moving picture encoded bitstream and the reference image stored in the external memory 202 to execute the external memory 202.
- the decoded moving image is output to.
- the macroblock encoding / decoding processing unit 203 executes encoding or decoding processing of a macroblock (MB) located at the macroblock coordinates indicated by the vertical macroblock counter 205 and the horizontal macroblock counter 207. It is.
- MB macroblock
- the peripheral macroblock information storage memory 204 stores information on a plurality of macroblocks (MB) in the vertical direction (vertical direction) of the screen output from the macroblock encoding / decoding processing unit 203. Therefore, the macroblock encoding / decoding processing unit 203 reads the macroblock (MB) information in the left column from the peripheral macroblock information storage memory 204 and executes encoding or decoding processing.
- the count value of the vertical macroblock counter 205 is incremented by one according to the macroblock processing end signal output from the macroblock encoding / decoding processing unit 203.
- the vertical macroblock position signal of the output signal of the vertical macroblock counter 205 is supplied to the screen lower end determination unit 206.
- the vertical macro block counter 205 is cleared (reset) to the initial value (0), and the horizontal macro block The count value of the counter 207 is incremented by one.
- the horizontal macroblock position signal of the output signal of the horizontal macroblock counter 207 is supplied to the screen right edge determination unit 208.
- the AND logic gate circuit 209 is supplied with the determination result of the screen lower end determination unit 206 and the determination result of the screen right end determination unit 208. Accordingly, a high-level (“1”) screen processing end signal generated from the output of the AND logic gate circuit 209 is supplied to the macroblock encoding / decoding processing unit 203.
- FIG. 6 is a diagram showing a data array of a moving image encoded bitstream supplied when the moving image encoding / decoding processing device according to Embodiment 1 of the present invention shown in FIG. 5 operates as a decoding processing device. .
- the macro block (MB (0, 0)) of the macro block coordinates (0, 0) at the upper left end of the screen is first coded.
- Information 302 is arranged.
- the macroblock (MB) is encoded in order in the vertical downward direction from the encoded information 303 of the macroblock (MB (0,1)) of the macroblock coordinate (0,1) in the vertical downward direction.
- Information is arranged.
- the macroblock coordinates (1, Information 305 in which a macroblock (MB (1, 0)) of 0) is encoded is arranged.
- information encoded up to the macro block (MB (w-1, h-1)) at the macro block coordinates (w-1, h-1) at the lower right corner of the screen is arranged.
- the picture header 301 shown in FIG. 6 actually includes the sequence header 212, GOP header 222, picture header 232, slice level 242, and macroblock (MB) header 252 shown in FIG. As a result, by analyzing the picture header 301 shown in FIG.
- step 106 it is possible to determine that the moving image encoding / decoding process should be executed according to the syntax according to the first embodiment of the present invention. Become. Alternatively, the screen determined in step 104 of the processing procedure of FIG. 3 by analyzing the width of the picture 12 called the horizontal size and the height of the picture 12 called the vertical size included in the sequence header 212 shown in FIG. It becomes possible to know the lower end and the right end of the screen determined in step 106.
- FIG. 7 shows a processing target macroblock (MB) 401 and four neighboring macroblocks (MB) used for prediction of the processing target macroblock (MB) 401 when a conventional encoding process different from the present invention is executed.
- MB processing target macroblock
- MB neighboring macroblocks
- FIG. 8 shows a processing target macroblock (MB) 401 and a processing target macro when the processing procedure of the moving image encoding / decoding processing according to the first embodiment of the present invention described in FIGS. 1 to 6 is executed.
- FIG. 4 is a diagram showing a relationship with four neighboring macroblocks (MB) 406 to 409 used for prediction of a block (MB) 401.
- FIG. 7 since the processing target macroblock (MB) 401 must be processed while the macroblock (MB) 404 located at the upper right of the processing target macroblock (MB) 401 is unprocessed, the reference information decreases. As a result, the prediction accuracy deteriorates.
- FIG. 8 according to the first embodiment of the present invention, all the four neighboring macroblocks (MB) 406 to 409 are already processed at the processing timing of the processing target macroblock (MB) 401. Deterioration of prediction accuracy due to a decrease in information can be avoided.
- FIG. 9 shows a plurality of macroblocks starting from a macroblock (MB) located at the upper left of one video screen in accordance with the conventional encoding process, and in the order of raster scan of display first in the right direction and then in the lower direction. It is a figure which shows a mode that the encoding process of (MB) is performed.
- MB macroblock
- the storage capacity of the peripheral macroblock information storage memory needs to have a large storage capacity for storing macroblock (MB) information 502 corresponding to the screen width.
- FIGS. 10 starts from a macroblock (MB) located at the upper left of one video screen according to the encoding process according to the first embodiment of the present invention described in FIGS. It is a figure which shows a mode that the encoding process of several macroblock (MB) is performed sequentially to a direction.
- MB macroblock
- the storage capacity of the peripheral macroblock information storage memory has a small storage capacity for storing macroblock (MB) information 504 corresponding to the screen vertical width. Is enough.
- the screen width of a moving image is shorter than the screen width of the moving image.
- the QVGA Quadrater Video Graphic Array
- the Standard size is 720 pixels ⁇ 480 pixels
- the High Definition HD (High Definition) size is 1920 pixels ⁇ 1080 pixels
- the 4K ⁇ 2K size is 4096.
- a pixel ⁇ 2048 pixel, 8K ⁇ 4K size it is 8192 ⁇ 4096 pixels. Therefore, compared with the large capacity corresponding to the screen width required for the conventional encoding process shown in FIG. 9, the peripheral macroblock information required for the encoding process according to the first embodiment of the present invention shown in FIG.
- the storage capacity of the storage memory is as small as the screen vertical width.
- FIG. 11 shows a conventional coding process for a pair of macroblocks (MB) in two columns in a macroblock adaptive frame / field prediction mode introduced in the MPEG-4 AVC (H.264) coding method. It is a figure which shows a mode that it encodes according to FIG.
- the storage capacity of the peripheral macroblock information storage memory needs to have a large storage capacity for storing macroblock (MB) information 602 that is twice the screen width.
- FIG. 12 shows the macroblock (MB) pair of the macroblock adaptive frame / field prediction mode introduced in the MPEG-4 AVC (H.264) coding system, which is described in FIGS. It is a figure which shows a mode that it encodes according to the encoding process by Embodiment 1 of.
- MB macroblock
- H.264 MPEG-4 AVC
- the storage capacity of the storage memory of the peripheral macroblock information is the macroblock (MB) information 604 corresponding to the vertical width of the screen. Having a small storage capacity to store is enough.
- FIG. 13 is a diagram showing a configuration of a moving image encoding / decoding processing device according to Embodiment 2 of the present invention.
- FIG. 13 shows a coding apparatus 701 that executes the moving picture coding process according to the second embodiment of the present invention
- the lower part of FIG. 13 shows the moving picture decoding process according to the second embodiment of the present invention.
- a decoding device 711 for executing is shown.
- the encoding device 701 includes an image rotation unit 703, an encoding processing unit 704, and a peripheral macroblock information storage memory 705.
- the encoding device 701 outputs a moving image encoded bit stream and a reference image to the external memory 702 by executing a moving image encoding process of the original image stored in the external memory 702.
- the original image stored in the external memory 702 is supplied to the image rotation unit 703 of the encoding device 701.
- the image rotation unit 703 rotates the original image to the right by + 90 ° and supplies the rotated image to the external memory 702. Therefore, the horizontal width of the original image stored in the external memory 702 is longer than the vertical width, and a plurality of macroblocks (MB) 1, 2, 3, 4 are arranged, and a plurality of macroblocks (MB) 1, 5, 9 are arranged in the lower vertical direction. That is, the number of macro blocks (MB) 1, 2, 3, 4 arranged in the right horizontal direction of the horizontal width of the original image stored in the external memory 702 is arranged in the vertical direction below the vertical width of the original image. The value is larger than the number of the plurality of macro blocks (MB) 1, 5, 9.
- the rotated image rotated right by + 90 ° by the image rotation unit 703 and supplied to the external memory 702 includes a small number of macroblocks (MB) 1, 5, and 9 in the horizontal direction of the horizontal width.
- a large number of macroblocks (MB) 1, 2, 3, 4 are included in the vertical direction.
- the reference image stored in the external memory 702 includes a small number of macroblocks (MB) 1, 5, and 9 in the horizontal direction and a large number in the vertical direction.
- a plurality of macroblocks (MB) 1, 2, 3, 4 are included.
- the encoding processing unit 704 is stored in a small number of macroblocks (MB) 9, 5, 1 and the external memory 702 that are arranged in the horizontal direction of the horizontal width of the rotated image first stored in the external memory 702.
- a small number of macroblocks (MB) 9, 5, 1 arranged in the horizontal direction of the width of the reference image are sequentially read out, and the moving image encoding process is executed.
- the encoding processing unit 704 sequentially reads a small number of macroblocks (MB) 10, 6, and 2 that are arranged in the horizontal direction of each horizontal width of the rotated image and the reference image stored in the external memory 702. Then, the moving image encoding process is executed.
- a moving image encoded bit stream generated by the moving image encoding process is stored in the external memory 702.
- the storage capacity of the peripheral macroblock information storage memory 705 necessary for the moving image encoding processing is a plurality of macroblocks (MB) 9, 5 arranged in the vertical direction of the vertical width of the original image stored in the external memory 702. 1 is sufficient.
- the encoding device 701 when configured by a system LSI, it becomes easy to use the peripheral macroblock information storage memory 705 having a relatively small storage capacity as an internal memory (on-chip SRAM) of the system LSI.
- the external memory 702 that stores the original image, the rotated image, and the moving image encoded bitstream is configured by a synchronous dynamic random access memory (SDRAM).
- SDRAM synchronous dynamic random access memory
- the decoding device 711 includes a decoding processing unit 714, a peripheral macroblock information storage memory 715, and an image rotation unit 713.
- the decoding processing unit 714 stores a small number of macroblocks (MB) 9, 5, 1 and the external memory 712 arranged in the horizontal direction of the horizontal width of the moving image encoded bitstream stored in the external memory 712 first.
- a small number of macroblocks (MB) 9, 5, and 1 arranged in the horizontal direction of the horizontal width of the stored reference image are sequentially read out, and the moving image decoding process is executed.
- the decoding processing unit 714 has a small number of macroblocks (MB) 10, 6, 2, which are arranged in the horizontal direction in the horizontal width of each of the moving image encoded bitstream and the reference image stored in the external memory 712. Are sequentially read out and the moving picture decoding process is executed.
- the moving picture decoding bit stream generated by the moving picture decoding process is stored in the external memory 712.
- the image rotation unit 713 rotates the moving image decoding bitstream stored in the external memory 712 counterclockwise by 90 °, and supplies it again to the external memory 712 as a final moving image decoding bitstream.
- the storage capacity of the peripheral macroblock information storage memory 715 necessary for the video decoding process is a plurality of macroblocks (MB) 9 arranged in the horizontal direction of the horizontal width of the video encoded bitstream stored in the external memory 712. The number of 5, 1 is sufficient.
- the decoding device 711 when configured by a system LSI, it is easy to use the peripheral macroblock information storage memory 715 having a relatively small storage capacity as a built-in memory (on-chip SRAM) of the system LSI.
- the external memory 712 for storing the moving image encoded bit stream, the rotated image, and the moving image decoded bit stream is configured by a synchronous dynamic random access memory (SDRAM).
- SDRAM synchronous dynamic random access memory
- the encoding processing unit 704 and the decoding processing unit 714 can be configured with common hardware resources
- the peripheral macroblock information storage memory 705 and the peripheral macroblock information storage memory 715 can be configured with common hardware resources.
- the image rotation unit 703 and the image rotation unit 713 can be configured with common hardware resources.
- the moving image encoding / decoding processing device configured by the system LSI is arbitrarily operated by both the encoding device 701 and the decoding device 711. It becomes possible.
- FIG. 14 is a diagram showing a configuration of a moving image encoding / decoding processing device according to Embodiment 3 of the present invention.
- the moving picture encoding / decoding processing apparatus according to the third embodiment of the present invention shown in FIG. Access frequency can be reduced.
- FIG. 14 shows a coding apparatus 901 that executes the moving picture coding process according to the third embodiment of the present invention
- the lower part of FIG. 14 shows the moving picture decoding process according to the third embodiment of the present invention.
- a decryption device 911 that performs is shown.
- the encoding device 901 includes a right 90 ° rotation unit 903, an encoding processing unit 904, a peripheral macroblock information storage memory 905, and an image read address generation unit 906.
- the encoding device 901 outputs a moving image encoded bit stream and a reference image to the external memory 902 by executing a moving image encoding process of the original image stored in the external memory 902.
- a plurality of macroblocks (MB) of the original image stored in the external memory 902 are supplied to the right 90 ° rotation unit 903 of the encoding device 901 according to the address generated from the image read address generation unit 906 and rotated right 90 °.
- the unit 903 supplies the encoded image obtained by rotating the supplied macroblock (MB) to the right by + 90 ° to the encoding processing unit 904. That is, the horizontal width of the original image stored in the external memory 902 is longer than the vertical width, and a plurality of macro blocks (MB) 1, 2, 3, 4 are arranged in the right horizontal direction in the raster scan order of the screen display. Are arranged, and a plurality of macroblocks (MB) 1, 5, 9 are arranged in the vertical direction.
- the number of macro blocks (MB) 1, 2, 3, and 4 arranged in the right horizontal direction of the horizontal width of the original image stored in the external memory 902 is in the vertical direction below the vertical width of the original image.
- the value is larger than the number of the plurality of macro blocks (MB) 1, 5, 9 arranged.
- the rotated image rotated by + 90 ° to the right by the image rotating unit 703 and supplied to the encoding processing unit 904 includes a small number of macroblocks (MB) 9, 5, 1 in the horizontal direction.
- a large number of macroblocks (MB) 1, 2, 3, 4 are included in the vertical direction.
- the reference image stored in the external memory 902 includes a small number of macroblocks (MB) 9, 5, 1 in the horizontal direction and a large number in the vertical direction.
- a plurality of macroblocks (MB) 1, 2, 3, 4 are included.
- the encoding processing unit 904 includes a plurality of macro blocks (MB) 9, 5, 1 and an external memory 902 arranged in the horizontal direction of the horizontal width of the rotated image supplied from the right 90 ° rotating unit 903. A small number of macroblocks (MB) 9, 5, 1 arranged in the horizontal direction of the horizontal width of the reference image stored in are sequentially read out and the moving image encoding process is executed.
- the encoding processing unit 904 has a small number of macroblocks (MB) arranged in the horizontal direction of each horizontal width of the rotated image supplied from the right 90 ° rotating unit 903 and the reference image stored in the external memory 902. ) 10, 6, and 2 are sequentially read out and the moving image encoding process is executed.
- a moving image encoded bit stream generated by the moving image encoding process is stored in the external memory 902.
- the storage capacity of the peripheral macroblock information storage memory 905 necessary for the above-described moving image encoding processing is a plurality of macroblocks (MB) 1 arranged in the vertical direction of the vertical width of the original image stored in the external memory 902, The number of 5 and 9 is sufficient.
- the encoding device 901 when configured by a system LSI, it is easy to use the peripheral macroblock information storage memory 905 having a relatively small storage capacity as a built-in memory (on-chip SRAM) of the system LSI.
- the external memory 902 for storing the original image and the moving image encoded bit stream is configured by a synchronous dynamic random access memory (SDRAM).
- SDRAM synchronous dynamic random access memory
- the motion vector MV1 encoded by the moving image encoding processing of the encoding device 901 is also rotated by + 90 ° to the right by the right 90 ° rotation unit 903 as compared with the motion vector in the original image stored in the external memory 902. It will be what was done.
- the decoding device 911 includes a decoding processing unit 914, a peripheral macroblock information storage memory 915, a left 90 ° rotation unit 913, an image read address generation unit 916, a difference image generation unit 917, and an image write address generation unit 918.
- the decoding processing unit 914 sequentially reads out a small number of macroblocks (MB) 9, 5, 1 arranged in the horizontal direction of the horizontal width of the moving image encoded bitstream stored in the external memory 912 first.
- a small number of macroblocks (MB) 9, 5, 1 arranged in the horizontal direction of the horizontal width of the moving image coded bit stream sequentially read from the external memory 912 are sent via the difference image generation unit 917. It is supplied to the left 90 ° rotation unit 913.
- the left 90 ° rotation unit 913 generates a plurality of macroblocks (MB) 9, 5, 1 arranged in the vertical direction of the vertical width and supplies them to the decoding processing unit 914.
- the image read address generation unit 916 sequentially reads a plurality of macroblocks (MB) 9, 5, and 1 arranged in the vertical direction of the vertical width of the reference image stored in the external memory 712, so that the decoding processing unit 914 A video decoding process is executed using a plurality of macroblocks (MB) 9, 5, 1 of the image-encoded bitstream and a plurality of macroblocks (MB) 9, 5, 1 of the reference image.
- the moving image decoding bit stream generated from the decoding processing unit 914 by the moving image decoding process is stored in the external memory 712 according to the address generated from the image write address generation unit 918.
- the storage capacity of the peripheral macroblock information storage memory 915 necessary for the video decoding process is a plurality of macroblocks (MB) 9 arranged in the horizontal direction of the horizontal width of the video encoded bitstream stored in the external memory 912. The number of 5, 1 is sufficient.
- the decoding device 911 when configured by a system LSI, it becomes easy to use the peripheral macroblock information storage memory 915 having a relatively small storage capacity as an internal memory (on-chip SRAM) of the system LSI.
- the external memory 912 that stores the moving image encoded bit stream, the reference image, and the moving image decoded bit stream is configured by a synchronous dynamic random access memory (SDRAM).
- SDRAM synchronous dynamic random access memory
- the motion vector MV2 decoded by the moving image decoding process in the decoding device 911 uses the x coordinate of the motion vector MV1 encoded by the moving image encoding process of the encoding device 901 as the y coordinate of the motion vector MV2.
- the coordinate transformation is performed with the y coordinate of the motion vector MV1 as the x coordinate (however, minus sign) of the motion vector MV2.
- the moving picture coding apparatus 901 and decoding apparatus 911 can integrate a moving picture coding / decoding processing apparatus configured by a system LSI on a semiconductor chip. It is. At this time, the encoding processing unit 904 and the decoding processing unit 914 can be configured with common hardware resources, and the peripheral macroblock information storage memory 905 and the peripheral macroblock information storage memory 915 can be configured with common hardware resources. In addition, the right 90 ° rotation unit 903 and the left 90 ° rotation unit 913 can be configured with common hardware resources.
- the moving image encoding / decoding processing device configured by the system LSI is arbitrarily operated by both the encoding device 901 and the decoding device 911. It becomes possible.
- FIG. 15 is a diagram showing a configuration of a moving image encoding / decoding processing device according to Embodiment 4 of the present invention.
- the moving picture encoding / decoding processing apparatus according to the fourth embodiment of the present invention shown in FIG. It is possible to make the arrangement of the plurality of macro blocks (MB) of the reference image stored in the same as the arrangement of the plurality of macro blocks (MB) of the original image.
- FIG. 15 shows a coding apparatus 1301 for executing the moving picture coding process according to the fourth embodiment of the present invention
- the lower part of FIG. 15 shows the moving picture decoding process according to the fourth embodiment of the present invention.
- a decoding device 1311 for executing is shown.
- the encoding device 1301 includes a right 90 ° rotation unit 1303, an encoding processing unit 1304, a peripheral macroblock information storage memory 1305, an image read address generation unit 1306, a difference image generation unit 1307, a reference image address generation unit 1308, and a left 90 °.
- a rotating unit 1309 is included.
- the encoding device 1301 outputs a moving image encoded bitstream and a reference image to the external memory 1302 by executing a moving image encoding process of the original image stored in the external memory 1302.
- a small number of macro blocks (MB) 9, 5, 1 arranged in the vertical direction of the vertical width of the original image and the reference screen are sequentially transferred from the external memory 1302. And supplied to the difference image generation unit 1307.
- the output signal of the difference image generation unit 1307 is supplied to the right 90 ° rotation unit 1303, and the right 90 ° rotation unit 1303 supplies a rotation image obtained by rotating the supplied macroblock (MB) to the right by + 90 ° to the encoding processing unit 1304. To do.
- the horizontal width of the original image stored in the external memory 1302 is longer than the vertical width, and a plurality of macroblocks (MB) 1, 2, 3, 4 are arranged in the right horizontal direction in the raster scan order of the screen display. Are arranged, and a plurality of macroblocks (MB) 1, 5, 9 are arranged in the lower vertical direction.
- the number of macroblocks (MB) 1, 2, 3, 4 arranged in the right horizontal direction of the horizontal width of the original image stored in the external memory 1302 is in the vertical direction below the vertical width of the original image. The value is larger than the number of the plurality of macro blocks (MB) 1, 5, 9 arranged.
- the rotated image rotated 90 ° to the right by the right 90 ° rotating unit 1303 and supplied to the encoding processing unit 1304 includes a small number of macroblocks (MB) 9, 5, and 1 in the horizontal direction.
- a large number of macroblocks (MB) 1, 2, 3, 4 are included in the width direction.
- the encoding processing unit 1304 sequentially processes the macroblocks (MB) 9, 5, and 1 of the output signal of the difference image generation unit 1307 supplied from the right 90 ° rotation unit 1303, and executes the moving image encoding processing. .
- the encoding processing unit 1304 sequentially processes the macroblocks (MB) 10, 6, and 2 of the output signal of the difference image generation unit 1307 supplied from the right 90 ° rotation unit 1303 to perform moving image encoding processing. Execute.
- a moving image encoded bit stream generated from the output of the encoding processing unit 1304 by this moving image encoding process is stored in the external memory 1302.
- the output of the encoding processing unit 1304 is supplied to the left 90 ° rotation unit 1309, and the output of the left 90 ° rotation unit 1309 is stored in the external memory 1302 as a reference image according to the reference image address generated from the reference image address generation unit 1308. Is done.
- the storage capacity of the peripheral macroblock information storage memory 1305 necessary for the moving image encoding processing is a plurality of macroblocks (MB) 1, 5 arranged in the vertical direction of the vertical width of the original image stored in the external memory 1302. , 9 is sufficient.
- the encoding device 1301 when configured by a system LSI, it becomes easy to use the peripheral macroblock information storage memory 1305 having a relatively small storage capacity as a built-in memory (on-chip SRAM) of the system LSI.
- the external memory 1302 for storing the original image, the reference image, and the moving image encoded bit stream is configured by a synchronous dynamic random access memory (SDRAM).
- SDRAM synchronous dynamic random access memory
- the motion vector MV1 encoded by the moving image encoding process of the encoding device 1301 is also rotated by + 90 ° to the right by the right 90 ° rotation unit 1303 as compared with the motion vector in the original image stored in the external memory 1302. It will be what was done.
- the decoding device 1311 includes a decoding processing unit 1314, a peripheral macroblock information storage memory 1315, a left 90 ° rotation unit 1313, an image read address generation unit 1316, a difference image generation unit 1317, and an image write address generation unit 1318.
- the decoding processing unit 1314 sequentially reads out a plurality of small macroblocks (MB) 9, 5, 1 arranged in the horizontal direction of the horizontal width of the moving image encoded bitstream stored in the external memory 1312 first.
- a plurality of macro blocks (MB) 9, 5, 1 arranged in the horizontal direction of the horizontal width of the moving image coded bit stream sequentially read from the external memory 1312 are sent via the difference image generation unit 1317.
- the left 90 ° rotation unit 1313 is supplied.
- the left 90 ° rotation unit 1313 generates a plurality of macro blocks (MB) 9, 5, 1 arranged in the vertical direction of the vertical width, and supplies the generated macro blocks (MB) 9, 5, 1 to the decoding processing unit 1314.
- the image read address generation unit 1316 sequentially reads a plurality of macroblocks (MB) 9, 5, and 1 arranged in the vertical direction of the vertical width of the reference image stored in the external memory 1312, so that the decoding processing unit 1314 A video decoding process is executed using a plurality of macroblocks (MB) 9, 5, 1 of the image coded bitstream and a plurality of macroblocks (MB) 9, 5, 1 of the reference image.
- the moving image decoding bit stream generated from the decoding processing unit 1314 by the moving image decoding process is stored in the external memory 1312 according to the address generated from the image write address generating unit 1318.
- the storage capacity of the peripheral macroblock information storage memory 915 necessary for the video decoding process is a plurality of macroblocks (MB) arranged in the horizontal direction of the horizontal width of the video encoded bitstream stored in the external memory 1312. The number of 9, 5, 1 is sufficient.
- the decoding device 1311 when configured by a system LSI, it becomes easy to use the peripheral macroblock information storage memory 1315 having a relatively small storage capacity as a built-in memory (on-chip SRAM) of the system LSI.
- the external memory 1312 for storing the moving image encoded bit stream, the reference image, and the moving image decoded bit stream is configured by a synchronous dynamic random access memory (SDRAM).
- SDRAM synchronous dynamic random access memory
- the motion vector MV2 decoded by the moving image decoding process of the decoding device 1311 uses the x coordinate of the motion vector MV1 encoded by the moving image encoding process of the encoding device 1301 as the y coordinate of the motion vector MV2. This is a result of coordinate conversion in which the y coordinate of the motion vector MV1 is the x coordinate (however, minus sign) of the motion vector MV2.
- the moving picture encoding apparatus 1301 and decoding apparatus 1311 according to the fourth embodiment of the present invention shown in FIG. 15 can be integrated on a semiconductor chip of a moving picture encoding / decoding processing apparatus configured by a system LSI. It is. At this time, the encoding processing unit 1304 and the decoding processing unit 1314 can be configured with common hardware resources, and the peripheral macroblock information storage memory 1305 and the peripheral macroblock information storage memory 1315 can be configured with common hardware resources. The right 90 ° rotation unit 1303 and the left 90 ° rotation unit 1313 can be configured with common hardware resources.
- the moving image encoding / decoding processing device configured by the system LSI is arbitrarily operated by both the encoding device 1301 and the decoding device 1311. It becomes possible.
- FIG. 16 shows the macroblock coding / decoding processing unit 203 of the moving picture coding / decoding processing device 201 according to the first embodiment of the present invention shown in FIG. 5 or the second embodiment of the present invention shown in FIG.
- FIG. 11 is a diagram showing a configuration of a device 1750.
- a moving image processing apparatus 1750 according to the fifth embodiment of the present invention shown in FIG. 16 includes a variable length coding / decoding unit (VLCS) 1703, a first moving image processing unit (CODEC1) 1719, a second moving image processing unit ( CODEC2) 1729, a memory control unit (MEC) 1714, a local memory controller (LMC) 1724, an overall control unit (CTRL) 1715, a DMA controller (DMAC) 1725, an external bus 1701, and an internal bus 1702.
- the moving image processing apparatus 1750 is configured in the form of a large-scale semiconductor integrated circuit (LSI: Large Scale Integrated Circuit) formed on one semiconductor substrate such as a single crystal silicon substrate. .
- LSI Large Scale Integrated Circuit
- the moving image processing apparatus 1750 according to the fifth embodiment of the present invention shown in FIG. 16 operates arbitrarily in both the encoding apparatus and the decoding apparatus in accordance with the operation mode setting information supplied to the initialization sequence at power-on. It becomes possible to make it.
- variable length coding / decoding unit (VLCS) 1703 includes moving image coded data from a medium such as a hard disk drive (HDD), an optical disk drive, a large-capacity nonvolatile flash memory, and a wireless LAN (local area network) via the DMA controller 1725.
- a medium such as a hard disk drive (HDD), an optical disk drive, a large-capacity nonvolatile flash memory, and a wireless LAN (local area network) via the DMA controller 1725.
- BS bitstream
- a variable length coding / decoding unit (VLCS) 1703 incorporates a stream analysis unit, and the macro blocks arranged in the first row, the third row,... While being supplied to the unit (CODEC 1) 1719, the macroblocks arranged in the second, fourth,..., Which are even lines, are supplied to the second moving image processing unit (CODEC 2) 1729.
- a variable length coding / decoding unit (VLCS) 1703 includes a pipeline control unit, and the pipeline control unit uses a first moving image processing unit (CODEC1) 1719 and a second moving image processing unit ( The pipeline operation for the parallel operation with the CODEC 2) 1729 is controlled. That is, a first variable length coding / decoding unit (VLCF1) 1710, a first frequency converting unit (TRF1) 1711, and a first motion compensating unit (which are internal circuits of the first moving image processing unit (CODEC1) 1719 ( The FME1) 1712 and the first deblocking filter (DEB1) 1713 execute a pipeline operation by being controlled by the pipeline control unit of the variable length coding / decoding unit (VLCS) 1703.
- VLCF1 variable length coding / decoding unit
- TRF1 first frequency converting unit
- DEB1 1713 execute a pipeline operation by being controlled by the pipeline control unit of the variable length coding / decoding unit (VLCS) 1703.
- variable length coding / decoding unit (VLCS) 1703 extracts the macroblock type and the motion vector by performing variable length decoding on the supplied bit stream, and the first moving image processing unit ( The CODEC 1) 1719 and the second moving image processing unit (CODEC 2) 1729 have a function of obtaining values of necessary parameter groups.
- VLCF1 variable length coding / decoding unit
- VLCF2 variable length coding / decoding unit
- VLCS variable length coding / decoding unit
- the first frequency conversion unit (TRF1) 1711 and the second frequency conversion unit (TRF2) 1721 are a first variable length coding / decoding unit (VLCF1) 710 and a second variable length coding / decoding unit (VLCF2).
- VLCF1 first variable length coding / decoding unit
- VLCF2 second variable length coding / decoding unit
- IQ Inverse Quantization
- IDCT inverse discrete cosine Transformation
- the quantized transform coefficient and the quantization parameter as frequency transform information supplied from 1720 are processed, inverse quantization transform is performed to calculate a transform coefficient, and the calculated transform coefficient is subjected to inverse orthogonal transform to obtain a pixel.
- a reference value supplied from the first motion compensation unit (FME1) 1712 and the second motion compensation unit (FME2) 1722 and the interframe prediction residual are added to obtain a pixel value. Calculate and output the calculated image.
- the first motion compensation unit (FME1) 1712 and the second motion compensation unit (FME2) 1722 execute a motion compensation process. That is, the first motion compensation unit (FME1) 1712 and the second motion compensation unit (FME2) 1722 are connected via the memory control unit (MEC) 1714, the internal bus 1702, the DMA controller (DMAC) 1725, and the external bus 1701.
- the motion vector position reference image is calculated by executing the motion search using the reference image supplied from the external memory, and the first frequency conversion unit (TRF1) 1711 and the second frequency conversion unit (TRF2) 1721 are calculated. Output to.
- the first deblocking filter (DEB1) 1713 and the second deblocking filter (DEB2) 1723 execute deblocking filter processing for reducing block distortion that occurs during image decoding. That is, the first and second deblocking filters (DEB1, DEB2) 1713, 1723 are the processing target macroblocks (MB) supplied from the first and second frequency conversion units (TRF1, TRF2) 1711, 1721. Image data and the image data of the left macroblock (MB) to be processed supplied from the built-in memory in the first and second deblocking filters (DEB1, DEB2) 1713, 1723, and the deblocking filter Execute the process.
- a memory control unit (MEC) 1714 uses a reference image to be used for inter-frame prediction based on motion vector information supplied from the first and second variable length coding / decoding units (VLCF1, VLCF2) 1710 and 1720.
- the data is supplied from the external memory to the first and second motion compensation units (FME1, FME2) 1712 and 1722 via the bus 1702, the DMA controller (DMAC) 1725, and the external bus 1701.
- a general control unit (CTRL) 1715 controls the operation of all internal circuits of the moving image processing apparatus 1750.
- the overall control unit (CTRL) 1715 generates an operation control signal deb_start that controls the operations of the first and second deblocking filters (DEB1, DEB2) 1713, 1723.
- the local memory controller (LMC) 1724 is the peripheral macroblock information storage memory 204 of the moving image encoding / decoding processing device (CODEC) 201 according to the first embodiment of the present invention shown in FIG. 5 or the present invention shown in FIG.
- Write operation of the macroblock information storage memory 1315 Controls the read operation.
- the local memory controller (LMC) 1724 stores parameters related to the processing result of the first moving image processing unit (CODEC1) 1719 related to the odd-numbered macroblocks (MB) in these peripheral macroblock information storage memories.
- the parameters relating to the necessary images are transferred to the second moving image processing unit (CODEC2) 1729 relating to the macroblocks (MB) of the even rows.
- the local memory controller (LMC) 1724 stores parameters related to the processing result of the second moving image processing unit (CODEC2) 1729 relating to the macroblocks (MB) of even-numbered rows in these peripheral macroblock information storage memories.
- the local memory controller (LMC) 1724 performs operations for storing and reading the peripheral macroblock information to and from the peripheral macroblock information storage memory, and is performed by the system large-scale semiconductor integrated circuit (system LSI). It is connected to a built-in memory (on-chip SRAM) as a peripheral macroblock information storage memory built in a semiconductor chip of the configured moving picture coding / decoding device (CODEC).
- system LSI system large-scale semiconductor integrated circuit
- a DMA controller (DMAC: Direct Memory Access Controller) 1725 is connected to an external bus 701 of the moving image processing apparatus 1750, for example, an external memory configured by a synchronous dynamic random access memory (SDRAM), a first and a second memory. It is used for high-speed data transfer between a moving image processing unit 1719 and 1729 for a reference image including a large number of macroblocks (MB) and an encoded bit stream.
- SDRAM synchronous dynamic random access memory
- the first variable length coding / decoding unit of the first moving image processing unit (CODEC1) 1719 (VLCF1) 1710, first frequency conversion unit (TRF1) 1711, and first motion compensation unit (FME1) 1712 operate as a variable length decoding unit, an inverse quantizer / inverse DCT converter, and a motion compensation unit, respectively.
- the variable length decoding unit, the inverse quantizer / inverse DCT converter, and the motion compensation unit respectively operate.
- the moving image processing apparatus 1750 when the moving image processing apparatus 1750 according to the fifth embodiment of the present invention shown in FIG. 16 operates as an encoding apparatus, the first variable length encoding of the first moving image processing unit (CODEC1) 1719 is performed.
- the decoding unit (VLCF1) 1710, the first frequency conversion unit (TRF1) 1711, and the first motion compensation unit (FME1) 1712 are a variable length coding unit, a DCT converter / quantization, and a residual coding unit. And a motion prediction unit.
- VLCF2 variable length coding / decoding unit
- TRF2 second frequency conversion unit
- FME2 second motion compensation unit
- CODEC2 second moving image processing unit
- the first variable length coding / decoding unit (VLCF1) 1710 and the first frequency conversion unit (TRF1) of the first moving image processing unit (CODEC1) 1719 are used.
- the second motion compensation unit (FME2) 1722 is not limited to being realized by hardware.
- These operation functions can also be realized by software processing such as a microprocessor.
- the peripheral macroblock information storage memories 204, 705, 715, etc. can use a cache memory such as a microprocessor.
- the moving image encoding / decoding processing apparatus includes a mobile phone, a car navigation system, a DVD / HDD / BD recorder, a digital video camera, a digital camera, a digital television, and a telephone conference. It can be mounted on a system or the like.
- Encoding device 902 External memory 903 ... Right 90 ° rotation unit 904 ... Encoding processing unit 905 ... Peripheral macroblock information storage memory 906 ... Image lead address raw 911 ... Decoding device 912 ... External memory 913 ... Left 90 ° rotation unit 914 ... Decoding processing unit 915 ... Peripheral macroblock information storage memory 916 ... Image read address generation unit 917 ... Difference image generation unit 918 ... Image write address generation unit 1301 ... Coding device 1302 ... External memory 1303 ... Right 90 ° rotation unit 1304 ... Coding processing unit 1305 ... Peripheral macroblock information storage memory 1306 ... Image read address generation unit 1307 ... Difference image generation unit 1308 ... Reference image address generation unit 1309 ...
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
まず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
次に、実施の形態について更に詳述する。尚、発明を実施するための最良の形態を説明するための全図において、前記の図と同一の機能を有する部品には同一の符号を付して、その繰り返しの説明は省略する。
《動画像符号化/復号処理方式における階層構造》
図1は、本発明の実施の形態1による動画像符号化/復号処理方式における階層構造を説明する図である。
図2は、図1に示した本発明の実施の形態1による動画符号化方式により符号化された符号化ビデオストリームの構成を示す図である。
図3は、本発明の実施の形態1による動画像の符号化/復号処理の処理手順を示すフローチャートである。
図5は、図3のフローチャートに示す本発明の実施の形態1による動画像の符号化/復号処理の処理手順を実行可能な本発明の実施の形態1による動画像符号化/復号処理装置の構成を示す図である。
図6は、図5に示す本発明の実施の形態1による動画像符号化/復号処理装置が復号処理装置として動作する際に供給される動画像符号化ビットストリームのデータ配列を示す図である。
図7は、本発明と異なる従来の符号化処理が実行される場合の処理対象マクロブロック(MB)401と処理対象マクロブロック(MB)401の予測に使用される4個の周辺マクロブロック(MB)402~405との関係を示す図である。
図9は、従来の符号化処理に従って1枚の映像画面の左上に位置するマクロブロック(MB)から開始され表示のラスタスキャンの順序で最初に右方向へ次に下方向へ順次複数のマクロブロック(MB)の符号化処理が実行される様子を示す図である。
図11は、MPEG-4 AVC(H.264)の符号化方式に導入されたマクロブロック適応型のフレーム・フィールド予測モードの2本の列のマクロブロック(MB)のペアを従来の符号化処理に従って符号化する様子を示す図である。
《実施の形態2による動画像符号化/復号処理装置》
図13は、本発明の実施の形態2による動画像符号化/復号処理装置の構成を示す図である。
《実施の形態3による動画像符号化/復号処理装置》
図14は、本発明の実施の形態3による動画像符号化/復号処理装置の構成を示す図である。
《実施の形態4による動画像符号化/復号処理装置》
図15は、本発明の実施の形態4による動画像符号化/復号処理装置の構成を示す図である。
《実施の形態5による動画像処理装置》
図16は、図5に示した本発明の実施の形態1による動画像符号化/復号処理装置201のマクロブロック符号化/復号処理部203または図13に示した本発明の実施の形態2による符号化装置701の符号化処理部704と復号装置711の復号処理部714または図14に示した本発明の実施の形態3による符号化装置901の符号化処理部904と復号装置1911の復号処理部1914または図15に示した本発明の実施の形態4による符号化装置1301の符号化処理部1304と復号装置1311の復号処理部1914として使用可能な本発明の実施の形態5による動画像処理装置1750の構成を示す図である。
可変長符号化復号部(VLCS)1703には、ハードディスクドライブ(HDD)、光ディスクドライブ、大容量不揮発性フラッシュメモリ、無線LAN(ローカルエリアネットワーク)等のメディアからDMAコントローラ1725を介して動画符号化データがビットストリーム(BS)の形態で供給される。可変長符号化復号部(VLCS)1703の内部にストリーム解析部が内蔵され、このストリーム解析部によって奇数行である1行目、3行目…に配列されたマクロブロックが第1の動画像処理ユニット(CODEC1)1719に供給される一方、偶数行である2行目、4行目…に配列されたマクロブロックが第2の動画像処理ユニット(CODEC2)1729に供給される。
可変長符号化復号部(VLCS)1703から奇数行と偶数行のマクロブロックがそれぞれ供給される第1の可変長符号化復号部(VLCF1)1710と第2の可変長符号化復号部(VLCF2)1720は、コンテキストベース適応可変長符号化復号を実行することによって、動きベクトル情報やマクロブロックパラメータや周波数変換情報の復号処理を実行するものである。
第1の周波数変換部(TRF1)1711と第2の周波数変換部(TRF2)1721とは、第1の可変長符号化復号部(VLCF1)710と第2の可変長符号化復号部(VLCF2)1720から周波数変換情報が供給されることによって、逆量子化(IQ:Inverse Quantization)と逆ディスクリートコサイン変換(IDCT:Inverse Discrete Cosine Transformation)とを実行する。すなわち、第1の周波数変換部(TRF1)1711、第2の周波数変換部(TRF2)1721は、第1の可変長符号化復号部(VLCF1)1710、第2の可変長符号化復号部(VLCF2)1720から供給される周波数変換情報としての量子化変換係数と量子化パラメータとを処理して、逆量子化変換して変換係数を算出して、算出された変換係数を逆直交変換して画素値又はフレーム間予測残差を求め、第1の動き補償部(FME1)1712、第2の動き補償部(FME2)1722から供給される参照画像とフレーム間予測残差を加算して画素値を算出して、算出された画像を出力する。
第1の動き補償部(FME1)1712と第2の動き補償部(FME2)1722とは、動き補償処理を実行する。すなわち、第1の動き補償部(FME1)1712、第2の動き補償部(FME2)1722は、メモリ制御部(MEC)1714と内部バス1702とDMAコントローラ(DMAC)1725と外部バス1701とを介して外部メモリから供給される参照画像を使用して動き探索の実行によって動きベクトル位置の参照画像を算出して、第1の周波数変換部(TRF1)1711、第2の周波数変換部(TRF2)1721に出力する。
第1のデブロッキングフィルタ(DEB1)1713と第2のデブロッキングフィルタ(DEB2)1723とは、画像復号時に生じるブロック歪を減少させるためのデブロッキングフィルタ処理を実行するものである。すなわち、第1と第2のデブロッキングフィルタ(DEB1、DEB2)1713、1723は、第1と第2の周波数変換部(TRF1、TRF2)1711、1721から供給される処理対象のマクロブロック(MB)の画像データと第1と第2のデブロッキングフィルタ(DEB1、DEB2)1713、1723中の内蔵メモリから供給される処理対象の左のマクロブロック(MB)の画像データを使用して、デブロッキングフィルタ処理を実行する。
メモリ制御部(MEC)1714は第1と第2の可変長符号化復号部(VLCF1、VLCF2)1710、1720から供給される動きベクトルの情報からフレーム間予測に使用するための参照画像を、内部バス1702とDMAコントローラ(DMAC)1725と外部バス1701とを経由して外部メモリから、第1と第2の動き補償部(FME1、FME2)1712、1722に供給する。
全体制御部(CTRL)1715は、動画像処理装置1750の全ての内部回路の動作を制御する。例えば、全体制御部(CTRL)1715は、第1と第2のデブロッキングフィルタ(DEB1、DEB2)1713、1723の動作を制御する動作制御信号deb_startを生成する。
ローカルメモリコントローラ(LMC)1724は、図5に示した本発明の実施の形態1による動画像符号化/復号処理装置(CODEC)201の周辺マクロブロック情報格納メモリ204または図13に示した本発明の実施の形態2による符号化装置701の周辺マクロブロック情報格納メモリ705と復号装置711の周辺マクロブロック情報格納メモリ715または図14に示した本発明の実施の形態3による符号化装置901の周辺マクロブロック情報格納メモリ905と復号装置1911の周辺マクロブロック情報格納メモリ915または図15に示した本発明の実施の形態4による符号化装置1301の周辺マクロブロック情報格納メモリ1305と復号装置1311の周辺マクロブロック情報格納メモリ1315の書き込み動作と読み出し動作とを制御する。
DMAコントローラ(DMAC:Direct Memory Access Controller)1725は、動画像処理装置1750の外部バス701に接続される例えば、同期型ダイナミックランダムアクセスメモリ(SDRAM)によって構成される外部メモリと第1と第2の動画像処理ユニット1719、1729の間で大量のマクロブロック(MB)を含む参照画像や符号化ビットストリームの高速データ転送に使用される。
202…外部メモリ
203…マクロブロック符号化/復号処理部
204…周辺マクロブロック情報格納メモリ
205…垂直方向マクロブロックカウンタ
206…画面下端判定部
207…水平方向マクロブロックカウンタ
208…画面右端判定部
209…AND論理ゲート回路
701…符号化装置
702…外部メモリ
703…画像回転部
704…符号化処理部
705…周辺マクロブロック情報格納メモリ
711…復号装置
712…外部メモリ
713…画像回転部
714…復号処理部
715…周辺マクロブロック情報格納メモリ
901…符号化装置
902…外部メモリ
903…右90°回転部
904…符号化処理部
905…周辺マクロブロック情報格納メモリ
906…画像リードアドレス生成部
911…復号装置
912…外部メモリ
913…左90°回転部
914…復号処理部
915…周辺マクロブロック情報格納メモリ
916…画像リードアドレス生成部
917…差分画像生成部
918…画像ライトアドレス生成部
1301…符号化装置
1302…外部メモリ
1303…右90°回転部
1304…符号化処理部
1305…周辺マクロブロック情報格納メモリ
1306…画像リードアドレス生成部
1307…差分画像生成部
1308…参照画像アドレス生成部
1309…左90°回転部
1311…復号装置
1312…外部メモリ
1313…左90°回転部
1314…復号処理部
1315…周辺マクロブロック情報格納メモリ
1316…画像リードアドレス生成部
1317…差分画像生成部
1318…画像ライトアドレス生成部
Claims (36)
- 符号化処理装置を使用して水平方向の横幅が垂直方向の縦幅よりも大きな横長画面の動画像に含まれる複数のマクロブロックを符号化する動画像符号化方法であって、
前記複数のマクロブロックの符号化に際して、符号化されるべきマクロブロックの周辺の複数の符号化済みの複数のマクロブロックの情報が前記符号化処理装置に内蔵された情報格納メモリに格納され、
前記複数のマクロブロックの前記符号化に際して、最初に前記横長画面の前記横幅の左端で前記垂直方向に配列された複数のマクロブロックが順次に符号化されることによって、前記左端で前記垂直方向に配列された前記複数のマクロブロックの符号化情報が前記情報格納メモリに格納され、
前記垂直方向に配列された前記複数のマクロブロックが符号化された後に、次に前記横長画面の前記横幅の前記左端の水平方向右隣で前記垂直方向に配列された複数のマクロブロックが順次に符号化されることを特徴とする動画像符号化方法。 - 前記左端の前記水平方向右隣で前記垂直方向に配列された前記複数のマクロブロックが順次に符号化される際に、前記情報格納メモリに格納された前記左端で前記垂直方向に配列された前記複数のマクロブロックの前記符号化情報が使用されることを特徴とする請求項1に記載の動画像符号化方法。
- 前記垂直方向に配列された前記複数のマクロブロックの各マクロブロックが符号化された後に、前記各マクロブロックが前記縦幅の下端または上端に位置する最後または最初のマクロブロックであるか否かが前記符号化処理装置によって判定されることを特徴とする請求項2に記載の動画像符号化方法。
- 前記横長画面の前記横幅の前記左端の前記水平方向右隣で前記垂直方向に配列された前記複数のマクロブロックが符号化された後に、符号化された前記複数のマクロブロックが前記横幅の右端に位置する最後の複数のマクロブロックであるか否かが前記符号化処理装置によって判定されることを特徴とする請求項3に記載の動画像符号化方法。
- 前記各マクロブロックが前記縦幅の前記下端または前記上端に位置する前記最後または前記最初のマクロブロックでないと前記符号化処理装置によって判定された場合は、前記左端の前記垂直方向で次に符号化されるマクロブロックの位置を表示する垂直方向カウンタのカウント値が1つインクリメントされることを特徴とする請求項4に記載の動画像符号化方法。
- 符号化された前記複数のマクロブロックが前記横幅の前記右端に位置する前記最後の複数のマクロブロックでないと前記符号化処理装置によって判定された場合は、前記横長画面の前記横幅の前記水平方向で次に符号化される複数のマクロブロックの位置を表示する水平方向カウンタのカウント値が1つインクリメントされることを特徴とする請求項5に記載の動画像符号化方法。
- 復号化処理装置を使用して水平方向の横幅が垂直方向の縦幅よりも大きな横長画面の動画像に含まれる複数のマクロブロックを復号化する動画像復号化方法であって、
前記複数のマクロブロックの復号化に際して、復号化されるべきマクロブロックの周辺の複数の復号化済みの複数のマクロブロックの情報が前記復号化処理装置に内蔵された情報格納メモリに格納され、
前記複数のマクロブロックの前記復号化に際して、最初に前記横長画面の前記横幅の左端で前記垂直方向に配列された複数のマクロブロックが順次に復号化されることによって、前記左端で前記垂直方向に配列された前記複数のマクロブロックの復号化情報が前記情報格納メモリに格納され、
前記垂直方向に配列された前記複数のマクロブロックが復号化された後に、次に前記横長画面の前記横幅の前記左端の水平方向右隣で前記垂直方向に配列された複数のマクロブロックが順次に復号化されることを特徴とする動画像復号化方法。 - 前記左端の前記水平方向右隣で前記垂直方向に配列された前記複数のマクロブロックが順次に復号化される際に、前記情報格納メモリに格納された前記左端で前記垂直方向に配列された前記複数のマクロブロックの前記復号化情報が使用されることを特徴とする請求項7に記載の動画像復号化方法。
- 前記垂直方向に配列された前記複数のマクロブロックの各マクロブロックが復号化された後に、前記各マクロブロックが前記縦幅の下端または上端に位置する最後または最初のマクロブロックであるか否かが前記復号化処理装置によって判定されることを特徴とする請求項8に記載の動画像復号化方法。
- 前記横長画面の前記横幅の前記左端の前記水平方向右隣で前記垂直方向に配列された前記複数のマクロブロックが復号化された後に、復号化された前記複数のマクロブロックが前記横幅の右端に位置する最後の複数のマクロブロックであるか否かが前記復号化処理装置によって判定されることを特徴とする請求項9に記載の動画像復号化方法。
- 前記各マクロブロックが前記縦幅の前記下端または前記上端に位置する前記最後または前記最初のマクロブロックでないと前記復号化処理装置によって判定された場合は、前記左端の前記垂直方向で次に復号化されるマクロブロックの位置を表示する垂直方向カウンタのカウント値が1つインクリメントされることを特徴とする請求項10に記載の動画像復号化方法。
- 復号化された前記複数のマクロブロックが前記横幅の前記右端に位置する前記最後の複数のマクロブロックでないと前記復号化処理装置によって判定された場合は、前記横長画面の前記横幅の前記水平方向で次に復号化される複数のマクロブロックの位置を表示する水平方向カウンタのカウント値が1つインクリメントされることを特徴とする請求項11に記載の動画像復号化方法。
- 水平方向の横幅が垂直方向の縦幅よりも大きな横長画面の動画像に含まれる複数のマクロブロックを符号化するために符号化処理部と情報格納メモリとを具備する動画像符号化処理装置であって、
前記符号化処理部による前記複数のマクロブロックの符号化に際して、符号化されるべきマクロブロックの周辺の複数の符号化済みの複数のマクロブロックの情報が前記情報格納メモリに格納され、
前記複数のマクロブロックの前記符号化に際して、最初に前記横長画面の前記横幅の左端で前記垂直方向に配列された複数のマクロブロックが前記符号化処理部によって順次に符号化されることによって、前記左端で前記垂直方向に配列された前記複数のマクロブロックの符号化情報が前記符号化処理部によって前記情報格納メモリに格納され、
前記垂直方向に配列された前記複数のマクロブロックが符号化された後に、次に前記横長画面の前記横幅の前記左端の水平方向右隣で前記垂直方向に配列された複数のマクロブロックが前記符号化処理部によって順次に符号化されることを特徴とする動画像符号化処理装置。 - 前記左端の前記水平方向右隣で前記垂直方向に配列された前記複数のマクロブロックが前記符号化処理部によって順次に符号化される際に、前記情報格納メモリに格納された前記左端で前記垂直方向に配列された前記複数のマクロブロックの前記符号化情報が使用されることを特徴とする請求項13に記載の動画像符号化処理装置。
- 記垂直方向に配列された前記複数のマクロブロックの各マクロブロックが符号化された後に、前記各マクロブロックが前記縦幅の下端または上端に位置する最後または最初のマクロブロックであるか否かが前記動画像符号化処理装置によって判定されることを特徴とする請求項14に記載の動画像符号化処理装置。
- 前記横長画面の前記横幅の前記左端の前記水平方向右隣で前記垂直方向に配列された前記複数のマクロブロックが符号化された後に、符号化された前記複数のマクロブロックが前記横幅の右端に位置する最後の複数のマクロブロックであるか否かが前記動画像符号化処理装置によって判定されることを特徴とする請求項15に記載の動画像符号化処理装置。
- 前記動画像符号化処理装置は、前記垂直方向で次に符号化されるマクロブロックの位置を表示する垂直方向カウンタを更に具備して、
前記各マクロブロックが前記縦幅の前記下端または前記上端に位置する前記最後または前記最初のマクロブロックでないと前記動画像符号化処理装置によって判定された場合は、前記垂直方向カウンタのカウント値が1つインクリメントされることを特徴とする請求項16に記載の動画像符号化処理装置。 - 前記動画像符号化処理装置は、前記水平方向で次に符号化される複数のマクロブロックの位置を表示す水平方向カウンタを更に具備して、
符号化された前記複数のマクロブロックが前記横幅の前記右端に位置する前記最後の複数のマクロブロックでないと前記動画像符号化処理装置によって判定された場合は、前水平方向カウンタのカウント値が1つインクリメントされることを特徴とする請求項17に記載の動画像符号化処理装置。 - 前記動画像符号化処理装置は、前記横長画面の前記動画像に含まれる前記複数のマクロブロックを格納可能な画像メモリと接続可能とされ、
前記画像メモリに前記横長画面の前記縦幅の前記上端で前記水平方向に配列された複数のマクロブロックが格納された後に、次に前記画像メモリに前記横長画面の前記縦幅の前記上端の垂直方向下隣で前記水平方向に配列された複数のマクロブロックが前記画像メモリに格納可能とされたことを特徴とする請求項14に記載の動画像符号化処理装置。 - 他のより好適な実施の形態では、前記動画像符号化処理装置は、前記画像メモリから前記横長画面を読み出して画像を90°回転した後に、前記画像メモリに生成した回転画像を書き込む画像回転部を更に具備し、前記画像メモリに格納された回転画像を読み出して前記符号化処理部に供給可能とされたことを特徴とする請求項19に記載の動画像符号化処理装置。
- 前記動画像符号化処理装置は、前記画像メモリに接続可能とされた画像メモリインターフェースを更に具備して、
前記画像メモリインターフェースは、前記画像メモリから前記横長画面の前記横幅の前記左端で前記垂直方向に配列された前記複数のマクロブロックを読み出して前記符号化処理部に供給した後に、次に前記横長画面の前記横幅の前記左端の水平方向右隣で前記垂直方向に配列された複数のマクロブロックを読み出して前記符号化処理部に供給可能とされたことを特徴とする請求項20に記載の動画像符号化処理装置。 - 前記画像メモリから前記横長画面の前記横幅の前記左端で前記垂直方向に配列された前記複数のマクロブロックを読み出して前記符号化処理部に供給した後に、次に前記横長画面の前記横幅の前記左端の水平方向右隣で前記垂直方向に配列された複数のマクロブロックを読み出して前記符号化処理部に供給可能とする画像リードアドレス生成部を更に具備することを特徴とする請求項21に記載の動画像符号化処理装置。
- 前記画像リードアドレス生成部から生成されるアドレスに従って前記画像メモリから読み出される前記複数のマクロブロックの各マクロブロックを略90°回転した回転画像を生成して前記符号化処理部に供給可能とする画像回転部を更に具備することを特徴とする請求項22に記載の動画像符号化処理装置。
- 前記符号化処理部は可変長符号化部と直交変換器・量子化器と動き予測部の各動作機能を含むことを特徴とする請求項13乃至請求項23のいずれか1項に記載の動画像符号化処理装置。
- 水平方向の横幅が垂直方向の縦幅よりも大きな横長画面の動画像に含まれる複数のマクロブロックを復号化するために復号化処理部と情報格納メモリとを具備する動画像復号化処理装置であって、
前記復号化処理部による前記複数のマクロブロックの復号化に際して、復号化されるべきマクロブロックの周辺の複数の復号化済みの複数のマクロブロックの情報が前記情報格納メモリに格納され、
前記複数のマクロブロックの前記復号化に際して、最初に前記横長画面の前記横幅の左端で前記垂直方向に配列された複数のマクロブロックが前記復号化処理部によって順次に復号化されることによって、前記左端で前記垂直方向に配列された前記複数のマクロブロックの復号化情報が前記復号化処理部によって前記情報格納メモリに格納され、
前記垂直方向に配列された前記複数のマクロブロックが復号化された後に、次に前記横長画面の前記横幅の前記左端の水平方向右隣で前記垂直方向に配列された複数のマクロブロックが前記復号化処理部によって順次に復号化されることを特徴とする動画像復号化処理装置。 - 前記左端の前記水平方向右隣で前記垂直方向に配列された前記複数のマクロブロックが前記復号化処理部によって順次に復号化される際に、前記情報格納メモリに格納された前記左端で前記垂直方向に配列された前記複数のマクロブロックの前記復号化情報が使用されることを特徴とする請求項25に記載の動画像復号化処理装置。
- 前記垂直方向に配列された前記複数のマクロブロックの各マクロブロックが復号化された後に、前記各マクロブロックが前記縦幅の下端または上端に位置する最後または最初のマクロブロックであるか否かが前記動画像復号化処理装置によって判定されることを特徴とする請求項26に記載の動画像復号化処理装置。
- 前記横長画面の前記横幅の前記左端の前記水平方向右隣で前記垂直方向に配列された前記複数のマクロブロックが復号化された後に、復号化された前記複数のマクロブロックが前記横幅の右端に位置する最後の複数のマクロブロックであるか否かが前記動画像復号化処理装置によって判定されることを特徴とする請求項27に記載の動画像復号化処理装置。
- 前記動画像復号化処理装置は、前記垂直方向で次に復号化されるマクロブロックの位置を表示する垂直方向カウンタを更に具備して、
前記各マクロブロックが前記縦幅の前記下端または前記上端に位置する前記最後または前記最初のマクロブロックでないと前記動画像復号化処理装置によって判定された場合は、前記垂直方向カウンタのカウント値が1つインクリメントされることを特徴とする請求項28に記載の動画像復号化処理装置。 - 前記動画像復号化処理装置は、前記水平方向で次に復号化される複数のマクロブロックの位置を表示す水平方向カウンタを更に具備して、
復号化された前記複数のマクロブロックが前記横幅の前記右端に位置する前記最後の複数のマクロブロックでないと前記動画像復号化処理装置によって判定された場合は、前水平方向カウンタのカウント値が1つインクリメントされることを特徴とする請求項29に記載の動画像復号化処理装置。 - 前記動画像復号化処理装置は、前記複数のマクロブロックを格納可能な画像メモリと接続可能とされたことを特徴とする請求項26に記載の動画像復号化処理装置。
- 前記動画像符号化処理装置は、前記画像メモリから前記横長画面を読み出して画像を90°回転した後に、前記画像メモリに生成した回転画像を書き込む画像回転部を更に具備することを特徴とする請求項31に記載の動画像復号化処理装置。
- 前記動画像符号化処理装置は、動画像符号化信号が供給可能な外部インターフェースを更に具備して、
前記外部インターフェースは、前記動画像符号化信号中に含まれる前記横長画面の前記横幅の前記左端で前記垂直方向に配列された前記複数のマクロブロックを前記復号化処理部に供給した後に、次に前記動画像符号化信号中に含まれる前記横長画面の前記横幅の前記左端の水平方向右隣で前記垂直方向に配列された複数のマクロブロックを前記復号化処理部に供給可能とされ、
前記動画像復号化処理装置は、前記外部インターフェースから供給される前記動画像符号化信号中に含まれる前記横長画面の前記横幅の前記左端で前記垂直方向に配列された前記複数のマクロブロックを復号処理した後に、次に前記外部インターフェースから供給される前記動画像符号化信号中に含まれる前記横長画面の前記横幅の前記左端の水平方向右隣で前記垂直方向に配列された複数のマクロブロックを復号処理して、
前記動画像復号化処理装置は、水平方向の横幅が垂直方向の縦幅よりも大きな復号動画像情報を格納可能な画像メモリと接続可能とされ、
前記動画像復号化処理装置は、前記横長画面の前記横幅の前記左端で前記垂直方向に配列された前記複数のマクロブロックの復号処理情報を前記画像メモリの第1記憶領域に格納した後、次に前記動画像符号化信号中に含まれる前記横長画面の前記横幅の前記左端の水平方向右隣で前記垂直方向に配列された前記複数のマクロブロックの復号処理情報を前記画像メモリの第2記憶領域に格納可能とされ、
前記画像メモリの前記第1記憶領域と前記第2記憶領域とは、水平方向の表示横幅が垂直方向の表示縦幅よりも大きな横長の動画像表示画面の前記表示横幅の左端で前記垂直方向に配列された複数の画像情報と前記表示横幅の前記左端の水平方向右隣で前記垂直方向に配列された複数の画像情報とにそれぞれ対応することを特徴とする請求項26に記載の動画像復号化処理装置。 - 前記動画像復号化処理装置は前記横長画面の前記横幅の前記左端で前記垂直方向に配列された前記複数のマクロブロックの復号処理情報を前記画像メモリの前記第1記憶領域に格納した後、次に前記動画像符号化信号中に含まれる前記横長画面の前記横幅の前記左端の水平方向右隣で前記垂直方向に配列された前記複数のマクロブロックの復号処理情報を前記画像メモリの前記第2記憶領域に格納可能とする画像ライトアドレス生成部を更に具備することを特徴とする請求項33に記載の動画像復号化処理装置。
- 前記外部インターフェースは、前記動画像符号化信号中に含まれる前記複数のマクロブロックを略90°回転した回転画像を生成して前記復号化処理部に供給可能とされたことを特徴とする請求項34に記載の動画像復号化処理装置。
- 前記復号化処理部は可変長復号部と逆量子化器・逆直交変換器と動き補償部の各動作機能を含むことを特徴とする請求項25乃至請求項35のいずれか1項に記載の動画像復号化処理装置。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/519,874 US20120294373A1 (en) | 2010-01-19 | 2010-12-14 | Moving image encoding method, moving image decoding method, moving image encoding device, and moving image decoding device |
JP2011550808A JP5260757B2 (ja) | 2010-01-19 | 2010-12-14 | 動画像符号化方法、動画像復号化方法、動画像符号化装置および動画像復号化装置 |
CN201080061815.0A CN102714733B (zh) | 2010-01-19 | 2010-12-14 | 运动图像编码方法、运动图像解码方法、运动图像编码装置以及运动图像解码装置 |
EP10843962.1A EP2528331B1 (en) | 2010-01-19 | 2010-12-14 | Moving image encoding method, moving image decoding method, and moving image decoding device |
US15/648,180 US10986373B2 (en) | 2010-01-19 | 2017-07-12 | Moving image encoding method, moving image decoding method, moving image encoding device, and moving image decoding device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010-008864 | 2010-01-19 | ||
JP2010008864 | 2010-01-19 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/519,874 A-371-Of-International US20120294373A1 (en) | 2010-01-19 | 2010-12-14 | Moving image encoding method, moving image decoding method, moving image encoding device, and moving image decoding device |
US15/648,180 Continuation US10986373B2 (en) | 2010-01-19 | 2017-07-12 | Moving image encoding method, moving image decoding method, moving image encoding device, and moving image decoding device |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011089798A1 true WO2011089798A1 (ja) | 2011-07-28 |
Family
ID=44306615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2010/072472 WO2011089798A1 (ja) | 2010-01-19 | 2010-12-14 | 動画像符号化方法、動画像復号化方法、動画像符号化装置および動画像復号化装置 |
Country Status (6)
Country | Link |
---|---|
US (2) | US20120294373A1 (ja) |
EP (1) | EP2528331B1 (ja) |
JP (1) | JP5260757B2 (ja) |
CN (1) | CN102714733B (ja) |
TW (1) | TWI523498B (ja) |
WO (1) | WO2011089798A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2659675B1 (en) | 2010-12-28 | 2020-07-22 | Dolby International AB | Method for picture segmentation using columns |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8832412B2 (en) * | 2011-07-20 | 2014-09-09 | Broadcom Corporation | Scalable processing unit |
US9489827B2 (en) | 2012-03-12 | 2016-11-08 | Cisco Technology, Inc. | System and method for distributing content in a video surveillance network |
US9049349B2 (en) * | 2012-05-16 | 2015-06-02 | Cisco Technology, Inc. | System and method for video recording and retention in a network |
EP2814254A1 (en) * | 2013-02-21 | 2014-12-17 | ST-Ericsson SA | Combined parallel and pipelined video encoder |
ES2896959T3 (es) * | 2013-03-29 | 2022-02-28 | Jvckenwood Corp | Dispositivo de decodificación de imagen, procedimiento de decodificación de imagen y programa de decodificación de imagen |
JP6899053B2 (ja) * | 2019-06-24 | 2021-07-07 | Kddi株式会社 | 画像復号装置、画像復号方法及びプログラム |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007510320A (ja) * | 2003-10-04 | 2007-04-19 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 画像データを処理する方法及び装置 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR0166725B1 (ko) | 1993-06-30 | 1999-03-20 | 김광호 | 강제인트라-프레임부호화방법 |
JP3662129B2 (ja) * | 1997-11-11 | 2005-06-22 | 松下電器産業株式会社 | マルチメディア情報編集装置 |
JP4226172B2 (ja) * | 1998-11-24 | 2009-02-18 | 株式会社ハイニックスセミコンダクター | 適応的変換方法を用いる映像圧縮符号化装置および復号化装置ならびにその方法 |
JP4130207B2 (ja) * | 2003-09-16 | 2008-08-06 | 富士通株式会社 | 画像処理表示装置および画像処理表示方法 |
EP1534018B1 (en) * | 2003-11-21 | 2008-11-12 | Samsung Electronics Co., Ltd. | Apparatus and method for generating coded block pattern for alpha channel image and alpha channel image encoding/decoding apparatus and method using the same |
JP4252916B2 (ja) * | 2004-03-18 | 2009-04-08 | 富士通マイクロエレクトロニクス株式会社 | 動きベクトルの探索範囲を決定する方法 |
JP2006174415A (ja) * | 2004-11-19 | 2006-06-29 | Ntt Docomo Inc | 画像復号装置、画像復号プログラム、画像復号方法、画像符号化装置、画像符号化プログラム及び画像符号化方法 |
JP4763422B2 (ja) * | 2004-12-03 | 2011-08-31 | パナソニック株式会社 | イントラ予測装置 |
JP2006203270A (ja) * | 2005-01-17 | 2006-08-03 | Nec Electronics Corp | 画像圧縮方法および画像圧縮装置 |
JP2006246431A (ja) * | 2005-02-07 | 2006-09-14 | Matsushita Electric Ind Co Ltd | 画像符号化装置および画像符号化方法 |
US7868898B2 (en) * | 2005-08-23 | 2011-01-11 | Seiko Epson Corporation | Methods and apparatus for efficiently accessing reduced color-resolution image data |
EP3306923B1 (en) * | 2005-11-08 | 2019-09-18 | Sun Patent Trust | Moving picture coding method, moving picture decoding method, and apparatuses of the same |
US7636497B1 (en) * | 2005-12-27 | 2009-12-22 | Advanced Micro Devices, Inc. | Video rotation in a media acceleration engine |
US8126046B2 (en) * | 2006-06-30 | 2012-02-28 | Intel Corporation | Flexible macroblock ordering and arbitrary slice ordering apparatus, system, and method |
TWI325274B (en) * | 2006-10-12 | 2010-05-21 | Ind Tech Res Inst | Method for mapping memory addresses, memory accessing apparatus and method thereof |
JP4753204B2 (ja) * | 2006-11-17 | 2011-08-24 | 株式会社ソニー・コンピュータエンタテインメント | 符号化処理装置および符号化処理方法 |
US8233003B2 (en) * | 2007-03-12 | 2012-07-31 | Seiko Epson Corporation | Image processing device, image processing method, and electronic instrument |
WO2009001793A1 (ja) | 2007-06-26 | 2008-12-31 | Kabushiki Kaisha Toshiba | 画像符号化と画像復号化の方法及び装置 |
JP2009038501A (ja) * | 2007-07-31 | 2009-02-19 | Toshiba Corp | 復号化装置および復号方法 |
KR20090097689A (ko) * | 2008-03-12 | 2009-09-16 | 삼성전자주식회사 | 영상의 인트라 예측 부호화/복호화 방법 및 장치 |
KR101456491B1 (ko) * | 2008-05-08 | 2014-11-03 | 삼성전자주식회사 | 복수의 참조 픽처에 기초한 영상 부호화, 복호화 방법 및장치 |
US20100053181A1 (en) * | 2008-08-31 | 2010-03-04 | Raza Microelectronics, Inc. | Method and device of processing video |
-
2010
- 2010-12-14 EP EP10843962.1A patent/EP2528331B1/en active Active
- 2010-12-14 JP JP2011550808A patent/JP5260757B2/ja active Active
- 2010-12-14 WO PCT/JP2010/072472 patent/WO2011089798A1/ja active Application Filing
- 2010-12-14 US US13/519,874 patent/US20120294373A1/en not_active Abandoned
- 2010-12-14 CN CN201080061815.0A patent/CN102714733B/zh active Active
- 2010-12-27 TW TW099146105A patent/TWI523498B/zh active
-
2017
- 2017-07-12 US US15/648,180 patent/US10986373B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007510320A (ja) * | 2003-10-04 | 2007-04-19 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 画像データを処理する方法及び装置 |
Non-Patent Citations (5)
Title |
---|
GARY J. SULLIVAN ET AL.: "Video Compression-From Concept to the H.264/AVC Standard", PROCEEDING OF THE IEEE, vol. 93, no. 1, January 2005 (2005-01-01), pages 18 - 31 |
IWATA, K. ET AL.: "A 256mW Full-HD H.264 High- Profile CODECFeaturing Dual Macroblock-Pipeline Architecture in 65nm CMOS", PROC. OF IEEE SYMP. ON VLSI CIRCUITS, 18 June 2008 (2008-06-18), pages 102 - 103, XP031295818 * |
IWATA, K. ET AL.: "A 342mW Mobile Application Processor with Full-HDMulti-Standard Video Codec", IEEE INT. SOLID-STATE CIRCUITS CONF. 2009 DIGEST OF TECHNICAL PAPERS, 8 February 2009 (2009-02-08), pages 158 - 159, 159A, XP031742209 * |
See also references of EP2528331A4 |
THOMAS WIEGAND ET AL.: "Overview of the H.264/AVC Video Coding Standard", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, July 2003 (2003-07-01), pages 1 - 19 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2659675B1 (en) | 2010-12-28 | 2020-07-22 | Dolby International AB | Method for picture segmentation using columns |
US10986344B2 (en) | 2010-12-28 | 2021-04-20 | Dolby Laboratories Licensing Corporation | Method and system for picture segmentation using columns |
US11356670B2 (en) | 2010-12-28 | 2022-06-07 | Dolby Laboratories Licensing Corporation | Method and system for picture segmentation using columns |
US11582459B2 (en) | 2010-12-28 | 2023-02-14 | Dolby Laboratories Licensing Corporation | Method and system for picture segmentation using columns |
US11949878B2 (en) | 2010-12-28 | 2024-04-02 | Dolby Laboratories Licensing Corporation | Method and system for picture segmentation using columns |
Also Published As
Publication number | Publication date |
---|---|
CN102714733B (zh) | 2015-09-16 |
TWI523498B (zh) | 2016-02-21 |
CN102714733A (zh) | 2012-10-03 |
EP2528331B1 (en) | 2021-05-05 |
TW201140557A (en) | 2011-11-16 |
EP2528331A4 (en) | 2016-01-20 |
US20170311001A1 (en) | 2017-10-26 |
EP2528331A1 (en) | 2012-11-28 |
US10986373B2 (en) | 2021-04-20 |
US20120294373A1 (en) | 2012-11-22 |
JPWO2011089798A1 (ja) | 2013-05-23 |
JP5260757B2 (ja) | 2013-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10986373B2 (en) | Moving image encoding method, moving image decoding method, moving image encoding device, and moving image decoding device | |
JP6100904B2 (ja) | 動画像符号化装置およびその動作方法 | |
JP4789200B2 (ja) | 動画符号化と動画復号とのいずれかを実行する機能モジュールおよびそれを含む半導体集積回路 | |
JP6120707B2 (ja) | 動画像符号化装置およびその動作方法 | |
US10033997B2 (en) | Image decoding apparatus, image decoding method, integrated circuit, and program | |
JP5253312B2 (ja) | 動画像処理装置およびその動作方法 | |
US10158869B2 (en) | Parallel video decoding processing apparatus and operating method thereof | |
JPWO2008120434A1 (ja) | 復号化回路、復号化方法、符号化回路及び符号化方法 | |
US20160050431A1 (en) | Method and system for organizing pixel information in memory | |
US8879629B2 (en) | Method and system for intra-mode selection without using reconstructed data | |
JP5580541B2 (ja) | 画像復号化装置および画像復号化方法 | |
JP2007258882A (ja) | 画像復号装置 | |
US10334262B2 (en) | Moving-picture decoding processing apparatus, moving-picture coding processing apparatus, and operating method of the same | |
US11509940B1 (en) | Video apparatus with reduced artifact and memory storage for improved motion estimation | |
JP2010074705A (ja) | トランスコーディング装置 | |
JP2011039660A (ja) | メモリコントローラ、画像処理システムおよびメモリアクセスの制御方法 | |
JP2009290387A (ja) | エンコーダ、デコーダ、及び記録再生装置 | |
KR100933331B1 (ko) | 비디오 복호화 장치 | |
JP2012043191A (ja) | 画像処理装置およびその動作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201080061815.0 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10843962 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2011550808 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13519874 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2010843962 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |