[go: up one dir, main page]

WO2008020470A1 - Decoding method and device - Google Patents

Decoding method and device Download PDF

Info

Publication number
WO2008020470A1
WO2008020470A1 PCT/JP2006/316037 JP2006316037W WO2008020470A1 WO 2008020470 A1 WO2008020470 A1 WO 2008020470A1 JP 2006316037 W JP2006316037 W JP 2006316037W WO 2008020470 A1 WO2008020470 A1 WO 2008020470A1
Authority
WO
WIPO (PCT)
Prior art keywords
processing
macroblock
processing unit
line
processor
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.)
Ceased
Application number
PCT/JP2006/316037
Other languages
French (fr)
Japanese (ja)
Inventor
Masahiko Toichi
Satoshi Imai
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to PCT/JP2006/316037 priority Critical patent/WO2008020470A1/en
Priority to JP2008529793A priority patent/JP4879269B2/en
Publication of WO2008020470A1 publication Critical patent/WO2008020470A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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 decoding method and apparatus, and more particularly to a decoding method and apparatus for decoding moving picture data encoded (ie, compressed) in accordance with a moving picture coding standard such as H.264.
  • a moving picture coding standard such as H.264.
  • H. 264 or MPEG (Moving Picture Experts Group) 4—AVC Advanced Video Coding
  • JVT Joint Standardization organization between ISO and ITU—T (ISO / I EC 14496-10 or ITU — T Q6Z16), a new compression / decompression technology standardized in 2003.
  • the H.264—AVC system (hereinafter simply referred to as the H.264 system) is known to be used in broadcasting for mobile terminals, which is called “one-segment broadcasting” in digital terrestrial television broadcasting.
  • H.264 format 4 x 4 pixel integer conversion, 9-direction intra prediction, 7 types of sub macro block division, minimum 4 x 4 pixel motion vector, multi-frame reference New technologies such as in-loop filters and arithmetic codes have been introduced to achieve a high compression ratio.
  • H.264 system it is said that the same playback image quality can be obtained with half the stream size compared to the MPEG 2 system.
  • signal processing devices that perform H.264 encoding and decoding include a configuration that performs parallel processing by software and a configuration that performs parallel processing by dedicated hardware. Has been used.
  • Patent Document 1 An H. 264 encoding / decoding method is proposed in Patent Document 1, for example.
  • Non-Patent Document 1 a method power for performing H.264 decoding decoding by parallel processing is proposed in Non-Patent Document 1, for example.
  • Patent Document 1 Japanese Patent Laid-Open No. 2005-354361
  • Non-Special Reference 1 Yen-Kuang hen et al., Implementation of H. 2D4 Encoder and De coder on Personal Computers ", Special Issue on Emerging H.264 / AVC Video Coding Standard, Journal of Visual Communication and Image Representation, Kumar, M andal and Panchanathan
  • the H.264 method has a limitation on MBs that can be operated in parallel in parallel processing in which data dependence is large between macro blocks (MB).
  • MB macro blocks
  • the H.264 decoding process there is a process that requires MB data on the left, upper left, upper, and upper right of the target MB in MB units.
  • MB processing as described above is performed by software processing of multiple processors or hardware processing of a decoder, synchronization processing such as waiting for processing completion and data transfer frequently occurs, resulting in a large overhead. There was a problem of trying.
  • the present invention provides a decoding that can perform efficient and efficient processing for image processing that requires processing with complicated data dependency, such as decoding processing in H.264.
  • the general purpose is to provide a method and apparatus.
  • the above problem is a decoding method in which a plurality of processing units perform parallel processing in units of macroblocks on encoded image data to be processed, and each processing unit performs processing.
  • a plurality of macro block lines are assigned to the processing range in charge, and processing of the target macro block processed by each processing unit is performed from the macro block line to which the target macro block belongs.
  • the second processing unit uses the processing result of the reference macroblock of the last macroblock line within the processing range of the first processing unit using the processing result of the reference macroblock of the preceding macroblock line. This can be achieved by a decoding method characterized by processing the target macroblock of the first macroblock line within the processing range.
  • the above-described problem includes a plurality of processing units that perform parallel processing of encoded image data to be processed in units of macroblocks, and a plurality of macroblocks are included in a processing range in which each processing unit is responsible for processing.
  • the processing of the target macroblock to which each processing unit processes is assigned using the processing result of the reference macroblock of the macroblock line that precedes the macroblock line to which the target macroblock belongs.
  • the target macroblock of the first macroblock line in the processing range of the second processing unit is processed using the processing result of the reference macroblock of the last macroblock line in the processing range of the first processing unit. This can be achieved by a decoding device characterized by the following.
  • a decoding method and apparatus capable of performing efficient processing for image processing that requires processing having complicated data dependency, such as H.264 decoding processing. Can be realized.
  • FIG. 1 is a diagram for explaining data dependence of H.264 decoding process.
  • FIG. 2 is a diagram for explaining a possible processing order and data transfer when a processor is allocated for each MB.
  • FIG. 3 is a diagram for explaining the processing order and data transfer of the present invention when a processor is allocated for each MB.
  • FIG. 4 is a diagram for explaining the processing order and data transfer of the present invention when a processor is allocated for each MB.
  • FIG. 5 is a diagram for explaining the processing sequence and data transfer of the first embodiment when two processors are used.
  • FIG. 6 is a flowchart for explaining the outline of processing of the first embodiment.
  • FIG. 7 is a diagram showing the overhead of the first embodiment in comparison with a comparative example.
  • FIG. 8 is a diagram for explaining the processing sequence and data transfer of the first embodiment when three processors are used.
  • FIG. 9 is a flowchart illustrating the processing of three processors in the first embodiment.
  • FIG. 10 is a diagram for explaining the processing sequence and data transfer of the second embodiment when two processors are used.
  • FIG. 11 is a flowchart for explaining the outline of processing of the second embodiment.
  • FIG. 12 is a diagram for explaining the processing sequence and data transfer of the second embodiment when three processors are used.
  • FIG. 13 is a flowchart for explaining processing of three processors in the second embodiment. Explanation of symbols
  • the H.264 method has a limitation on MBs that can be operated in parallel in parallel processing in which data dependence is large between macro blocks (MB).
  • the H.264 method of intra prediction, motion vector (MV) prediction, and deblocking filter (DF) processing depend on the data that requires MB data around the target MB. There is sex. For this reason, synchronous processing, such as processing completion waiting and data transfer, occurs frequently. There is also a limit to the number of MBs that can be calculated in parallel.
  • the present invention provides a parallel processing order focusing on the locality of the encoded image data (moving image data) and simplification of the synchronization processing within this limitation.
  • Fig. 1 is a diagram for explaining the data dependence of the decoding processing of the H.264 method.
  • A shows the data dependence in the case of intra prediction and MV prediction
  • (b) shows the data dependence in the case of DF processing. Indicates dependency.
  • each rectangular area represents one MB.
  • FIG. 2 is a diagram illustrating a possible processing order and data transfer in which a processor (or decoder) is allocated for each MB in the case of intra prediction as an example.
  • a processor or decoder
  • FIG. 2 each rectangular area indicates one MB
  • thick solid arrows indicate processing order
  • thin solid arrows indicate data transfer
  • two processors # 1 and # 2 are used for convenience of explanation.
  • the processors # 1 and # 2 that perform processing change for each macroblock line (MB line), and synchronization processing such as waiting for processing completion and data transfer is performed. It occurs frequently and increases the overhead.
  • the decoding apparatus for the encoded image data (moving image data) to be processed is software processing of a plurality of processors, or hardware processing of a plurality of decoders.
  • the range in which each processor (or decoder) is in charge of processing (hereinafter also referred to as the processing range) is not for each MB line but for each MB line.
  • processing is performed in an order that gives priority to MBs arranged in a substantially vertical direction as shown in FIG. 3 or FIG. 3 and 4 are diagrams for explaining the processing order and data transfer according to the present invention in which a processor is allocated for each MB in the case of intra prediction.
  • each rectangular area indicates one MB
  • thick solid arrows indicate processing order
  • thin solid arrows indicate data transfer.
  • two processors # 1, # 2 are used in FIG. 3
  • three processors # 1- # 3 are used in FIG. 4
  • each processor # 1, # 2, # 3 is in charge of processing.
  • the processing range shall be every 4MB line.
  • the boundary of the processing range in charge between different processors or different decoders is reduced, and an increase in overhead due to synchronization processing can be suppressed.
  • Figure 3 with the two processors # 1 and # 2,
  • the number of synchronization processing can be reduced to 1ZN times compared to the above conceivable method.
  • FIG. 5 is a diagram for explaining the processing order and data transfer of the first embodiment when two processors are used.
  • each rectangular area represents one MB
  • the numbers in each rectangular area indicate the processing order
  • the thin solid arrows indicate data transfer.
  • FIG. 5 it is assumed in FIG. 5 that two processors # 1 and # 2 are used, and each processor # 1 and # 2 is in charge of processing every 3 MB line.
  • each MB line is composed of, for example, 5 MB, and each MB is composed of, for example, data of 16 ⁇ 16 pixels.
  • the processing of the target MB is completed, the processing of the reference MB at the lower left is performed next.
  • the top (first) MB line of this processing range is unprocessed MB That is, the leftmost MB is processed as the target MB. If there is no outstanding MB in the first MB line, look for the candidate for the target MB from the second MB line from the top, and if there is no candidate in the second MB line, the third below The MB line power also looks for candidates.
  • processor # 1 is left unprocessed in the first MB line and leftmost. Processing with MB “2” as the target MB.
  • MB “3” in the second MB line at the lower left is processed as the target MB and the leftmost MB “4” in the first MB line is processed as the target MB. I do.
  • the MBs “5” and “6” in the second and third MB lines on the lower left are treated as MBs of attention, and 6 MBs are processed. After that, the process of performing one synchronization process for three MB processes is repeated until the end of the processing range (the rightmost MB of the bottom MB line) is reached.
  • the processor # 2 performs processing in the same processing order as the processor # 1, but the first MB line to be processed first is transferred by synchronous processing. Use the processing result of processor # 1.
  • processor # 1 has processed the first 6 MBs and the next 3 MBs
  • processor # 2 has MBs “6” and “9” of each third MB line.
  • the leftmost attention MB "1" of the first MB line is processed.
  • processor # 2 is the third MB.
  • processor # 2 uses the same processing order as processor # 1 above.
  • the processing result of processor # 1 is used for the processing of the first MB line. Processing Repeat until all MBs in the range have been processed.
  • N N + 1 Z2 MBs are processed first. Then, repeat the process of N MBs and one synchronization process until the right end of the processing range is reached.
  • one synchronization process is required for every N MBs, and the synchronization process is reduced to 1 / N compared to the above conceivable method (hereinafter referred to as a comparative example).
  • FIG. 7 is a diagram showing the overhead OH of the first embodiment in comparison with the comparative example.
  • the rectangular area that is marked with no and tatch indicates MB processing
  • the rectangular area that is painted black indicates synchronization processing.
  • processor # 2 can start processing when it is delayed by ⁇ N (N + 1) Z2 + N ⁇ MB of processing since processor # 1 started processing.
  • the processing can be performed more efficiently than the comparative example.
  • FIG. 6 is a flowchart for explaining the outline of the processing of the first embodiment.
  • the processing shown in FIG. 6 is executed by the processor 11.
  • the processor 11 is an information processing apparatus having a known configuration including a CPU, a storage unit, and the like, and the decoding apparatus has a configuration in which a plurality of such processors 11 are connected so as to be capable of parallel processing.
  • step S1 processes the first N (N + 1) Z2 MBs. As a result, the processing of MBs “1” to “6” of the first to third MB lines shown in FIG. 5 is performed.
  • step S2 the processes in steps S3 and S4 are repeated until the rightmost MB of each MB line in the processing range of one frame of the encoded image data to be processed is processed.
  • step S3 N MBs are processed, and in step S4, synchronous processing including waiting for completion of processing and data transfer is performed.
  • step S5 it is determined whether or not steps S2 to S4 have been performed for the last MB line in the processing range. If the determination result is NO, the process returns to step S2, and if YES, the process ends.
  • each processor # 1, # 2 # 2 performs the processing shown in Figure 6.
  • the processing for processor MB is the same as the processing for processor # 1 in that reference MB data including the upper right of the target MB is required. Force that is the same
  • the MB line processed by processor # 2 uses the processing result for the MB of the third MB line in the MB line processed by processor # 1 when processing the MB of the first MB line Only different.
  • FIG. 8 is a diagram for explaining the processing sequence and data transfer in the first embodiment when three processors are used, and FIG. 9 explains the processing of the three processors in the first embodiment. It is a flowchart.
  • each rectangular area indicates one MB
  • the numbers in each rectangular area indicate the processing order from the upper left to the upper right and the lower right of the processing range
  • the thin solid arrows indicate data transfer.
  • N macroblock (MB) lines N macroblock (MB) lines
  • each MB line is composed of W MBs.
  • N and W are both integers of 2 or more
  • N ⁇ W or N W, but preferably N ⁇ W.
  • Each MB is composed of data of 16 ⁇ 16 pixels, for example.
  • FIG. 9 shows the processing of three processors # 1, # 2, and # 3.
  • Processor # 1 performs steps S101—1 to S108—1! /
  • Processor # 3 ⁇ Steps S101-3 to S108-3 and Sill-3 to S113-3 are performed.
  • substantially the same steps are indicated by subscripts “1” to “ ⁇ 3” corresponding to the processors # 1 to # 3 to the same reference numerals.
  • step S102-1 the i-th MB "i" is processed !
  • step S103-1 it is determined whether the MB is located at the left end of the processing range! /. If the decision result in the step S103-1 is NO, a step S104-1 decides whether or not the MB is located at the lower end of the processing range. If the determination result of step S104-1 is NO, step S105-1 will process the lower left MB of the current MB and process Returns to step S103—1.
  • the MB processing result of the Nth MB line is transferred to the processor # 2.
  • step S 111-2 performs a synchronization process waiting for data transfer from processor # 1. Therefore, at first, the processing result of the MB of the Nth MB line processed by processor # 1 is required for processor # 2 to process the first MB “1” of the first MB line.
  • step S112-2 it is determined whether or not i ⁇ W. If the determination result is YES, step S113-2 performs synchronization processing waiting for data transfer from processor # 1.
  • step S102 Go to step 2. If the decision result in the step S112-2 is NO, the process advances to a step S102-2.
  • the other processing of processor # 2 is basically the same as the processing of processor # 1.
  • step S 111-3 performs a synchronization process waiting for data transfer from processor # 2. Therefore, at first, the processing result of the MB of the Nth MB line processed by processor # 2 is required for processor # 3 to process the first MB “1” of the first MB line.
  • step S112-3 it is determined whether or not i ⁇ W. If the determination result is YES, step S113-3 performs synchronous processing waiting for data transfer from processor # 2.
  • step S102-3 If the decision result in the step S112-3 is NO, the process advances to a step S102-3.
  • the other processing of processor # 4 is basically the same as the processing of processor # 2 above.
  • FIG. 9 is a diagram for explaining the processing order and data transfer of the second embodiment when two processors are used.
  • each rectangular area represents one MB
  • the numbers in each rectangular area indicate the processing order
  • the thin solid arrows indicate data transfer.
  • FIG. 9 it is assumed in FIG. 9 that two processors # 1 and # 2 are used, and the processing range in which each processor # 1 and # 2 is in charge of processing is every 3 MB line.
  • each MB line has 4 MB power, for example, and each MB has 16 x 16 pixel data, for example.
  • the next MB processing is performed.
  • processing reaches the attention MB of the last (bottom) MB line in the processor's processing range
  • the leftmost MB of the unprocessed MBs in the top (first) MB line of this processing range Process as the MB of interest.
  • Each processor # 1, # 2 or each dedicated hardware (decoder) is responsible for 3 MB lines, so in this way the process of performing 1 synchronization process for 3 MB processing Repeat until the end of the processing range (the rightmost MB of the bottom MB line) is reached. In this way, the process is repeated until all MBs in each processing range have been processed.
  • the processor # 2 performs processing in the same processing order as the processor # 1, but the first MB line to be processed first is transferred by synchronous processing. Use the processing result of processor # 1.
  • the processing result of MB “3” in the third MB line is used, and the MB line processed by processor # 2 is 1.
  • the leftmost attention MB “1” of the second MB line is processed.
  • the processing of the leftmost noticed MB “1” in the first MB line is completed, the MB “2” in the second MB line is processed as the noticed MB.
  • processor # 2 has the same processing order as that of processor # 1 above.
  • the processing result of processor # 1 is used to determine all MBs within the processing range. Repeat the process until the process is completed.
  • the processing range is N MB processing and one synchronous processing. Repeat until the right edge of is reached.
  • one synchronization process is required for every N MBs, and the synchronization process can be reduced to 1 / N compared with the comparative example.
  • FIG. 11 is a flowchart for explaining the outline of the processing of the second embodiment.
  • the processing shown in FIG. 10 is executed by the processor 21.
  • the processor 21 is an information processing apparatus having a known configuration including a CPU, a storage unit, and the like, and the decoding apparatus has a configuration in which a plurality of such processors 21 are connected so as to be capable of parallel processing.
  • step S 21 repeats the processing of steps S 22 and S 23 until the rightmost MB of each MB line in the processing range is processed.
  • step S22 N MBs are processed, and in step S23, synchronous processing including waiting for completion of processing and data transfer is performed.
  • step S24 it is determined whether or not the power of steps S21 to S23 has been performed on the last MB line in the processing range. If the determination result is NO, the process returns to step S21, and if it is YES, the process ends.
  • processor # 1 when processing for the target MB requires reference MB data including the target MB, processor # 1 This is the same as the processing, except that the MB line processed by processor # 2 uses the processing result for the MB of the third MB line of processor # 1 for the processing of the first MB line.
  • FIG. 12 is a diagram for explaining the processing order and data transfer in the second embodiment when three processors are used, and FIG. 13 explains the processing of the three processors in the second embodiment. It is a flowchart.
  • each rectangular area indicates one MB
  • the numbers in each rectangular area indicate the processing order from the upper left to the upper right and lower right of the processing range
  • the thin solid arrows indicate data transfer.
  • the processing range in which each processor # 1, # 2, # 3 is in charge of processing is, for example, for each P, Q, R macroblock (MB) line according to each processing performance,
  • Each MB line shall consist of W MBs.
  • P, Q, R, and W are all integers of 2 or more, and P, Q, and R may be equal to or different from N, but are preferably smaller than W.
  • P, Q, and R satisfy the relationship P> R> Q. 1S It is not limited to this relationship.
  • Each MB is composed of, for example, 16 ⁇ 16 pixel data.
  • FIG. 13 shows processing of three processors # 1, # 2, and # 3.
  • Processor # 1 performs steps S201—1 to S207—1! /, Processor # 2 ⁇ steps S201—2 to S207—2, S2 11—2! — 3, S211— Perform 3
  • substantially the same steps are indicated by adding the suffixes “1” to “1 3” corresponding to the processors # 1 to # 3 to the same reference numerals.
  • step S205 1 data transfer
  • step S211-2 performs a synchronization process waiting for data transfer from processor # 1. Therefore, at first, the processing result of the MB of the Pth MB line processed by processor # 1 is required for processor # 2 to process the first MB "1" of the first MB line.
  • processing proceeds to step S202-2.
  • step S211-3 performs a synchronous process waiting for data transfer from processor # 2. Therefore, at first, the processing result of the MB of the Qth MB line processed by processor # 2 is required for processor # 3 to process the first MB “1” of the first MB line.
  • the ability of the decoding apparatus to perform the above-described MB unit processing on the encoded image data to be processed by software processing of a plurality of processors When processing in units of MB as described above by hardware processing of a plurality of decoders, even if a plurality of physically separate decoders are used as the decoder, physically a plurality of decoder units within a single decoder are used. Needless to say, it may be used. Industrial applicability
  • the present invention is applicable to image processing that requires complicated data-dependent processing such as H.264 decoding processing.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

