US20130070849A1 - Method and Device for Reordering Video Information - Google Patents
Method and Device for Reordering Video Information Download PDFInfo
- Publication number
- US20130070849A1 US20130070849A1 US13/620,190 US201213620190A US2013070849A1 US 20130070849 A1 US20130070849 A1 US 20130070849A1 US 201213620190 A US201213620190 A US 201213620190A US 2013070849 A1 US2013070849 A1 US 2013070849A1
- Authority
- US
- United States
- Prior art keywords
- picture
- slice
- slices
- stored
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- H04N7/32—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/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/127—Prioritisation of hardware or computational resources
-
- 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/174—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 slice, e.g. a line of blocks or a group of blocks
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
- G11B2020/10537—Audio or video recording
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
- G11B2020/1062—Data buffering arrangements, e.g. recording or playback buffers
- G11B2020/1075—Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data
- G11B2020/10759—Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data content data
Definitions
- the present disclosure relates to video processing and more particularly to a device and method of processing video data.
- Various video encoding standards can process picture data in an order that is different than its raster order. Because a picture that represents a frame of video may be used to process a picture representing a subsequently received frame of video, it needs to be completely processed so that its rendered image is of appropriate quality. If not, its visual deficiencies will be propagated to the subsequently received frames.
- a method and apparatus for efficiently processing a video picture having picture slices that are received in an order other than render order would be useful.
- FIG. 1 illustrates a functional block diagram of a particular embodiment of a video processing system in accordance with a specific embodiment of the present disclosure
- FIG. 2 illustrates a flow diagram representing a method in accordance with a specific embodiment of the present disclosure
- FIG. 3 illustrates a functional block diagram illustrating the video processing system of FIG. 1 in greater detail in accordance with a specific embodiment of the present disclosure
- FIGS. 4 and 5 illustrate a macroblock array having picture slices in accordance with a specific example:
- FIG. 6 illustrates a block diagram representing encoded digital pictures in accordance with a specific example
- FIG. 7 illustrates a functional block diagram illustrating a video processor of FIG. 1 in greater detail in accordance with a specific embodiment of the present disclosure
- FIG. 8 illustrates a portion of memory 20 of FIG. 1 in accordance with a specific embodiment of the present disclosure
- FIG. 9 illustrates a table representing picture slice mapping information in accordance with a specific embodiment of the present disclosure.
- FIG. 10 illustrates a flow diagram representing a method in accordance with a specific embodiment of the present disclosure.
- a method and device that allow picture slices of a video stream to be processed in an order different than the order they were received is disclosed.
- Information mapping the location of picture slices that are stored in the order they were received is stored to allow subsequent processing to access the picture slice in any order, including render order.
- FIG. 1 illustrates a system 100 that includes a display device 40 , and an image processing module that includes: media processing engine (MPE) 10 , memory 20 , and slice map table memory 30 .
- MPE 10 includes a plurality of video processor modules, including video processor module 101 , video processor module 102 , and rendering engine 103 .
- the image processing module of FIG. 1 is configured to store various digital pictures at memory 20 , including encoded digital pictures and rendered digital pictures.
- Memory portion 201 of memory 20 stores encoded digital pictures that are referred to herein as entropy decoded picture slice pictures.
- Memory portion 202 of memory 20 stores rendered digital pictures.
- Video processor 101 includes: an input to receive digital information labeled VIDEO STREAM: an I/O interface connected to interconnects 905 and 906 to access slice map table memory 30 ; an I/O interface connected to interconnects 901 - 904 to access memory 20 ; and an output connected to display device 40 . Operation of a device including the video processor of FIG. 1 will be better understood with reference to FIG. 2 .
- FIG. 2 illustrates a flow diagram representing a method in accordance with a specific embodiment of the present disclosure.
- an encoded digital picture that includes a plurality of picture slices is received.
- the encoded digital picture can be raw video data, such as an elementary stream, that includes an encoded digital picture that has been encoded in accordance with a specific video standard that supports arbitrary slice ordering.
- the temporal order that picture slices of the encoded digital picture is received at the video processing system of FIG. 1 is, referred to as the receive order.
- the receive order can be different than the render order of the picture slices.
- encoded digital picture is intended to refer to digital information that represents a two-dimensional picture that can be decoded to form a rendered digital picture.
- rendered digital picture is intended to refer to a digital representation of a two-dimensional image having digital information representing pixels individually that can be rendered by a rendering device for display without further digital decoding. Also, each individual digital pixel of a rendered digital image is represented individually by a corresponding set of digital information that is mutually exclusive of digital information used to represent any other individual digital pixel of the rendered digital image.
- the received VIDEO STREAM received at MPE 10 represents a picture in an encoded format as opposed to a renderable format, and therefore is referred to as an encoded digital picture.
- encoded digital information is sufficiently decoded to where it is in a renderable format that represents digital pixels individually, such that they can be rendered by a rendering engine, the information is referred to as a rendered digital picture.
- a rendered digital picture may need further video processing to improve the quality of the rendered digital picture it represents.
- video decode processing may generate an unfiltered rendered digital picture that still needs further processing, such as filtering, to remove undesirable visual artifacts.
- the VIDEO STREAM received at video processor 101 is received from a video source.
- Receiving the VIDEO STREAM from a video source can include retrieving the VIDEO STREAM from memory 20 .
- FIG. 3 a more detailed implementation of the interconnects 901 - 904 is illustrated to include a memory control module 50 and an interconnect 90 .
- interconnect 90 is considered to be a bus structure including a plurality of conductive nodes through which the various modules of MPE 10 can provide requests to memory control module 50 to access information, such as information at memory 20 .
- the receive order of a plurality of picture slices of an encoded picture within the VIDEO STREAM can be different than their render order.
- FIG. 4 the picture slice partitioning of a picture represented by a macroblock array of size 22 ⁇ 18 is illustrated.
- the picture represented by the macroblock array of FIG. 4 has been encoded to have a set of picture slices labeled S 1 -S 7 .
- Each picture slice includes the macroblocks surrounded by its corresponding bold borders.
- the numeric suffix of each picture slice label indicates the relative render order of the picture slice, as determined by the render order of the picture slices' the top-left macroblock.
- picture slice S 3 includes macroblocks that will be rendered before and after the macroblocks of picture slice S 4 , however, since the top-left macroblock of picture slice S 3 , MB[1,3] is rendered before the top-left macroblock of picture slice S 4 , MB[7,4], the picture slice S 3 has a render order that is prior to the render order of picture slice S 4 .
- the macroblocks of FIG. 4 can be referred to individually using their corresponding row and column location, such as MB[1,1], or by using their render order, such as MB1.
- the references MB[1,1] and MB0 refer to the same macroblock
- references MB[2,1] and MB1 refer to the same macroblock
- references MB [22,1.8] and MB395 refer to the same macroblock.
- the encoding of the picture corresponding to the macroblock array of FIG. 4 forms an encoded digital image
- the subsequent transmission and receipt of the generated encoded digital image within the VIDEO STREAM of FIG. 1 results in an ordering of the picture slices S 1 -S 7 that can be different from the render order of the picture.
- receive order of the picture slices of the encoded digital picture at the video processor 101 is as follows: S 1 , S 4 , S 3 , S 2 , S 5 , S 6 , and S 7 .
- the receive order of each picture slice is graphically illustrated at the macroblock array of FIG. 5 , where the receive order is indicated by a prefix to each picture slice label.
- slice S 2 is labeled 4 /S 2 , to indicated that while slice S 2 is the second slice in rendering order, it the forth received slice of the receive order.
- FIG. 6 illustrates a block diagram representing the encoded digital picture that corresponds to the picture represented by the macroblock array of FIG. 5 as received at video processor 101 . Picture slices illustrated nearer the top of the encoded digital picture 51 were received earlier than picture slices illustrated nearer the bottom.
- the picture slices of the encoded digital picture 51 are processed by the video processor 101 in the order they were received to generate encoded digital picture 52 of FIG. 6 .
- Encoded digital picture 52 is therefore partially decoded.
- video processor 101 includes a bit stream parser module 1011 and an entropy decoder module 1012 as illustrated in FIG. 7 that perform decode operations.
- the output from video processor 101 is the encoded digital picture 52 .
- the encoded digital picture 52 includes a plurality of picture slices that correspond to the plurality of picture slices of the encoded digital picture 51 . Processing of picture slices of the encoded digital picture 51 is performed receive order, resulting in the picture slices of encoded digital picture 52 being generated in the receive order.
- the picture slices of the encoded digital picture 52 are stored sequentially at a picture buffer of memory 20 based upon the receive order.
- the picture slices processed by the video processor 101 are stored at picture buffer 2011 in the portion 201 of memory 20 .
- the picture slices can be stored as a result of a DMA request to memory control module 50 of FIG. 3 , whereby as portions of encoded digital picture 52 become available at video processor 101 as they are stored at memory 20 .
- the amount of digital data needed to represent the encoded digital picture 52 will typically differ from the amount of digital data needed to represent the encoded digital picture 51 .
- FIG. 8 illustrates the picture slices of encoded digital picture 52 stored at buffer 2011 .
- the picture slice S 1 is stored in the buffer 2011 beginning at offset 0xc000, and immediately before picture slice S 4 .
- the picture slice S 4 is stored in the buffer 2011 beginning at offset 0xc200, and immediately before picture slice S 3 .
- the picture slice S 3 is stored in the buffer 2011 beginning at offset 0xc400, and immediately before picture slice S 2 .
- the picture slice S 2 is stored in the buffer 2011 beginning at offset 0xcb00, and immediately before picture slice S 5 .
- the picture slice S 5 is stored in the buffer 2011 beginning at offset 0xd400, and immediately before picture slice S 6 .
- the picture slice S 6 is stored in the buffer 2011 beginning at offset 0xd500, and immediately before picture slice S 7 .
- the picture slice S 7 is stored in the buffer 2011 beginning at offset 0xd800. Note that the macroblocks of picture slice S 3 are discontinuous, relative to their raster order, because of intervening picture slice S 4 , as illustrated at FIG. 4 .
- the dashed line at offset 0xca00 indicates the offset location of buffer 2011 where the discontinuous portion of picture slice S 3 is stored.
- a corresponding size of each picture slice of encoded digital picture 52 as stored at memory buffer 2011 is determined.
- the video processor 101 determines the size, e.g., the number of words, of a picture slice of encoded digital picture 52 by determining the number of words of each macroblock of the picture slice.
- the size can be determined by entropy decode module 1012 as a macroblock's information is written from video processor 101 to memory 20 . Summing the size of each macroblock of a picture slice provides the total number of words used to represent the picture slice. The purpose of determining picture slice size information will be described below.
- picture slice map table memory 30 information for each picture slice of the encoded digital picture 52 is written to picture slice map table memory 30 .
- each encoded digital picture stored at memory portion 101 of memory 20 is represented by a corresponding set of information stored in the picture slice map table memory 30 .
- Information stored at picture slice map table memory 30 for an individual picture slice includes: an indicator of the start location of the picture slice in the memory buffer; an indicator of the end location of the picture slice information in the memory buffer; and an indicator of the location of information related to the next picture slice of the encoded digital picture in the picture slice map table memory 30 .
- FIG. 9 illustrates a table, referred to as a picture slice table, representing the information stored at picture slice map table memory 30 in response to video processor 101 generating and storing encoded digital picture 52 at buffer 1011 .
- the picture slice table includes a record, e.g., a row, for each macroblock of encoded digital picture 52 . Therefore, the table of FIG. 9 has 396 records based upon the 22 ⁇ 18 array macroblocks of encoded digital picture 52 .
- the first column of the table of FIG. 9 lists record identifiers 0-395, each respective record corresponds to one of the 396 macroblocks of encoded digital picture 52 such that there is a one-to-one correspondence. For example, record 0 corresponds to MB0, record 1 corresponds to MB1.
- Each record of the picture slice table is offset in picture slice map table memory 30 from the previous record by a known amount, such as 0x10.
- the second column of the table of FIG. 9 indicates the size of each picture slice, or discontinuous portion of a picture slice, e.g., the number of words of the picture slice at buffer 2011 .
- the fourth column of the table of FIG. 8 indicates an offset location within the buffer 2011 that indicates where the picture slice associated with the record is stored. Note that the location in memory 20 where a picture slice ends can be determined based on its storing location, e.g., the information at the fourth column, and its size.
- the third column of FIG. 8 indicates a macroblock skip length indicating the number of records of the table of FIG. 9 that need to be skipped skip to locate the record having information related to the next picture slice, or discontinuous picture slice portions, of the picture.
- the picture slice map of FIG. 9 will be better understood with reference to FIG. 10 .
- FIG. 10 illustrates a flow diagram representing a method in accordance with a specific embodiment of the present disclosure that is applied to each picture slice of an encoded digital picture to store relevant information that will subsequently be used by video processor 102 to access the picture slice information stored at memory 20 by render order.
- the mapping module 1013 receives information from bit stream parser 1011 and determines the partitioning of encoded digital picture 52 , and controls where picture slice information is stored at picture slice map table memory 30 based of this information. Since picture slice S 1 starts at macroblock MB1, the row the having the macroblock indicator 1, which corresponds to macroblock MB1, is selected and populated by the mapping module 1013 as indicated herein.
- an indicator based upon the number of macroblocks in the current picture slice is stored at the record identified at block 331 .
- This value is determined by the mapping module 1013 based on information from bit stream parser 1011 during parsing.
- the value stored at the table of FIG. 9 is one less than the total number of macroblocks in the current picture slice, so that when multiplied by the size of each record an offset to the next record representing a picture slice is determined. Since the number of macroblocks within S 1 , is 10, a value of 9 is stored at the column labeled MACROBLOCK SKIP LENGTH.
- an indicator is stored at the selected record of table 9 that indicates the starting location of the picture slice information within the memory buffer.
- This information is provided by the management module 1013 based upon information received from entropy decode module 1012 relating to storing information at memory 20 .
- entropy decode module 1012 receives the beginning buffer location from memory control module 50 during a store operation during which each picture slice is stored. Based upon the information of FIG. 8 , a value of 0xc000 was returned to the MPE10 during the store operation and stored at the column labeled PICTURE SLICE OFFSET.
- an indicator is stored at the selected record indicating the ending location of the picture slice information within the memory buffer. It will be appreciated that the picture slice size that was calculated earlier by the management module 1013 is an indicator of where information associated with a picture slice ends. Therefore, the size of picture slice S 1 is stored at the column labeled PICTURE SLICE LENGTH. The size can indicate a number of words.
- the next received picture slice from the encoded digital picture 52 is picture slice S 4 . Since picture slice S 4 starts at macroblock MB72, the row the having a macroblock indicator of 72, which corresponds to macroblock MB72, is selected. Since the number of macroblocks within S 4 , is 11, a value of 10 is stored at the column labeled MACROBLOCK SKIP LENGTH of the selected record. Based upon the information at FIG. 8 , a value of 0xc200 is stored at the column labeled PICTURE SLICE OFFSET of the current record. A size of 0x200 for picture slice S 4 has been stored at the column labeled PICTURE SLICE OFFSET of the current record.
- picture slice S 3 includes two discontinuous sets of macroblocks.
- the first discontinuous set of macroblocks starts at macroblock MB44 and ends with MB71.
- the second discontinuous set of macroblocks starts at macroblock MB83 and ends with MB87.
- Each discontinuous set of macroblocks is represented by a separate record at the table of FIG. 9 , in order to facilitate their being accessible in render order. Since the first discontinuous portion of picture slice S 3 starts at macroblock MB44, the row the having a macroblock indicator of 44, which corresponds to macroblock MB44 is selected.
- a value of 27 is stored at the column labeled MACROBLOCK SKIP LENGTH. Based upon the information at FIG. 8 , a value of 0xc400 is stored at the column labeled PICTURE SLICE OFFSET. A size of 0x600 for the second discontinuous portion of picture slice S 3 has been stored at the column labeled PICTURE SLICE LENGTH.
- the row the having a macroblock indicator of 83, which corresponds to macroblock MB38 is selected. Since the number of macroblocks within the second discontinuous portion of S 3 is 5, a value of 4 is stored at the column labeled MACROBLOCK SKIP LENGTH. Based upon the information of FIG. 8 , a value of 0xca00 is stored at the column labeled PICTURE SLICE OFFSET. A size of 0x100 for the second discontinuous portion of picture slice S 3 has been stored at the column labeled PICTURE SLICE LENGTH.
- the next received picture slice from the picture of FIG. 4 is picture slice S 2 .
- the next received picture slice from the encoded digital picture 52 is picture slice S 5 . Since picture slice S 5 starts at macroblock MB88, the row the having a macroblock indicator of 88, which corresponds to macroblock MB88 is selected. Since the number of macroblocks within S 5 is 1, a value of 0 is stored at the column labeled MACROBLOCK SKIP LENGTH. Based upon the information of FIG. 8 , a value of 0xd400 is stored at the column labeled PICTURE SLICE OFFSET. A size of 0x100 for picture slice S 5 has been stored at the column labeled PICTURE SLICE LENGTH.
- the generated picture map table as illustrated FIG. 9 therefore, includes information that indicates the render order of the received picture slices.
- the picture slices of encoded digital picture 52 can be accessed in any order, including render order, based upon the information stored at the picture slice map table illustrated at FIG. 10 .
- the plurality of picture slices of encoded digital picture 52 stored at the picture buffer 2011 are retrieved in render order by video processor 102 for processing.
- the retrieved information is processed in render order, since the picture slice information is retrieved in render order by the video processor 102 . Therefore, the video processor 102 can include a filter block portion that can access picture information across all picture slice and macroblock boundaries during filtering.
- rendered pictures are stored at memory portion 202 where picture buffers 2021 , 2022 , and 2023 reside.
- the rendering engine 103 can render an image at display device 40 by accessing rendered digital picture from memory portion 202 .
- the first plurality of picture slices is processed in a first order to obtain a second plurality of picture slices based upon the first plurality of picture slices, where the first order is different than a render order of a picture represented by the first and second encoded digital images.
- the second plurality of slices are stored at a first memory buffer in response to being processed, where each picture slice of the second plurality of picture slices is stored at a corresponding offset of the first memory buffer. A corresponding size is determined for each picture slice of the second plurality of picture slices.
- Corresponding information is stored in a memory table for each picture slice of the plurality of picture slices indicating a start location of the picture slice, an end location of the picture slice, and an index to a next picture slice in the memory table.
- the second plurality of picture slices are processed in the render order to obtain a rendered digital image of the picture.
- indicating the end location includes indicating a size of the corresponding picture slice.
- storing the second plurality of picture slices at the first memory includes storing coefficient data of the picture slice separately from motion vector prediction data.
- storing the second plurality of picture slices includes storing coefficient data of the picture slice separately from motion vector prediction data.
- the memory table includes a plurality of records, one record for each corresponding macroblock of the picture, wherein information for each picture slice of the plurality of picture slices is stored at a corresponding one of the records of the plurality of records.
- the memory table includes a plurality of records, one record for each corresponding macroblock of the picture, wherein the corresponding one of them is selected to correspond to the first macroblock within the picture slice.
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
- The present disclosure relates to video processing and more particularly to a device and method of processing video data.
- Various video encoding standards can process picture data in an order that is different than its raster order. Because a picture that represents a frame of video may be used to process a picture representing a subsequently received frame of video, it needs to be completely processed so that its rendered image is of appropriate quality. If not, its visual deficiencies will be propagated to the subsequently received frames. A method and apparatus for efficiently processing a video picture having picture slices that are received in an order other than render order would be useful.
- Embodiments incorporating teachings of the present disclosure are shown and described with respect to the drawings presented herein, in which:
-
FIG. 1 illustrates a functional block diagram of a particular embodiment of a video processing system in accordance with a specific embodiment of the present disclosure; -
FIG. 2 illustrates a flow diagram representing a method in accordance with a specific embodiment of the present disclosure; -
FIG. 3 illustrates a functional block diagram illustrating the video processing system ofFIG. 1 in greater detail in accordance with a specific embodiment of the present disclosure; -
FIGS. 4 and 5 illustrate a macroblock array having picture slices in accordance with a specific example: -
FIG. 6 illustrates a block diagram representing encoded digital pictures in accordance with a specific example; -
FIG. 7 illustrates a functional block diagram illustrating a video processor ofFIG. 1 in greater detail in accordance with a specific embodiment of the present disclosure; -
FIG. 8 illustrates a portion ofmemory 20 ofFIG. 1 in accordance with a specific embodiment of the present disclosure; -
FIG. 9 illustrates a table representing picture slice mapping information in accordance with a specific embodiment of the present disclosure; and -
FIG. 10 illustrates a flow diagram representing a method in accordance with a specific embodiment of the present disclosure. - A method and device that allow picture slices of a video stream to be processed in an order different than the order they were received is disclosed. Information mapping the location of picture slices that are stored in the order they were received is stored to allow subsequent processing to access the picture slice in any order, including render order. Various embodiments of the present disclosure will be better understood with reference to
FIGS. 1-10 . -
FIG. 1 illustrates asystem 100 that includes adisplay device 40, and an image processing module that includes: media processing engine (MPE) 10,memory 20, and slicemap table memory 30. MPE 10 includes a plurality of video processor modules, includingvideo processor module 101,video processor module 102, andrendering engine 103. The image processing module ofFIG. 1 is configured to store various digital pictures atmemory 20, including encoded digital pictures and rendered digital pictures.Memory portion 201 ofmemory 20 stores encoded digital pictures that are referred to herein as entropy decoded picture slice pictures.Memory portion 202 ofmemory 20 stores rendered digital pictures. -
Video processor 101 includes: an input to receive digital information labeled VIDEO STREAM: an I/O interface connected tointerconnects map table memory 30; an I/O interface connected to interconnects 901-904 to accessmemory 20; and an output connected todisplay device 40. Operation of a device including the video processor ofFIG. 1 will be better understood with reference toFIG. 2 . -
FIG. 2 illustrates a flow diagram representing a method in accordance with a specific embodiment of the present disclosure. Atblock 11 of the flow diagram, an encoded digital picture that includes a plurality of picture slices is received. For example, the encoded digital picture can be raw video data, such as an elementary stream, that includes an encoded digital picture that has been encoded in accordance with a specific video standard that supports arbitrary slice ordering. The temporal order that picture slices of the encoded digital picture is received at the video processing system ofFIG. 1 is, referred to as the receive order. The receive order can be different than the render order of the picture slices. - The term “encoded digital picture” is intended to refer to digital information that represents a two-dimensional picture that can be decoded to form a rendered digital picture. The term “rendered digital picture” is intended to refer to a digital representation of a two-dimensional image having digital information representing pixels individually that can be rendered by a rendering device for display without further digital decoding. Also, each individual digital pixel of a rendered digital image is represented individually by a corresponding set of digital information that is mutually exclusive of digital information used to represent any other individual digital pixel of the rendered digital image.
- For example, the received VIDEO STREAM received at MPE 10 represents a picture in an encoded format as opposed to a renderable format, and therefore is referred to as an encoded digital picture. However, once encoded digital information is sufficiently decoded to where it is in a renderable format that represents digital pixels individually, such that they can be rendered by a rendering engine, the information is referred to as a rendered digital picture. It will be appreciated that a rendered digital picture may need further video processing to improve the quality of the rendered digital picture it represents. For example, video decode processing may generate an unfiltered rendered digital picture that still needs further processing, such as filtering, to remove undesirable visual artifacts.
- The VIDEO STREAM received at
video processor 101 is received from a video source. Receiving the VIDEO STREAM from a video source can include retrieving the VIDEO STREAM frommemory 20. For example, referring toFIG. 3 , a more detailed implementation of the interconnects 901-904 is illustrated to include amemory control module 50 and aninterconnect 90. For purposes of discussion,interconnect 90 is considered to be a bus structure including a plurality of conductive nodes through which the various modules ofMPE 10 can provide requests tomemory control module 50 to access information, such as information atmemory 20. - Because various video standards supported by the video processor of
FIG. 1 allow arbitrary picture slice ordering, and discontinuous macroblocks within each picture slice, the receive order of a plurality of picture slices of an encoded picture within the VIDEO STREAM can be different than their render order. For example, referring toFIG. 4 , the picture slice partitioning of a picture represented by a macroblock array ofsize 22×18 is illustrated. The picture represented by the macroblock array ofFIG. 4 has been encoded to have a set of picture slices labeled S1-S7. Each picture slice includes the macroblocks surrounded by its corresponding bold borders. Note that the numeric suffix of each picture slice label indicates the relative render order of the picture slice, as determined by the render order of the picture slices' the top-left macroblock. For example, picture slice S3 includes macroblocks that will be rendered before and after the macroblocks of picture slice S4, however, since the top-left macroblock of picture slice S3, MB[1,3] is rendered before the top-left macroblock of picture slice S4, MB[7,4], the picture slice S3 has a render order that is prior to the render order of picture slice S4. Note that the macroblocks ofFIG. 4 can be referred to individually using their corresponding row and column location, such as MB[1,1], or by using their render order, such as MB1. For example, the references MB[1,1] and MB0 refer to the same macroblock, references MB[2,1] and MB1 refer to the same macroblock, and references MB [22,1.8] and MB395 refer to the same macroblock. - It will be appreciated that the encoding of the picture corresponding to the macroblock array of
FIG. 4 forms an encoded digital image, and the subsequent transmission and receipt of the generated encoded digital image within the VIDEO STREAM ofFIG. 1 , results in an ordering of the picture slices S1-S7 that can be different from the render order of the picture. For purposes of discussion, it is assumed that receive order of the picture slices of the encoded digital picture at thevideo processor 101 is as follows: S1, S4, S3, S2, S5, S6, and S7. The receive order of each picture slice is graphically illustrated at the macroblock array ofFIG. 5 , where the receive order is indicated by a prefix to each picture slice label. For example, slice S2 is labeled 4/S2, to indicated that while slice S2 is the second slice in rendering order, it the forth received slice of the receive order.FIG. 6 illustrates a block diagram representing the encoded digital picture that corresponds to the picture represented by the macroblock array ofFIG. 5 as received atvideo processor 101. Picture slices illustrated nearer the top of the encodeddigital picture 51 were received earlier than picture slices illustrated nearer the bottom. - Referring back to the flow diagram of
FIG. 2 , after the encoded digital picture is received atvideo processor 101, flow proceeds to block 12. Atblock 12, the picture slices of the encodeddigital picture 51 are processed by thevideo processor 101 in the order they were received to generate encodeddigital picture 52 ofFIG. 6 . Encodeddigital picture 52 is therefore partially decoded. In one embodiment,video processor 101 includes a bitstream parser module 1011 and anentropy decoder module 1012 as illustrated inFIG. 7 that perform decode operations. The output fromvideo processor 101 is the encodeddigital picture 52. The encodeddigital picture 52 includes a plurality of picture slices that correspond to the plurality of picture slices of the encodeddigital picture 51. Processing of picture slices of the encodeddigital picture 51 is performed receive order, resulting in the picture slices of encodeddigital picture 52 being generated in the receive order. - At
block 13 of the flow diagram ofFIG. 2 , the picture slices of the encodeddigital picture 52 are stored sequentially at a picture buffer ofmemory 20 based upon the receive order. For example, the picture slices processed by thevideo processor 101, as previously discussed atblock 12, are stored atpicture buffer 2011 in theportion 201 ofmemory 20. The picture slices can be stored as a result of a DMA request tomemory control module 50 ofFIG. 3 , whereby as portions of encodeddigital picture 52 become available atvideo processor 101 as they are stored atmemory 20. Note that the amount of digital data needed to represent the encodeddigital picture 52 will typically differ from the amount of digital data needed to represent the encodeddigital picture 51. -
FIG. 8 illustrates the picture slices of encodeddigital picture 52 stored atbuffer 2011. For example, the picture slice S1 is stored in thebuffer 2011 beginning at offset 0xc000, and immediately before picture slice S4. The picture slice S4 is stored in thebuffer 2011 beginning at offset 0xc200, and immediately before picture slice S3. The picture slice S3 is stored in thebuffer 2011 beginning at offset 0xc400, and immediately before picture slice S2. The picture slice S2 is stored in thebuffer 2011 beginning at offset 0xcb00, and immediately before picture slice S5. The picture slice S5 is stored in thebuffer 2011 beginning at offset 0xd400, and immediately before picture slice S6. The picture slice S6 is stored in thebuffer 2011 beginning at offset 0xd500, and immediately before picture slice S7. The picture slice S7 is stored in thebuffer 2011 beginning at offset 0xd800. Note that the macroblocks of picture slice S3 are discontinuous, relative to their raster order, because of intervening picture slice S4, as illustrated atFIG. 4 . The dashed line at offset 0xca00 indicates the offset location ofbuffer 2011 where the discontinuous portion of picture slice S3 is stored. - At
block 14 ofFIG. 2 , a corresponding size of each picture slice of encodeddigital picture 52 as stored atmemory buffer 2011 is determined. In one embodiment, thevideo processor 101 determines the size, e.g., the number of words, of a picture slice of encodeddigital picture 52 by determining the number of words of each macroblock of the picture slice. For example, the size can be determined byentropy decode module 1012 as a macroblock's information is written fromvideo processor 101 tomemory 20. Summing the size of each macroblock of a picture slice provides the total number of words used to represent the picture slice. The purpose of determining picture slice size information will be described below. - At
block 15, information for each picture slice of the encodeddigital picture 52 is written to picture slicemap table memory 30. It will be appreciated that each encoded digital picture stored atmemory portion 101 ofmemory 20 is represented by a corresponding set of information stored in the picture slicemap table memory 30. Information stored at picture slicemap table memory 30 for an individual picture slice includes: an indicator of the start location of the picture slice in the memory buffer; an indicator of the end location of the picture slice information in the memory buffer; and an indicator of the location of information related to the next picture slice of the encoded digital picture in the picture slicemap table memory 30. -
FIG. 9 illustrates a table, referred to as a picture slice table, representing the information stored at picture slicemap table memory 30 in response tovideo processor 101 generating and storing encodeddigital picture 52 atbuffer 1011. The picture slice table includes a record, e.g., a row, for each macroblock of encodeddigital picture 52. Therefore, the table ofFIG. 9 has 396 records based upon the 22×18 array macroblocks of encodeddigital picture 52. The first column of the table ofFIG. 9 lists record identifiers 0-395, each respective record corresponds to one of the 396 macroblocks of encodeddigital picture 52 such that there is a one-to-one correspondence. For example,record 0 corresponds to MB0,record 1 corresponds to MB1. - Each record of the picture slice table is offset in picture slice
map table memory 30 from the previous record by a known amount, such as 0x10. The second column of the table ofFIG. 9 indicates the size of each picture slice, or discontinuous portion of a picture slice, e.g., the number of words of the picture slice atbuffer 2011. The fourth column of the table ofFIG. 8 indicates an offset location within thebuffer 2011 that indicates where the picture slice associated with the record is stored. Note that the location inmemory 20 where a picture slice ends can be determined based on its storing location, e.g., the information at the fourth column, and its size. The third column ofFIG. 8 indicates a macroblock skip length indicating the number of records of the table ofFIG. 9 that need to be skipped skip to locate the record having information related to the next picture slice, or discontinuous picture slice portions, of the picture. The picture slice map ofFIG. 9 will be better understood with reference toFIG. 10 . -
FIG. 10 illustrates a flow diagram representing a method in accordance with a specific embodiment of the present disclosure that is applied to each picture slice of an encoded digital picture to store relevant information that will subsequently be used byvideo processor 102 to access the picture slice information stored atmemory 20 by render order. - At
block 331, a determination is made as to which record of the table ofFIG. 9 is to be populated. Note that only records corresponding to the first macroblock of a picture slice or a discontinuous portion of a picture slice are to be populated with picture slice information for any given picture map. Therefore, with respect to encodeddigital picture 52, only eight records of the picture slice table ofFIG. 9 will be populated. Themapping module 1013 receives information frombit stream parser 1011 and determines the partitioning of encodeddigital picture 52, and controls where picture slice information is stored at picture slicemap table memory 30 based of this information. Since picture slice S1 starts at macroblock MB1, the row the having themacroblock indicator 1, which corresponds to macroblock MB1, is selected and populated by themapping module 1013 as indicated herein. - At
block 332, an indicator based upon the number of macroblocks in the current picture slice is stored at the record identified atblock 331. This value is determined by themapping module 1013 based on information frombit stream parser 1011 during parsing. In one embodiment, the value stored at the table ofFIG. 9 is one less than the total number of macroblocks in the current picture slice, so that when multiplied by the size of each record an offset to the next record representing a picture slice is determined. Since the number of macroblocks within S1, is 10, a value of 9 is stored at the column labeled MACROBLOCK SKIP LENGTH. - At
block 333, an indicator is stored at the selected record of table 9 that indicates the starting location of the picture slice information within the memory buffer. This information is provided by themanagement module 1013 based upon information received fromentropy decode module 1012 relating to storing information atmemory 20. For example,entropy decode module 1012 receives the beginning buffer location frommemory control module 50 during a store operation during which each picture slice is stored. Based upon the information ofFIG. 8 , a value of 0xc000 was returned to the MPE10 during the store operation and stored at the column labeled PICTURE SLICE OFFSET. - At
block 334, an indicator is stored at the selected record indicating the ending location of the picture slice information within the memory buffer. It will be appreciated that the picture slice size that was calculated earlier by themanagement module 1013 is an indicator of where information associated with a picture slice ends. Therefore, the size of picture slice S1 is stored at the column labeled PICTURE SLICE LENGTH. The size can indicate a number of words. - The next received picture slice from the encoded
digital picture 52 is picture slice S4. Since picture slice S4 starts at macroblock MB72, the row the having a macroblock indicator of 72, which corresponds to macroblock MB72, is selected. Since the number of macroblocks within S4, is 11, a value of 10 is stored at the column labeled MACROBLOCK SKIP LENGTH of the selected record. Based upon the information atFIG. 8 , a value of 0xc200 is stored at the column labeled PICTURE SLICE OFFSET of the current record. A size of 0x200 for picture slice S4 has been stored at the column labeled PICTURE SLICE OFFSET of the current record. - The next received picture slice from the encoded
digital picture 52 is picture slice S3. However, picture slice S3 includes two discontinuous sets of macroblocks. The first discontinuous set of macroblocks starts at macroblock MB44 and ends with MB71. The second discontinuous set of macroblocks starts at macroblock MB83 and ends with MB87. Each discontinuous set of macroblocks is represented by a separate record at the table ofFIG. 9 , in order to facilitate their being accessible in render order. Since the first discontinuous portion of picture slice S3 starts at macroblock MB44, the row the having a macroblock indicator of 44, which corresponds to macroblock MB44 is selected. Since the number of macroblocks within the first discontinuous portion of S3 is 28, a value of 27 is stored at the column labeled MACROBLOCK SKIP LENGTH. Based upon the information atFIG. 8 , a value of 0xc400 is stored at the column labeled PICTURE SLICE OFFSET. A size of 0x600 for the second discontinuous portion of picture slice S3 has been stored at the column labeled PICTURE SLICE LENGTH. - Since the second discontinuous portion of slice S3 starts at macroblock MB83, the row the having a macroblock indicator of 83, which corresponds to macroblock MB38 is selected. Since the number of macroblocks within the second discontinuous portion of S3 is 5, a value of 4 is stored at the column labeled MACROBLOCK SKIP LENGTH. Based upon the information of
FIG. 8 , a value of 0xca00 is stored at the column labeled PICTURE SLICE OFFSET. A size of 0x100 for the second discontinuous portion of picture slice S3 has been stored at the column labeled PICTURE SLICE LENGTH. - The next received picture slice from the picture of
FIG. 4 is picture slice S2. - Since picture slice S2 starts at macroblock MB44, the row the having a macroblock indicator of 44, which corresponds to macroblock MB4 is selected. Since the number of macroblocks within S2 is 28, a value of 27 is stored at the column labeled MACROBLOCK SKIP LENGTH. Based upon the information of
FIG. 8 , a value of 0xc400 is stored at the column labeled PICTURE SLICE OFFSET. A size of 0x600 for picture slice S2 has been stored at the column labeled PICTURE SLICE LENGTH. - The next received picture slice from the encoded
digital picture 52 is picture slice S5. Since picture slice S5 starts at macroblock MB88, the row the having a macroblock indicator of 88, which corresponds to macroblock MB88 is selected. Since the number of macroblocks within S5 is 1, a value of 0 is stored at the column labeled MACROBLOCK SKIP LENGTH. Based upon the information ofFIG. 8 , a value of 0xd400 is stored at the column labeled PICTURE SLICE OFFSET. A size of 0x100 for picture slice S5 has been stored at the column labeled PICTURE SLICE LENGTH. - Similarly, the records corresponding to macroblock MB89 and MB100 are populated as indicated at
FIG. 9 . - The generated picture map table as illustrated
FIG. 9 , therefore, includes information that indicates the render order of the received picture slices. In addition, the picture slices of encodeddigital picture 52 can be accessed in any order, including render order, based upon the information stored at the picture slice map table illustrated atFIG. 10 . - Referring back to the flow diagram of
FIG. 2 , atblock 16, the plurality of picture slices of encodeddigital picture 52 stored at thepicture buffer 2011 are retrieved in render order byvideo processor 102 for processing. Atblock 17, the retrieved information is processed in render order, since the picture slice information is retrieved in render order by thevideo processor 102. Therefore, thevideo processor 102 can include a filter block portion that can access picture information across all picture slice and macroblock boundaries during filtering. - Referring to
FIG. 1 , rendered pictures are stored atmemory portion 202 where picture buffers 2021, 2022, and 2023 reside. Therendering engine 103 can render an image atdisplay device 40 by accessing rendered digital picture frommemory portion 202. - In accordance with a first aspect of the present disclosure, the first plurality of picture slices is processed in a first order to obtain a second plurality of picture slices based upon the first plurality of picture slices, where the first order is different than a render order of a picture represented by the first and second encoded digital images. The second plurality of slices are stored at a first memory buffer in response to being processed, where each picture slice of the second plurality of picture slices is stored at a corresponding offset of the first memory buffer. A corresponding size is determined for each picture slice of the second plurality of picture slices. Corresponding information is stored in a memory table for each picture slice of the plurality of picture slices indicating a start location of the picture slice, an end location of the picture slice, and an index to a next picture slice in the memory table. The second plurality of picture slices are processed in the render order to obtain a rendered digital image of the picture.
- In an implementation indicating the end location includes indicating a size of the corresponding picture slice. In another implementation storing the second plurality of picture slices at the first memory includes storing coefficient data of the picture slice separately from motion vector prediction data. In another implementation, storing the second plurality of picture slices includes storing coefficient data of the picture slice separately from motion vector prediction data. In another implementation, the memory table includes a plurality of records, one record for each corresponding macroblock of the picture, wherein information for each picture slice of the plurality of picture slices is stored at a corresponding one of the records of the plurality of records. In another implementation, the memory table includes a plurality of records, one record for each corresponding macroblock of the picture, wherein the corresponding one of them is selected to correspond to the first macroblock within the picture slice.
- Note that not all of the activities described above in the general description or the examples are required, that a portion of a specific activity may not be required, and that one or more further activities may be performed in addition to those described. Still further, the order in which activities are listed are not necessarily the order in which they are performed. After reading this specification, skilled artisans will be capable of determining what activities can be used for their specific needs or desires.
- In the foregoing specification, principles of the invention have been described above in connection with specific embodiments. However, one of ordinary skill in the art appreciates that one or more modifications or one or more other changes can be made to any one or more of the embodiments without departing from the scope of the invention as set forth in the claims below. Accordingly, the specification and figures are to be regarded in an illustrative rather than a restrictive sense and any and all such modifications and other changes are intended to be included within the scope of invention.
- Any one or more benefits, one or more other advantages, one or more solutions to one or more problems, or any combination thereof have been described above with regard to one or more specific embodiments. However, the benefit(s), advantage(s), solution(s) to problem(s), or any element(s) that may cause any benefit, advantage, or solution to occur or become more pronounced is not to be construed as a critical, required, or essential feature or element of any or all the claims.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/620,190 US20130070849A1 (en) | 2008-08-31 | 2012-09-14 | Method and Device for Reordering Video Information |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/202,293 US8331446B2 (en) | 2008-08-31 | 2008-08-31 | Method and device for reordering video information |
US13/620,190 US20130070849A1 (en) | 2008-08-31 | 2012-09-14 | Method and Device for Reordering Video Information |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/202,293 Continuation US8331446B2 (en) | 2008-08-31 | 2008-08-31 | Method and device for reordering video information |
Publications (1)
Publication Number | Publication Date |
---|---|
US20130070849A1 true US20130070849A1 (en) | 2013-03-21 |
Family
ID=41725395
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/202,293 Expired - Fee Related US8331446B2 (en) | 2008-08-31 | 2008-08-31 | Method and device for reordering video information |
US13/620,190 Abandoned US20130070849A1 (en) | 2008-08-31 | 2012-09-14 | Method and Device for Reordering Video Information |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/202,293 Expired - Fee Related US8331446B2 (en) | 2008-08-31 | 2008-08-31 | Method and device for reordering video information |
Country Status (1)
Country | Link |
---|---|
US (2) | US8331446B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014156708A1 (en) * | 2013-03-29 | 2014-10-02 | ソニー株式会社 | Image decoding device and method |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8923384B2 (en) * | 2007-12-31 | 2014-12-30 | Netlogic Microsystems, Inc. | System, method and device for processing macroblock video data |
US8462841B2 (en) * | 2007-12-31 | 2013-06-11 | Netlogic Microsystems, Inc. | System, method and device to encode and decode video data having multiple video data formats |
US20100053181A1 (en) * | 2008-08-31 | 2010-03-04 | Raza Microelectronics, Inc. | Method and device of processing video |
US8897365B2 (en) * | 2008-11-19 | 2014-11-25 | Nvidia Corporation | Video rate control processor for a video encoding process |
US8605791B2 (en) * | 2008-11-21 | 2013-12-10 | Nvidia Corporation | Video processor using an optimized slicemap representation |
JP4592805B1 (en) * | 2009-06-11 | 2010-12-08 | 株式会社東芝 | Moving picture decoding apparatus, program, and decoding process simplification method |
US9313514B2 (en) | 2010-10-01 | 2016-04-12 | Sharp Kabushiki Kaisha | Methods and systems for entropy coder initialization |
JP2013098735A (en) * | 2011-10-31 | 2013-05-20 | Canon Inc | Image encoder, image encoding method and program, image decoder, and image decoding method and program |
US9690626B2 (en) | 2014-06-27 | 2017-06-27 | Vmware, Inc. | Processing workloads in single-threaded environments |
CN110555130A (en) * | 2019-09-02 | 2019-12-10 | 唐山茁棋科技发展有限公司 | Data processing method of electronic information technology based on big data |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060233525A1 (en) * | 2005-04-15 | 2006-10-19 | Sony Corporation | Encoding apparatus and method, and decoding apparatus and method |
US20080056347A1 (en) * | 2006-06-30 | 2008-03-06 | Yi-Jen Chiu | Flexible macroblock ordering and arbitrary slice ordering apparatus, system, and method |
US20080063082A1 (en) * | 2006-09-07 | 2008-03-13 | Fujitsu Limited | MPEG decoder and MPEG encoder |
US20080225956A1 (en) * | 2005-01-17 | 2008-09-18 | Toshihiko Kusakabe | Picture Decoding Device and Method |
US20090052537A1 (en) * | 2004-11-04 | 2009-02-26 | Koninklijke Philips Electronics, N.V. | Method and device for processing coded video data |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5861864A (en) * | 1996-04-02 | 1999-01-19 | Hewlett-Packard Company | Video interface system and method |
EP0868085B2 (en) * | 1997-03-26 | 2006-09-27 | Matsushita Electric Industrial Co., Ltd. | Image decoding apparatus |
SE512813C2 (en) * | 1997-05-23 | 2000-05-15 | Ericsson Telefon Ab L M | Method of producing an integrated circuit comprising a dislocation-free collector plug connected to a buried collector in a semiconductor component, which is surrounded by a dislocation-free trench and integrated circuit made according to the method |
US6263023B1 (en) * | 1998-10-15 | 2001-07-17 | International Business Machines Corporation | High definition television decoder |
US6326984B1 (en) * | 1998-11-03 | 2001-12-04 | Ati International Srl | Method and apparatus for storing and displaying video image data in a video graphics system |
JP2000278692A (en) * | 1999-03-25 | 2000-10-06 | Victor Co Of Japan Ltd | Compressed data processing method, processor and recording and reproducing system |
US8913667B2 (en) * | 1999-11-09 | 2014-12-16 | Broadcom Corporation | Video decoding system having a programmable variable-length decoder |
JP2006518510A (en) * | 2003-02-21 | 2006-08-10 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Cache for volume visualization |
JP4182442B2 (en) * | 2006-04-27 | 2008-11-19 | ソニー株式会社 | Image data processing apparatus, image data processing method, image data processing method program, and recording medium storing image data processing method program |
US8582656B2 (en) * | 2007-04-13 | 2013-11-12 | Apple Inc. | Method and system for video encoding and decoding |
JP5329770B2 (en) * | 2007-05-08 | 2013-10-30 | 日立コンシューマエレクトロニクス株式会社 | Image converter |
US8923384B2 (en) * | 2007-12-31 | 2014-12-30 | Netlogic Microsystems, Inc. | System, method and device for processing macroblock video data |
US8462841B2 (en) * | 2007-12-31 | 2013-06-11 | Netlogic Microsystems, Inc. | System, method and device to encode and decode video data having multiple video data formats |
US20100053181A1 (en) * | 2008-08-31 | 2010-03-04 | Raza Microelectronics, Inc. | Method and device of processing video |
-
2008
- 2008-08-31 US US12/202,293 patent/US8331446B2/en not_active Expired - Fee Related
-
2012
- 2012-09-14 US US13/620,190 patent/US20130070849A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090052537A1 (en) * | 2004-11-04 | 2009-02-26 | Koninklijke Philips Electronics, N.V. | Method and device for processing coded video data |
US20080225956A1 (en) * | 2005-01-17 | 2008-09-18 | Toshihiko Kusakabe | Picture Decoding Device and Method |
US20060233525A1 (en) * | 2005-04-15 | 2006-10-19 | Sony Corporation | Encoding apparatus and method, and decoding apparatus and method |
US20080056347A1 (en) * | 2006-06-30 | 2008-03-06 | Yi-Jen Chiu | Flexible macroblock ordering and arbitrary slice ordering apparatus, system, and method |
US20080063082A1 (en) * | 2006-09-07 | 2008-03-13 | Fujitsu Limited | MPEG decoder and MPEG encoder |
Non-Patent Citations (1)
Title |
---|
ITU-T Recommendation H.264, Advanced video coding for generic audiovisual services, 11/2007, pages 1, 104-122 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014156708A1 (en) * | 2013-03-29 | 2014-10-02 | ソニー株式会社 | Image decoding device and method |
US20160044323A1 (en) * | 2013-03-29 | 2016-02-11 | Sony Corporation | Image decoding device and method |
US9930353B2 (en) * | 2013-03-29 | 2018-03-27 | Sony Corporation | Image decoding device and method |
Also Published As
Publication number | Publication date |
---|---|
US20100054339A1 (en) | 2010-03-04 |
US8331446B2 (en) | 2012-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8331446B2 (en) | Method and device for reordering video information | |
US8068545B2 (en) | Method and apparatus for processing image data | |
US7403564B2 (en) | System and method for multiple channel video transcoding | |
EP3657800A1 (en) | Method and device for coding image, and method and device for decoding image | |
JPH1084531A (en) | Method for reducing memory capacity required to decode two-way prediction coded frame during pull-down and its device | |
EP2965510A1 (en) | Region of interest scalability with shvc | |
JPH08195960A (en) | Method and apparatus for effectively addressing dram in video decompression processor | |
JPH10509569A (en) | Memory usage to decode and display video with 3: 2 pulldown | |
US8184700B2 (en) | Image decoder | |
KR100877164B1 (en) | A method, an apparatus and a video system for edge filtering video macroblocks | |
US20090041385A1 (en) | Image processing apparatus and method for controlling the same | |
CN111669597B (en) | Palette decoding apparatus and method | |
US20100053181A1 (en) | Method and device of processing video | |
US20100111166A1 (en) | Device for decoding a video stream and method thereof | |
US7469067B2 (en) | Sequential decoding of progressive coded JPEGs | |
US20180139464A1 (en) | Decoding system for tile-based videos | |
US20120163479A1 (en) | Methods and devices for filtering and coding a digital signal | |
US9326004B2 (en) | Reduced memory mode video decode | |
US8432975B2 (en) | Apparatus and method for processing a picture frame | |
WO2010031259A1 (en) | Method and device for decoding and scaling images, image displaying system | |
US20140056363A1 (en) | Method and system for deblock filtering coded macroblocks | |
US20120169924A1 (en) | Video processing apparatus capable of dynamically controlling processed picture quality based on runtime memory bandwidth utilization | |
TWI439137B (en) | A method and apparatus for restructuring a group of pictures to provide for random access into the group of pictures | |
CN107241601B (en) | Image data transmission method, device and terminal | |
CN106686380B (en) | Enhanced data processing apparatus employing multi-block based pipeline and method of operation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: NETLOGIC I LLC, DELAWARE Free format text: CHANGE OF NAME;ASSIGNOR:NETLOGIC MICROSYSTEMS, INC.;REEL/FRAME:035443/0824 Effective date: 20130123 Owner name: BROADCOM CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NETLOGIC I LLC;REEL/FRAME:035443/0763 Effective date: 20150327 |
|
AS | Assignment |
Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH CAROLINA Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:BROADCOM CORPORATION;REEL/FRAME:037806/0001 Effective date: 20160201 Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:BROADCOM CORPORATION;REEL/FRAME:037806/0001 Effective date: 20160201 |
|
AS | Assignment |
Owner name: NETLOGIC MICROSYSTEMS, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:RMI CORPORATION;REEL/FRAME:038958/0772 Effective date: 20091229 Owner name: RMI CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SCHLANGER, ERIK M.;DONAHE, BRENDAN D.;SWARTZENDRUBER, ERIC;AND OTHERS;SIGNING DATES FROM 20080904 TO 20090904;REEL/FRAME:038958/0720 |
|
AS | Assignment |
Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD., SINGAPORE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BROADCOM CORPORATION;REEL/FRAME:041706/0001 Effective date: 20170120 Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BROADCOM CORPORATION;REEL/FRAME:041706/0001 Effective date: 20170120 |
|
AS | Assignment |
Owner name: BROADCOM CORPORATION, CALIFORNIA Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:041712/0001 Effective date: 20170119 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED, SINGAPORE Free format text: MERGER;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:047231/0369 Effective date: 20180509 Owner name: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITE Free format text: MERGER;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:047231/0369 Effective date: 20180509 |
|
AS | Assignment |
Owner name: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITE Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE OF THE MERGER AND APPLICATION NOS. 13/237,550 AND 16/103,107 FROM THE MERGER PREVIOUSLY RECORDED ON REEL 047231 FRAME 0369. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:048549/0113 Effective date: 20180905 Owner name: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED, SINGAPORE Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE OF THE MERGER AND APPLICATION NOS. 13/237,550 AND 16/103,107 FROM THE MERGER PREVIOUSLY RECORDED ON REEL 047231 FRAME 0369. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:048549/0113 Effective date: 20180905 |