WO2010079577A1 - 動画像復号装置、動画像復号方法、及びプログラム - Google Patents

動画像復号装置、動画像復号方法、及びプログラム Download PDF

Info

Publication number
WO2010079577A1
WO2010079577A1 PCT/JP2009/007290 JP2009007290W WO2010079577A1 WO 2010079577 A1 WO2010079577 A1 WO 2010079577A1 JP 2009007290 W JP2009007290 W JP 2009007290W WO 2010079577 A1 WO2010079577 A1 WO 2010079577A1
Authority
WO
WIPO (PCT)
Prior art keywords
conversion
unit
information
decoding
intermediate data
Prior art date
Application number
PCT/JP2009/007290
Other languages
English (en)
French (fr)
Inventor
森吉達治
Original Assignee
日本電気株式会社
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 日本電気株式会社 filed Critical 日本電気株式会社
Priority to US13/143,412 priority Critical patent/US8929463B2/en
Publication of WO2010079577A1 publication Critical patent/WO2010079577A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/164Feedback from the receiver or from the transmission channel
    • H04N19/166Feedback from the receiver or from the transmission channel concerning the amount of transmission errors, e.g. bit error rate [BER]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • 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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder

Definitions

  • the present invention relates to a moving image data decoding apparatus, and more particularly, to a moving image decoding apparatus that decodes moving image data having a limited range of correspondence or moving image data in which some operations are defective.
  • ITU International Telecommunication
  • H.C. 261, H.H. H.263, ISO (International Organization for Standardization) MPEG-1, MPEG-2, MPEG-4, SMPTE (Society of Motion Picture and Television Engineers) VC-1 are widely used as international standards.
  • H.264 has been standardized jointly by ITU and ISO IV. H.264 (see Non-Patent Document 1). This H. It is known that H.264 can realize further improvement in compression efficiency and image quality as compared with the conventional moving picture coding technology.
  • Non-Patent Document 2 For example, in the DXVA (DirectX Video Acceleration) standard (see Non-Patent Document 2) used in a PC (personal computer), for example, input data such as MPEG-2 TS (Transport Stream) is converted to H.264. H.264 ES (Elementary Stream) is extracted, divided into picture (hereinafter also referred to as frames) units, analyzed, and processed until general data is created according to a predetermined format (hereinafter referred to as CPU) Abbreviated). After that, the process of decoding the generated intermediate data and generating a decoded image is normally performed by a decoding accelerator built in a GPU (Graphics Processing Unit). In this way, the CPU and GPU share the functions and execute the decoding process.
  • DXVA DirectX Video Acceleration
  • FIG. 11 is a functional block configuration diagram of the moving picture decoding apparatus 1000 that performs decoding processing.
  • the bit stream stored in the bit stream storage unit 1001 such as a hard disk is an encoded moving image bit stream, and is supplied to the analysis unit 1002.
  • the analysis unit 1002 analyzes the supplied bit stream and outputs intermediate data in a determined format to the intermediate data storage unit 1003.
  • Intermediate data from the intermediate data storage unit 1003 is supplied to the decoding unit 1004.
  • the decoding unit 1004 performs an image decoding process using the input intermediate data 1003 and a past decoded image stored in the image memory 1005, and stores the result in the image memory 1005.
  • the image memory 1005 stores a plurality of images, stores the decoded image output from the decoding unit 1004, supplies the decoded image for subsequent decoding processing, and supplies the output unit 1006 with the image.
  • the output unit 1006 performs output processing such as screen display of an input image.
  • the control unit 1007 supplies which region of the image memory 1005 is supplied for decoding processing by the decoding unit 1004, which region stores the decoding result, and which region of the image is supplied to the output unit 1006. Take control.
  • the control unit 1007 controls the operations of the analysis unit 1002, the decoding unit 1004, and the output unit 1006 to perform the decoding process as described above.
  • FIG. 12 and 13 are diagrams illustrating an example of function sharing between the CPU and the GPU in the video decoding device 1000 illustrated in FIG.
  • the decoding unit 1004 is in the GPU, and all others are shared by the CPU and the storage device connected to the CPU.
  • the decoding unit 1004, the image memory 1005, and the output unit 1006 are shared by the storage device connected to the GPU and the GPU, and the rest are shared by the CPU and the storage device connected to the CPU.
  • a plurality of modes are defined as the format of intermediate data stored in the intermediate data storage unit 1003.
  • SPS Sequence Parameter Set
  • PPS Picture Parameter Set
  • Slice Header information the result analyzed by the CPU is supplied to the GPU, and the Slice Data information is not analyzed by the CPU and the bit stream is directly converted to the GPU. Operates to supply.
  • FIG. 14 shows an example of the configuration of the intermediate data.
  • the intermediate data includes header analysis information 2002, image buffer information 2003, and bit stream 2004.
  • the header analysis information 2002 information on the result of analyzing the bit stream of SPS, PPS, and Slice Header by the analysis unit 1002 is stored. This includes information such as image width and height information, num_ref_frames indicating the number of reference pictures used for decoding processing, FieldOrderCnt indicating the picture output order, and pic_init_qp_minus26 indicating initial values of quantization parameters at the time of picture decoding. It is.
  • the image buffer information 2003 stores information on the state of a DPB (Decoded Picture Buffer) used for decoding processing.
  • DPB Decoded Picture Buffer
  • DPB operations such as adding a picture to the DPB, erasing a picture from the DPB, and changing the reference state in the DPB, the DPB at the time when the bitstream is processed by the analysis unit 1002 according to the analysis information of the SPS and PPS, and a certain picture is decoded.
  • image buffer information 2003 This includes, for example, a flag indicating whether each reference frame is a Field Order Cnt, a Frame Num, or a Long Term reference picture.
  • the substance of the image data is stored in the image memory 1005, so which area in the image memory 1005 each picture in the DPB is the image data of.
  • Corresponding index information (index to the image memory) is also stored.
  • the bit stream 2004 stores the bit stream analyzed by the analysis unit 1002 and extracted from the slice data portion.
  • the decoding unit 1004 can operate with specifications independent of external input / output of the entire decoding device, and only this part is designed as a reusable IP core. However, it is used for various purposes.
  • H Since the moving picture coding technique such as the H.264 system is a set of many coding techniques (called coding tools), it is a very complex standard as a whole. Therefore, it is not easy to develop a decoding unit 1004 that supports all coding tools and that operates without problems in any environment, such as ensuring operation when there is an abnormality in the bitstream including error mixing. Absent. For this reason, limiting the intended use in advance may limit the specifications of the decoding unit 1004 and facilitate development. For example, it may be possible to simplify the handling of an abnormal bitstream assuming an application in which error mixing is not considered.
  • the decoding unit cannot correctly decode a code that occurs very rarely.
  • the video decoding device 1000 as shown in FIG. 11 is configured by using a decoding IP core that has limitations or malfunctions in the corresponding range as described above, depending on the conditions of the input bitstream, etc. May cause the decoding unit 1004 to malfunction.
  • This malfunction includes, for example, the operation of the entire decoding apparatus, such as writing to a storage device in an area that is not originally allowed or stopping the operation, from a relatively minor one in which a part of the decoded image is disturbed. It can be considered that there is a possibility of impairing stability.
  • the present invention provides a moving picture decoding apparatus capable of stably executing a desired moving picture decoding process even for a moving picture having a limited range of correspondence or having a malfunction in some operations. With the goal.
  • the present invention analyzes an input bitstream and outputs first intermediate data and analysis information, a conversion rule storage for storing conversion rules, and the conversion
  • a conversion unit configured to convert the analysis information according to a rule and output the second intermediate data
  • a decoding unit configured to decode the first and second intermediate data output from the analysis unit and the conversion unit.
  • the analysis information includes reference information to an image used for motion compensation, identification information for identifying a frame, a bit stream in which an abnormality is detected, and the like, and a conversion process is performed by a conversion unit according to a conversion rule corresponding to each. Are output as second intermediate data. Therefore, even when the decoding unit does not support the information output as the analysis information, it is possible to perform the decoding process stably. That is, when generating intermediate data to be input to the decoding unit from the input bit stream, the analysis information of the input bit stream is input to the conversion unit, and there is a possibility that there is a problem in the correspondence of the decoding unit based on the analysis information Since intermediate data is generated after converting certain information into more general information, stable decoding processing can be performed. Further, since the transformation does not involve processing on the image signal itself such as inverse quantization, inverse orthogonal transformation, motion compensation, and intra prediction, the above effect can be obtained with a small amount of calculation.
  • FIG. 1st Embodiment of this invention It is a figure which shows an example of the conversion process in the conversion part by the 1st Embodiment of this invention. It is a figure which shows another example of the conversion process in the conversion part by the 1st Embodiment of this invention. It is a figure which shows a part of header analysis information contained in intermediate data. It is a figure which shows an example of the conversion process in the conversion part by the 2nd Embodiment of this invention.
  • FIG. 1 is a block configuration diagram of a video decoding device 1 according to an embodiment of the present invention.
  • the moving image decoding apparatus 1 includes an analysis unit 32, a conversion unit 33, a conversion rule storage unit 34, an intermediate data storage unit 35, a decoding unit 36, an image memory 37, an output unit 38, and a control unit 39, and a bit stream storage unit.
  • a bit stream is input from 31.
  • the video decoding device 1 will be described as an example in which the decoding unit 36 is in the GPU and all others are shared by the CPU and the storage device connected to the CPU.
  • the bit stream stored in the bit stream storage unit 31 is an encoded moving image bit stream.
  • the intermediate data stored in the intermediate data storage unit 35 includes header analysis information 2002, image buffer information 2003, and a bit stream 2004, similarly to the intermediate data shown in FIG.
  • the operations of the analysis unit 32 and the control unit 39 are different from the operations of the analysis unit 1002 and the control unit 1007 shown in FIG. 11, and the conversion unit 33 and the conversion rule storage unit 34 are provided. Different from the moving picture decoding apparatus 1000.
  • the analysis unit 32 analyzes the input bit stream, and some analysis results are output to the intermediate data storage unit 35 in the same intermediate data format as before, but other analysis results are output to the conversion unit 33. Supplied.
  • the conversion unit 33 performs a predetermined conversion process on the analysis result of the supplied bitstream in accordance with the conversion rule stored in the conversion rule storage unit 34 and outputs the result to the intermediate data storage unit 35 in the form of intermediate data.
  • the conversion unit 33 may not perform conversion processing on an image signal including inverse quantization, inverse orthogonal transform, motion compensation, and intra prediction.
  • the control unit 39 controls the operation of the analysis unit 32 and the conversion unit 33 based on the information acquired from the analysis unit 32, the decoding unit 36, and the output unit 38, and as described above, which region of the image memory 37 Are supplied for the decoding process in the decoding unit 36, the decoding result is stored in which region, and the image in which region is supplied to the output unit 38 is controlled.
  • the operation of the video decoding device 1 will be described in more detail with a specific example.
  • H An example in which the intermediate data is in the same data format as the intermediate data shown in FIG. 14 in the case of decoding a moving picture bitstream compressed by the H.264 method will be described.
  • the information corresponding to the header analysis information 2002 and the bitstream 2004 in FIG. 14 among the information analyzed by the analysis unit 32 is output to the intermediate data storage unit 35 as it is in the prior art.
  • Information corresponding to the image buffer information 2003 in FIG. 14 is supplied to the conversion unit 33.
  • the image buffer information 2003 includes DPB-related information used in the decoding process as shown in FIG.
  • FIG. 2 is a diagram illustrating an example of DPB information and index information to the image memory.
  • H In the H.264 system, there are usually 16 frames of entries, but FIG. 2 shows an example in which there are 6 frames of entries (entry numbers “0” to “5”).
  • a flag LongTermFlag
  • a flag indicating whether it is a FrameNum, FieldOrderCnt, or Long Term reference picture corresponding to each frame in the DPB is recorded.
  • an index (reference information) to the image memory corresponding to each frame is recorded in association with each other.
  • an invalid value (indicated by “-” in FIG. 2) is stored in the FrameNum etc. as shown in FIG. A value indicating that the corresponding entry is invalid is also stored in the index. Note that only representative information is described here for explanation, but various related information may be stored in the DPB information entry.
  • the decoding unit 36 shown in FIG. 1 refers to the image buffer information 2003 of the intermediate data from the intermediate data storage unit 35 in the motion compensation process of the decoding process, and the reference picture number ( A reference picture is selected according to ref_idx), and motion compensation is performed with reference to the image in the corresponding image area in the image memory 37.
  • FIG. 3 is a diagram for explaining motion compensation processing when an invalid value is included in an index.
  • ref_idx 5 in FIG.
  • ref_idx 5 in FIG.
  • an invalid value is returned as an index into the image memory. Since an image with an invalid index value may not exist in the image memory 37, the motion compensation process cannot be executed in this case.
  • the bit stream is normal, the motion compensation process referring to the invalid image is not performed as described above, but such ref_idx may occur when an error is mixed in the bit stream.
  • the decoding unit 36 is designed in consideration of use in an error environment, error processing is performed without executing motion compensation processing that refers to an invalid image.
  • even motion compensation processing that refers to an invalid image may be executed as it is without special processing.
  • the moving image decoding apparatus 1 supplies information corresponding to the image buffer information 2003 to the conversion unit 33.
  • the conversion unit 33 performs conversion processing based on the conversion rule stored in the conversion rule storage unit 34 and then outputs the converted data to the intermediate data storage unit 35 as intermediate data.
  • FIG. 4 is a diagram illustrating an example of a conversion process based on the conversion rule. In the example shown in FIG. 4, among the entries of the image buffer information 2003, for the entries (indexes 3 to 5) whose index to the image memory has an invalid value, the index is not an invalid value among the other entries. That is, conversion is performed so that the index is overwritten by one of the valid entry indexes.
  • the conversion unit 33 similarly overwrites other information such as a flag (LongTermFlag) indicating whether the frame is a Num, FieldOrderCnt, or Long Term reference picture included in the corresponding entry.
  • a flag LongTermFlag
  • the conversion unit 33 overwrites, for example, the entry of the first entry.
  • Such rules for the conversion processing by the conversion unit 33 are stored in the conversion rule storage unit 34 as conversion rules.
  • the control unit 39 acquires information on specifications and corresponding functions, device names, version information, and the like from the decoding unit 36, and switches whether the analysis unit 32 and the conversion unit 33 perform the above conversion processing. You may control as follows. The same applies to other embodiments described later.
  • the conversion unit 33 overwrites the entry in which the index into the image memory 37 is an invalid value with one of the valid indexes, and sends it to the decoding unit 36. input. For this reason, even if the decoding unit 36 does not perform sufficient error processing, it is possible to avoid the occurrence of unauthorized memory access and to realize a stable operation of the video decoding device 1.
  • FIG. 5 is a diagram illustrating another example of the conversion process based on the conversion rule.
  • a gray image an image having a pixel value of 128 for both the luminance component and the color difference component
  • the conversion unit 33 sets the index to the image memory as the index to the gray image (see FIG. 5) for the entry whose index to the image memory 37 is an invalid value.
  • the index is converted to be overwritten to 16), and FrameNum and the like are overwritten with a predetermined value (for example, all “0”).
  • the values such as index and FrameNum here are also stored in the conversion rule storage unit 34 as conversion rules.
  • the conversion unit 33 overwrites the entry whose index to the image memory 37 is an invalid value with an index that refers to a default image such as a gray image, and inputs the entry to the decoding unit 36. To do. Therefore, even when the decoding unit 36 does not perform sufficient error processing, it is possible to achieve the stable operation of the moving image decoding apparatus 1 by avoiding illegal memory access, and the magnitude of image disturbance is within a certain value. Can be suppressed.
  • the configuration of the moving picture decoding apparatus according to the second embodiment of the present invention is the same as that of the moving picture decoding apparatus 1 shown in FIG.
  • the information corresponding to the header analysis information 2002 and the bit stream 2004 shown in FIG. 14 is output to the intermediate data storage unit 35 as it is, and is shown in FIG.
  • Information corresponding to the image buffer information 2003 is supplied to the conversion unit 33.
  • information corresponding to the bit stream 2004 is output to the intermediate data storage unit 35 as it is, and information corresponding to the header analysis information 2002 and the image buffer information 2003 is converted to the conversion unit 33. To be supplied.
  • FIG. 6 is a diagram showing a part of the header analysis information 2002.
  • the header analysis information 2002 includes frame_num used for identifying a reference frame, for example.
  • the frame_num is normally “0” at the beginning of the sequence, and is added so as to increase by 1 for each reference frame.
  • H. According to the H.264 standard, it is recognized that the increment is larger than 1, and there is an example as shown in FIG.
  • frame_num increases by “1” until frames 0, 1, and 2. That is, the difference in frame_num between the reference frame and the frame immediately before the reference frame is “1”. However, in frame 3, frame_num is increased by “4” compared to immediately preceding frame 2, and the difference of frame_num is larger than “1”.
  • H.264 when the frame_num increment (difference) is larger than “1”, exception processing for DPB or the like is necessary, and the decoding unit 36 needs to cope with it.
  • the frame_num increment is larger than 1, depending on the design of the decoding unit 36, such a bit stream is not supported by the specification, or operation verification is insufficient. In some cases, the decoding cannot be performed normally due to the reasons described above, and the decoded image is disturbed.
  • FIG. 7 is a diagram illustrating an example of conversion processing in the conversion unit 33 according to the second embodiment of the present invention.
  • the conversion unit 33 receives the input of the header analysis information 2002, checks the frame_num difference from the previous frame, and if the difference is larger than “1” (frames 3 and 4), the frame_num is set so that the difference becomes “1”. Are converted into continuous values and output to the intermediate data storage unit 35.
  • the decoding unit 36 executes exception processing using the value of frame_num before conversion to ensure consistency of DPB contents.
  • the DPB process is performed in this way, and the image buffer information 2003 obtained by converting the FrameNum corresponding to the frame_num conversion is output to the intermediate data storage unit 35.
  • the difference of frame_num is “1”. That is, it is converted into intermediate data that is frequently generated and is more commonly seen, and is input to the decoding unit 36. Therefore, even when the decoding unit 36 does not sufficiently cope with the decoding process of frame_num larger than the difference “1” as described above, it is possible to avoid the occurrence of problems such as the disorder of the decoded image.
  • the configuration of the moving picture decoding apparatus according to the third embodiment of the present invention is the same as that of the moving picture decoding apparatus 1 shown in FIG.
  • information corresponding to the header analysis information 2002 and the bitstream 2004 shown in FIG. 14 among the information analyzed by the analysis unit 32 is output to the intermediate data storage unit 35.
  • information corresponding to the image buffer information 2003 shown in FIG. 14 is supplied to the conversion unit 33.
  • information corresponding to the header analysis information 2002 and the image buffer information 2003 is output to the intermediate data storage unit 35, and information corresponding to the bit stream 2004 is output to the conversion unit 33. Supplied.
  • FIG. 8 is a diagram illustrating an example of an effect when an error is mixed in a moving image bitstream.
  • H. In H.264, etc. as shown before the conversion in FIG. 8, the image is divided into blocks of 16 ⁇ 16 pixels called macroblocks (MB), and encoded in raster scan order from the upper left to the lower right of the screen in MB units. Processing is performed. At this time, if an error is mixed in a part of the encoded bit stream, an inconsistency occurs in the analysis processing of the bit stream due to the error, and as shown after the conversion in FIG. In many cases, the images of all MBs in the raster scan order after the error-mixed portion (gray-filled region shown in FIG. 8) are disturbed.
  • the decoding result of a bitstream in which an error is mixed often becomes a largely disturbed image far from the natural image, and the impression of the decoded image becomes very bad. Furthermore, if the decoding unit 36 is not sufficiently compatible with the decoding process of the bitstream in which an error is mixed, there is a possibility that a fatal problem such as stoppage of the decoding operation or abnormal termination may occur.
  • FIG. 9 is a diagram for explaining an example of the conversion process according to the third embodiment of the present invention.
  • the conversion unit 33 receives the input of the bit stream 2004 analyzed by the analysis unit 32 and performs analysis processing.
  • This analysis processing includes variable-length code decoding processing (CAVLC code decoding and CABAC code decoding processing in the case of H.264) among moving image decoding processing, but includes inverse quantization, inverse orthogonal transform, motion compensation, screen Processing on the image signal itself such as intra prediction is not included.
  • the conversion unit 33 has a mismatched decoding result (there is an undefined code, a reference picture that does not exist, and a prohibited coding mode exists, Etc.) as needed to detect bit error contamination. As illustrated in FIG. 9, when detecting a bit error mixture, the conversion unit 33 performs conversion to replace the bit stream from the error detection position to the end of the slice with the bit stream of the alternative MB.
  • an alternative MB that does not require processing of the image signal itself such as motion prediction, orthogonal transformation, and quantization is used.
  • (C) An intra MB without a significant coefficient that performs DC intra prediction is conceivable.
  • the above item (A) may be used for a P picture (Predictive-coded picture) or a B picture (Bidirectionally predictive-coded picture)
  • the above item (C) may be used for an I picture (Intra-coded picture).
  • the error detection position where error mixing can be detected is usually slightly ahead of the error mixing position, so there is a possibility that an error mixed MB may remain to some extent. It is alleviated more.
  • the conversion unit 33 outputs a bitstream that has been subjected to conversion processing as in the example illustrated in FIG. 9 to the intermediate data storage unit 35.
  • the conversion unit 33 when error mixing is detected in a bit stream and error mixing is detected, conversion is performed by replacing the subsequent bit stream with a bit stream of an alternative MB. Image disturbance can be reduced. At the same time, it is possible to reduce the possibility that the decoding unit 36 operates abnormally, and to realize a stable moving image decoding apparatus. Further, since the conversion unit 33 does not perform processing on the image signal itself such as motion prediction, motion compensation, orthogonal transformation / inverse orthogonal transformation, quantization / inverse quantization, the above-described effect can be realized with a small amount of calculation.
  • FIG. 10 is a diagram illustrating another example of the conversion process performed by the conversion unit 33.
  • the conversion unit 33 is the same as the above example until the bit stream analysis and the detection of the error mixture are performed.
  • all the slices are replaced with alternative MBs.
  • the conversion unit 33 inspects the error mixture in the bitstream, and when the error is detected, the conversion unit 33 performs the conversion to replace all the bitstreams of the corresponding slice with the bitstreams of the alternative MB, so that an unnatural image can be obtained. Disturbance can be reduced.
  • it is possible to realize a stable video decoding device by eliminating the possibility that the decoding unit 36 operates abnormally by converting it into a completely normal bit stream. Further, by performing the conversion in the conversion unit 33 collectively in units of slices, the above effect can be realized with a smaller amount of calculation.
  • the present invention is not limited to this application.
  • the present invention is not limited to the illustrated conversion contents, and can be applied to various conversions other than those illustrated.
  • the frame_num example has been described regarding the conversion of the header analysis information 2002, but other various values such as FieldOrderCnt and pic_order_cnt_type can also be converted with the same configuration.
  • the intermediate data is classified into header analysis information 2002, image buffer information 2003, and bit stream 2004, and the conversion processing related to each is described as an example. Further, the format of the intermediate data is not limited to the example described above.
  • the decoding unit 36 is realized by the GPU and the analysis unit 32 and the like are realized by the CPU (see FIG. 12) has been described.
  • the embodiment is not limited to this.
  • a configuration in which the decryption unit 36 is realized by a control processor connected to the dedicated IP core and the analysis unit 32 and the like, and the whole is built in one LSI chip is also conceivable.
  • This program may be recorded on a computer-readable recording medium or may be distributed via a network.
  • the “computer system” here includes an OS and hardware such as peripheral devices.
  • the “computer system” includes a homepage providing environment (or display environment) if a WWW system is used.
  • the “computer-readable recording medium” is a portable medium such as a flexible disk, a magneto-optical disk, a ROM, a CD-ROM, or a storage device such as a hard disk built in the computer system.
  • “Computer-readable recording medium” means a program that dynamically holds a program for a short time, such as a communication line when transmitting a program via a network such as the Internet or a communication line such as a telephone line.
  • a volatile memory in a computer system that serves as a server or a client in this case includes a program that holds a program for a certain period of time.
  • the above-mentioned program may be for realizing a part of the above-described functions, and may be capable of realizing the above-described functions in combination with a program already recorded in the computer system.
  • the present invention it is possible to stably perform moving image decoding processing on moving image data with a limited range of correspondence, or even on moving image data in which some operations are defective. Therefore, it is possible to supply a moving image with high accuracy while suppressing a calculation amount in the video decoding device.
  • Video decoding device 31 Bit stream storage unit 32
  • Analysis unit 33 Conversion unit 34
  • Conversion rule storage unit 35 ... intermediate data storage unit 36.
  • 37 Image memory 38
  • Output unit 39 ...
  • Control unit 2002 ... Header analysis information 2003 ... Image buffer information 2004 ... Bitstream