A decoding method in which a plurality of processing units carry out processing per macro block for subject coded image data allocates a plurality of macro block lines to a processing range of which each processing unit is in charge and each processing unit carries out the processing of a notable macro block by using a processed result of a reference macro block of the last macro block line prior by one to a macro block line to which the notable macro block belongs. By using a processed result of a reference macro block of the last macro block line in the processing range of the first processing unit, the processing is carried out for the notable macro block of the first micro block in the processing range of the second processing unit.

Description

明 細 書  Specification

復号化方法及び装置  Decoding method and apparatus

技術分野  Technical field

[0001] 本発明は、復号化方法及び装置に係り、特に H. 264方式等の動画符号化規格で 符号ィ匕 (即ち、圧縮)された動画データを復号化する復号化方法及び装置に関する 背景技術  TECHNICAL FIELD [0001] The present invention relates to a decoding method and apparatus, and more particularly to a decoding method and apparatus for decoding moving picture data encoded (ie, compressed) in accordance with a moving picture coding standard such as H.264. Technology

[0002] H. 264又は MPEG (Moving Picture Experts Group) 4— AVC (Advanced Video Coding)方式は、 ISOと ITU— Tとの共同標準化組織である JVTで策定され (ISO/I EC 14496— 10又は ITU— T Q6Z16)、 2003年に標準化された新しい圧縮伸張 技術である。 H. 264— AVC方式(以下、単に H. 264方式と言う)は、地上デジタル テレビ放送の中でも「1セグメント放送」と呼ばれる、携帯端末向けの放送で使用され ることで知られている。 H. 264方式では、 4 X 4画素の整数変換、 9方向のイントラ(In tra)予測、 7種類のサブマクロブロック(Sub Macro Block)分割、最小 4 X 4画素毎の 動きベクトル、マルチフレーム参照、ループ内フィルタ、算術符号等の新しい技術を 導入しており、高い圧縮率を実現している。 H. 264方式を用いることにより、 MPEG 2方式と比較して半分のストリームサイズで、同等の再生画質を得ることができると言 われている。  [0002] H. 264 or MPEG (Moving Picture Experts Group) 4—AVC (Advanced Video Coding) is developed by JVT, a joint standardization organization between ISO and ITU—T (ISO / I EC 14496-10 or ITU — T Q6Z16), a new compression / decompression technology standardized in 2003. The H.264—AVC system (hereinafter simply referred to as the H.264 system) is known to be used in broadcasting for mobile terminals, which is called “one-segment broadcasting” in digital terrestrial television broadcasting. In H.264 format, 4 x 4 pixel integer conversion, 9-direction intra prediction, 7 types of sub macro block division, minimum 4 x 4 pixel motion vector, multi-frame reference New technologies such as in-loop filters and arithmetic codes have been introduced to achieve a high compression ratio. By using the H.264 system, it is said that the same playback image quality can be obtained with half the stream size compared to the MPEG 2 system.

しかし、 H. 264方式で採用されているアルゴリズムは、符号ィ匕効率を重視している ために処理量が多い。このため、 H. 264方式の符号化及び復号化 (エンコード及び デコード)を行う信号処理装置には、ソフトウェアによる並列処理を行う構成のものと、 専用ハードウェアによる並列処理を行う構成のものとが用いられてきた。  However, the algorithm used in the H.264 method has a large amount of processing because it places importance on code efficiency. For this reason, signal processing devices that perform H.264 encoding and decoding (encoding and decoding) include a configuration that performs parallel processing by software and a configuration that performs parallel processing by dedicated hardware. Has been used.

[0003] 画像処理をソフトウェア或いはハードウェアによる並列処理で行う場合、画像単位 で処理を割り当てる方法と、処理単位で割り当てる方法とが考えられる。ハードウェア による実装の場合、処理単位で割り当てる方法が採用されることが多い。ソフトウェア による並列処理の場合は、どちらの方法も採用できる力 画像単位で処理を割り当て る方法を採用した場合には、プロセッサ間の処理の偏りが少なぐプロセッサ数を増 カロさせることにより大画面への拡張が容易となる。 [0003] When performing image processing by parallel processing using software or hardware, there are a method of assigning processing in units of images and a method of assigning in units of processing. In the case of hardware implementation, a method of allocating in units of processing is often adopted. In the case of parallel processing by software, both methods can be used. When the method of allocating processing in units of images is adopted, the number of processors with less processing bias between processors is increased. Expansion to a large screen is facilitated by making it calorie.

[0004] しかし、 H. 264方式の各処理は、データ依存関係が複雑であり、並列処理を行う 際には多くの同期処理が必要となる。  [0004] However, each process of the H.264 method has a complicated data dependency, and a lot of synchronous processing is required when performing parallel processing.

[0005] H. 264方式の符号ィ匕及び復号ィ匕方法は、例えば特許文献 1にて提案されている[0005] An H. 264 encoding / decoding method is proposed in Patent Document 1, for example.

。又、 H. 264方式の復号ィ匕を並列処理で行う方法力 例えば非特許文献 1にて提案 されている。 . Also, a method power for performing H.264 decoding decoding by parallel processing is proposed in Non-Patent Document 1, for example.

