WO2006123913A1 - Procede de codage/decodage de donnees video - Google Patents

Procede de codage/decodage de donnees video Download PDF

Info

Publication number
WO2006123913A1
WO2006123913A1 PCT/KR2006/001882 KR2006001882W WO2006123913A1 WO 2006123913 A1 WO2006123913 A1 WO 2006123913A1 KR 2006001882 W KR2006001882 W KR 2006001882W WO 2006123913 A1 WO2006123913 A1 WO 2006123913A1
Authority
WO
WIPO (PCT)
Prior art keywords
blocks
order
probability table
positions
data
Prior art date
Application number
PCT/KR2006/001882
Other languages
English (en)
Inventor
Byeong Moon Jeon
Seung Wook Park
Ji Ho Park
Doe Hyun Yoon
Original Assignee
Lg Electronics Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020060044779A external-priority patent/KR20060120464A/ko
Application filed by Lg Electronics Inc. filed Critical Lg Electronics Inc.
Priority to US11/914,709 priority Critical patent/US20080232476A1/en
Priority to EP06747446A priority patent/EP1882367A4/fr
Publication of WO2006123913A1 publication Critical patent/WO2006123913A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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

Definitions

  • the present invention relates to a technology for coding video signals according to an SNR-scalable scheme and a technology for decoding such coded video signals.
  • Scalable Video Codec is a scheme which encodes video into a sequence of pictures with the highest image quality while ensuring that part of the encoded picture sequence (specifically, a partial sequence of frames intermittently selected from the total sequence of frames) can be decoded and used to represent the video with a low image quality.
  • An apparatus for encoding data according to a scalable scheme performs transform coding such as Discrete Cosine Transform (DCT) and quantization on data, encoded by motion estimation and prediction operations, in each frame of a received video signal. The quantization causes an information loss.
  • transform coding such as Discrete Cosine Transform (DCT)
  • quantization causes an information loss.
  • the encoding apparatus performs inverse quantization 11 and inverse transform 12 to obtain a difference (data for compensating for errors occurring during encoding) from the encoded data, and divides the difference into levels and produces SNR enhancement layer data DlO.
  • the SNR enhancement layer data is provided such that the image quality can be gradually improved by increasing the decoding level of the SNR enhancement layer data, which is referred to as Fine Grained Scalability (FGS) .
  • FGS Fine Grained Scalability
  • FIG. Ia an FGS coder 13 in the encoding apparatus performs coding of SNR enhancement layer data for conversion into a data stream. This process is illustrated in FIG. Ib.
  • a data value "1" illustrated in FIG. Ib is not a real data value but a simplified value of any nonzero DCTed coefficient This simplified value is also used to represent any nonzero data value in blocks in the following description.
  • the FGS coder 13 divides SNR enhancement layer data included in a picture into 4x4 blocks. Then, while selecting blocks 0, 1, 2, ... sequentially (i.e., in a raster scanning order) , the FGS coder 13 sequentially reads data values along a predetermined zigzag scanning path 101 until "1" is read and sequentially arranges the read data values as denoted by "102i", thereby finishing a first cycle.
  • the FGS coder 13 sequentially scans and reads data values along the zigzag scanning path 101, starting from a position on the scanning path 101 subsequent to a position at which the first cycle was finished in each of the blocks, until "1" is read, and sequentially arranges the read data values as denoted by "102 2 ", thereby finishing a second cycle.
  • the FGS coder 13 performs coding in the same manner until all data values in the current picture are coded and arranges the data values in the order of cycles to generate a final data stream 110.
  • FGS data SNR enhancement layer data
  • the order of blocks in a picture is set according to a probability table and the blocks are scanned and coded into a data stream while the blocks are sequentially selected in the set order, and thereafter the probability table is updated and the order of blocks in the picture is reset based on the updated probability table and then the blocks, subsequent to a position in each of the blocks at which previous scanning was suspended, are scanned and coded into a data stream while the blocks are sequentially selected in the reset order.
  • a picture is divided into upper-level blocks and the order of the upper-level blocks and the order of blocks in each of the upper-level blocks are set according to a probability table, and then the upper-level blocks and the blocks in each of the upper-level blocks are scanned and coded into a data stream while the upper-level blocks are sequentially selected in the set order thereof and the blocks in each of the selected upper-level blocks are sequentially selected in the set order thereof.
  • a probability table is created based on respective frequencies of positions at which scanning was suspended in each of blocks in a picture, and each of the blocks is coded into a data stream while each of the blocks is scanned along a path determined based on an order of the positions arranged in decreasing order of the frequencies in the created probability table.
  • the order of blocks and/or upper-level blocks for constructing a picture, which is to be constructed from a received data stream is determined according to a probability table created according to each of the above coding methods, and the blocks are selected in the determined order and data sections of the data stream are filled in the selected blocks.
  • the probability table represents a distribution of positions, at which nonzero data is present, in each of the blocks.
  • the probability table is updated by adding respective frequencies of positions, at which scanning was suspended in a data coding process or data filling was suspended in a data decoding process, in each of the blocks.
  • the probability table includes a plurality of probability tables classified according to types of blocks and a probability table suitable for a type of blocks to be coded or blocks, in which data is to be filled, is selected and used to determine the order of the blocks of the type.
  • the order of the upper-level blocks is determined based on an order of respective representative values of the upper-level blocks, the representative value of each of the upper-level blocks being a representative value of positions at which scanning was suspended or data filling was suspended in blocks in the upper-level block, the order of the respective representative values being an order of the respective representative values arranged in a currently used probability table.
  • the representative value is the average of index values of the positions at which scanning was suspended or data filling was suspended in the blocks.
  • the representative value is at least one of the sum of index values of the positions at which scanning was suspended or data filling was suspended in the blocks, the minimum thereof, and an integer that is greater than the average by less than one .
  • the order of the blocks in each of the upper-level blocks or the order of the upper-level blocks is determined according to an order of positions on a scanning path or a filling path immediately subsequent to the positions at which scanning was suspended or data filling was suspended or virtual positions corresponding to the representative values of the upper-level blocks, the order of the immediately subsequent positions being an order of the immediately subsequent positions arranged in the probability table.
  • each of the upper-level blocks has a size of l ⁇ xl ⁇ and each of the blocks in each of the upper-level blocks has a size of 4x4.
  • FIG. Ia schematically illustrates an apparatus for encoding video signals when it is applied to FGS (Fine Grained
  • FIG. Ib schematically illustrates a method for coding FGS data into a data stream
  • FIG. 2a schematically illustrates an apparatus for encoding video signals according to the present invention when it is applied to FGS data coding
  • FIG. 2b schematically illustrates an example method of the apparatus of FIG. 2a coding FGS data into a data stream
  • FIG. 3 schematically illustrates an example of a method for coding FGS data into a data stream while selecting blocks in a different order in each scanning cycle according to an embodiment of the present invention
  • FIG. 4 schematically illustrates an example of a method for coding FGS data into a data stream in which the order of blocks to be selected is determined using different probability tables for different types of blocks according to another embodiment of the present invention
  • FIG. 5 schematically illustrates a method for determining a scanning path on a block based on a probability table according to an embodiment of the present invention
  • FIGS. 6 and 7 schematically illustrate examples of a coding method according to another embodiment in which a picture is divided into macroblocks, the order in which macroblocks are selected is determined based on a probability table, and the order in which blocks in each macroblock are selected is also determined based on the probability table; and
  • FIG. 8 schematically illustrates the configuration of an apparatus for decoding a data stream encoded by the apparatus of FIG. 2a.
  • FIG. 2a illustrates the configuration of an encoding apparatus that performs a coding method according to the present invention.
  • the encoding apparatus includes an FGS coder 23 to perform the coding method according to the present invention.
  • the FGS coder 23 includes a storage 23a (for example, a memory) for storing a probability table based on scan indices of positions in each block, which will be referred to as "a probability table" for short.
  • each picture which may include a frame or slice, is divided into 4x4 sub-blocks to be coded into a data stream.
  • the FGS coder 23 creates a probability table 201, in which respective frequencies of presence of data "1" (i.e., nonzero data) at positions in each sub-block of an immediately previous picture (or previous pictures) are written, and stores the probability table 201 in the memory 23a before performing FGS coding on a current picture.
  • the FGS coder 23 also creates a block ordering table used to determine a block order in which sub- blocks in the current picture are selected. Specifically, the FGS coder 23 creates a block ordering table by arranging respective scan indices of positions in each sub-block in decreasing order of the frequencies of presence of data "1" at the positions as denoted by "202" with reference to the created probability table 201 and then by writing, in association with each of the scan indices, respective block numbers of one or more sub-blocks, if any, in which scanning was suspended at one or more positions corresponding to the scan index in the previous scanning cycle, and stores the created block ordering table in the memory 23a.
  • a block ordering table 210 created for the first cycle all block numbers are written in association with the first scan index (index 0) as shown in FIG. 2b since there is no cycle prior to the first cycle.
  • the FGS coder 23 performs FGS coding of the first cycle while selecting the sub-blocks in a block order specified in the block ordering table 210 as denoted by "202" .
  • the FGS coder 23 codes data in each of the sub-blocks in a zigzag fashion while selecting the sub-blocks in a predetermined order (i.e., in the raster scanning order) since all the sub-blocks are associated with the index value "0" in the first cycle.
  • the FGS coder 23 updates the block ordering table in the memory 23a. Specifically, after the first cycle, the FGS coder 23 creates a block ordering table 211 for the second cycle by writing, in association with each of the scan indices, respective block numbers of one or more sub-blocks in which scanning was suspended at one or more positions corresponding to the scan index in the first cycle. In the example of FIG. 2b, the respective block numbers of the first and fourth sub-blocks
  • block 0 and block 3 are written in association with the scan index 0 since scanning was suspended at a position corresponding to the scan index 0 in each of the first and fourth sub-blocks (block 0 and block 3), and the block number of the second sub-block (block 1) is written in association with the scan index 3 since scanning was suspended at a position corresponding to the scan index 3 in the second sub- block (block 1) .
  • the FGS coder 23 selects the sub-blocks in a block order specified in the block ordering table 211 and reads and codes data at positions in each of the selected sub-blocks while scanning the positions therein, subsequent to a position at which scanning was suspended in the first cycle.
  • the FGS coder 23 completes a data stream 220 of the current picture by performing the above process for the whole of the current picture.
  • the FGS coder 23 updates the previously created probability table 201 or recreates a probability table and then uses it for a next picture.
  • the coded data stream 220 is thereafter compressed according to a suitable encoding scheme, a description of the compression is omitted herein since it is not directly related to the present invention.
  • data is coded according to the FGS coding method of the embodiment of FIG. 2b, there is a high probability that data "1" , which contributes to improving the image quality, is located ahead in the coded data stream.
  • FIG. 2b even if the coded stream 220 is cut during transmission as denoted by "221", a larger number of data values "1" than that when using the coding method of FIG. Ib can be transmitted to the decoder.
  • 8 data values "1" can be transmitted in the example of FIG.
  • FIG. 3 schematically illustrates an FGS data coding method according to another embodiment of the present invention.
  • each picture which may include a frame or slice, is divided into 4x4 sub-blocks to be coded as in the embodiment of FIG. 2b.
  • the FGS coder 23 when performing a first cycle, creates a block ordering table 310 for the first cycle by arranging respective scan indices of positions in each scan-block in decreasing order of the frequencies of suspension of scanning at the positions in a previous picture with reference to a probability table 301 obtained for the previous picture in the same manner as in the embodiment of FIG. 2b.
  • the FGS coder 23 writes respective block numbers of one or more sub-blocks in association with each of the arranged scan indices.
  • the FGS coder 23 writes the block numbers of all sub- blocks in association with one index (for example, the index 0) as in the embodiment of FIG. 2b.
  • the FGS coder 23 then performs the first cycle while selecting sub-blocks in a block order specified in the block ordering table 310 created for the first cycle.
  • the FGS coder 23 updates the probability table 301 in the memory 23a. Specifically, the FGS coder 23 creates a probability table 302 for the second cycle by increasing the frequencies of suspension of scanning of the scan indices in the probability table 301 by the frequencies of suspension of scanning at the corresponding positions in the sub-blocks in the first cycle. The FGS coder 23 then creates a block ordering table 311 for the second cycle based on the created probability table 302. Since the frequencies of positions at which scanning was suspended is changed by performing the first cycle, the order of scan indices of the block ordering table 311 for the second cycle (for example, in a portion 311a thereof in FIG. 3) may differ from that of the block ordering table 301 for the first cycle.
  • the FGS coder 23 completes the block ordering table 311 for the second cycle by writing, in association with each of the scan indices, respective block numbers of one or more sub- blocks in which scanning was suspended at one or more positions corresponding to each of the scan indices in the first cycle.
  • the FGS coder 23 performs FGS coding of data of the second cycle into a data stream while selecting the sub-blocks in the order of corresponding scan indices arranged in the completed block ordering table for the second cycle.
  • probability tables created for cycles of a previous picture can be used as probability tables for cycles of the current picture.
  • the FGS coder 23 when performing FGS coding of a picture, creates respective probability tables for cycles of the picture and stores the created probability tables in the memory 23a. For example, when performing the first cycle of a picture, the FGS coder 23 creates and stores a probability table for the first cycle in which the frequencies of corresponding positions at which scanning was suspended in sub- blocks of the picture in the first cycle are written, and, when performing the second cycle of the picture, the FGS coder 23 creates and stores a probability table for the second cycle in which the frequencies of corresponding positions at which scanning was suspended in the sub-blocks in the second cycle are written.
  • the FGS coder 23 creates and stores a probability table for each of the remaining cycles. Thereafter, when creating a block ordering table of each cycle of a subsequent picture, the FGS coder 23 may determine the order of scan indices based on the stored probability table for the corresponding cycle.
  • FIG. 4 schematically illustrates an FGS data coding method according to another embodiment of the present invention.
  • the FGS coder creates and uses a different probability table according to the type of currently coded blocks.
  • the FGS coder creates respective probability tables 400 for 16x16 intra DC or AC blocks, 4x4 inter blocks, and the like.
  • sub-blocks in a given picture are grouped into different types of groups, each including sub-blocks of the same type, and scans the sub-blocks in the picture on a group-by-group basis.
  • the FGS coder 23 selects a probability table according to the type of current blocks grouped in a picture (S401) and creates a block ordering table 410 based on the selected probability table 401.
  • the FGS coder 23 selects blocks in the order of corresponding scan indices arranged in the created table 410 and scans and codes the blocks into a data stream.
  • the FGS coder 23 creates a probability table 402 for the second cycle by incorporating, into the probability table, the frequencies of corresponding positions at which scanning was suspended in the first cycle and completes a block ordering table 411 based on the created probability table 402 and then uses the block ordering table 411 in the second cycle.
  • the FGS coder 23 selects a different probability table for a group of blocks of a different type (S401) and scans and codes the block group into a data stream in the same manner as described above.
  • FIG. 5 schematically illustrates a method for determining a scanning path in an FGS data coding method according to an embodiment of the present invention.
  • the FGS coder 23 Upon completion of FGS coding of a picture, the FGS coder 23 creates a probability table 501 according to the frequency of positions corresponding to each scan index at which data "1" is present in sub-blocks of the picture.
  • the probability table 501 illustrated in FIG. 5 is created by arranging the scan indices in decreasing order of the frequencies.
  • the probability table 501 is created in an example where the largest number of data values "1" are present at positions corresponding to the scan index 0 and the second largest number of data values "1" are present at positions corresponding to the scan index 2.
  • the probability table 501 created in the above manner is used to determine a scanning path of each sub-block in a next picture.
  • the FGS coder 23 reads and codes data of the sub-blocks into a data stream while performing scanning (502) of positions in each of the sub-blocks in the order of corresponding scan indices arranged in the probability table 501.
  • the FGS coder 23 updates the created probability table 501 by additionally incorporating, into the probability table, the frequencies of corresponding positions at which data "1" is present in the sub-blocks of the current picture.
  • the updated probability table 503 is used to determine a scanning path of each sub-block of a next picture.
  • FIGS. 6 and 7 schematically illustrate examples of the FGS data coding method according to this embodiment of the present invention.
  • each picture is divided into 16x16 macroblocks, and the order in which macroblocks are selected is determined on a probabilistic basis and the order in which 4x4 sub-blocks in each macroblock are selected is also determined on a probabilistic basis.
  • the FGS coder 23 codes the picture using a probability table 601 of the frequencies of positions at which data "1" is present (i.e., scanning was suspended) in sub-blocks of a previous picture.
  • the FGS coder 23 creates the probability table 601 when coding the previous picture in the same manner as in the above embodiments.
  • the FGS coder 23 codes sub-blocks in each of the macroblocks of the picture while scanning the macroblocks in the raster scanning order (602) .
  • the method for determining the order in which the sub- blocks in each macroblock are selected will be described later.
  • the FGS coder 23 determines a representative value of each macroblock.
  • the representative value of each macroblock may be the average of index values of positions at which scanning was suspended in 16 sub-blocks in the macroblock in the first cycle or may be an integer that is greater than the average by less than one. In another embodiment of the present invention, the representative value may be the sum of the index values. In another embodiment, the representative value may be the minimum of the index values.
  • the index value averages of the macroblocks are used as the representative values of the macroblocks and, when the representative values are determined as shown in FIG. 6, the order in which the macroblocks are selected is determined based on the previously created probability table 601 and the representative values of the macroblocks .
  • the method for determining the order of macroblocks will now be described in more detail with reference to the example of FIG. 6. Since the order of indices of the created probability table 601 is 3, 1, 2, ... (except for 0), the order of macroblocks is determined to be a macroblock having a representative value in the range of 2.0 to 2.9, a macroblock having a representative value in the range of 0 to 0.9, which is not present in the example of FIG.
  • each index value P is associated with a macroblock having a representative value X in the range of P-1 ⁇ X ⁇ P, which is less than the index value P, is as follows.
  • the order of macroblocks is reset based on representative values X so that scanning is initiated from positions corresponding to their index values, each of which is on average less than its associated index P specified in the probability table 601 (P-1 ⁇ X ⁇ P) , there is .a high probability that scanning will be suspended at a position corresponding to the index P since scanning was suspended at positions corresponding to the indices specified in the probability table.
  • the same principle that the order of blocks is determined by associating each block having a scanning suspension position index, which is less than a corresponding index specified in the probability table, with the corresponding index is applied when determining the order of sub-blocks in each macroblock, which will be described later in detail.
  • FIG. 6 is an example where the order of macroblocks is reset to the raster scanning order in the above manner.
  • the example 610 only illustrates resetting of the order of macroblocks. Indeed, the order in which the macroblocks are selected is reset using identification information of the macroblocks, rather than rearranging the macroblocks.
  • the macroblock selection order is reset using information (5, 20, 4, 8, 16, 1, 2, ...) including numbers (written at upper right corners of the macroblocks in the example of FIG. 6) which are assigned to the macroblocks and which are arranged in the order in which the macroblocks are to be selected.
  • the macroblocks are arranged in the raster scanning order.
  • a pair of colored (or shaded) macroblocks with identification numbers "4" and "8" written at upper right corners thereof is an example of the plurality of macroblocks having the same representative value .
  • the FGS coder 23 After the macroblock selection order is reset, the FGS coder 23 performs a second cycle while selecting macroblocks in the reset order and selecting sub-blocks in each macroblock. After performing the second cycle, the FGS coder 23 may update and use the previously created probability table 601 and may also use the same probability table for all cycles of the current picture. The FGS coder 23 uses one of the methods described in the above embodiments when updating the probability table.
  • the FGS coder 23 After performing the second cycle, the FGS coder 23 updates the representative values of the macroblocks using the frequencies of positions at which scanning was suspended in the sub-blocks in the second cycle and then resets the macroblock selection order based on the updated representative values and the probability table 601 (or the updated probability table) . Then, the FGS coder 23 performs a third cycle while selecting the macroblocks in the reset order.
  • the order in which 4x4 sub-blocks in each macroblock are selected is also determined based on the previously created probability table 601. Specifically, as illustrated in FIG. 7, the FGS coder 23 resets the order of sub-blocks according to the order, in which indices of positions at which scanning was suspended in the sub-blocks are arranged in the probability table 601, at the moment when each cycle is terminated. In the example of FIG.
  • the FGS coder 23 arranges the sub-blocks in the order of indices "2, 0 (having no corresponding sub-block), 1, 4, ! of positions at which scanning was suspended in the sub-blocks, which are 1 less than the corresponding indices "3, 1, 2, 5, ! arranged in the probability table 601, respectively (701) . If a plurality of sub-blocks having the same scanning suspension position index is present when setting the order of the sub-blocks in the above manner, the FGS coder 23 determines that the order of the plurality of sub-blocks is the raster scanning order (702) . In the example of FIG.
  • sub-blocks with identification numbers 1, 5, 7, 9, and 14 written at upper right corners thereof have the same scanning suspension position index (index 2) , so that the sub-blocks are arranged in the raster scanning order, i.e., they are arranged in increasing order of their identification numbers 1, 5, 7, 9, and 14.
  • index 2 scanning suspension position index
  • the identification numbers are introduced only for illustration in this example, they can also be used as actual identification numbers of sub- blocks .
  • the FGS coder 23 selects the sub-blocks in the arranged order while scanning positions in each of the selected sub-blocks in the current cycle in a zigzag fashion or according to the scanning method of the embodiment of FIG. 5, subsequent to a position therein at which scanning was suspended in the previous cycle, to code data in the sub-blocks into a data stream.
  • FIG. 8 is a block diagram of an embodiment of an apparatus for decoding a data stream coded and transmitted by the apparatus of FIG. 2a.
  • the data stream received by the apparatus of FIG. 8 contains data decompressed through a suitable decoding process at a front stage.
  • an FGS decoder 81 in the apparatus constructs a first picture by arranging data values "0" or "1" of the data stream in a picture according to the predetermined order in which the first picture has been scanned and coded.
  • the FGS decoder 81 Upon completion of the reconstruction of the first picture, the FGS decoder 81 provides the picture data to a signal decoding unit 80 that is provided downstream of the FGS decoder 81 and the signal decoding unit 80 performs inverse quantization and inverse transform on the picture data to decode it into a video signal .
  • the FGS decoder 81 While outputting a picture, the FGS decoder 81 analyzes data in the picture to create a probability table based on the frequencies of positions at which data "1" is present in each sub-block of the picture and stores the created probability table in a storage (for example, a memory 81a) . In the case of the embodiment of FIG. 4, the FGS decoder 81 groups sub-blocks in the picture into different types of groups, each including sub-blocks of the same type, and creates different probability tables for the groups.
  • the FGS decoder 81 then performs the inverse of the coding processes of the above embodiments on subsequent pictures. More specifically, the FGS decoder 81 creates a block ordering table based on the created probability table and stores it in the memory 81a. If the block ordering table is the first created one, block numbers are written in the raster scanning order in association with the index 0 in the block ordering table. Then, the FGS decoder 81 divides the received coded FGS data stream into data sections, each being ended with data "1" (i.e., each having a form of "0...0001" ) , selects sub- blocks in an order specified in the block ordering table, and arranges the data sections in the selected sub-blocks along zigzag scanning paths. In the case of the embodiment of FIG. 3, after completing the first cycle, the FGS decoder 81 updates the order of indices of the block ordering table using the frequencies of positions at which data "1" was filled in the sub-blocks in the first cycle.
  • the FGS decoder 81 Before performing the second cycle, the FGS decoder 81 rewrites block numbers in association with the indices in the block ordering table or in the updated block ordering table. Specifically, the FGS decoder 81 writes respective block numbers of one or more sub-blocks in which data "1" was filled at one or more positions corresponding to each of the indices in the first cycle, in association with each of the indices.
  • the FGS decoder 81 Upon completion of the block ordering in the block ordering table, the FGS decoder 81 divides the FGS data stream, subsequent to a position therein at which decoding was suspended, into data sections, each being ended with data "1" (i.e., each having a form of "0...0001"), selects sub-blocks in the block order specified in the block ordering table, and fills the data sections in the selected sub-blocks along zigzag scanning paths. The FGS decoder 81 reconstructs the FGS data stream into a picture in this manner.
  • the FGS decoder 81 creates and uses different block ordering tables for different groups, each including sub-blocks of the same type.
  • the FGS decoder 81 determines the type of a sub-block from a received picture or block header.
  • the FGS decoder 81 does not arrange the divided data sections, each being ended with data "1" (i.e., each having a form of "0...0001” ) , along the predetermined zigzag scanning paths as described above and, instead, arranges data of the data sections in the order of position numbers arranged in the created probability table.
  • the FGS decoder 81 determines or updates respective representative values of macroblocks using index values of positions at which decoded data "1" is present in the macroblocks and resets the order of the macroblocks according to positions at which the representative values are arranged in a previously created probability table. This resetting method is the same as that of the coding procedure described with reference to FIGS. 6 and 7.
  • the FGS decoder 81 rearranges 4x4 sub-blocks in each macroblock according to positions at which indices of positions, at which immediately previously decoded data "1" is present in the sub-blocks, are arranged in a previously created probability table. After the rearrangement, the FGS decoder 81 sequentially selects the macroblocks in a virtual picture in which data is to be filled, sequentially selects the rearranged sub-blocks in each selected macroblock, and sequentially writes data of the divided data sections, each being ended with data "1", of the input FGS data stream to the selected sub-blocks along zigzag scanning paths (or paths determined according to the embodiment of FIG. 5) .
  • the FGS decoder 81 reconstructs the entire FGS data stream into pictures and transfers the picture data to the decoding unit 80 provided downstream of the FGS decoder 81.
  • the decoding apparatus described above can be incorporated into a mobile communication terminal, a media player, or the like.
  • the present invention ensures that there is a high probability that a larger amount of data, which contributes to improving the image quality, than other data is transmitted to the decoder, thereby providing video signals with a higher image quality than the conventional method when the transmission channel changes.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

La présente invention concerne le codage des données de la couche d'amélioration du rapport signal-bruit (SNR) produites pendant le codage du signal vidéo. Cette méthode permet de déterminer l'ordre ou les blocs dans une image d'après une table de probabilité obtenue à partir de fréquences de position là ou existent des données non-zéro, de scanner et de coder des données sur chaque bloc en une séquence de données en tant que blocs de sélection dans l'ordre déterminé, d'actualiser la table de probabilités, de re-déterminer l'ordre des blocs dans l'image en fonction de la table de probabilité actualisée, et de balayer et de coder des données sur chaque bloc en une séquence de données juste après le point ou le balayage précédent a été suspendu en tant que blocs dans l'ordre prédéterminé. Avec la présente invention, on augmente la probabilité d'obtenir un côté de décodage avec davantage de données qui contribuent à améliorer la qualité vidéo
PCT/KR2006/001882 2005-05-19 2006-05-19 Procede de codage/decodage de donnees video WO2006123913A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US11/914,709 US20080232476A1 (en) 2005-05-19 2006-05-19 Method For Coding/Decoding Video Data
EP06747446A EP1882367A4 (fr) 2005-05-19 2006-05-19 Procede de codage/decodage de donnees video

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US68242705P 2005-05-19 2005-05-19
US60/682,427 2005-05-19
US68459005P 2005-05-26 2005-05-26
US60/684,590 2005-05-26
KR10-2006-0044779 2006-05-18
KR1020060044779A KR20060120464A (ko) 2005-05-19 2006-05-18 영상 데이터를 코딩/디코딩하는 방법

Publications (1)

Publication Number Publication Date
WO2006123913A1 true WO2006123913A1 (fr) 2006-11-23

Family

ID=37431457

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2006/001882 WO2006123913A1 (fr) 2005-05-19 2006-05-19 Procede de codage/decodage de donnees video

Country Status (2)

Country Link
EP (1) EP1882367A4 (fr)
WO (1) WO2006123913A1 (fr)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008134664A1 (fr) * 2007-04-26 2008-11-06 Texas Instruments Incorporated Procédé de décodage de signe et de grandeur de coefficient du codage cabac utilisable sur des processeurs de données vliw
CN104969553A (zh) * 2012-12-26 2015-10-07 韩国电子通信研究院 用于编码/解码图像的方法以及使用其的设备
CN108471537A (zh) * 2010-04-13 2018-08-31 Ge视频压缩有限责任公司 解码变换系数块的装置、方法、编码变换系数块的装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104796703B (zh) * 2015-04-22 2017-11-03 哈尔滨工业大学 基于预测模式率失真分析的可伸缩视频编码的码率控制方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790706A (en) * 1996-07-03 1998-08-04 Motorola, Inc. Method and apparatus for scanning of transform coefficients
US6462681B1 (en) * 1999-08-27 2002-10-08 Koninklijke Philips Electronics N. V. Scalable coding by scanning selected parts of respective bit-streams
US6771828B1 (en) * 2000-03-03 2004-08-03 Microsoft Corporation System and method for progessively transform coding digital data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790706A (en) * 1996-07-03 1998-08-04 Motorola, Inc. Method and apparatus for scanning of transform coefficients
US6462681B1 (en) * 1999-08-27 2002-10-08 Koninklijke Philips Electronics N. V. Scalable coding by scanning selected parts of respective bit-streams
US6771828B1 (en) * 2000-03-03 2004-08-03 Microsoft Corporation System and method for progessively transform coding digital data

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FANG X., LU Y., GAO W.: "A novel coefficient scanning scheme for directional spatial prediction-based image compression", PROC. INT'L CONF. MULTIMEDIA AND EXPO (ICME '03), vol. 2, 6 July 2003 (2003-07-06) - 9 July 2003 (2003-07-09), pages II557 - II560, XP010650616 *
See also references of EP1882367A4 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008134664A1 (fr) * 2007-04-26 2008-11-06 Texas Instruments Incorporated Procédé de décodage de signe et de grandeur de coefficient du codage cabac utilisable sur des processeurs de données vliw
US7885473B2 (en) 2007-04-26 2011-02-08 Texas Instruments Incorporated Method of CABAC coefficient magnitude and sign decoding suitable for use on VLIW data processors
CN108471537A (zh) * 2010-04-13 2018-08-31 Ge视频压缩有限责任公司 解码变换系数块的装置、方法、编码变换系数块的装置
US11252419B2 (en) 2010-04-13 2022-02-15 Ge Video Compression, Llc Coding of significance maps and transform coefficient blocks
US11297336B2 (en) 2010-04-13 2022-04-05 Ge Video Compression, Llc Coding of significance maps and transform coefficient blocks
CN108471537B (zh) * 2010-04-13 2022-05-17 Ge视频压缩有限责任公司 解码变换系数块的装置、方法、编码变换系数块的装置
CN104969553A (zh) * 2012-12-26 2015-10-07 韩国电子通信研究院 用于编码/解码图像的方法以及使用其的设备
CN104969553B (zh) * 2012-12-26 2018-06-01 韩国电子通信研究院 用于编码/解码图像的方法以及使用其的设备
US10154278B2 (en) 2012-12-26 2018-12-11 Electronics And Telecommunications Research Institute Method for encoding/decoding images, and apparatus using same
US10531115B2 (en) 2012-12-26 2020-01-07 Electronics And Telecommunications Research Institute Method for encoding/decoding images, and apparatus using same
US11245917B2 (en) 2012-12-26 2022-02-08 Electronics And Telecommunications Research Institute Method for encoding/decoding images, and apparatus using same

Also Published As

Publication number Publication date
EP1882367A1 (fr) 2008-01-30
EP1882367A4 (fr) 2010-11-10

Similar Documents

Publication Publication Date Title
US20080232476A1 (en) Method For Coding/Decoding Video Data
JP6263249B2 (ja) 動画像復号装置、動画像復号方法、動画像符号化装置および動画像符号化方法
CN105007497B (zh) 用于编码视频的方法
KR101653069B1 (ko) 비디오 디코딩 방법
US20200344478A1 (en) Method and apparatus for coding matrix and method and apparatus for decoding matrix
JP2019017104A (ja) ビデオを復号化する方法、ビデオを符号化する方法、デコーダ、エンコーダ、復号プログラムを記録したコンピュータ読み取り可能な記録媒体、および符号化プログラムを記録したコンピュータ読み取り可能な記録媒体
US10382768B2 (en) Method and apparatus for transform coefficient coding of non-square blocks
US20070098078A1 (en) Method and apparatus for video encoding/decoding
CN102150428A (zh) 用于使用自适应分段的视频编码的系统和方法
US11350106B2 (en) Method for encoding and decoding images, device for encoding and decoding images and corresponding computer programs
US10567783B2 (en) Video decoding method and apparatus using the same
WO2006123913A1 (fr) Procede de codage/decodage de donnees video
US20080043846A1 (en) Bit-plane decoding device and bit-plane decoding method
US20200068198A1 (en) Block-based video decoding method using pre-scan and apparatus thereof
CN117560508A (zh) 图像编码/解码设备以及发送数据的设备
CN101268698A (zh) 用于视频数据编码/解码的方法
US20090304091A1 (en) Method and Apparatus for Decoding/Encoding of a Scalable Video Signal
US20070237239A1 (en) Methods and apparatuses for encoding and decoding a video data stream
CN117714715A (zh) 图像解码设备、图像编码设备和数据发送设备
CN114747221B (zh) 基于变换的图像编码方法及其装置
CN117979005A (zh) 图像编码/解码设备和发送数据的设备
CN117857819A (zh) 图像编码设备、图像解码设备和数据发送设备

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200680016830.7

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2006747446

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

NENP Non-entry into the national phase

Ref country code: RU

WWP Wipo information: published in national office

Ref document number: 2006747446

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 11914709

Country of ref document: US