Landscapes

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

Abstract

入力されたビットストリームを解析して第1の中間データと解析情報とを出力する解析部と、解析部から出力された解析情報中に異常を検出したビットストリームや復号部でサポートされていない方式で用いる画像への参照情報を含むビットストリームを復号部において復号できるビットストリームに変換するための変換規則を記憶する変換規則記憶部と、前記変換規則に従って前記解析情報を変換し第2の中間データとして出力する変換部と、前記解析部及び前記変換部から出力される前記第1および第2の中間データを復号する復号部とを備えることで、復号部が解析情報に出力された情報に対応していない場合であっても、安定して復号処理を行うことが可能となる。

Description

動画像復号装置、動画像復号方法、及びプログラム
 本発明は、動画像データの復号装置に関し、特に対応範囲に制約がある動画像データ、或いは、一部の動作に不具合が存在する動画像データを復号する動画像復号装置に関する。
 動画像データ(動画像信号)を低ビットレート、高圧縮率かつ高画質で符号化して符号化データを生成したり、符号化された動画像データを復号化したりする技術として、ITU(International Telecommunication Union)が標準化したH.261、H.263や、ISO(International Organization for  Standardization)のMPEG-1、MPEG-2、MPEG-4、SMPTE(Society of Motion Picture and Television Engineers)のVC-1などが国際標準規格として広く用いられている。さらに、近年ITUとISO が共同で規格化を行なったH.264がある(非特許文献1参照)。このH.264は従来の動画像符号化技術に比べ、さらなる圧縮効率向上、画質向上を実現できることが知られている。
 また、近年は映像の大画面化、高精細化への要求が高まっており、放送や光ディスクによる映像コンテンツ販売、映像配信などで利用される映像は、HD(High Definition)と呼ばれる従来よりも高い解像度(1920×1080画素、1280×720画素など)のものが主流になりつつある。
 H.264方式などで符号化された動画像の復号処理には複雑な演算が必要であるため、高精細映像の復号処理には非常に高い演算能力が要求される。このため、復号処理を汎用のプロセッサ上で動作するソフトウェアで処理するのではなく、復号処理に特化して設計された専用半導体チップや、IPコア(Intellectual Property Core)と呼ばれる回路ブロックで処理する場合がある。このような場合でも、復号化IPコアへの動画像ビットストリームの供給や、復号結果を格納した画像バッファの管理など外部との入出力が発生する処理などは専用設計するのは得策ではない。したがって、これらの処理は汎用プロセッサで処理し、復号処理そのものは復号化IPコアで処理する、というように機能分担して協調動作することがよく行なわれる。 
 例えば、PC(パーソナルコンピュータ)で用いられるDXVA(DirectX Video Acceleration)規格(非特許文献2参照)では、例えばMPEG-2 TS(Transport Stream)のような入力データからH.264のES(Elementary Stream)を抜き出し、ピクチャ(以下、フレームとも表記)単位に分割し、その内容を解析して、決められた形式に従った中間データを作成するまでは汎用プロセッサ(以下、CPUと略記する)で行う。その後、生成された中間データを復号して復号画像を生成する処理は通常GPU(Graphics Processing Unit)に内蔵されている復号化アクセラレータで処理する。このようにCPUとGPUとで機能分担して復号処理を実行する。
 図11は、復号処理を行う動画像復号装置1000の機能ブロック構成図である。ハードディスク等のビットストリーム記憶部1001に格納されたビットストリームは、符号化された動画像ビットストリームであり、解析部1002に供給される。解析部1002は、供給されたビットストリームを解析し、決められた形式の中間データを中間データ記憶部1003に出力する。中間データ記憶部1003からの中間データは復号部1004に供給される。復号部1004は、入力される中間データ1003と、画像メモリ1005に格納された過去の復号画像を用いて画像の復号処理を行い、結果を画像メモリ1005に格納する。画像メモリ1005は、複数枚の画像を記憶し、復号部1004から出力される復号画像を記憶し、後続の復号処理のために復号画像を供給するとともに、出力部1006に画像を供給する。出力部1006は、入力される画像の画面表示等の出力処理を行う。制御部1007は、画像メモリ1005のうち、どの領域を復号部1004での復号処理のために供給し、どの領域に復号結果を格納し、どの領域の画像を出力部1006に供給するか、といった制御を行う。また、制御部1007は、解析部1002、復号部1004、出力部1006の動作を制御し、上記のような復号処理を行わせる。
 CPUとGPUでの機能分担には種々の場合が考えられる。図12及び図13は、図11に示す動画像復号装置1000におけるCPUとGPUとの機能分担の例を示す図である。例えば、図12に示す動画像復号装置では、復号部1004のみがGPUにあり、その他はすべてCPUおよびCPUに接続された記憶装置で分担する。
 図13に示す動画像復号装置では、復号部1004、画像メモリ1005、出力部1006がGPUおよびGPUに接続された記憶装置で、それ以外をCPUおよびCPUに接続された記憶装置で分担する。
 中間データ記憶部1003に格納される中間データの形式は、複数のモードが規定される。例えば、SPS(Sequence Parameter Set)、PPS(Picture Parameter Set)、Slice Headerの情報は、CPUで解析した結果をGPUに供給し、Slice Dataの情報はCPUでは解析せずにビットストリームをそのままGPUに供給するように動作する。 
 図14は、中間データの構成の一例を示す。中間データには、ヘッダ解析情報2002、画像バッファ情報2003、ビットストリーム2004が含まれる。ヘッダ解析情報2002として、SPS、PPS,Slice Headerのビットストリームを解析部1002で解析した結果の情報が記憶される。ここには、例えば画像の幅、高さ情報、復号処理に利用する参照ピクチャ枚数を示すnum_ref_frames、ピクチャ出力順を示すFieldOrderCnt、ピクチャ復号時の量子化パラメータの初期値を示すpic_init_qp_minus26等の情報が含まれる。
 画像バッファ情報2003には、復号処理に利用するDPB(Decoded Picture Buffer)の状態の情報が格納される。DPBへのピクチャ追加、DPBからのピクチャ消去、DPB内での参照状態変更などのDPB操作はSPS、PPSの解析情報に従ってビットストリームを解析部1002で処理し、あるピクチャをデコードする時点でのDPBの状態を画像バッファ情報2003として格納する。ここには、例えば、各参照フレームのField Order Cnt、Frame Num、Long Term参照ピクチャかどうかを示すフラグ等が含まれる。また、図11に示す動画像複合装置1000の構成では、画像データの実体は画像メモリ1005に格納されているため、DPB内の各ピクチャが画像メモリ1005内のどの領域の画像データであるかの対応を占めすインデックス情報(画像メモリへのインデックス)も格納される。ビットストリーム2004には、ビットストリームを解析部1002で解析し、Slice Data部のビットストリームを抜き出したものが格納される。 