特許文献 1:特開 2005— 354361号公報  Patent Document 1: Japanese Patent Laid-Open No. 2005-354361

非特干文献 1: Yen-Kuangし hen et al., Implementation of H. 2D4 Encoder and De coder on Personal Computers", Special Issue on Emerging H.264 /AVC Video Codi ng Standard, Journal of Visual Communication and Image Representation, Kumar, M andal and Panchanathan  Non-Special Reference 1: Yen-Kuang hen et al., Implementation of H. 2D4 Encoder and De coder on Personal Computers ", Special Issue on Emerging H.264 / AVC Video Coding Standard, Journal of Visual Communication and Image Representation, Kumar, M andal and Panchanathan

発明の開示  Disclosure of the invention

発明が解決しょうとする課題  Problems to be solved by the invention

[0006] H. 264方式は、マクロブロック(MB : Macro Block)間にデータ依存が多ぐ並列処 理において並行に演算可能な MBに制限がある。例えば、 H. 264方式の復号化処 理において、 MB単位の処理で、注目 MBの左、左上、上、右上の MBのデータを必 要とする処理がある。このような処理の場合、注目 MBの処理を開始するためには、 注目 MBの左、左上、上、右上の MBの処理が完了し、データの受け渡しを行われる ことが必要となる。このため、複数のプロセッサのソフトウェア処理、或いは、デコーダ のハードウェア処理で上記の如き MBの処理を行う場合、処理完了の待ち合わせ、 データの受け渡し等の同期処理が頻繁に発生し、オーバーヘッドが大きくなつてしま うという問題があった。 [0006] The H.264 method has a limitation on MBs that can be operated in parallel in parallel processing in which data dependence is large between macro blocks (MB). For example, in the H.264 decoding process, there is a process that requires MB data on the left, upper left, upper, and upper right of the target MB in MB units. In such a process, in order to start processing the target MB, it is necessary to complete the processing of the left, upper left, upper, and upper right MBs of the target MB and transfer the data. For this reason, when MB processing as described above is performed by software processing of multiple processors or hardware processing of a decoder, synchronization processing such as waiting for processing completion and data transfer frequently occurs, resulting in a large overhead. There was a problem of trying.

[0007] そこで、本発明は、 H. 264方式の復号ィ匕処理のような、複雑なデータ依存性があ る処理が要求される画像処理に対して、効率の良!ヽ処理が行える復号化方法及び 装置を提供することを概括的目的とする。  [0007] Therefore, the present invention provides a decoding that can perform efficient and efficient processing for image processing that requires processing with complicated data dependency, such as decoding processing in H.264. The general purpose is to provide a method and apparatus.

課題を解決するための手段  Means for solving the problem

[0008] 上記の課題は、処理の対象となる符号化された画像データに対して、複数の処理 部でマクロブロック単位の並列処理を行う復号ィヒ方法であって、各処理部が処理を 担当する処理範囲に、複数のマクロブロックラインを割り当て、該各処理部が処理す る注目マクロブロックの処理を、該注目マクロブロックが属するマクロブロックラインより[0008] The above problem is a decoding method in which a plurality of processing units perform parallel processing in units of macroblocks on encoded image data to be processed, and each processing unit performs processing. A plurality of macro block lines are assigned to the processing range in charge, and processing of the target macro block processed by each processing unit is performed from the macro block line to which the target macro block belongs.

1つ先行するマクロブロックラインの参照マクロブロックの処理結果を用いて行い、第 1の処理部の処理範囲内の最後のマクロブロックラインの参照マクロブロックの処理 結果を用いて、第 2の処理部の処理範囲内の最初のマクロブロックラインの注目マク ロブロックの処理を行うことを特徴とする復号ィ匕方法によって達成できる。 The second processing unit uses the processing result of the reference macroblock of the last macroblock line within the processing range of the first processing unit using the processing result of the reference macroblock of the preceding macroblock line. This can be achieved by a decoding method characterized by processing the target macroblock of the first macroblock line within the processing range.

[0009] 上記の課題は、処理の対象となる符号化された画像データをマクロブロック単位で 並列処理する複数の処理部を備え、各処理部が処理を担当する処理範囲に、複数 のマクロブロックラインが割り当てられ、該各処理部が処理する注目マクロブロックの 処理は、該注目マクロブロックが属するマクロブロックラインより 1つ先行するマクロブ ロックラインの参照マクロブロックの処理結果を用いて行われ、第 1の処理部の処理 範囲内の最後のマクロブロックラインの参照マクロブロックの処理結果を用いて、第 2 の処理部の処理範囲内の最初のマクロブロックラインの注目マクロブロックの処理が 行なわれることを特徴とする復号ィ匕装置によって達成できる。  [0009] The above-described problem includes a plurality of processing units that perform parallel processing of encoded image data to be processed in units of macroblocks, and a plurality of macroblocks are included in a processing range in which each processing unit is responsible for processing. The processing of the target macroblock to which each processing unit processes is assigned using the processing result of the reference macroblock of the macroblock line that precedes the macroblock line to which the target macroblock belongs. The target macroblock of the first macroblock line in the processing range of the second processing unit is processed using the processing result of the reference macroblock of the last macroblock line in the processing range of the first processing unit. This can be achieved by a decoding device characterized by the following.

発明の効果  The invention's effect

[0010] 本発明によれば、 H. 264方式の復号化処理のような、複雑なデータ依存性がある 処理が要求される画像処理に対して効率の良い処理が行える復号化方法及び装置 を実現することができる。  [0010] According to the present invention, there is provided a decoding method and apparatus capable of performing efficient processing for image processing that requires processing having complicated data dependency, such as H.264 decoding processing. Can be realized.

図面の簡単な説明  Brief Description of Drawings

[0011] [図 1]H. 264方式の復号ィ匕処理のデータ依存を説明する図である。 FIG. 1 is a diagram for explaining data dependence of H.264 decoding process.

[図 2]MB毎にプロセッサを割り当てた場合の考えられる処理順序とデータ転送を説 明する図である。  FIG. 2 is a diagram for explaining a possible processing order and data transfer when a processor is allocated for each MB.

[図 3]MB毎にプロセッサを割り当てた場合の本発明の処理順序とデータ転送を説明 する図である。  FIG. 3 is a diagram for explaining the processing order and data transfer of the present invention when a processor is allocated for each MB.

[図 4]MB毎にプロセッサを割り当てた場合の本発明の処理順序とデータ転送を説明 する図である。  FIG. 4 is a diagram for explaining the processing order and data transfer of the present invention when a processor is allocated for each MB.

[図 5]第 1実施例の処理順序とデータ転送を 2つのプロセッサを用いる場合について 説明する図である。 [図 6]第 1実施例の処理の概略を説明するフローチャートである。 FIG. 5 is a diagram for explaining the processing sequence and data transfer of the first embodiment when two processors are used. FIG. 6 is a flowchart for explaining the outline of processing of the first embodiment.

[図 7]第 1実施例のオーバーヘッドを比較例と比較して示す図である。  FIG. 7 is a diagram showing the overhead of the first embodiment in comparison with a comparative example.

[図 8]第 1実施例の処理順序とデータ転送を 3つのプロセッサを用いる場合について 説明する図である。  FIG. 8 is a diagram for explaining the processing sequence and data transfer of the first embodiment when three processors are used.

[図 9]第 1実施例における 3つのプロセッサの処理を説明するフローチャートである。  FIG. 9 is a flowchart illustrating the processing of three processors in the first embodiment.

[図 10]第 2実施例の処理順序とデータ転送を 2つのプロセッサを用いる場合について 説明する図である。  FIG. 10 is a diagram for explaining the processing sequence and data transfer of the second embodiment when two processors are used.

[図 11]第 2実施例の処理の概略を説明するフローチャートである。  FIG. 11 is a flowchart for explaining the outline of processing of the second embodiment.

[図 12]第 2実施例の処理順序とデータ転送を 3つのプロセッサを用いる場合について 説明する図である。  FIG. 12 is a diagram for explaining the processing sequence and data transfer of the second embodiment when three processors are used.

[図 13]第 2実施例における 3つのプロセッサの処理を説明するフローチャートである。 符号の説明  FIG. 13 is a flowchart for explaining processing of three processors in the second embodiment. Explanation of symbols

[0012] 11, 21 プロセッサ [0012] 11, 21 processor

発明を実施するための最良の形態  BEST MODE FOR CARRYING OUT THE INVENTION

[0013] H. 264方式は、マクロブロック(MB : Macro Block)間にデータ依存が多ぐ並列処 理において並行に演算可能な MBに制限がある。 H. 264方式の処理であるイント ラ予測、モーションベクトル(MV: Motion Vector)予測及びデブロッキングフィルタ( DF: Deblocking Filter)処理は、注目 MBの周囲の MBのデータが必要とされるデー タ依存性がある。そのため、処理の完了待ち合わせ、データの受け渡し等を含む同 期処理が頻繁に発生する。又、並行に演算可能な MBに制限がある。  [0013] The H.264 method has a limitation on MBs that can be operated in parallel in parallel processing in which data dependence is large between macro blocks (MB). The H.264 method of intra prediction, motion vector (MV) prediction, and deblocking filter (DF) processing depend on the data that requires MB data around the target MB. There is sex. For this reason, synchronous processing, such as processing completion waiting and data transfer, occurs frequently. There is also a limit to the number of MBs that can be calculated in parallel.

[0014] そこで、本発明は、この制限の中で、符号化された画像データ (動画データ)の局 所性及び同期処理の簡略化に着目した並列処理順序を提供する。  [0014] Therefore, the present invention provides a parallel processing order focusing on the locality of the encoded image data (moving image data) and simplification of the synchronization processing within this limitation.

[0015] H. 264方式の復号化処理において、 MB単位の処理で、図 1に示すようにハッチ ングで示す注目 MBの左、左上、上、右上の参照 MBのデータを必要とする処理があ る。図 1は、 H. 264方式の復号化処理のデータ依存を説明する図であり、(a)はイン トラ予測及び MV予測の場合のデータ依存を示し、 (b)は DF処理の場合のデータ依 存を示す。図 1中、各矩形領域は、 1つの MBを示す。図 1からわ力るように、注目 M Bの処理を開始するためには、イントラ予測又は MV予測の場合であれば注目 MBの 左、左上、上、右上の参照 MBの処理が完了してデータの受け渡しが行われることが 必要となり、 DF処理の場合であれば注目画素の上の参照 MBの処理が完了してデ ータの受け渡しが行われることが必要となる。 [0015] In the decoding process of the H.264 method, there is a process in units of MB, and processing that requires reference MB data on the left, upper left, upper, and upper right of the target MB indicated by hatching as shown in FIG. is there. Fig. 1 is a diagram for explaining the data dependence of the decoding processing of the H.264 method. (A) shows the data dependence in the case of intra prediction and MV prediction, and (b) shows the data dependence in the case of DF processing. Indicates dependency. In Figure 1, each rectangular area represents one MB. As can be seen from Fig. 1, in order to start the processing of the target MB, in the case of intra prediction or MV prediction, It is necessary to complete the processing of the reference MB on the left, upper left, upper, and upper right and transfer the data. In the case of DF processing, the processing of the reference MB above the target pixel is completed and the data is transferred. It will be necessary to deliver

[0016] このため、復号化装置が複数のプロセッサのソフトウェア処理、或いは、デコーダの ハードウェア処理で上記の如き MBの処理を行う場合、例えば図 2に示すような処理 順序で行うことが考えられる。図 2は、一例としてイントラ予測の場合に MB毎にプロセ ッサ (又は、デコーダ)を割り当てる、考えられる処理順序とデータ転送を説明する図 である。図 2中、各矩形領域は 1つの MBを示し、太い実線の矢印は処理順序を示し 、細い実線の矢印はデータ転送を示し、説明の便宜上 2つのプロセッサ # 1, # 2が 用いられるものとする。しかし、この考えられる処理順序を用いたのでは、処理を行う プロセッサ # 1, # 2が 1マクロブロックライン(MBライン)毎に変わり、処理完了の待 ち合わせ、データの受け渡し等の同期処理が頻繁に発生し、オーバーヘッドが大き くなつてしまう。 [0016] For this reason, when the decoding apparatus performs MB processing as described above by software processing of a plurality of processors or hardware processing of a decoder, it may be performed in the processing order as shown in FIG. 2, for example. . FIG. 2 is a diagram illustrating a possible processing order and data transfer in which a processor (or decoder) is allocated for each MB in the case of intra prediction as an example. In Fig. 2, each rectangular area indicates one MB, thick solid arrows indicate processing order, thin solid arrows indicate data transfer, and two processors # 1 and # 2 are used for convenience of explanation. To do. However, if this possible processing order is used, the processors # 1 and # 2 that perform processing change for each macroblock line (MB line), and synchronization processing such as waiting for processing completion and data transfer is performed. It occurs frequently and increases the overhead.

[0017] そこで、本発明では、処理の対象となる符号化された画像データ (動画データ)に 対して復号ィ匕装置が複数のプロセッサのソフトウェア処理、或いは、複数のデコーダ のハードウェア処理、即ち、複数の処理部で上記の如き MB単位の処理を行う場合、 各プロセッサ(又は、デコーダ)が処理を担当する範囲(以下、処理範囲とも言う)を 1 MBライン毎ではなく複数の MBライン毎にし、図 3又は図 4に示すような大略縦方向 (即ち、同一 MBライン上の横方向以外の方向)に配置された MBを優先する順序で 処理を行う。図 3及び図 4は、イントラ予測の場合に MB毎にプロセッサを割り当てる 本発明の処理順序とデータ転送を説明する図である。図 3及び図 4中、各矩形領域 は 1つの MBを示し、太い実線の矢印は処理順序を示し、細い実線の矢印はデータ 転送を示す。説明の便宜上、図 3では 2つのプロセッサ # 1, # 2が用いられ、図 4で は 3つのプロセッサ # 1〜# 3が用いられ、各プロセッサ # 1, # 2, # 3が処理を担当 する処理範囲は 4MBライン毎であるものとする。  [0017] Therefore, in the present invention, the decoding apparatus for the encoded image data (moving image data) to be processed is software processing of a plurality of processors, or hardware processing of a plurality of decoders. When performing processing in units of MB as described above with a plurality of processing units, the range in which each processor (or decoder) is in charge of processing (hereinafter also referred to as the processing range) is not for each MB line but for each MB line. Then, processing is performed in an order that gives priority to MBs arranged in a substantially vertical direction as shown in FIG. 3 or FIG. 3 and 4 are diagrams for explaining the processing order and data transfer according to the present invention in which a processor is allocated for each MB in the case of intra prediction. In Fig. 3 and Fig. 4, each rectangular area indicates one MB, thick solid arrows indicate processing order, and thin solid arrows indicate data transfer. For convenience of explanation, two processors # 1, # 2 are used in FIG. 3, three processors # 1- # 3 are used in FIG. 4, and each processor # 1, # 2, # 3 is in charge of processing. The processing range shall be every 4MB line.

[0018] 本発明によれば、異なるプロセッサ、或いは、異なるデコーダ間で担当する処理範 囲の境界が少なくなり、同期処理によるオーバーヘッドの増加を抑制することができ る。例えば、図 3のように 2つのプロセッサ # 1, # 2で上記復号化処理の MB単位の 処理を行う場合、各プロセッサ # 1, # 2の担当する処理範囲の MBライン数を Nとす ると、同期処理の回数は上記考えられる方法と比べると 1ZN回に減少させることが できる。初回の同期処理までに、例えば一方のプロセッサ # 1では(N+ DNZ2個 の MBの処理が必要であり、その間、他方のプロセッサ # 2は処理を開始できないの で、同期オーバーヘッドを OH、復号化処理の対象となる MBの総数を TM、 MBの 1 つ当たりの処理量を Aとすると、 OH XTM X (N- 1) /N>AX (N+ 1) X NZ2とい う条件が成立するとき、本発明を導入することによる同期オーバーヘッド OHの減少 効果が得られる。 [0018] According to the present invention, the boundary of the processing range in charge between different processors or different decoders is reduced, and an increase in overhead due to synchronization processing can be suppressed. For example, as shown in Figure 3, with the two processors # 1 and # 2, When processing, assuming that the number of MB lines in the processing range assigned to each processor # 1, # 2 is N, the number of synchronization processing can be reduced to 1ZN times compared to the above conceivable method. Before the first synchronization processing, for example, one processor # 1 (N + DNZ requires 2 MB processing, while the other processor # 2 cannot start processing, so the synchronization overhead is OH and decryption processing When the total number of MBs subject to TM is TM and the processing amount per MB is A, when the condition OH XTM X (N-1) / N> AX (N + 1) X NZ2 holds, The effect of reducing the synchronization overhead OH by introducing the invention can be obtained.

[0019] 尚、 DB処理の場合に MB毎にプロセッサを割り当てる本発明の処理も、上記イント ラ予測の場合と同様に大略縦方向(即ち、同一 MBライン上の横方向以外の方向)に 配置された MBを優先する順序で行われ、上記と同様の効果を得ることができるが、 その詳細については以下の実施例と共に説明する。  [0019] It should be noted that the processing of the present invention in which a processor is allocated for each MB in the case of DB processing is also arranged in a substantially vertical direction (that is, a direction other than the horizontal direction on the same MB line) as in the case of the intra prediction. The same effects as described above can be obtained in the order in which the given MBs are prioritized. Details thereof will be described together with the following examples.

[0020] 以下に、本発明の復号化方法及び装置の各実施例を、図面と共に説明する。  Hereinafter, embodiments of the decoding method and apparatus of the present invention will be described with reference to the drawings.

実施例  Example

[0021] (第 1実施例)  [0021] (First embodiment)

先ず、本発明の復号化方法及び装置の第 1実施例を図 5〜図 8と共に説明する。  First, a first embodiment of the decoding method and apparatus according to the present invention will be described with reference to FIGS.

[0022] 図 5は、第 1実施例の処理順序とデータ転送を 2つのプロセッサを用いる場合につ いて説明する図である。図 5中、各矩形領域は 1つの MBを示し、各矩形領域内の数 字は処理順序を示し、細い実線の矢印はデータ転送を示す。説明の便宜上、図 5で は 2つのプロセッサ # 1, # 2が用いられ、各プロセッサ # 1, # 2が処理を担当する範 囲は 3MBライン毎であるものとする。  FIG. 5 is a diagram for explaining the processing order and data transfer of the first embodiment when two processors are used. In Fig. 5, each rectangular area represents one MB, the numbers in each rectangular area indicate the processing order, and the thin solid arrows indicate data transfer. For convenience of explanation, it is assumed in FIG. 5 that two processors # 1 and # 2 are used, and each processor # 1 and # 2 is in charge of processing every 3 MB line.

[0023] イントラ予測や MV予測のように、処理対象となる符号化された画像データ(動画デ ータ)の 1フレーム内の注目 MBに対する処理を行う際に注目 MBの右上を含む参照 MBのデータを必要とする場合、図 5に示すような順序で処理を行う。各 MBラインは 例えば 5つの MBからなり、各 MBは例えば 16 X 16画素のデータからなる。  [0023] When processing the target MB in one frame of the encoded image data (movie data) to be processed, such as intra prediction and MV prediction, the reference MB including the upper right of the target MB When data is required, processing is performed in the order shown in Fig. 5. Each MB line is composed of, for example, 5 MB, and each MB is composed of, for example, data of 16 × 16 pixels.

[0024] 注目 MBの処理が終了すると、次は斜め左下の参照 MBの処理を行う。処理を行つ て!、るプロセッサの処理範囲の最後(一番下又は下端)の MBラインの注目 MBまで 処理が到達すると、この処理範囲の一番上(1番目)の MBラインの未処理の MBのう ち、最も左の MBを注目 MBとしての処理を行う。 1番目の MBラインに未処理の MB がな 、場合は上から 2番目の MBラインから注目 MBの候補を探し、 2番目の MBライ ンにも候補がない場合には更にその下の 3番目の MBライン力も候補を探す。各プロ セッサ # 1, # 2、或いは、各専用ハードウェア(デコーダ)が担当する処理範囲の M Bライン数は 3なので、このようにして先ず 3 (3 + 1) /2 = 6個の MBの処理を行!、、 それ以降は 3個の MBの処理に対して 1個の同期処理を行う処理を、処理範囲の最 後(一番下の MBラインの右端の MB)に到達するまで繰り返す。このようにして各処 理範囲内の全ての MBの処理が終わるまで処理を繰り返す。 [0024] When the processing of the target MB is completed, the processing of the reference MB at the lower left is performed next. When processing reaches the attention MB of the last (bottom or bottom) MB line of the processor's processing range, the top (first) MB line of this processing range is unprocessed MB That is, the leftmost MB is processed as the target MB. If there is no outstanding MB in the first MB line, look for the candidate for the target MB from the second MB line from the top, and if there is no candidate in the second MB line, the third below The MB line power also looks for candidates. Since each processor # 1, # 2 or each dedicated hardware (decoder) has 3 MB lines in the processing range, 3 (3 + 1) / 2 = 6 MB After that, repeat the process of performing one synchronization process for 3 MB processes until the end of the processing range (the rightmost MB of the bottom MB line) is reached. . In this way, the process is repeated until all MBs within each processing range have been processed.

[0025] つまり、プロセッサ # 1は、図 5に示すように、 1番目の MBラインの一番左の注目 M B「1」の処理が終了すると、 1番目の MBラインの未処理で最も左の MB「2」を注目 M Bとして処理を行う。次は、斜め左下の 2番目の MBラインにある MB「3」を注目 MBと して処理を行 、、 1番目の MBラインの未処理で最も左の MB「4」を注目 MBとして処 理を行う。次は、斜め左下の 2番目、 3番目の MBラインにある MB「5」、「6」を注目 M Bとして処理を行い、 6個の MBの処理が行われる。それ以降は、 3個の MBの処理に 対して 1個の同期処理を行う処理を、処理範囲の最後(一番下の MBラインの右端の MB)に到達するまで繰り返す。  [0025] That is, as shown in FIG. 5, when the processing of the leftmost noticed MB “1” in the first MB line is completed, processor # 1 is left unprocessed in the first MB line and leftmost. Processing with MB “2” as the target MB. Next, MB “3” in the second MB line at the lower left is processed as the target MB and the leftmost MB “4” in the first MB line is processed as the target MB. I do. Next, the MBs “5” and “6” in the second and third MB lines on the lower left are treated as MBs of attention, and 6 MBs are processed. After that, the process of performing one synchronization process for three MB processes is repeated until the end of the processing range (the rightmost MB of the bottom MB line) is reached.

[0026] 他方、プロセッサ # 2は、上記プロセッサ # 1と同様の処理順序で処理を行うが、最 初に処理する第 1番目の MBラインの処理にっ 、ては同期処理で転送されてくるプロ セッサ # 1の処理結果を用いる。つまり、プロセッサ # 1による最初の 6個の MBの処 理及び次の 3個の MBの処理が行われた時点で、プロセッサ # 2は夫々の 3番目の MBラインの MB「6」、「9」の処理結果を用いてプロセッサ # 2が処理する MBライン では 1番目の MBラインの一番左の注目 MB「1」の処理を行う。この 1番目の MBライ ンの一番左の注目 MB「1」の処理が終了すると、プロセッサ # 1による次の 3個の MB の処理が行われた時点で、プロセッサ # 2は 3番目の MBラインの MB「12」の処理結 果を用いてプロセッサ # 2が処理する MBラインでは 1番目の MBラインの未処理で 最も左の MB「2」を注目 MBとして処理を行う。プロセッサ # 2は、それ以降は上記プ 口セッサ # 1の処理順序と同様の処理順序で、プロセッサ # 2が処理する MBライン では 1番目の MBラインの処理についてはプロセッサ # 1の処理結果を用いて、処理 範囲の全ての MBの処理が終わるまで処理を繰り返す。 [0026] On the other hand, the processor # 2 performs processing in the same processing order as the processor # 1, but the first MB line to be processed first is transferred by synchronous processing. Use the processing result of processor # 1. In other words, when processor # 1 has processed the first 6 MBs and the next 3 MBs, processor # 2 has MBs “6” and “9” of each third MB line. In the MB line processed by processor # 2 using the processing result of "", the leftmost attention MB "1" of the first MB line is processed. When processing of the leftmost noticed MB “1” of the first MB line is completed, when processor # 1 has processed the next three MBs, processor # 2 is the third MB. In the MB line processed by processor # 2 using the processing result of MB “12” in the line, processing is performed with the left MB “2” being the unprocessed first MB line as the target MB. After that, processor # 2 uses the same processing order as processor # 1 above. For the MB line processed by processor # 2, the processing result of processor # 1 is used for the processing of the first MB line. Processing Repeat until all MBs in the range have been processed.