ITU-T Recommendation H.264「Advanced video coding for generic audiovisual services」、2005年3月 「DirectX Video Acceleration Specification for H.264/AVC Decoding」、2007年12月
 図11に示す動画像復号装置1000の構成を用いる場合、復号部1004は、復号装置全体の外部入出力とは独立した仕様で動作可能であり、この部分だけを再利用可能なIPコアとして設計し、種々の用途に利用することが行われる。
 一方、H.264方式のような動画像符号化技術は多数の符号化技術(符号化ツールと呼ばれる)の集合であるため、全体としては非常に複雑な規格となっている。したがって、すべての符号化ツールに対応するとともに、エラー混入等も含めビットストリームに異常がある場合の動作も保証するなど、どのような環境でも問題なく動作する復号部1004を開発するのは容易ではない。このため、想定する用途をあらかじめ限定することで復号部1004の仕様を制限し、開発を容易にすることがある。例えば、エラー混入を考えなくてよい用途を想定し、異常のあるビットストリームへの対応を簡素化する、などが考えられる。
 また、H.264方式のような動画像符号化技術は複雑であるため、復号部の開発にあたってすべての符号の復号動作を完全に検証するのは困難である。例えば、復号部が、極めて稀にしか発生しない符号の復号処理が正しく行えない、等の不具合が残る場合がある。 
 上記のような、対応範囲に制約があったり、不具合があったりする復号IPコアを利用して、例えば図11に示すような動画像復号装置1000を構成した場合、入力ビットストリームの条件等によっては復号部1004が誤動作する可能性がある。この誤動作には、例えば復号画像の一部に乱れが発生するといった比較的軽微なものから、本来許容されていない領域の記憶装置への書き込みや、動作の停止など、復号化装置全体の動作の安定性を損なう可能性があるものまで考えられる。 
 本来なら、上記のような対応範囲の制約や不具合は復号IPコアを適切に修正して完全な動作にするのが本質的な解決である。しかし、復号IPコアの修正は設計、検証コストの大幅な増加を招く場合がある。また、他者が設計した復号IPコアを利用する場合など、設計情報を直接修正することが非常に困難である場合もある。このような場合には、対応範囲に制約があったり、不具合が残っていたりする復号IPコアを利用せざるを得ない。
 本発明は、対応範囲に制約がある、或いは、一部の動作に不具合が存在する動画像に対しても、所望の動画像復号処理を安定して実行可能な動画像復号装置を提供することを目的とする。
 前述した目的を達成するために、本発明は、入力されたビットストリームを解析し第1の中間データと解析情報とを出力する解析部と、変換規則を記憶する変換規則記憶部と、前記変換規則に従って前記解析情報を変換し第2の中間データとして出力する変換部と、前記解析部及び前記変換部から出力される前記第1および第2の中間データを復号する復号部とを備える。
 解析情報には、動き補償に利用する画像への参照情報やフレームを識別する識別情報や異常を検出したビットストリームなどが含まれ、それぞれに対応した変換規則に従って、変換部による変換処理が行われ、第2の中間データとして出力される。したがって、復号部が解析情報に出力された情報に対応していない場合であっても、安定して復号処理を行うことが可能となる。
 即ち、入力されたビットストリームから復号部に入力する中間データを生成する際に、入力ビットストリームの解析情報を変換部に入力し、その解析情報を基に復号部の対応に問題がある可能性のある情報をより一般的な情報に変換したうえで中間データを生成するため、安定した復号処理を行うことが可能である。