[0027] 各プロセッサ # 1, # 2、或いは、各専用ハードウェア(デコーダ)が担当する処理範 囲の MBライン数を Nとすると、先ず N (N+1)Z2個の MBの処理を行い、以下 N個 の MBの処理と 1個の同期処理を処理範囲の右端に到達するまで繰り返す。これによ り、処理範囲の繰り返し部では、 N個の MB毎に 1個の同期処理が必要となり、同期 処理を上記考えられる方法 (以下、比較例と言う)と比較すると N分の 1に削減できる [0027] If the number of MB lines in each processor # 1, # 2 or each dedicated hardware (decoder) in the processing range is N, N (N + 1) Z2 MBs are processed first. Then, repeat the process of N MBs and one synchronization process until the right end of the processing range is reached. As a result, in the repetitive part of the processing range, one synchronization process is required for every N MBs, and the synchronization process is reduced to 1 / N compared to the above conceivable method (hereinafter referred to as a comparative example). Can be reduced

[0028] 同期処理のオーバーヘッドを OHとした場合、本実施例では図 7 (a)に示すように、 図 7 (b)の比較例の場合と比較して同期処理の回数が N分の 1になる。図 7は、第 1実 施例のオーバーヘッド OHを比較例と比較して示す図である。図 7中、ノ、ツチングを 施された矩形領域は MBの処理を示し、黒く塗られた矩形領域は同期処理を示す。 本実施例では、プロセッサ # 2が処理を開始できるのは、プロセッサ # 1が処理を開 始してから {N (N+ 1) Z2 + N}個の MBの処理分だけ遅延されたタイミングであるが 、画像サイズが大きぐ同期処理のオーバーヘッド OHが大きい場合には、比較例よ り画像処理に対して効率の良い処理が行えることがわかる。 [0028] When the overhead of synchronization processing is OH, in this embodiment, as shown in Fig. 7 (a), the number of times of synchronization processing is 1 / N compared to the comparative example of Fig. 7 (b). become. FIG. 7 is a diagram showing the overhead OH of the first embodiment in comparison with the comparative example. In Fig. 7, the rectangular area that is marked with no and tatch indicates MB processing, and the rectangular area that is painted black indicates synchronization processing. In this example, processor # 2 can start processing when it is delayed by {N (N + 1) Z2 + N} MB of processing since processor # 1 started processing. However, it can be seen that when the image size is large and the overhead OH of the synchronization processing is large, the processing can be performed more efficiently than the comparative example.

[0029] 図 6は、第 1実施例の処理の概略を説明するフローチャートである。図 6に示す処理 は、プロセッサ 11により実行される。プロセッサ 11は、 CPU及び記憶部等からなる周 知の構成を有する情報処理装置であり、復号ィ匕装置はこのようなプロセッサ 11が複 数個、並列処理可能に接続された構成を有する。  FIG. 6 is a flowchart for explaining the outline of the processing of the first embodiment. The processing shown in FIG. 6 is executed by the processor 11. The processor 11 is an information processing apparatus having a known configuration including a CPU, a storage unit, and the like, and the decoding apparatus has a configuration in which a plurality of such processors 11 are connected so as to be capable of parallel processing.

[0030] 図 6において、ステップ S1は最初の N (N+ 1)Z2個の MBの処理を行う。これによ り、図 5に示す 1番目〜 3番目の MBラインの MB「1」〜「6」の処理が行われる。ステツ プ S2は処理対象となる符号化された画像データの 1フレームの処理範囲の各 MBラ インの右端の MBが処理されるまで、ステップ S3, S4の処理を繰り返す。ステップ S3 は N個の MBの処理を行い、ステップ S4は処理完了の待ち合わせ、データの受け渡 し等を含む同期処理を行う。ステップ S5は処理範囲の最後の MBラインについてス テツプ S2〜S4が行われたか否かを判定し、判定結果が NOであると処理はステップ S2へ戻り、 YESであると処理は終了する。  [0030] In FIG. 6, step S1 processes the first N (N + 1) Z2 MBs. As a result, the processing of MBs “1” to “6” of the first to third MB lines shown in FIG. 5 is performed. In step S2, the processes in steps S3 and S4 are repeated until the rightmost MB of each MB line in the processing range of one frame of the encoded image data to be processed is processed. In step S3, N MBs are processed, and in step S4, synchronous processing including waiting for completion of processing and data transfer is performed. In step S5, it is determined whether or not steps S2 to S4 have been performed for the last MB line in the processing range. If the determination result is NO, the process returns to step S2, and if YES, the process ends.

[0031] 上記の如く 2つのプロセッサ # 1, # 2を並列処理に用いる場合、各プロセッサ # 1, # 2は図 6に示す処理を行うが、プロセッサ # 2の場合、注目 MBに対する処理を行う 際に注目 MBの右上を含む参照 MBのデータを必要とする点ではプロセッサ # 1の 場合の処理と同じである力 プロセッサ # 2が処理する MBラインでは 1番目の MBラ インの MBを処理する際にはプロセッサ # 1が処理する MBラインでは 3番目の MBラ インの MBに対する処理結果を用いる点だけ異なる。 [0031] When two processors # 1, # 2 are used for parallel processing as described above, each processor # 1, # 2 # 2 performs the processing shown in Figure 6. However, in the case of processor # 2, the processing for processor MB is the same as the processing for processor # 1 in that reference MB data including the upper right of the target MB is required. Force that is the same The MB line processed by processor # 2 uses the processing result for the MB of the third MB line in the MB line processed by processor # 1 when processing the MB of the first MB line Only different.

[0032] 図 8は、第 1実施例の処理順序とデータ転送を 3つのプロセッサを用いる場合につ いて説明する図であり、図 9は、第 1実施例における 3つのプロセッサの処理を説明 するフローチャートである。図 8中、各矩形領域は 1つの MBを示し、各矩形領域内の 数字は処理範囲の左上から右上、右下への処理順序を示し、細い実線の矢印はデ ータ転送を示す。又、説明の便宜上、各プロセッサ # 1, # 2, # 3が処理を担当する 処理範囲は Nマクロブロック(MB)ライン毎であり、各 MBラインは W個の MBからなる ものとする。ここで、 N, Wはいずれも 2以上の整数であり、 N≠Wであっても N=Wで あっても良いが、好ましくは N〈Wである。各 MBは、例えば 16 X 16画素のデータから なる。 FIG. 8 is a diagram for explaining the processing sequence and data transfer in the first embodiment when three processors are used, and FIG. 9 explains the processing of the three processors in the first embodiment. It is a flowchart. In Fig. 8, each rectangular area indicates one MB, the numbers in each rectangular area indicate the processing order from the upper left to the upper right and the lower right of the processing range, and the thin solid arrows indicate data transfer. Also, for convenience of explanation, it is assumed that the processing range in which each processor # 1, # 2, # 3 is in charge of processing is N macroblock (MB) lines, and each MB line is composed of W MBs. Here, N and W are both integers of 2 or more, and N ≠ W or N = W, but preferably N <W. Each MB is composed of data of 16 × 16 pixels, for example.

[0033] イントラ予測や MV予測のように、処理対象となる符号化された画像データの 1フレ ーム内の注目 MBに対する処理を行う際に注目 MBの右上を含む参照 MBのデータ を必要とする場合、図 8に示すような順序で処理を行う。  [0033] When processing the target MB in one frame of the encoded image data to be processed, such as intra prediction and MV prediction, reference MB data including the upper right of the target MB is required. In this case, processing is performed in the order shown in FIG.

[0034] 図 9は、 3つのプロセッサ # 1, # 2, # 3の処理を示す。プロセッサ # 1はステップ S 101— 1〜S108— 1を行!/、、プロセッサ # 2ίまステップ S101— 2〜S108— 2, S11 1— 2〜S113— 2を行!/、、プロセッサ # 3ίまステップ S101— 3〜S108— 3, Si l l— 3〜S113— 3を行う。図 9中、実質的に同じステップには同一符号にプロセッサ # 1 〜 # 3に対応する添え字「 1」〜「- 3」を付けて示す。  [0034] FIG. 9 shows the processing of three processors # 1, # 2, and # 3. Processor # 1 performs steps S101—1 to S108—1! /, Processor # 2ί steps S101—2 to S108—2, S11 1—2 to S113—lines 2! /, Processor # 3ί Steps S101-3 to S108-3 and Sill-3 to S113-3 are performed. In FIG. 9, substantially the same steps are indicated by subscripts “1” to “−3” corresponding to the processors # 1 to # 3 to the same reference numerals.

[0035] 先ず、プロセッサ # 1の処理を説明する。プロセッサ # 1の処理が開始されると、ス テツプ S 101— 1は変数 i (整数)を i = 1に設定する。ステップ S 102— 1は i番目の MB 「i」の処理を行!、、ステップ S 103 - 1は MBが処理範囲の左端に位置して!/、るか否 かを判定する。ステップ S 103— 1の判定結果が NOであると、ステップ S104— 1は M Bが処理範囲の下端に位置しているか否かを判定する。ステップ S104— 1の判定結 果が NOであると、ステップ S 105— 1は現在の MBの左下の MBの処理を行い、処理 はステップ S103— 1へ戻る。他方、ステップ S104— 1の判定結果が YESであると、 ステップ S 106— 1はプロセッサ # 2へのデータ転送を行い、ステップ S107— 1は i= (W+N— 1)であるか否かを判定する。ステップ S 106— 1のデータ転送では、 N番 目の MBラインの MBの処理結果がプロセッサ # 2へ転送される。ステップ S 107—1 の判定結果が NOであると、ステップ S108— 1は iを i=i+ lにインクリメントし、処理は ステップ S102— 1へ戻る。ステップ S107— 1の判定結果が YESであると、プロセッ サ # 1の処理は終了する。 [0035] First, the processing of processor # 1 will be described. When processing of processor # 1 is started, step S101—1 sets variable i (integer) to i = 1. In step S102-1, the i-th MB "i" is processed !, and in step S103-1, it is determined whether the MB is located at the left end of the processing range! /. If the decision result in the step S103-1 is NO, a step S104-1 decides whether or not the MB is located at the lower end of the processing range. If the determination result of step S104-1 is NO, step S105-1 will process the lower left MB of the current MB and process Returns to step S103—1. On the other hand, if the decision result in the step S104-1 is YES, the step S106-1 performs data transfer to the processor # 2, and the step S107-1 determines whether i = (W + N-1). Determine. In the data transfer in step S106—1, the MB processing result of the Nth MB line is transferred to the processor # 2. If the decision result in the step S107-1 is NO, the step S108-1 increments i to i = i + 1, and the process returns to the step S102-1. If the decision result in the step S107-1 is YES, the process of the processor # 1 is finished.

[0036] 次に、プロセッサ # 2の処理を説明する。プロセッサ # 2の処理が開始されると、ス テツプ S 101— 2は変数 i (整数)を i= 1に設定する。ステップ S 111 - 2はプロセッサ # 1からのデータ転送を待つ同期処理を行う。従って、最初は、プロセッサ # 2が 1番 目の MBラインの 1番目の MB「1」を処理するのに必要である、プロセッサ # 1が処理 した N番目の MBラインの MBの処理結果がプロセッサ # 1から転送されてくると、処 理はステップ S112— 2へ進む。ステップ S112— 2は i≤Wであるか否かを判定し、判 定結果が YESであると、ステップ S113— 2はプロセッサ # 1からのデータ転送を待つ 同期処理を行う。従って、プロセッサ # 2が MBを処理するのに必要である、プロセッ サ # 1が処理した N番目の MBラインの MBの処理結果がプロセッサ # 1から転送さ れてくると、処理はステップ S 102— 2へ進む。ステップ S 112— 2の判定結果が NO であると、処理はステップ S 102— 2へ進む。プロセッサ # 2の他の処理は、基本的に は上記プロセッサ # 1の処理と同じである。  Next, the processing of processor # 2 will be described. When the processing of processor # 2 is started, step S101-2 sets variable i (integer) to i = 1. Step S 111-2 performs a synchronization process waiting for data transfer from processor # 1. Therefore, at first, the processing result of the MB of the Nth MB line processed by processor # 1 is required for processor # 2 to process the first MB “1” of the first MB line. When transferred from # 1, the process proceeds to step S112-2. In step S112-2, it is determined whether or not i≤W. If the determination result is YES, step S113-2 performs synchronization processing waiting for data transfer from processor # 1. Therefore, when the processing result of the MB of the Nth MB line processed by processor # 1, which is necessary for processor # 2 to process the MB, is transferred from processor # 1, the process proceeds to step S102. — Go to step 2. If the decision result in the step S112-2 is NO, the process advances to a step S102-2. The other processing of processor # 2 is basically the same as the processing of processor # 1.

[0037] 次に、プロセッサ # 3の処理を説明する。プロセッサ # 3の処理が開始されると、ス テツプ S 101— 3は変数 i (整数)を i = 1に設定する。ステップ S 111 - 3はプロセッサ # 2からのデータ転送を待つ同期処理を行う。従って、最初は、プロセッサ # 3が 1番 目の MBラインの 1番目の MB「1」を処理するのに必要である、プロセッサ # 2が処理 した N番目の MBラインの MBの処理結果がプロセッサ # 2から転送されてくると、処 理はステップ S112— 3へ進む。ステップ S112— 3は i≤Wであるか否かを判定し、判 定結果が YESであると、ステップ S 113— 3はプロセッサ # 2からのデータ転送を待つ 同期処理を行う。従って、プロセッサ # 3が MBを処理するのに必要である、プロセッ サ # 2が処理した N番目の MBラインの MBの処理結果がプロセッサ # 2から転送さ れてくると、処理はステップ S 102— 3へ進む。ステップ S 112— 3の判定結果が NO であると、処理はステップ S 102— 3へ進む。プロセッサ # 4の他の処理は、基本的に は上記プロセッサ # 2の処理と同じである。 [0037] Next, the processing of the processor # 3 will be described. When processing of processor # 3 is started, step S101-3 sets variable i (integer) to i = 1. Step S 111-3 performs a synchronization process waiting for data transfer from processor # 2. Therefore, at first, the processing result of the MB of the Nth MB line processed by processor # 2 is required for processor # 3 to process the first MB “1” of the first MB line. When transferred from # 2, the process proceeds to step S112-3. In step S112-3, it is determined whether or not i≤W. If the determination result is YES, step S113-3 performs synchronous processing waiting for data transfer from processor # 2. Therefore, the processing result of MB of the Nth MB line processed by processor # 2 that is necessary for processor # 3 to process MB is transferred from processor # 2. Then, the process proceeds to step S102-3. If the decision result in the step S112-3 is NO, the process advances to a step S102-3. The other processing of processor # 4 is basically the same as the processing of processor # 2 above.

(第 2実施例)  (Second embodiment)

次に、本発明の復号化方法及び装置の第 2実施例を図 9〜図 12と共に説明する。  Next, a second embodiment of the decoding method and apparatus according to the present invention will be described with reference to FIGS.

[0038] 図 9は、第 2実施例の処理順序とデータ転送を 2つのプロセッサを用いる場合につ いて説明する図である。図 9中、各矩形領域は 1つの MBを示し、各矩形領域内の数 字は処理順序を示し、細い実線の矢印はデータ転送を示す。説明の便宜上、図 9で は 2つのプロセッサ # 1, # 2が用いられ、各プロセッサ # 1, # 2が処理を担当する処 理範囲は 3MBライン毎であるものとする。 FIG. 9 is a diagram for explaining the processing order and data transfer of the second embodiment when two processors are used. In Fig. 9, each rectangular area represents one MB, the numbers in each rectangular area indicate the processing order, and the thin solid arrows indicate data transfer. For convenience of explanation, it is assumed in FIG. 9 that two processors # 1 and # 2 are used, and the processing range in which each processor # 1 and # 2 is in charge of processing is every 3 MB line.

[0039] DF処理のように、処理対象となる符号化された画像データの 1フレーム内の注目 M Bに対する処理を行う際に注目 MBの上の参照 MBのデータを必要とする場合、図 9 に示すような順序で処理を行う。各 MBラインは例えば 4つの MB力 なり、各 MBは 例えば 16 X 16画素のデータからなる。 [0039] When processing the target MB in one frame of the encoded image data to be processed, as in DF processing, when reference MB data above the target MB is required, Processing is performed in the order shown. Each MB line has 4 MB power, for example, and each MB has 16 x 16 pixel data, for example.

[0040] 注目 MBの処理が終了すると、次は下の MBの処理を行う。プロセッサの処理範囲 の最後(一番下)の MBラインの注目 MBまで処理が到達すると、この処理範囲の一 番上(1番目 )の MBラインの未処理の MBのうち、最も左の MBを注目 MBとしての処 理を行う。各プロセッサ # 1, # 2、或いは、各専用ハードウェア (デコーダ)が担当す る MBライン数は 3なので、このようにして 3個の MBの処理に対して 1個の同期処理 を行う処理を、処理範囲の最後(一番下の MBラインの右端の MB)に到達するまで 繰り返す。このようにして各処理範囲内の全ての MBの処理が終わるまで処理を繰り 返す。 [0040] When the processing of the target MB is completed, the next MB processing is performed. When processing reaches the attention MB of the last (bottom) MB line in the processor's processing range, the leftmost MB of the unprocessed MBs in the top (first) MB line of this processing range Process as the MB of interest. Each processor # 1, # 2 or each dedicated hardware (decoder) is responsible for 3 MB lines, so in this way the process of performing 1 synchronization process for 3 MB processing Repeat until the end of the processing range (the rightmost MB of the bottom MB line) is reached. In this way, the process is repeated until all MBs in each processing range have been processed.

[0041] つまり、プロセッサ # 1は、図 10に示すように、 1番目の MBラインの一番左の注目 MB「1」の処理が終了すると、 MB「1」の下に位置する 2番目の MBラインの最も左の MB「2」を注目 MBとして処理を行う。次は、 MB「2」の下に位置する 3番目の MBライ ンの最も左の MB「3」を注目 MBとして処理を行う。次に、 1番目の MBラインの未処 理で最も左の MB「4」を注目 MBとして処理を行い、下に位置する 2番目、 3番目の MBラインにある MB「5」、「6」を注目 MBとして処理を行う。それ以降は、同様にして 、 3個の MBの処理に対して 1個の同期処理を行う処理を、処理範囲の最後(一番下 の MBラインの右端の MB)に到達するまで繰り返す。 [0041] That is, as shown in FIG. 10, when the processing of the leftmost noticed MB “1” in the first MB line is completed, the processor # 1 finishes processing the second MB located under the MB “1”. Processing is performed with the leftmost MB “2” in the MB line as the target MB. Next, processing is performed with the leftmost MB “3” of the third MB line located under MB “2” as the target MB. Next, the left MB “4” in the first MB line that has not been processed is processed as the target MB, and MBs “5” and “6” in the second and third MB lines located below are processed. Processing with the attention MB. After that, do the same Repeat the process of performing one synchronization process for three MB processes until the end of the processing range (the rightmost MB of the bottom MB line) is reached.

[0042] 他方、プロセッサ # 2は、上記プロセッサ # 1と同様の処理順序で処理を行うが、最 初に処理する第 1番目の MBラインの処理にっ 、ては同期処理で転送されてくるプロ セッサ # 1の処理結果を用いる。つまり、プロセッサ # 1による最初の 3個の MBの処 理が行われた時点で、 3番目の MBラインの MB「3」の処理結果を用いて、プロセッ サ # 2が処理する MBラインでは 1番目の MBラインの一番左の注目 MB「1」の処理 を行う。 1番目の MBラインの一番左の注目 MB「1」の処理が終了すると、 2番目の M Bラインの MB「2」を注目 MBとして処理を行う。プロセッサ # 2は、それ以降は上記プ 口セッサ # 1の処理順序と同様の処理順序で、 1番目の MBラインの処理については プロセッサ # 1の処理結果を用いて、処理範囲内の全ての MBの処理が終わるまで 処理を繰り返す。 [0042] On the other hand, the processor # 2 performs processing in the same processing order as the processor # 1, but the first MB line to be processed first is transferred by synchronous processing. Use the processing result of processor # 1. In other words, when the first three MBs are processed by processor # 1, the processing result of MB “3” in the third MB line is used, and the MB line processed by processor # 2 is 1. The leftmost attention MB “1” of the second MB line is processed. When the processing of the leftmost noticed MB “1” in the first MB line is completed, the MB “2” in the second MB line is processed as the noticed MB. After that, processor # 2 has the same processing order as that of processor # 1 above. For the processing of the first MB line, the processing result of processor # 1 is used to determine all MBs within the processing range. Repeat the process until the process is completed.

[0043] 各プロセッサ # 1, # 2、或いは、各専用ハードウェア(デコーダ)が担当する処理範 囲の MBライン数を Nとすると、 N個の MBの処理と 1個の同期処理を処理範囲の右 端に到達するまで繰り返す。これにより、処理範囲の繰り返し部では、 N個の MB毎 に 1個の同期処理が必要となり、同期処理を上記比較例と比較すると N分の 1に削減 できる。  [0043] If the number of MB lines in each processor # 1, # 2 or each dedicated hardware (decoder) is in the processing range is N, the processing range is N MB processing and one synchronous processing. Repeat until the right edge of is reached. As a result, in the repetitive part of the processing range, one synchronization process is required for every N MBs, and the synchronization process can be reduced to 1 / N compared with the comparative example.

[0044] 図 11は、第 2実施例の処理の概略を説明するフローチャートである。図 10に示す 処理は、プロセッサ 21により実行される。プロセッサ 21は、 CPU及び記憶部等からな る周知の構成を有する情報処理装置であり、復号ィ匕装置はこのようなプロセッサ 21 が複数個、並列処理可能に接続された構成を有する。  FIG. 11 is a flowchart for explaining the outline of the processing of the second embodiment. The processing shown in FIG. 10 is executed by the processor 21. The processor 21 is an information processing apparatus having a known configuration including a CPU, a storage unit, and the like, and the decoding apparatus has a configuration in which a plurality of such processors 21 are connected so as to be capable of parallel processing.

[0045] 図 11において、ステップ S 21は処理範囲の各 MBラインの右端の MBが処理される まで、ステップ S22, S23の処理を繰り返す。ステップ S22は N個の MBの処理を行 い、ステップ S23は処理完了の待ち合わせ、データの受け渡し等を含む同期処理を 行う。ステップ S24は処理範囲の最後の MBラインについてステップ S21〜S23が行 われた力否かを判定し、判定結果が NOであると処理はステップ S21へ戻り、 YESで あると処理は終了する。  In FIG. 11, step S 21 repeats the processing of steps S 22 and S 23 until the rightmost MB of each MB line in the processing range is processed. In step S22, N MBs are processed, and in step S23, synchronous processing including waiting for completion of processing and data transfer is performed. In step S24, it is determined whether or not the power of steps S21 to S23 has been performed on the last MB line in the processing range. If the determination result is NO, the process returns to step S21, and if it is YES, the process ends.

[0046] 上記の如く 2つのプロセッサ # 1, # 2を並列処理に用いる場合、各プロセッサ # 1, # 2は図 11に示す処理を行うが、プロセッサ # 2の場合、注目 MBに対する処理を行 う際に注目 MBの上を含む参照 MBのデータを必要とする点ではプロセッサ # 1の場 合の処理と同じであるが、プロセッサ # 2が処理する MBラインでは 1番目の MBライ ンの処理につ 、てはプロセッサ # 1の 3番目の MBラインの MBに対する処理結果を 用いる点だけ異なる。 [0046] As described above, when two processors # 1, # 2 are used for parallel processing, each processor # 1, # 2 # 2 performs the processing shown in Fig. 11. However, in the case of processor # 2, when processing for the target MB requires reference MB data including the target MB, processor # 1 This is the same as the processing, except that the MB line processed by processor # 2 uses the processing result for the MB of the third MB line of processor # 1 for the processing of the first MB line.

[0047] 図 12は、第 2実施例の処理順序とデータ転送を 3つのプロセッサを用いる場合につ いて説明する図であり、図 13は、第 2実施例における 3つのプロセッサの処理を説明 するフローチャートである。図 12中、各矩形領域は 1つの MBを示し、各矩形領域内 の数字は処理範囲の左上から右上、右下への処理順序を示し、細い実線の矢印は データ転送を示す。又、説明の便宜上、各プロセッサ # 1, # 2, # 3が処理を担当す る処理範囲は、例えば夫々の処理性能に合わせて P, Q, Rマクロブロック(MB)ライ ン毎であり、各 MBラインは W個の MBからなるものとする。ここで、 P, Q, R, Wはい ずれも 2以上の整数であり、 P, Q, Rはいずれも Nと等しくても異なっても良いが、好 ましくは Wより小さい。又、本実施例では P, Q, Rは P〉R〉Qなる関係を満足している 1S この関係に限定されるものではない。各 MBは、例えば 16 X 16画素のデータか らなる。  FIG. 12 is a diagram for explaining the processing order and data transfer in the second embodiment when three processors are used, and FIG. 13 explains the processing of the three processors in the second embodiment. It is a flowchart. In Fig. 12, each rectangular area indicates one MB, the numbers in each rectangular area indicate the processing order from the upper left to the upper right and lower right of the processing range, and the thin solid arrows indicate data transfer. Also, for convenience of explanation, the processing range in which each processor # 1, # 2, # 3 is in charge of processing is, for example, for each P, Q, R macroblock (MB) line according to each processing performance, Each MB line shall consist of W MBs. Here, P, Q, R, and W are all integers of 2 or more, and P, Q, and R may be equal to or different from N, but are preferably smaller than W. In this embodiment, P, Q, and R satisfy the relationship P> R> Q. 1S It is not limited to this relationship. Each MB is composed of, for example, 16 × 16 pixel data.