また、その変換において、逆量子化、逆直交変換、動き補償、画面内予測といった画像信号そのものに対する処理は伴わないため、上記の効果を少ない演算量で得られる。
 本発明によれば、対応範囲に制約がある動画像データ、或いは、一部の動作に不具合が存在する動画像データに対しても、安定した所望の動画像復号処理を、演算量を抑えて実行することが可能となる。
本発明の一実施形態による動画像復号装置を示すブロック図である。 中間データ中に含まれるDPB情報および画像メモリへのインデックス情報の一例を示す図である。 図1に示された復号部における動き補償処理を示す図である。 本発明の第1の実施の形態による変換部における変換処理の一例を示す図である。 本発明の第1の実施の形態による変換部における変換処理の他の一例を示す図である。 中間データ中に含まれるヘッダ解析情報の一部を示す図である。 本発明の第2の実施の形態による変換部における変換処理の一例を示す図である。 動画像ビットストリームに混入したエラーとマクロブロック画像との関係の一例を示す図である。 本発明の第3の実施の形態による変換部における変換処理の一例を示す図である。 本発明の第3の実施の形態による変換部における変換処理の別の一例を示す図である。 従来の動画像復号装置を示すブロック図である。 図11に示された動画像復号装置におけるCPUとGPUとの機能分担の例を示す図である。 図11に示された動画像復号装置におけるCPUとGPUとの機能分担の別の例を示す図である。 中間データの構成を示す図である。
 以下に、添付図面を参照しながら、本発明に係る動画像復号装置の好適な実施形態について詳細に説明する。なお、説明および添付図面において、略同一の機能構成を有する構成要素については、同一の符号を付することにより重複する説明を省略する。
 図1は、本発明の一実施の形態による動画像復号装置1のブロック構成図である。
 動画像復号装置1は、解析部32、変換部33、変換規則記憶部34、中間データ記憶部35、復号部36、画像メモリ37、出力部38、制御部39を有し、ビットストリーム記憶部31からビットストリームが入力される。動画像復号装置1は、図12に示す動画像復号装置と同様、復号部36がGPUにあり、その他はすべてCPUおよびCPUに接続された記憶装置で分担する場合例に説明する。
 図1に示す復号部36、画像メモリ37、出力部38の機能、動作は、それぞれ、図11に示す復号部1004、画像メモリ1005、出力部1006と同様である。ビットストリーム記憶部31に格納されたビットストリームは、符号化された動画像ビットストリームである。中間データ記憶部35に格納される中間データは、図14に示す中間データと同様に、ヘッダ解析情報2002、画像バッファ情報2003、ビットストリーム2004を含む。
 動画像復号装置1において、解析部32、制御部39の動作が、図11に示す解析部1002、制御部1007の動作とは異なり、また、変換部33、変換規則記憶部34を備える点が動画像復号装置1000と異なる。
 解析部32は、入力されるビットストリームを解析し、一部の解析結果は従来と同じ中間データの形式にして中間データ記憶部35に出力されるが、それ以外の解析結果は変換部33に供給される。変換部33は、供給されるビットストリームの解析結果に対し、変換規則記憶部34に格納された変換規則に従って所定の変換処理を実行し、中間データの形式にして中間データ記憶部35に出力される。変換部33は、逆量子化、逆直交変換、動き補償、画面内予測を含む画像信号に対する変換処理は行わないようにしてもよい。
 制御部39は、解析部32、復号部36、出力部38から取得した情報に基づいて解析部32、変換部33の動作を制御するとともに、前述のように、画像メモリ37のうち、どの領域を復号部36での復号処理のために供給し、どの領域に復号結果を格納し、どの領域の画像を出力部38に供給するか、といった制御を行う。
 次に、動画像復号装置1の動作について具体例を挙げてより詳細に説明する。ここでは、H.264方式で圧縮された動画像ビットストリームを復号する場合で、中間データが図14に示す中間データと同じデータ形式である例について説明する。本発明の第1の実施の形態では、解析部32で解析した情報のうち、図14でヘッダ解析情報2002およびビットストリーム2004に該当する情報は、従来と同様にそのまま中間データ記憶部35に出力され、図14の画像バッファ情報2003に該当する情報は変換部33に供給される。
 画像バッファ情報2003には、図14に示すように復号処理で利用するDPB関連の情報が含まれている。
 図2は、DPB情報および画像メモリへのインデックス情報の一例を示す図である。H.264方式では通常16フレーム分のエントリーがあるが、図2では6フレーム分のエントリー(エントリーNo.が「0」~「5」とする)がある場合の例を示している。各エントリーには、DPB中の各フレームに対応したFrameNum、FieldOrderCnt、Long Term参照ピクチャかどうかを示すフラグ(LongTermFlag)が記録されている。画像メモリ37中で各フレームに対応する画像メモリへのインデックス(参照情報)が関連付けられて記録されている。また、DPB情報のエントリーのうち、未使用のエントリーについては、図2に示す例のように、FrameNum等には無効値(図2では「――」で表記)を格納するとともに、画像メモリへのインデックスにも該当エントリーが無効であることを示す値が格納される。なお、ここでは説明のために代表的な情報のみについて説明しているが、DPB情報のエントリーにはさらに種々の関連情報を格納しても良い。
 図1に示す復号部36は、復号処理のうちの動き補償処理において、中間データ記憶部35からの中間データの画像バッファ情報2003を参照し、動画像ビットストリーム中に記録された参照ピクチャ番号(ref_idx)に従って参照ピクチャを選択し、画像メモリ37中の該当する画像領域の画像を参照して動き補償を行なう。
 図3は、インデックスに無効値を含む場合の動き補償処理を説明するため図である。図3でref_idx=1の場合、画像バッファ情報2003のエントリーNo.「1」を参照し、画像メモリへのインデックス「2」を得る。そこで、画像メモリ37中のインデックス「2」に該当する画像を参照し動き補償を行なう。
 しかし、図3でref_idx=5の場合は、画像バッファ情報2003のエントリーNo.「5」を参照すると画像メモリへのインデックスとして無効値が返される。インデックスが無効値の画像は画像メモリ37中には存在しない場合があるため、この場合は動き補償処理を実行できない。正常なビットストリームであれば、このように無効な画像を参照する動き補償処理を行なうことは無いが、ビットストリームにエラーが混入した場合などにはこのようなref_idxが発生する場合がある。
 この場合、復号部36がエラー環境下での利用も考慮して設計されていれば、無効な画像を参照する動き補償処理は実行せずにエラー処理が行なわれる。しかし、エラー無しの動作環境を前提に設計されていた場合、無効な画像を参照する動き補償処理であっても特別処理をせず、そのまま実行してしまう場合がある。このような場合、無効値の値と、画像メモリ37の状態に依存して、画像が乱れる、不正なメモリアクセスが発生する、等の不具合が発生する。特に、不正なメモリアクセスが発生する場合は、動画像復号装置全体の動作停止や再起動など深刻な悪影響を及ぼす可能性がある。
 そこで、動画像復号装置1では、画像バッファ情報2003に該当する情報を変換部33に供給する。変換部33は、変換規則記憶部34に格納された変換規則に基づいて変換処理を行なったうえで中間データとして中間データ記憶部35に出力する。
 図4は、変換規則に基づいた変換処理の一例を示す図である。図4に示す例では、画像バッファ情報2003の各エントリーのうち、画像メモリへのインデックスが無効値となっているエントリー(インデックス3~5)に関しては、他のエントリーのうちインデックスが無効値では無い、即ち、有効なエントリーのインデックスのいずれかで上書きするように変換する。
 なお、変換部33は、該当するエントリーに含まれるFrameNum、FieldOrderCnt、Long Term参照ピクチャかどうかを示すフラグ(LongTermFlag)などの他の情報も同様に上書きする。画像メモリ37へのインデックスが無効でないエントリーが複数存在する場合は、変換部33は、例えば、そのうちの先頭のエントリーのもので上書きする。あるいは、画像メモリ37へのインデックスが最も小さいもので上書きするなど他の選択方法も考えられる。画像メモリ37へのインデックスが無効でないエントリーが一つも無かった場合は、画像メモリ37中の画像のうち適当なもののインデックス(例えば先頭のインデックス=0)で上書きし、FrameNum等は決められた値(例えば全て「0」)で上書きする。このような変換部33による変換処理の規則は変換規則として変換規則記憶部装置34に記憶される。
 また、図4に示す変換処理が有効であるかどうかは復号部36の機能や動作に依る。したがって、制御部39は、例えば、復号部36から仕様や対応機能の情報やデバイス名、バージョン情報などを取得し、解析部32および変換部33に上記の変換処理を行なわせるか否かを切り替えるように制御してもよい。後述の他の実施形態でも同様である。 
 このように、本発明の第1の実施の形態によると、変換部33が、画像メモリ37へのインデックスが無効値であったエントリーを、有効なインデックスのいずれかで上書きして復号部36に入力する。このため、復号部36が十分なエラー処理を行なわない場合であっても不正なメモリアクセスの発生を回避することができ、動画像復号装置1の安定動作を実現できる。
 図5は、変換規則に基づいた変換処理の別の一例を示す図である。図5に示す例では、あらかじめ画像メモリ37中に1フレームの画像領域を確保し、インデックスを割り当てておく(図5の例ではインデックス=16)。この画像領域には、例えばグレー画像(輝度成分、色差成分とも画素値が128の画像)を格納しておく。そして、変換部33では、画像バッファ情報2003の各エントリーのうち、画像メモリ37へのインデックスが無効値となっているエントリーに関しては、画像メモリへのインデックスを上記のグレー画像へのインデックス(図5の例ではインデックス=16)に上書きするように変換し、FrameNum等は予め決められた値(例えば全て「0」)で上書きする。ここでの、インデックスやFrameNum等の値も、変換規則として変換規則記憶部装置34に記憶される。
 図5に示す変換処理によれば、変換部33は、画像メモリ37へのインデックスが無効値であったエントリーを、グレー画像等の既定画像を参照するインデックスで上書きして、復号部36に入力する。したがって、復号部36が十分なエラー処理を行なわない場合であっても不正なメモリアクセスの発生を回避して動画像復号装置1の安定動作を実現できるとともに、画像の乱れの大きさも一定値以内に抑えられる。
 次に、本発明の第2の実施の形態を説明する。本発明の第2の実施の形態に係る動画像復号装置の構成は、図1に示された動画像復号装置1と同じである。第1の実施の形態では解析部32で解析した情報のうち、図14に示すヘッダ解析情報2002およびビットストリーム2004に該当する情報が同様にそのまま中間データ記憶部35に出力され、図14に示す画像バッファ情報2003に該当する情報が変換部33に供給される。これに対し、本発明の第2の実施の形態では、ビットストリーム2004に該当する情報はそのまま中間データ記憶部35に出力され、ヘッダ解析情報2002および画像バッファ情報2003に該当する情報は変換部33に供給される。
 変換部33によるヘッダ解析情報2002の変換処理について説明する。図6は、ヘッダ解析情報2002の一部を示す図である。図6に示すように、ヘッダ解析情報2002には、例えば参照フレームの識別等に用いられるframe_numが含まれる。frame_numは、通常、シーケンスの先頭では「0」で、参照フレーム毎に1ずつ増加するように付加される。しかし、H.264の規格上は増加分が1より大きくなることも認められており、図6に示すような例もありうる。
 図6では、フレーム0、1、2まではframe_numは「1」ずつ増加している。即ち、参照フレームとその参照フレームの直前フレームとのframe_numの差分は「1」である。
 しかし、フレーム3では、直前のフレーム2に比較してframe_numが「4」増えており、frame_numの差分が「1」より大きくなっている。H.264では、frame_num増分(差分)が「1」より大きい場合には、DPB等に対する例外処理が必要であり、復号部36が対応している必要がある。しかし、frame_num増分が1より大きくなるビットストリームはごく稀にしか存在しないため、復号部36の設計によっては、仕様上このようなビットストリームに対応していない、或いは、動作検証が不十分である、などの理由により正常に復号できず、復号画像が乱れるなどの問題が発生する場合がある。
 図7は、本発明の第2の実施の形態による変換部33における変換処理の一例を示す図である。変換部33は、ヘッダ解析情報2002の入力を受け付け、直前フレームとのframe_num差分を調べ、差分が「1」より大きい場合(フレーム3および4)には、差分が「1」になるようにframe_numの値を連続値に変換して中間データ記憶部35に出力する。
 図7に示すframe_numの値は、図2に示すDPB情報のFrameNumの値と対応しているため、変換部33が前記のようにframe_numの値を変換した場合には、DPB情報の該当するFrameNumの値も連動して変換する。さらに、frame_numの増分が「1」より大きい場合のDPBに対する例外処理については、復号部36は変換前のframe_numの値を用いて例外処理を実行し、DPB内容の整合を確保する。このようにDPB処理を行ない、frame_num変換に対応してFrameNumを変換した画像バッファ情報2003を中間データ記憶部35に出力する。
 このように、本発明の第2の実施の形態によれば、frame_numの差分が「1」より大きいような発生頻度が低いビットストリームが入力された場合でも、frame_numの差分が「1」である、即ち、発生頻度が高く、より一般的に見られる中間データに変換されて復号部36に入力される。したがって、復号部36が上記のような差分「1」より大きいframe_numの復号処理に十分対応できていない場合であっても、復号画像の乱れなどの問題が発生するのを回避できる。
 次に、本発明の第3の実施の形態を説明する。本発明の第3の実施の形態である動画像復号装置の構成は、図1に示された動画像復号装置1と同じである。ただし、第1の実施の形態による動画像復号装置1では、解析部32で解析した情報のうち、図14に示すヘッダ解析情報2002およびビットストリーム2004に該当する情報は中間データ記憶部35に出力され、図14に示す画像バッファ情報2003に該当する情報は変換部33に供給される。これに対し、本発明の第3の実施の形態では、ヘッダ解析情報2002および画像バッファ情報2003に該当する情報は中間データ記憶部35に出力され、ビットストリーム2004に該当する情報は変換部33に供給される。
 動画像復号装置1には、必ず正常なビットストリームが入力されるとは限らず、伝送路や記憶媒体などのどこかでエラーが混入したビットストリームが入力される場合がある。図8は、動画像ビットストリームにエラーが混入した場合の影響の一例を示す図である。H.264等では、図8の変換前に示すように、画像をマクロブロック(MB)と呼ばれる16×16画素のブロックに分割し、MB単位で画面の左上から右下に向かってラスタースキャン順に符号化処理が行なわれる。この際、符号化されたビットストリームの一部にエラーが混入した場合、エラーの影響でビットストリームの解析処理に不整合が発生し、図8の変換後に示すように、エラー混入箇所周辺だけでなく、エラー混入箇所以降のラスタースキャン順のすべてのMBの画像(図8に示すグレー塗りつぶし領域)が乱れる場合が多い。
 また、エラーが混入したビットストリームの復号結果は自然画像とは懸け離れた大きく乱れた画像になる場合が多く、復号画像の印象が非常に悪くなる。さらに、復号部36が、エラーの混入したビットストリームの復号処理に十分に対応していない場合は、復号動作の停止や異常終了など致命的な問題が発生する可能性もある。
 図9は、本発明の第3の実施の形態での変換処理の一例を説明するための図である。変換部33は、解析部32で解析されたビットストリーム2004の入力を受け付けて解析処理を行なう。この解析処理には、動画像復号処理のうち可変長符号復号処理(H.264の場合はCAVLC符号復号およびCABAC符号復号処理)を含まれるが、逆量子化、逆直交変換、動き補償、画面内予測等の画像信号そのものに対する処理は含まれない。
 変換部33は、可変長符号の復号処理に加え、復号結果に不整合(定義されていない符号が存在する、存在しない参照ピクチャを参照している、禁止されている符号化モードが存在する、など)を随時調査し、ビットエラー混入を検出する。図9に示すように、変換部33は、ビットエラー混入を検出した場合、エラー検出位置から当該スライス終端までのビットストリームを、代替MBのビットストリームで置き換える変換を行う。
 ここで、代替MBは、動き予測、直交変換、量子化などの画像信号そのものに対する処理を必要としないものを用いる。例えば、(A)動きベクトル零で動き補償を行なう有意係数無しのインターMB、(B)エラー検出位置より前の近傍MBと同じ動きベクトルで動き補償を行なう有意係数無しのインターMB、(C)DC画面内予測を行なう有意係数無しイントラMB、などが考えられる。例えばPピクチャ(Predictive-coded picture)またはBピクチャ(Bidirectionally predictive-coded picture)では上記項目(A)を、Iピクチャ(Intra-coded picture)では上記項目(C)を使う、などが考えられる。図9に示す例のように、通常はエラー混入が検出できるエラー検出位置はエラー混入位置から少し先であるため、エラーが混入したMBがある程度は残る可能性があるが、その影響は変換前よりは軽減される。変換部33は、図9に示す例のような変換処理を施したビットストリームを中間データ記憶部35に出力する。
 本発明の第3の実施の形態によると、ビットストリームへのエラー混入を検査し、エラー混入を検出すると、それ以降のビットストリームを代替MBのビットストリームに置き換える変換を行なうことで、不自然な画像の乱れを軽減できる。それとともに、復号部36が異常動作等する可能性を軽減でき安定した動画像復号装置を実現できる。また、変換部33では動き予測、動き補償、直交変換/逆直交変換、量子化/逆量子化などの画像信号そのものに対する処理は行なわないため、少ない演算量で上記の効果を実現できる。
 次に、第3の実施の形態の変形例について説明する。図10は、変換部33による変換処理の別の一例を示す図である。変換部33は、ビットストリーム解析、エラー混入の検出を行なうまでは前述の例と同じである。図10に示す例では、エラー混入を検出した際に、当該スライスを全て代替MBに置き換える。
 このように、変換部33がビットストリームへのエラー混入を検査し、エラー混入を検出した場合に該当スライスのビットストリームを全て代替MBのビットストリームに置き換える変換を行なうことで、不自然な画像の乱れを軽減できる。それとともに、完全に正常なビットストリームに変換することで復号部36が異常動作等する可能性を無くして安定した動画像復号装置を実現できる。また、変換部33での変換をスライス単位で一括して処理することで、より少ない演算量で上記の効果を実現できる。
 以上説明した本発明の実施の形態では、H.264に則した適用について述べたが、本発明はこの適用に限定されるものではない。また、変換処理の具体的な内容に関しては限られた例についてのみ説明したが、本発明は、例示した変換内容に限定されるものではなく、例示した以外の種々の変換にも適用可能である。 
 例えば、ヘッダ解析情報2002の変換に関してはframe_numの例のみを説明したが、それ以外にもFieldOrderCntやpic_order_cnt_typeなど他の種々の値についても同様の構成で変換が可能である。また、中間データをヘッダ解析情報2002、画像バッファ情報2003、ビットストリーム2004に分類してそれぞれに関する変換処理を例に挙げて説明したが、当然これらを組み合わせて利用することも可能である。
 また、中間データの形式についても例示して説明したものに限定されるものではない。
 以上説明した実施の形態では、復号部36をGPU、解析部32等をCPUで実現する例(図12参照)について説明したが、実現の形態はこれに限定されるものではない。例えば、復号部36を専用IPコア、解析部32等をそれに接続した制御プロセッサで実現し、全体を1つのLSIチップに内蔵するような形態も考えられる。 
 また、以上説明した動画像復号装置1による復号処理(復号方法)を実現するプログラムを作成し、コンピュータシステムがそのプログラムを読み込んで実現することも可能である。このプログラムは、コンピュータ読取り可能な記録媒体に記録されてもよいし、ネットワークを介して流通させることも可能である。
 ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むとする。「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含む。
 「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含む。上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
 以上、添付図面を参照しながら、本発明に係る動画像復号装置(復号方法)の好適な実施形態について説明したが、本発明はかかる例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
 この出願は、2009年1月7日に日本に出願された特願2009-1552を基礎とする優先権を主張し、その開示のすべてをここに取り込む。
 上述したように、本発明によれば、対応範囲に制約がある動画像データ、或いは、一部の動作に不具合が存在する動画像データに対しても、安定して動画像復号処理を行うことができ、動画復号装置における演算量を抑えつつ、精度のよい動画像を供給することが可能である。
1………動画像復号装置
31………ビットストリーム記憶部
32………解析部
33………変換部
34………変換規則記憶部
35………中間データ記憶部
36………複合部
37………画像メモリ
38………出力部
39………制御部
2002………ヘッダ解析情報
2003………画像バッファ情報
2004………ビットストリーム

Claims (8)

  1.  ビットストリームを解析し第1の中間データと解析情報とを出力する解析部と、
     変換規則を記憶する変換規則記憶部と、
     前記変換規則に従って前記解析情報を変換し、第2の中間データとして出力する変換部と、
     前記解析部及び前記変換部から出力される前記第1および第2の中間データを復号する復号部と、
     を備える動画像復号装置。
  2.  前記変換部による変換には、逆量子化、逆直交変換、動き補償、画面内予測を含む画像信号に対する変換処理は除かれる請求項1記載の動画像復号装置。
  3.  前記解析情報は、動き補償に利用する画像への参照情報を含み、
     前記変換部は、前記参照情報が、無効である画像への参照情報である場合に、当該参照情報を、有効な画像への参照情報に変換する請求項1記載の動画像復号装置。
  4.  前記変換部は、前記解析情報に発生頻度の低い符号が含まれる場合、当該符号を発生頻度の高い符号に変換し、当該符号に対応する他の解析情報を変換する請求項1記載の動画像復号装置。
  5.  前記解析情報は、フレームを識別する識別情報を含み、
     前記変換部は、参照フレームの識別情報と当該参照フレームの直前のフレームの識別情報との差分を算出し、前記差分が1より大きい場合は、当該差分を1と変換する請求項1記載の動画像復号装置。
  6.  前記解析情報は、異常を検出したビットストリームを含み、
     前記変換部は、前記異常を検出したフレームにおいて、少なくとも異常検出位置以降のビットストリームを前記変換規則によって決められた代替ビットストリームに変換する請求項1記載の動画像復号装置。
  7.  ビットストリームを解析して第1の中間データと解析情報とを出力し、
     変換規則に従って前記解析情報を変換して第2の中間データとして出力し、
     前記第1および第2の中間データを復号する
     動画像復号方法。
  8.  コンピュータを、ビットストリームを解析し第1の中間データと解析情報とを出力する解析部と、変換規則を記憶する記憶部と、前記変換規則に従って前記解析情報を変換し第2の中間データとして出力する変換部と、前記解析部及び前記変換部から出力される第1および第2の中間データを復号する復号部として動作させるプログラム。