[0048] DF処理のように、処理対象となる符号化された画像データの 1フレーム内の注目 M Bに対する処理を行う際に注目 MBの上を含む参照 MBのデータを必要とする場合、 図 12に示すような順序で処理を行う。  [0048] When processing the target MB in one frame of the encoded image data to be processed as in DF processing, when the reference MB data including the upper part of the target MB is required, the processing shown in FIG. Processing is performed in the order shown in FIG.

[0049] 図 13は、 3つのプロセッサ # 1, # 2, # 3の処理を示す。プロセッサ # 1はステップ S201— 1〜S207— 1を行!/、、プロセッサ # 2ίまステップ S201— 2〜S207— 2, S2 11— 2を行!ヽ、プロセッサ # 3ίまステップ S201— 3〜S207— 3, S211— 3を行う。 図 13中、実質的に同じステップには同一符号にプロセッサ # 1〜 # 3に対応する添 え字「 1」〜「一 3」を付けて示す。  [0049] FIG. 13 shows processing of three processors # 1, # 2, and # 3. Processor # 1 performs steps S201—1 to S207—1! /, Processor # 2ί steps S201—2 to S207—2, S2 11—2! — 3, S211— Perform 3 In FIG. 13, substantially the same steps are indicated by adding the suffixes “1” to “1 3” corresponding to the processors # 1 to # 3 to the same reference numerals.

[0050] 先ず、プロセッサ # 1の処理を説明する。プロセッサ # 1の処理が開始されると、ス テツプ S 201— 1は変数 i (整数)を i= 1に設定する。ステップ S 202— 1は i番目の MB 「i」の処理を行!、、ステップ S 203 - 1は MBが処理範囲の下端に位置して!/、るか否 かを判定する。ステップ S 203— 1の判定結果が NOであると、ステップ S204—1は現 在の MBの下の MBの処理を行い、処理はステップ S203— 1へ戻る。他方、ステップ S 203— 1の判定結果が YESであると、ステップ S 205— 1はプロセッサ # 2へのデー タ転送を行い、ステップ S206— 1は i= (W+P— 1)であるか否かを判定する。ステツ プ S205— 1のデータ転送では、 P番目の MBラインの MBの処理結果がプロセッサ # 2へ転送される。ステップ S 206— 1の判定結果が NOであると、ステップ S207— 1 は iを i=i+ lにインクリメントし、処理はステップ S202— 1へ戻る。ステップ S206— 1 の判定結果が YESであると、プロセッサ # 1の処理は終了する。 First, the processing of processor # 1 will be described. When the processing of processor # 1 is started, step S201-1 sets variable i (integer) to i = 1. Step S 202-1 performs processing of the i-th MB “i” !, and step S 203-1 determines whether or not the MB is located at the lower end of the processing range! /. If the judgment result in step S203-1 is NO, step S204-1 The MB under the current MB is processed, and the process returns to step S203-1. On the other hand, if the decision result in the step S203-1 is YES, the step S205-1 performs data transfer to the processor # 2, and the step S206-1 does i = (W + P-1)? Determine whether or not. In step S205—1 data transfer, the MB processing result of the Pth MB line is transferred to processor # 2. If the decision result in the step S206-1 is NO, the step S207-1 increments i to i = i + 1, and the process returns to the step S202-1. If the decision result in the step S206-1 is YES, the process of the processor # 1 is finished.

[0051] 次に、プロセッサ # 2の処理を説明する。プロセッサ # 2の処理が開始されると、ス テツプ S 201— 2は変数 i (整数)を i= 1に設定する。ステップ S211 - 2はプロセッサ # 1からのデータ転送を待つ同期処理を行う。従って、最初は、プロセッサ # 2が 1番 目の MBラインの 1番目の MB「1」を処理するのに必要である、プロセッサ # 1が処理 した P番目の MBラインの MBの処理結果がプロセッサ # 1から転送されてくると、処 理はステップ S202— 2へ進む。プロセッサ # 2の他の処理は、基本的には上記プロ セッサ # 1の処理と同じである力 S、ステップ S206— 2は i= (W+Q— 1)であるか否か を判定する。 [0051] Next, the processing of processor # 2 will be described. When the processing of processor # 2 is started, step S201-2 sets variable i (integer) to i = 1. Step S211-2 performs a synchronization process waiting for data transfer from processor # 1. Therefore, at first, the processing result of the MB of the Pth MB line processed by processor # 1 is required for processor # 2 to process the first MB "1" of the first MB line. When transferred from # 1, processing proceeds to step S202-2. The other processing of processor # 2 is basically the same force S as the processing of processor # 1, and step S206-2 determines whether i = (W + Q—1).

[0052] 次に、プロセッサ # 3の処理を説明する。プロセッサ # 3の処理が開始されると、ス テツプ S 201 - 3は変数 i (整数)を i = 1に設定する。ステップ S 211 - 3はプロセッサ # 2からのデータ転送を待つ同期処理を行う。従って、最初は、プロセッサ # 3が 1番 目の MBラインの 1番目の MB「1」を処理するのに必要である、プロセッサ # 2が処理 した Q番目の MBラインの MBの処理結果がプロセッサ # 2から転送されてくると、処 理はステップ S202— 3へ進む。プロセッサ # 4の他の処理は、基本的には上記プロ セッサ # 2の処理と同じである力 ステップ S 206— 3は i= (W+R— 1)であるか否か を判定する。  Next, the processing of processor # 3 will be described. When processing of processor # 3 is started, step S201-3 sets variable i (integer) to i = 1. Step S211-3 performs a synchronous process waiting for data transfer from processor # 2. Therefore, at first, the processing result of the MB of the Qth MB line processed by processor # 2 is required for processor # 3 to process the first MB “1” of the first MB line. When transferred from # 2, the process proceeds to step S202-3. The other processing of the processor # 4 is basically the same as the processing of the processor # 2, and the step S206-3 determines whether i = (W + R—1).

[0053] 尚、上記各実施例においては、処理の対象となる符号化された画像データに対し て復号化装置が複数のプロセッサのソフトウェア処理により上記の如き MB単位の処 理を行っている力 複数のデコーダのハードウェア処理により上記の如き MB単位の 処理を行う場合、デコーダとしては物理的に別々の複数のデコーダを用いても、物理 的には単一のデコーダ内の複数のデコーダ部を用いても良いことは言うまでもない。 産業上の利用可能性 [0053] In each of the above embodiments, the ability of the decoding apparatus to perform the above-described MB unit processing on the encoded image data to be processed by software processing of a plurality of processors. When processing in units of MB as described above by hardware processing of a plurality of decoders, even if a plurality of physically separate decoders are used as the decoder, physically a plurality of decoder units within a single decoder are used. Needless to say, it may be used. Industrial applicability

[0054] 本発明は、 H. 264方式の復号化処理のような、複雑なデータ依存性がある処理が 要求される画像処理に対して適用可能である。  [0054] The present invention is applicable to image processing that requires complicated data-dependent processing such as H.264 decoding processing.

[0055] 以上、本発明を実施例により説明したが、本発明は上記実施例に限定されるもので はなぐ本発明の範囲内で種々の変形及び改良が可能であることは言うまでもない。 As described above, the present invention has been described with reference to the embodiments. Needless to say, the present invention is not limited to the above embodiments, and various modifications and improvements can be made within the scope of the present invention.

Claims

請求の範囲 The scope of the claims [1] 処理の対象となる符号化された画像データに対して、複数の処理部でマクロブロッ ク単位の並列処理を行う復号ィ匕方法であって、  [1] A decoding method in which a plurality of processing units perform parallel processing in units of macroblocks on encoded image data to be processed. 各処理部が処理を担当する処理範囲に、複数のマクロブロックラインを割り当て、 該各処理部が処理する注目マクロブロックの処理を、該注目マクロブロックが属する マクロブロックラインより 1つ先行するマクロブロックラインの参照マクロブロックの処理 結果を用いて行い、  A plurality of macro block lines are assigned to the processing range in which each processing unit is in charge of processing, and the processing of the target macro block processed by each processing unit is performed one macro block preceding the macro block line to which the target macro block belongs. Using the processing result of the reference macroblock of the line, 第 1の処理部の処理範囲内の最後のマクロブロックラインの参照マクロブロックの処 理結果を用いて、第 2の処理部の処理範囲内の最初のマクロブロックラインの注目マ クロブロックの処理を行うことを特徴とする、復号化方法。  Using the processing result of the reference macroblock of the last macroblock line within the processing range of the first processing unit, the target macroblock of the first macroblock line within the processing range of the second processing unit is processed. A decoding method, characterized in that: [2] 該複数の処理部の処理を、複数のプロセッサのソフトウェア処理、或いは、複数の デコーダのハードウェア処理で行うことを特徴とする、請求項 1記載の復号化方法。  2. The decoding method according to claim 1, wherein the processing of the plurality of processing units is performed by software processing of a plurality of processors or hardware processing of a plurality of decoders. [3] 該各処理部の処理は、 H. 264— AVC規格に準拠したイントラ予測又はモーション ベクトル予測であり、  [3] The processing of each processing unit is intra prediction or motion vector prediction compliant with the H.264- AVC standard. 参照マクロブロックは、対応する注目マクロブロックの右上に位置することを特徴と する、請求項 1又は 2記載の復号化方法。  3. The decoding method according to claim 1, wherein the reference macroblock is located at the upper right of the corresponding macroblock of interest. [4] 該第 1及び第 2の処理部の処理範囲の大きさが同じであることを特徴とする、請求 項 3記載の復号化方法。 4. The decoding method according to claim 3, wherein the processing ranges of the first and second processing units are the same. [5] 各処理部の処理は、 H. 264— AVC規格に準拠したデブロッキングフィルタ処理で あり、 [5] The processing of each processing unit is deblocking filtering based on the H.264—AVC standard. 参照マクロブロックは、対応する注目マクロブロックの上に位置することを特徴とする 、請求項 1又は 2記載の復号化方法。  The decoding method according to claim 1 or 2, wherein the reference macroblock is located above the corresponding target macroblock. [6] 該第 1及び第 2の処理部の処理範囲の大きさが異なることを特徴とする、請求項 5 記載の復号化方法。 6. The decoding method according to claim 5, wherein the processing ranges of the first and second processing units are different. [7] 該第 2の処理部の処理範囲内の最後のマクロブロックラインの参照マクロブロックの 処理結果を用いて、第 3の処理部の処理範囲内の最初のマクロブロックラインの注目 マクロブロックの処理を行 、、  [7] Using the processing result of the reference macroblock of the last macroblock line in the processing range of the second processing unit, the attention macroblock of the first macroblock line in the processing range of the third processing unit Process, 該第 1、第 2及び第 3の処理部の処理範囲の大きさが互いに異なることを特徴とする 、請求項 5又は 6記載の復号化方法。 The processing ranges of the first, second, and third processing units are different from each other. The decoding method according to claim 5 or 6. [8] 該各処理部が、所定数のマクロブロックを処理する毎に、同期処理を行うことを特徴 とする、請求項 1〜7のいずれか 1項記載の復号ィ匕方法。 8. The decoding method according to any one of claims 1 to 7, wherein each processing unit performs a synchronization process every time a predetermined number of macro blocks are processed. [9] 該同期処理は、処理の完了の待ち合わせ及びデータの受け渡しを含み、該第 1の 処理部の参照マクロブロックの処理結果を、該第 2の処理部の注目マクロブロックの 処理のために該第 2の処理部に転送することを特徴とする、請求項 8記載の復号ィ匕 方法。 [9] The synchronization processing includes waiting for the completion of processing and data transfer, and uses the processing result of the reference macroblock of the first processing unit for processing of the target macroblock of the second processing unit. 9. The decryption method according to claim 8, wherein the decryption method is transferred to the second processing unit. [10] 処理の対象となる符号化された画像データをマクロブロック単位で並列処理する複 数の処理部を備え、  [10] Provided with multiple processing units that process the encoded image data to be processed in macroblock units in parallel, 各処理部が処理を担当する処理範囲に、複数のマクロブロックラインが割り当てら れ、  Multiple macroblock lines are assigned to the processing range in which each processing unit is in charge of processing. 該各処理部が処理する注目マクロブロックの処理は、該注目マクロブロックが属す るマクロブロックラインより 1つ先行するマクロブロックラインの参照マクロブロックの処 理結果を用いて行われ、  The processing of the target macroblock processed by each processing unit is performed using the processing result of the reference macroblock of the macroblock line that precedes the macroblock line to which the target macroblock belongs, 第 1の処理部の処理範囲内の最後のマクロブロックラインの参照マクロブロックの処 理結果を用いて、第 2の処理部の処理範囲内の最初のマクロブロックラインの注目マ クロブロックの処理が行なわれることを特徴とする、復号ィ匕装置。  Using the processing result of the reference macroblock in the last macroblock line within the processing range of the first processing unit, the target macroblock of the first macroblock line within the processing range of the second processing unit is processed. Decoding device, characterized in that it is performed. [11] 該複数の処理部は、ソフトウェア処理を行う複数のプロセッサ、或いは、ハードゥエ ァ処理を行う複数のデコーダで構成されることを特徴とする、請求項 10記載の復号 化装置。  [11] The decoding device according to [10], wherein the plurality of processing units include a plurality of processors that perform software processing or a plurality of decoders that perform hard- er processing. [12] 各処理部の処理は、 H. 264— AVC規格に準拠したイントラ予測又はモーションべ タトル予測であり、  [12] The processing of each processing unit is intra prediction or motion vector prediction compliant with the H.264—AVC standard. 参照マクロブロックは、対応する注目マクロブロックの右上に位置することを特徴と する、請求項 10又は 11記載の復号化装置。  12. The decoding device according to claim 10 or 11, wherein the reference macroblock is located at the upper right of the corresponding macroblock of interest. [13] 該第 1及び第 2の処理部の処理範囲の大きさが同じであることを特徴とする、請求 項 12記載の復号化装置。 13. The decoding device according to claim 12, wherein the processing ranges of the first and second processing units are the same. [14] 該各処理部の処理は、 H. 264— AVC規格に準拠したデブロッキングフィルタ処 理であり、 参照マクロブロックは、対応する注目マクロブロックの上に位置することを特徴とする[14] The processing of each processing unit is deblocking filter processing compliant with the H. 264— AVC standard. The reference macroblock is located above the corresponding target macroblock 、請求項 10又は 11記載の復号化装置。 12. The decoding device according to claim 10 or 11. [15] 該第 1及び第 2の処理部の処理範囲の大きさが異なることを特徴とする、請求項 14 記載の復号化装置。 15. The decoding device according to claim 14, wherein the processing ranges of the first and second processing units are different. [16] 該第 2の処理部の処理範囲内の最後のマクロブロックラインの参照マクロブロックの 処理結果を用いて、第 3の処理部の処理範囲内の最初のマクロブロックラインの注目 マクロブロックの処理を行 、、  [16] Using the processing result of the reference macroblock in the last macroblock line within the processing range of the second processing unit, the target macroblock of the first macroblock line within the processing range of the third processing unit is used. Process, 該第 1、第 2及び第 3の処理部の処理範囲の大きさが互いに異なることを特徴とする The processing ranges of the first, second, and third processing units are different from each other. 、請求項 14又は 15記載の復号化装置。 16. The decoding device according to claim 14 or 15. [17] 該各処理部が、所定数のマクロブロックを処理する毎に、同期処理を行うことを特徴 とする、請求項 10〜16のいずれか 1項記載の復号ィ匕装置。 17. The decoding apparatus according to any one of claims 10 to 16, wherein each processing unit performs a synchronization process each time a predetermined number of macro blocks are processed. [18] 該同期処理は、処理の完了の待ち合わせ及びデータの受け渡しを含み、該第 1の 処理部の参照マクロブロックの処理結果を、該第 2の処理部の注目マクロブロックの 処理のために該第 2の処理部に転送することを特徴とする、請求項 17記載の復号化 装置。 [18] The synchronization processing includes waiting for the completion of processing and data transfer, and the processing result of the reference macroblock of the first processing unit is used for processing of the target macroblock of the second processing unit. 18. The decoding device according to claim 17, wherein the decoding device transfers to the second processing unit.
PCT/JP2006/316037 2006-08-15 2006-08-15 Decoding method and device Ceased WO2008020470A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2006/316037 WO2008020470A1 (en) 2006-08-15 2006-08-15 Decoding method and device
JP2008529793A JP4879269B2 (en) 2006-08-15 2006-08-15 Decoding method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2006/316037 WO2008020470A1 (en) 2006-08-15 2006-08-15 Decoding method and device