PCT/JP2009/007290 2009-01-07 2009-12-25 動画像復号装置、動画像復号方法、及びプログラム WO2010079577A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/143,412 US8929463B2 (en) 2009-01-07 2009-12-25 Moving image decoding device, moving image decoding method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009001552A JP4600574B2 (ja) 2009-01-07 2009-01-07 動画像復号装置、動画像復号方法、及びプログラム
JP2009-001552 2009-01-07

Publications (1)

Publication Number Publication Date
WO2010079577A1 true WO2010079577A1 (ja) 2010-07-15

Family

ID=42316355

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/007290 WO2010079577A1 (ja) 2009-01-07 2009-12-25 動画像復号装置、動画像復号方法、及びプログラム

Country Status (3)

Country Link
US (1) US8929463B2 (ja)
JP (1) JP4600574B2 (ja)
WO (1) WO2010079577A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2013136678A1 (ja) * 2012-03-16 2015-08-03 パナソニックIpマネジメント株式会社 画像復号装置および画像復号方法
JP5633597B2 (ja) * 2012-04-12 2014-12-03 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム
JP6020323B2 (ja) * 2012-04-12 2016-11-02 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム
ES2951398T3 (es) 2012-04-12 2023-10-20 Jvckenwood Corp Construcción de listas de candidatos a fusión
US9584825B2 (en) * 2012-09-27 2017-02-28 Qualcomm Incorporated Long-term reference picture signaling in video coding
CN105122806B (zh) 2013-04-12 2018-11-27 史克威尔·艾尼克斯控股公司 信息处理装置、控制方法及存储介质
JP6377222B2 (ja) * 2017-07-31 2018-08-22 株式会社スクウェア・エニックス・ホールディングス 情報処理装置、制御方法、プログラム、及び記録媒体
CN114143595A (zh) * 2021-12-08 2022-03-04 珠海豹趣科技有限公司 一种视频壁纸播放方法、装置、电子设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004528752A (ja) * 2001-03-05 2004-09-16 インタービデオインコーポレイテッド ビデオデコーダにおけるエラー復元システム及び復元方法
JP2006186911A (ja) * 2004-12-28 2006-07-13 Seiko Epson Corp マルチメディア処理システム及びマルチメディア処理方法
JP2006295910A (ja) * 2005-03-16 2006-10-26 Victor Co Of Japan Ltd エラー訂正装置
WO2008063687A2 (en) * 2006-04-04 2008-05-29 Qualcomm Incorporated Frame level multimedia decoding with frame information table

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3411234B2 (ja) * 1999-04-26 2003-05-26 沖電気工業株式会社 符号化情報受信復号装置
JP4531058B2 (ja) * 2004-10-29 2010-08-25 シャープ株式会社 動画像復号装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004528752A (ja) * 2001-03-05 2004-09-16 インタービデオインコーポレイテッド ビデオデコーダにおけるエラー復元システム及び復元方法
JP2006186911A (ja) * 2004-12-28 2006-07-13 Seiko Epson Corp マルチメディア処理システム及びマルチメディア処理方法
JP2006295910A (ja) * 2005-03-16 2006-10-26 Victor Co Of Japan Ltd エラー訂正装置
WO2008063687A2 (en) * 2006-04-04 2008-05-29 Qualcomm Incorporated Frame level multimedia decoding with frame information table