Publications (1)

Publication Number Publication Date
WO2008020470A1 true WO2008020470A1 (en) 2008-02-21

Family

ID=39082003

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/316037 Ceased WO2008020470A1 (en) 2006-08-15 2006-08-15 Decoding method and device

Country Status (2)

Country Link
JP (1) JP4879269B2 (en)
WO (1) WO2008020470A1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009063646A1 (en) * 2007-11-16 2009-05-22 Panasonic Corporation Image decoding device and image decoding method
WO2010113227A1 (en) * 2009-03-31 2010-10-07 パナソニック株式会社 Image decoding device
JP2012502592A (en) * 2008-09-11 2012-01-26 グーグル・インク Decoding system and method using parallel processing
WO2016060405A1 (en) * 2014-10-17 2016-04-21 Samsung Electronics Co., Ltd. Method and apparatus for parallel video decoding based on multi-core system
JP2017099017A (en) * 2008-05-23 2017-06-01 パナソニックIpマネジメント株式会社 Image decoding apparatus, image coding apparatus, image decoding method, image coding method, program and integrated circuit
US9762931B2 (en) 2011-12-07 2017-09-12 Google Inc. Encoding time management in parallel real-time video encoding
US9794574B2 (en) 2016-01-11 2017-10-17 Google Inc. Adaptive tile data size coding for video and image compression
US10542258B2 (en) 2016-01-25 2020-01-21 Google Llc Tile copying for video compression
US11425395B2 (en) 2013-08-20 2022-08-23 Google Llc Encoding and decoding using tiling

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09294262A (en) * 1996-04-26 1997-11-11 Hitachi Ltd Image coding device
JPH11234678A (en) * 1998-02-18 1999-08-27 Victor Co Of Japan Ltd Image transmission method by splitting
JP2001218201A (en) * 2000-02-01 2001-08-10 Nippon Telegr & Teleph Corp <Ntt> Parallel image decoding device, parallel image decoding method, and program recording medium for parallel image decoding
JP2004140473A (en) * 2002-10-15 2004-05-13 Sony Corp Image information encoding device, decoding device, image information encoding method, and decoding method
JP2006129284A (en) * 2004-10-29 2006-05-18 Sony Corp Encoding and decoding apparatus and encoding and decoding method
JP2006129285A (en) * 2004-10-29 2006-05-18 Sony Corp Encoding and decoding apparatus and encoding and decoding method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4616057B2 (en) * 2005-04-13 2011-01-19 パイオニア株式会社 Image coding apparatus and image coding method
JP4779735B2 (en) * 2006-03-16 2011-09-28 パナソニック株式会社 Decoding device, decoding method, program, and recording medium
JP4847222B2 (en) * 2006-06-12 2011-12-28 日本電信電話株式会社 Moving image filter processing method, apparatus, filter processing program, and recording medium therefor

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09294262A (en) * 1996-04-26 1997-11-11 Hitachi Ltd Image coding device
JPH11234678A (en) * 1998-02-18 1999-08-27 Victor Co Of Japan Ltd Image transmission method by splitting
JP2001218201A (en) * 2000-02-01 2001-08-10 Nippon Telegr & Teleph Corp <Ntt> Parallel image decoding device, parallel image decoding method, and program recording medium for parallel image decoding
JP2004140473A (en) * 2002-10-15 2004-05-13 Sony Corp Image information encoding device, decoding device, image information encoding method, and decoding method
JP2006129284A (en) * 2004-10-29 2006-05-18 Sony Corp Encoding and decoding apparatus and encoding and decoding method
JP2006129285A (en) * 2004-10-29 2006-05-18 Sony Corp Encoding and decoding apparatus and encoding and decoding method

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8565315B2 (en) 2007-11-16 2013-10-22 Panasonic Corporation Image decoding device and image decoding method
JPWO2009063646A1 (en) * 2007-11-16 2011-03-31 パナソニック株式会社 Image decoding apparatus and image decoding method
WO2009063646A1 (en) * 2007-11-16 2009-05-22 Panasonic Corporation Image decoding device and image decoding method
JP2018078645A (en) * 2008-05-23 2018-05-17 パナソニックIpマネジメント株式会社 Image decoding apparatus, image encoding apparatus, image decoding method, image encoding method, program, and integrated circuit
JP2017099017A (en) * 2008-05-23 2017-06-01 パナソニックIpマネジメント株式会社 Image decoding apparatus, image coding apparatus, image decoding method, image coding method, program and integrated circuit
US9357223B2 (en) 2008-09-11 2016-05-31 Google Inc. System and method for decoding using parallel processing
USRE49727E1 (en) 2008-09-11 2023-11-14 Google Llc System and method for decoding using parallel processing
JP2012502592A (en) * 2008-09-11 2012-01-26 グーグル・インク Decoding system and method using parallel processing
US8971401B2 (en) 2009-03-31 2015-03-03 Panasonic Intellectual Property Management Co., Ltd. Image decoding device
JPWO2010113227A1 (en) * 2009-03-31 2012-10-04 パナソニック株式会社 Image decoding device
WO2010113227A1 (en) * 2009-03-31 2010-10-07 パナソニック株式会社 Image decoding device
US9762931B2 (en) 2011-12-07 2017-09-12 Google Inc. Encoding time management in parallel real-time video encoding
US12126811B2 (en) 2013-08-20 2024-10-22 Google Llc Encoding and decoding using tiling
US11425395B2 (en) 2013-08-20 2022-08-23 Google Llc Encoding and decoding using tiling
US11722676B2 (en) 2013-08-20 2023-08-08 Google Llc Encoding and decoding using tiling
KR101676788B1 (en) 2014-10-17 2016-11-16 삼성전자주식회사 Method and apparatus for parallel video decoding based on multi-core system
US10313699B2 (en) 2014-10-17 2019-06-04 Samsung Electronics Co., Ltd. Method and apparatus for parallel video decoding based on multi-core system
KR20160045503A (en) * 2014-10-17 2016-04-27 삼성전자주식회사 Method and apparatus for parallel video decoding based on multi-core system
WO2016060405A1 (en) * 2014-10-17 2016-04-21 Samsung Electronics Co., Ltd. Method and apparatus for parallel video decoding based on multi-core system
US9794574B2 (en) 2016-01-11 2017-10-17 Google Inc. Adaptive tile data size coding for video and image compression
US10542258B2 (en) 2016-01-25 2020-01-21 Google Llc Tile copying for video compression

Also Published As

Publication number Publication date
JP4879269B2 (en) 2012-02-22
JPWO2008020470A1 (en) 2010-01-07

Similar Documents

Publication Publication Date Title
US12368862B2 (en) Method and system for selectively breaking prediction in video coding
RU2691962C2 (en) Image processing device and image processing method
RU2533444C2 (en) Image processing device and method
JP6685208B2 (en) Video decoding method and apparatus
CN104125468B (en) Image processing apparatus and method
CN103997650B (en) The method and Video Decoder of a kind of video decoding
WO2007091601A1 (en) Encoding device, encoding method, and program
JP7413557B2 (en) Video decoding method and device related to sign data hiding
JP4501631B2 (en) Image coding apparatus and method, computer program for image coding apparatus, and portable terminal
WO2007046644A1 (en) Apparatus and method for encoding and decoding moving picture using adaptive scanning
US10728544B2 (en) Encoding device, encoding method, decoding device, and decoding method
CN102939759A (en) Image processing device and method
US20220038719A1 (en) Residual coding with reduced usage of local neighborhood
WO2013056577A1 (en) Intra-frame prediction mode encoder and decoder, method thereof, and electronic device
JP2014096638A (en) Image encoder, image encoding method, image encoding program, image decoder, image decoding method and image decoding program
WO2008020470A1 (en) Decoding method and device
CN104956677A (en) Combined parallel and pipelined video encoder
JP7403246B2 (en) Image decoding device, image decoding method
US11483592B1 (en) System and method for improving and reducing visual distortion
JP2013098970A (en) Image decoding apparatus, inverse orthogonal conversion method, program and image coding apparatus
JP2016184844A (en) Image processing apparatus and method
HK1234564B (en) Method and system for selectively breaking prediction in video coding
HK1234565B (en) Method and system for selectively breaking prediction in video coding

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 06796427

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2008529793

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

NENP Non-entry into the national phase

Ref country code: RU

122 Ep: pct application non-entry in european phase

Ref document number: 06796427

Country of ref document: EP

Kind code of ref document: A1