Also Published As

Publication number Publication date
JP2010161542A (ja) 2010-07-22
US8929463B2 (en) 2015-01-06
JP4600574B2 (ja) 2010-12-15
US20110268192A1 (en) 2011-11-03

Similar Documents

Publication Publication Date Title
WO2010079577A1 (ja) 動画像復号装置、動画像復号方法、及びプログラム
CN110024398B (zh) 针对屏幕远程处理场景的局部的基于散列的运动估计
US20180192074A1 (en) Video processing method for processing projection-based frame with 360-degree content represented by projection faces packed in 360-degree virtual reality projection layout
US8340182B2 (en) Video decoding apparatus and video decoding method
US9131241B2 (en) Adjusting hardware acceleration for video playback based on error detection
RU2659748C2 (ru) Синтаксис и семантика для буферизации информации с целью упрощения конкатенации видеоданных
JP7391175B2 (ja) 復号する方法、ビデオ復号装置、符号化する方法、ビデオ符号化装置
US20200007883A1 (en) Method and system for encoding video with overlay
US7936933B2 (en) Accelerating video data decoding
US20060013308A1 (en) Method and apparatus for scalably encoding and decoding color video
US20070230564A1 (en) Video processing with scalability
EP2111047A2 (en) Tone mapping for bit-depth scalable video codec
CN113382259B (zh) 视频解码方法、装置和计算机设备
US20160301895A1 (en) Mitigating loss in inter-operability scenarios for digital video
US20130272619A1 (en) Devices for identifying a leading picture
US9807388B2 (en) Adaptive intra-refreshing for video coding units
US20120027086A1 (en) Predictive coding apparatus, control method thereof, and computer program
EP1501309A1 (en) Encoding device and method, decoding device and method, edition device and method, recording medium, and program
US20210409718A1 (en) Encoder and decoder, encoding method and decoding method with profile and level dependent coding options
Lambert et al. A real-time content adaptation framework for exploiting ROI scalability in H. 264/AVC
US8948257B2 (en) Image encoding method, image decoding method, image encoding apparatus, image decoding apparatus, and program
US20070147515A1 (en) Information processing apparatus
US8311123B2 (en) TV signal processing circuit
KR102164698B1 (ko) 입력 버퍼를 재사용하는 샘플 적응적 오프셋 처리 장치 및 샘플 적응적 오프셋 처리 장치의 동작 방법
KR20020001767A (ko) 엔코딩된 신호에 간단한 로고 삽입

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: 09837466

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13143412

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09837466

Country of ref document: EP

Kind code of ref document: A1