Nothing Special   »   [go: up one dir, main page]

WO2020255771A1 - 画像処理装置および方法 - Google Patents

画像処理装置および方法 Download PDF

Info

Publication number
WO2020255771A1
WO2020255771A1 PCT/JP2020/022487 JP2020022487W WO2020255771A1 WO 2020255771 A1 WO2020255771 A1 WO 2020255771A1 JP 2020022487 W JP2020022487 W JP 2020022487W WO 2020255771 A1 WO2020255771 A1 WO 2020255771A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
decoding
image
information
header
Prior art date
Application number
PCT/JP2020/022487
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 CN202080043306.9A priority Critical patent/CN113950842A/zh
Priority to JP2021527613A priority patent/JP7532362B2/ja
Priority to US17/617,492 priority patent/US20220256194A1/en
Publication of WO2020255771A1 publication Critical patent/WO2020255771A1/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/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/177Methods 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 a group of pictures [GOP]
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/187Methods 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 a scalable video layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • 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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • 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/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Definitions

  • the present technology relates to an image processing device and a method, and more particularly to an image processing device and a method capable of shortening the delay from the input of a stream to the generation of a decoded image.
  • MPEG2 Advanced Video Coding
  • HEVC High Efficiency Video Coding
  • the decoding device When decoding the data compressed by these compression methods, the decoding device first parses the header as a preprocessing and extracts the information of the picture to be decoded. The decoding device then generates a decoded image using the extracted information, and then generates information to be input for the decoding process of the next picture by post-processing.
  • This technology was made in view of such a situation, and makes it possible to shorten the delay from the input of the stream to the generation of the decoded image.
  • the image processing device of one aspect of the present technology applies the SEI (Supplemental Enhancement Information) of the first AU (Access Unit) to at least a part of the header information of the second AU processed after the first AU. , Or a coded stream generation unit that generates a coded stream by adding information regarding at least a part of the header information.
  • SEI Supplemental Enhancement Information
  • the SEI (Supplemental Enhancement Information) of the first AU (Access Unit) contains at least a part of the header information of the second AU processed after the first AU, or the above.
  • a coded stream is generated with information about at least part of the header information added.
  • the image processing apparatus of the other aspect of the present technology applies the SEI of the first AU to at least a part of the header information of the second AU processed after the first AU, or at least one of the header information.
  • a decoding unit that decodes the second AU based on the header information that is processed by receiving the coded stream generated by adding information about the unit is provided.
  • the SEI of the first AU contains at least a part of the header information of the second AU processed after the first AU, or at least a part of the header information.
  • the second AU is decoded based on the header information that is processed by receiving the coded stream generated by adding the above.
  • FIG. 1 is a block diagram showing a configuration example of a general coding device.
  • the coding device 1 includes an image capture unit 21, a picture type determination unit 22, a GOP (Group Of Pictures) structure generation unit 23, a coding order sorting unit 24, an upper header generation unit 25, an upper header coding unit 26, and a VCL. (Video Coding Layer) It is composed of a coding unit 27 and an arithmetic unit 28.
  • the image capture unit 21 captures the image input from the previous stage and outputs the captured image to the picture type determination unit 22.
  • the picture type determination unit 22 determines the picture type of the image supplied from the image capture unit 21 based on the GOP information indicating the GOP structure supplied from the GOP structure generation unit 23.
  • the picture type determination unit 22 also assigns a POC (Picture Order Count) to each image.
  • the picture type determination unit 22 outputs the image to which the picture type is determined and the POC is added to the coding order sorting unit 24.
  • the GOP structure generation unit 23 determines the GOP structure, and outputs GOP information indicating the determined GOP structure to the picture type determination unit 22 and the coding order sorting unit 24.
  • the coding order sorting unit 24 sorts the images in the display order in the coding order.
  • the coded order sorting unit 24 outputs the sorted images to the upper header generation unit 25.
  • the upper header generation unit 25 generates an upper header which is a header of the upper syntax by referring to the image supplied from the coding order sorting unit 24.
  • the upper syntax is, for example, SPS (Sequence Parameter Set), PPS (Picture Parameter Set), SEI (Supplemental Enhancement Information), and the like.
  • the upper header generation unit 25 outputs the generated upper header to the upper header coding unit 26.
  • the upper header generation unit 25 outputs the image to the VCL coding unit 27.
  • the upper header coding unit 26 encodes the upper header supplied from the upper header generation unit 25.
  • the upper header coding unit 26 outputs the encoded upper header to the arithmetic unit 28.
  • the VCL coding unit 27 encodes the image supplied from the upper header generation unit 25 to generate the VCL.
  • VCL is the compressed data of the image itself excluding the header.
  • the VCL coding unit 27 outputs the generated VCL to the arithmetic unit 28.
  • the arithmetic unit 28 adds the upper header supplied from the upper header coding unit 26 and the VCL supplied from the VCL coding unit 27.
  • the arithmetic unit 28 outputs a bit stream composed of an upper header and a VCL to a subsequent decoding device or the like.
  • FIG. 2 is a block diagram showing a configuration example of a general decoding device.
  • the decoding device 31 is composed of a bitstream input unit 41, a header decoding unit 42, a reference-related decoding unit 43, a VCL decoding unit 44, and an image output unit 45.
  • the bitstream from the previous stage is supplied to the bitstream input unit 41.
  • the bitstream input unit 41 outputs the bitstream to the header decoding unit 42 and the VCL decoding unit 44.
  • the header decoding unit 42 and the reference-related decoding unit 43 perform preprocessing on the bit stream, which includes parsing the header, calculating parameters, and generating RefPicList (reference image information).
  • the header decoding unit 42 interprets the header information (picture header and slice header) of the picture as the parsing of the header.
  • the header decoding unit 42 outputs the interpreted header information to the reference-related decoding unit 43.
  • the reference-related decoding unit 43 calculates the parameters required in the image decoding process, such as POC, based on the header information supplied from the header decoding unit 42, and generates a RefPicList.
  • the VCL decoding unit 44 decodes the image and reconstructs the decoded image while referring to the information generated in the preprocessing at any time.
  • the VCL decoding unit 44 outputs the reconstructed decoded image to the image output unit 45.
  • the VCL decoding unit 44 also has a DPB (Decoded Picture Buffer) updating unit 51.
  • DPB Decoded Picture Buffer
  • the DPB update unit 51 updates the DPB as post-processing and outputs the DPB update information to the reference relationship decoding unit 43.
  • the reference relationship decoding unit 43 updates the RefPicList based on the DPB update information.
  • the image output unit 45 outputs the decoded image supplied from the VCL decoding unit 44 to a display unit or the like in the subsequent stage.
  • FIG. 3 is a diagram showing the timing of each process in the decoding device 31 of FIG.
  • the horizontal axis represents the flow of time.
  • the branch number of frame-1 means the first. Therefore, frame-1 represents the first frame. The same applies to the following figures.
  • preprocessing-1 for frame-1 starts, and at time t3, preprocessing-1 ends.
  • VCL decoding-1 is started, and at the time t4 after that, the output of frame-1 is finally started.
  • the input of the frame-1 stream is completed.
  • the VCL decoding-1 is terminated, and the post-processing-1 is started.
  • VCL decoding-2 is started at time t8 when preprocessing-2 is completed. After that, at time t9, the output of frame-1 ends, and at time t10, the output of frame-2 finally starts.
  • the delay from the stream input time t1 or the decoding start time t2 to the output start time t4 is included so that at least the time of preprocessing-1 is included. I had to take a big one.
  • FIG. 4 is a flowchart showing an example of the decoding process of the decoding device 31 of FIG.
  • step S11 the header decoding unit 42 parses the header with respect to the bit stream as preprocessing.
  • the header decoding unit 42 outputs the header information interpreted by parsing the header to the reference-related decoding unit 43.
  • step S12 the reference-related decoding unit 43 calculates the POC as preprocessing.
  • step S13 the reference relation decoding unit 43 generates a RefPicList as a preprocessing.
  • step S14 the VCL decoding unit 44 decodes and reconstructs the image (VCL) while referring to the information generated in the preprocessing at any time.
  • step S15 the VCL decoding unit 44 performs RefPic marking processing as post-processing.
  • step S16 the DPB update unit 51 updates the DPB (Decoded Picture Buffer) as post-processing, and the image output unit 45 outputs a Picture (decoded image) as post-processing.
  • the DPB update information updated in step S16 is used in the next preprocessing.
  • step S16 the process returns to step S11, and the subsequent processes are repeated for the next picture.
  • steps S11 to S13 in FIG. 4 are preprocessing. If the preprocessing is not completed, the VCL decoding in step S14 cannot be started. Further, steps S15 and S16 in FIG. 4 are post-processing. Post-processing can also proceed before VCL decoding is complete. The pre-processing of the next picture cannot be started until the post-processing of the previous picture is completed.
  • FIG. 5 is a diagram showing an example of a processing sequence of the decoding device 31 of FIG.
  • the decoding device 31 performs VCL decoding-1 of frame 1 after the preprocessing-1 of frame 1.
  • the decoding device 31 performs post-processing-1 of frame 1 after VCL decoding-1 of frame 1. Further, the decoding device 31 performs the preprocessing-2 of the frame 2 after the postprocessing-1 of the frame 1.
  • the decoding device 31 performs VCL decoding-2 of frame 2 after the preprocessing-2 of frame 2.
  • the decoding device 31 performs post-processing-2 of frame 2 after VCL decoding-2 of frame 2.
  • FIG. 6 is a diagram showing another example of the processing sequence of the decoding device 31 of FIG.
  • FIG. 6 shows an example in which post-processing proceeds before VCL decoding is completed.
  • the decoding device 31 performs VCL decoding-1 of frame 1 after the preprocessing-1 of frame 1 is completed.
  • the decoding device 31 performs post-processing-1 of frame 1 in parallel with VCL decoding-1 of frame 1 in the middle of VCL decoding-1 of frame 1. Therefore, the decoding device 31 can immediately perform the preprocessing-2 of the frame 2 after the VCL decoding-1 of the frame 1 is completed.
  • the decoding device 31 performs VCL decoding-2 of frame 2 after the preprocessing-2 of frame 2 is completed.
  • the decoding device 31 performs post-processing-2 of frame 2 in parallel with VCL decoding-2 of frame 2 in the middle of VCL decoding-2 of frame 2. Therefore, the decoding device 31 can immediately perform the preprocessing-3 of the next frame 3, although not shown, after the VCL decoding-2 of the frame 2 is completed.
  • the header information of the next AU (AU processed next to each AU) in the processing order of each AU includes information that the decoding side wants in advance when performing preprocessing of each AU. It has been. This information can be generated ahead of schedule when creating the upper header of each AU at the latest on the encoding side.
  • AU is a collection of NAL (Network Abstraction Layer) units that can generate one effective picture (frame). That is, AU represents a picture (frame).
  • the picture (frame) is also referred to as AU.
  • information regarding at least a part of the header information of the second AU processed after the first AU, or at least a part of the header information is added to the SEI of the first AU.
  • a coded stream is generated.
  • FIG. 7 is a diagram showing a configuration example of a stream to which the present technology is applied.
  • FIG. 7 the first AU and the second AU are shown in order from the left.
  • the first AU is composed of AUD (Access Unit Delimiter), SPS / PPS, SEI, SliceHdr (Header) -1, and VCL-1.
  • the second AU consists of AUD, SEI, SliceHdr-2, and VCL-2.
  • SliceHdr-2 of the second AU is added to the SEI of the first AU as shown by the dashed arrow in FIG. That is, SliceHdr-2 of the N (N> 1) th AU is added to the SEI of the N-1th AU.
  • the encoding device may extract only the parameters of SliceHdr-2 that change for each picture, and add the extracted minimum parameters to the SEI. Further, the parameters described later in FIGS. 13 to 15 may be used.
  • FIG. 8 is a diagram showing another configuration example of a stream to which the present technology is applied.
  • the first (first) AU and the second AU of the GOP are shown in order from the left.
  • the first AU is composed of AU, SPS / PPS, SEI, SliceHdr-1, and VCL-1.
  • the second AU consists of AUD, SliceHdr-2, and VCL-2.
  • the parameters described later in FIGS. 13 to 15 can be considered, but only the parameters that change for each picture described above may be used, or all the slice headers of the first slice of the picture may be used. It may be. In addition, the information required for preprocessing may be narrowed down from those slice headers. This also applies to the case of FIG. 7.
  • the encoding device can create parameters in advance. That is, the encoding device can prepare a necessary parameter generation pattern (generation rule) in advance.
  • the information itself required for preprocessing is not sent in advance, but the generation pattern prepared in advance is added to the SEI of the first AU, that is, the head of the GOP, and sent. You may do so.
  • AU's SliceHdr is only used as a follow-up for answer matching, not for actual preprocessing.
  • the decoding device can efficiently perform each process.
  • FIG. 9 is a block diagram showing a configuration example of a coding device to which the present technology is applied. Among the configurations shown in FIG. 9, the same configurations as those described with reference to FIG. 1 are designated by the same reference numerals. Duplicate explanations will be omitted as appropriate.
  • the coding device 101 of FIG. 9 includes an image capture unit 21, a picture type determination unit 22, a GOP structure generation unit 23, a coding order sorting unit 24, an upper header generation unit 25, an upper header coding unit 26, and VCL coding. It is composed of a unit 27 and an arithmetic unit 28. Further, the coding device 101 is composed of an upper header holding memory 111, an upper header SEI encoding unit 112, an SEI coding unit 113, and an arithmetic unit 114.
  • the coding device 101 is different from the coding device 1 of FIG. 1 in that the upper header holding memory 111, the upper header SEI coding unit 112, the SEI coding unit 113, and the arithmetic unit 114 are added.
  • the coding device 101 of FIG. 9 performs the coding process after knowing the GOP structure of the stream to be generated in advance or by determining the GOP structure in advance. Therefore, the coding device 101 can generate the reference relationship of the picture and the header information in advance when encoding each AU.
  • the upper header generation unit 25 generates the reference relationship of the picture and the header information in advance.
  • the upper header generation unit 25 causes the generated upper header to be held in the upper header holding memory 111.
  • the upper header holding memory 111 holds the upper header.
  • the upper header coding unit 26 encodes the upper header of the picture to be currently encoded by using the upper header held in the upper header holding memory 111.
  • the upper header coding unit 26 outputs the encoded upper header to the arithmetic unit 28.
  • the upper header SEI conversion unit 112 converts the upper header of the next picture from the upper header held in the upper header holding memory 111 into SEI, for example, as User data.
  • the upper header SEI conversion unit 112 outputs the SEI, which is the SEI-ized upper header, to the SEI encoding unit 113.
  • the SEI coding unit 113 encodes the SEI.
  • the SEI coding unit 113 outputs the coded SEI, which is the coded SEI, to the arithmetic unit 114.
  • the arithmetic unit 28 adds the upper header supplied from the upper header coding unit 26 and the VCL supplied from the VCL coding unit 27.
  • the arithmetic unit 28 generates a bit stream composed of an upper header and a VCL, and outputs the bit stream to the arithmetic unit 114.
  • the arithmetic unit 114 adds the coded SEI to the bitstream consisting of the upper header and the VCL.
  • the arithmetic unit 114 outputs a bit stream including the upper header, the coded SEI, and the VCL to, for example, a subsequent decoding device.
  • the coding device 101 When the coding device 101 is a coding device that determines the GOP structure at the beginning of the coding process, the coding device 101 generates header information for 1 GOP at the beginning of the GOP, and the generated header information for 1 GOP. May be added as User data at the beginning of the sequence or GOP. In this case, on the decoding side, the header information for 1 GOP is reconstructed at the decoding timing at the beginning of the GOP.
  • FIG. 10 is a block diagram showing a configuration example of the VCL coding unit 27.
  • the VCL coding unit 27 includes an arithmetic unit 151, a DCT transform / quantization unit 152, an entropy coding unit 153, an inverse quantization / inverse DCT transform unit 154, an arithmetic unit 155, a deblocking filter 156, and It is composed of an adaptive loop filter 157. Further, the VCL coding unit 27 is composed of a frame memory 158, a motion detection unit 159, a motion compensation unit 160, a spatial prediction unit 161 and a selector 162.
  • the input image input from the previous stage is supplied to the arithmetic unit 151, the spatial prediction unit 161 and the motion detection unit 159.
  • the arithmetic unit 151 calculates the difference between the input image and the predicted image supplied from the selector 162, and outputs the calculated difference image to the DCT transform / quantization unit 152.
  • the DCT transform / quantization unit 152 performs DCT transform on the difference image supplied from the arithmetic unit 151.
  • the DCT transform / quantization unit 152 performs quantization on the image after the DCT transform, and outputs the image after the quantization to the entropy coding unit 153 and the inverse quantization / inverse DCT transform unit 154.
  • the entropy coding unit 153 entropy-encodes the quantized image supplied from the DCT transform / quantization unit 152, and outputs the VCL, which is the image of the coding result, to the subsequent arithmetic unit 28.
  • the inverse quantization / inverse DCT transform unit 154 performs dequantization on the quantized image supplied from the DCT transform / quantization unit 152, and obtains the image after the DCT transform.
  • the inverse quantization / inverse DCT transform unit 154 performs inverse DCT transform on the image after DCT transform to obtain a difference image.
  • the difference image is supplied to the arithmetic unit 155.
  • the arithmetic unit 155 adds the difference image supplied from the inverse quantization / inverse DCT transform unit 154 and the predicted image supplied from the selector 162 to generate a decoded image.
  • the arithmetic unit 155 outputs the generated decoded image to the deblocking filter 156.
  • the deblocking filter 156 performs a deblocking filter process on the decoded image supplied from the arithmetic unit 155, and outputs the decoded image after the deblocking filter process to the adaptive loop filter 157.
  • the adaptive loop filter (ALF) 157 performs ALF processing on the decoded image after deblocking filter processing, and supplies the image after ALF processing to the frame memory 158.
  • the motion detection unit 159 and the motion compensation unit 160 perform inter-prediction for the input image.
  • the motion detection unit 159 detects the motion vector using the input image and the reference image of the frame memory 158.
  • the motion detection unit 159 outputs the detected motion vector to the motion compensation unit 160.
  • the motion compensation unit 160 performs motion compensation using the motion vector supplied from the motion detection unit 159, and generates an inter-predicted image.
  • the inter-prediction image is output to the selector 162.
  • the spatial prediction unit 161 makes an intra prediction for the input image and generates an intra prediction image.
  • the intra prediction image is output to the selector 162.
  • the selector 162 selects a predicted image in which a predetermined cost function shows an optimum value from the inter predicted image and the intra predicted image.
  • the selector 162 outputs the selected predicted image to the arithmetic unit 151 and the arithmetic unit 155.
  • FIG. 11 is a flowchart illustrating a coding process of the coding device 101 of FIG.
  • step S101 the image capture unit 21 captures the image input from the previous stage and outputs the captured image to the picture type determination unit 22.
  • step S102 the GOP structure generation unit 23 determines the GOP structure.
  • the GOP structure generation unit 23 outputs GOP information indicating the determined GOP structure to the picture type determination unit 22 and the coding order rearrangement unit 24.
  • step S103 the picture type determination unit 22 determines the picture type of the image supplied from the image capture unit 21 based on the GOP information supplied from the GOP structure generation unit 23.
  • step S104 the coding order sorting unit 24 sorts the images in the display order in the coding order.
  • the coded sorting unit 24 outputs the sorted images to the upper header generation unit 25.
  • step S105 the upper header generation unit 25 generates the upper header by referring to the image supplied from the coding sorting unit 24.
  • step S106 the upper header holding memory 111 holds the upper header generated by the upper header generation unit 25.
  • step S107 the upper header coding unit 26 encodes the upper header of the AU to be encoded (hereinafter, referred to as the current AU) by using the upper header held in the upper header holding memory 111. ..
  • the upper header coding unit 26 outputs the encoded upper header to the arithmetic unit 28.
  • step S108 the upper header SEI conversion unit 112 converts the upper header of the next AU from the upper header held in the upper header holding memory 111 in the processing order from the current AU as SEI User data.
  • the upper header SEI conversion unit 112 outputs the SEI, which is the SEI-ized upper header, to the SEI encoding unit 113.
  • step S109 the SEI coding unit 113 encodes the SEI.
  • the SEI coding unit 113 outputs the coded SEI, which is the coded SEI, to the arithmetic unit 114.
  • step S110 the VCL coding unit 27 VCL-encodes the image supplied from the coding order sorting unit 24 to generate a VCL. Details of this VCL coding process will be described later with reference to FIG.
  • the VCL coding unit 27 outputs the generated VCL to the arithmetic unit 28.
  • step S111 the arithmetic unit 28 and the arithmetic unit 114 generate a bit stream. That is, the arithmetic unit 28 adds the upper header supplied from the upper header coding unit 26 and the VCL supplied from the VCL coding unit 27. The arithmetic unit 28 generates a bit stream composed of an upper header and a VCL, and outputs the bit stream to the arithmetic unit 114. The arithmetic unit 114 adds the coded SEI to the bitstream consisting of the upper header and the VCL. The arithmetic unit 114 outputs a bit stream including the upper header, the coded SEI, and the VCL to, for example, a subsequent decoding device.
  • FIG. 12 is a flowchart illustrating the VCL coding process of step S110 of FIG.
  • the input image input from the coding order sorting unit 24 in the previous stage is supplied to the arithmetic unit 151, the spatial prediction unit 161 and the motion detection unit 159.
  • step S151 the arithmetic unit 151 obtains a difference image between the input image and the predicted image supplied from the selector 162.
  • the arithmetic unit 151 outputs the obtained difference image to the DCT transform / quantization unit 152.
  • step S152 the DCT transform / quantization unit 152 performs DCT transform on the difference image supplied from the arithmetic unit 151.
  • the DCT transform / quantization unit 152 performs quantization on the image after the DCT transform, and outputs the image after the quantization to the entropy coding unit 153 and the inverse quantization / inverse DCT transform unit 154.
  • step S153 the entropy coding unit 153 entropy-encodes the quantized image supplied from the DCT transform / quantization unit 152, and outputs the VCL, which is the image of the coding result, to the arithmetic unit 28 in the subsequent stage. To do.
  • step S154 the inverse quantization / inverse DCT transform unit 154 performs dequantization on the quantized image supplied from the DCT transform / quantization unit 152, and obtains the image after the DCT transform.
  • the inverse quantization / inverse DCT transform unit 154 performs inverse DCT transform on the image after DCT transform to obtain a difference image.
  • the difference image is supplied to the arithmetic unit 155.
  • step S155 the arithmetic unit 155 adds the difference image supplied from the inverse quantization / inverse DCT transform unit 154 and the predicted image supplied from the selector 162.
  • the arithmetic unit 155 outputs the image which is the addition result to the deblocking filter 156.
  • step S156 the deblocking filter 156 performs a deblocking filter process on the image supplied from the arithmetic unit 155, and outputs the image after the deblocking filter process to the adaptive loop filter 157.
  • step S157 the adaptive loop filter 157 performs ALF processing on the image after the deblocking filter processing, and supplies the image after the ALF processing to the frame memory 158.
  • step S158 the frame memory 158 stores the image after the ALF processing.
  • step S159 the motion detection unit 159 and the motion compensation unit 160 perform inter-prediction with respect to the input image and generate an inter-prediction image.
  • the inter-prediction image is output to the selector 162.
  • step S160 the spatial prediction unit 161 makes an intra prediction with respect to the input image and generates an intra prediction image.
  • the intra prediction image is output to the selector 162.
  • step S161 the selector 162 selects a predicted image in which a predetermined cost function shows an optimum value from the inter predicted image and the intra predicted image.
  • the selector 162 outputs the selected predicted image to the arithmetic unit 151 and the arithmetic unit 155.
  • FIG. 13 is a diagram showing an example of information that needs to be converted to SEI among the header information of the next AU in the processing order in the upper header of the AU when the image compression method is AVC.
  • Information that requires SEI conversion in the upper header of AU is not necessarily all of the header information of the next AU in the processing order, and may be part of the header information.
  • the information that needs to be SEI-ized in the upper header of AU is the information that the decoding side wants in advance, and the information that the encoding side can generate ahead of schedule.
  • the information that requires SEI conversion in the upper header of AU is at least the information required to generate nal_unit_type, pic_parameter_set_id, frame_num, field_pic_flag, bottom_field_flag, and POC, as shown in FIG.
  • Nal_unit_type is information indicating whether or not it is IDR (Instantaneous Decoder Refresh).
  • the information required to generate a POC is, for example, pic_order_cnt_lsb, delta_pic_order_cnt_bottom, delta_pic_order_cnt [2].
  • the encoding device 101 can generate them ahead of schedule.
  • FIG. 14 is a diagram showing an example of information that needs to be converted to SEI among the header information of the next AU in the processing order in the upper header of the AU when the image compression method is HEVC.
  • the information that requires SEI conversion in the upper header of AU is at least nal_unit_type, slice_pic_order_cnt_lsb, short_term_ref_pic_set_sps_flag, short_term_ref_pic_set_idx, num_long_term_sps, num_long_term_pics, as shown in FIG.
  • st_ref_pic_set (num_short_term_ref_pic_sets) is also necessary information.
  • RPS internal-layer reference picture set
  • the GOP structure is usually determined and the RPS set required for SPS is inserted. Therefore, the information required for SEI conversion in the upper header of AU is almost only the information required for POC generation. It is possible to generate 101 ahead of schedule.
  • FIG. 15 is a diagram showing an example of the syntax parameters (SyntaxParameter) of the header information, which are indispensable for generating the RefPicList, when the image compression method is AVC.
  • Nal_unit_type is an essential parameter for generating RefPicList. The reason it is mandatory is that it is necessary to know whether it is IDR or not.
  • Pic_parameter_set_id is an essential parameter for RefPicList processing generation. The reason it is mandatory is to identify PPS and SPS.
  • bottom_field_pic_order_in_frame_present_flag is a parameter included in PPS and is required to determine the presence or absence of delta_pic_order_cnt_bottom of Slice Header.
  • Frame_num is an essential parameter for generating RefPicList. The reason it is required is that frame_num is needed to generate the RefPicList.
  • Field_pic_flag and bottom_field_flag are essential parameters for RefPicList generation. The reason why it is indispensable is that it is necessary to generate RefPicList at the time of Field Coding. Note that field_pic_flag and bottom_field_flag are parameters necessary for generating RefPicList as long as they exist in the syntax, but they are unnecessary parameters for generating RefPicList if they do not exist in the syntax.
  • pps_id is unnecessary.
  • pic_order_cnt_lsb and delta_pic_order_cnt_bottom are unnecessary.
  • FIG. 16 is a block diagram showing a configuration example of a decoding device to which the present technology is applied. Among the configurations shown in FIG. 16, the same configurations as those described with reference to FIG. 2 are designated by the same reference numerals. Duplicate explanations will be omitted as appropriate.
  • the decoding device 201 of FIG. 16 is composed of a bitstream input unit 41, a header decoding unit 42, a next AU reference-related decoding unit 211, a reference image information holding unit 212, a VCL decoding unit 44, and an image output unit 45.
  • the decoding device 201 is different from the decoding device 31 of FIG. 2 in that the next AU reference-related decoding unit 211 is replaced with the reference-related decoding unit 43 and the reference image information holding unit 212 is added.
  • the header decoding unit 42 decodes and interprets the header information of the picture as the parsing of the header. Further, the header decoding unit 42 of FIG. 16 decodes and extracts the header information of the next SEI-ized AU. The header decoding unit 42 outputs the interpreted header information and the extracted header information of the next AU to the next AU reference relation decoding unit 211.
  • the next AU reference-related decoding unit 211 refers to the DPB update information supplied from the DPB update unit 51 and updated in the post-processing of the AU to be decoded (hereinafter referred to as the current AU), and then next. Calculate the parameters required in the decryption process of AU.
  • the next AU reference relationship decoding unit 211 generates a RefPicList (reference image information) of the next AU as a result of calculating the parameters required in the decoding process of the next AU.
  • the next AU reference relation decoding unit 211 outputs the RefPicList of the next AU to the reference image information holding unit 212.
  • the reference image information holding unit 212 holds the RefPicList of the current AU generated in the preprocessing of the previous AU.
  • the reference image information holding unit 212 holds the RefPicList of the next AU supplied from the next AU reference relation decoding unit 211.
  • the VCL decoding unit 44 is processed at the time of decoding the current previous AU, and refers to the RefPicList of the current AU held in the reference image information holding unit 212 without waiting for the preprocessing of the current AU. , Decode the image and generate (reconstruct) the decoded image. The VCL decoding unit 44 outputs the generated decoded image to the image output unit 45.
  • the DPB update unit 51 updates the DPB as post-processing and outputs the DPB update information to the next AU reference relation decoding unit 211.
  • FIG. 17 is a block diagram showing a configuration example of the VCL decoding unit 44.
  • the VCL decoding unit 44 is composed of an entropy decoding unit 251, an inverse quantization / inverse DCT transform unit 252, an arithmetic unit 253, a deblocking filter 254, an adaptive loop filter 255, and a frame memory 256. Further, the VCL decoding unit 44 is composed of a spatial prediction unit 257, a motion compensation unit 258, a selector 259, and a DPB update unit 51.
  • the entropy decoding unit 251 decodes the bit stream supplied from the bit stream input unit 41, and outputs the difference image of the decoding result to the inverse quantization / inverse DCT transform unit 252.
  • the image of the decoding result is a DCT-converted image obtained by quantizing the difference image from the predicted image in the encoding device 101.
  • the inverse quantization / inverse DCT transforming unit 252 performs inverse quantization on the difference image of the decoding result supplied from the entropy decoding unit 251.
  • the inverse quantization / inverse DCT transform unit 252 performs the inverse DCT transform on the result of the inverse quantization, and obtains a difference image after the inverse DCT transform.
  • the inverse quantization / inverse DCT transform unit 252 outputs the difference image to the arithmetic unit 253.
  • the arithmetic unit 253 adds the predicted image supplied from the selector 259 to the difference image to generate a decoded image, and outputs the generated decoded image to the deblocking filter 254 and the spatial prediction unit 257.
  • the deblocking filter 254 performs a deblocking filter process on the decoded image supplied from the arithmetic unit 253, and outputs the decoded image after the deblocking filter process to the adaptive loop filter 255.
  • the adaptive loop filter 255 performs ALF processing on the decoded image after the deblocking filter processing.
  • the adaptive loop filter 255 outputs the decoded image after the ALF processing to the image output unit 45 and the frame memory 256.
  • the frame memory 256 stores the decoded image supplied from the adaptive loop filter 255.
  • the bitstream contains information indicating the intra-prediction.
  • Information indicating the intra prediction is supplied from the entropy decoding unit 251 to the spatial prediction unit 257.
  • the spatial prediction unit 257 When the image included in the bitstream is an intra-prediction image, the spatial prediction unit 257 performs intra-prediction using the decoded image supplied from the arithmetic unit 253 and generates a prediction image. The spatial prediction unit 257 outputs the generated intra prediction image to the selector 259.
  • the bitstream contains information indicating inter-prediction and motion information indicating a motion vector used in the encoding device 101 to generate the inter-prediction image.
  • the information indicating the inter-prediction and the motion information are supplied from the entropy decoding unit 251 to the motion compensation unit 258.
  • the motion compensation unit 258 When the image included in the bit stream is an inter-predicted image, the motion compensation unit 258 performs motion compensation using the motion information supplied from the entropy decoding unit 251 and generates an inter-predicted image. At this time, for motion compensation, the RefPicList of the current AU held in the reference image information holding unit 212 is referred to, and the decoded image stored in the frame memory 256 is used. The motion compensation unit 258 outputs the generated inter-prediction image to the selector 259.
  • the selector 259 outputs the predicted image of the supplied one of the intra prediction image generated by the spatial prediction unit 257 and the inter prediction image generated by the motion compensation unit 258 to the calculator 253.
  • the DPB update unit 51 refers to the frame memory 256, performs RefPicmarking processing and DPB update processing as post-processing of the current AU, and outputs the DPB update information to the next AU reference relation decoding unit 211.
  • FIG. 18 is a flowchart illustrating a decoding process of the decoding device of FIG.
  • step S201 the header decoding unit 42 decodes and interprets the header information of the picture as the parsing of the header. Further, the header decoding unit 42 decodes and extracts the header information of the next SEI-ized AU. The header decoding unit 42 outputs the interpreted header information and the extracted header information of the next AU to the next AU reference relation decoding unit 211.
  • step S202 the next AU reference relationship decoding unit 211 refers to the DPB update information updated in the post-processing of the current AU supplied from the DPB update unit 51, and the parameters required in the next AU decoding process. Is calculated and RefPicList of the next AU is generated.
  • step S203 the reference image information holding unit 212 holds the RefPicList of the next AU supplied from the next AU reference relation decoding unit 211.
  • step S204 the VCL decoding unit 44 performs the VCL decoding process with reference to the RefPicList of the current AU held in the reference image information holding unit 212.
  • the details of this VCL decoding process will be described with reference to FIG. 19 below.
  • the pre-processing of the current AU is completed in the decoding process of the previous AU.
  • the VCL decoding unit 44 decodes the image and generates (reconstructs) the decoded image.
  • the VCL decoding unit 44 outputs the generated decoded image to the image output unit 45.
  • steps S202 and S204 are processes performed in parallel as described later with reference to FIG.
  • FIG. 19 is a flowchart illustrating the VCL decoding process in step S204 of FIG.
  • step S251 the entropy decoding unit 251 entropy decodes the bit stream supplied from the bit stream input unit 41, and outputs the difference image of the decoding result to the inverse quantization / inverse DCT transform unit 252.
  • step S252 the inverse quantization / inverse DCT transforming unit 252 performs inverse quantization on the difference image of the decoding result supplied from the entropy decoding unit 251.
  • the inverse quantization / inverse DCT transform unit 252 performs the inverse DCT transform on the result of the inverse quantization, and obtains a difference image after the inverse DCT transform.
  • the inverse quantization / inverse DCT transform unit 252 outputs the difference image to the arithmetic unit 253.
  • step S253 the spatial prediction unit 257 and the motion compensation unit 258 determine whether or not the current AU image included in the bitstream is an inter-prediction image. If it is determined in step S253 that it is an inter-predicted image, the process proceeds to step S254.
  • step S254 the motion compensation unit 258 performs motion compensation using the motion information included in the bit stream and generates an inter-predicted image.
  • the RefPicList of the current AU held in the reference image information holding unit 212 is referred to, and the decoded image stored in the frame memory 256 is used.
  • the motion compensation unit 258 outputs the generated inter-prediction image to the selector 259.
  • step S253 If it is determined in step S253 that the image is an intra-predicted image, the process proceeds to step S255.
  • step S255 the spatial prediction unit 257 performs intra-prediction using the decoded image supplied from the arithmetic unit 253 and generates a predicted image.
  • the spatial prediction unit 257 outputs the generated intra prediction image to the selector 259.
  • the selector 259 outputs the predicted image supplied in step S254 or S255 to the arithmetic unit 253, and proceeds to step S256.
  • step S256 the arithmetic unit 253 adds the predicted image supplied from the selector 259 to the difference image supplied from the inverse quantization / inverse DCT transform unit 252 to generate a decoded image.
  • the arithmetic unit 253 outputs the generated decoded image to the deblocking filter 254 and the spatial prediction unit 257.
  • step S257 the deblocking filter 254 performs a deblocking filter process on the decoded image supplied from the arithmetic unit 253.
  • the deblocking filter 254 outputs the decoded image after the deblocking filter processing to the adaptive loop filter 255.
  • step S258 the adaptive loop filter 255 performs ALF processing on the decoded image after the deblocking filter processing.
  • the adaptive loop filter 255 outputs the decoded image after the ALF processing to the frame memory 256 and the image output unit 45.
  • step S259 the adaptive loop filter 255 outputs the decoded image after the ALF processing to the image output unit 45 and the frame memory 256.
  • step S260 the frame memory 256 stores the decoded image supplied from the adaptive loop filter 255. After step S260, the VCL decoding process ends.
  • FIG. 20 is a diagram showing a sequence of each process in the decoding device of the present technology.
  • the white square wave indicates that the processing is related to the current AU-1.
  • the square with the check hatch indicates that the processing is for AU-2, which is the next AU of the current AU-1.
  • the black rectangle indicates that the processing is related to AU-3, which is the next AU of AU-2.
  • the header decoding unit is shown by arrow A1 in a state where the Slice Data of AU-1 has not been input yet. 42 starts the Slice header processing of AU-1.
  • the VCL decoding unit 44 starts VCL decoding of AU-1 as shown by arrow A2.
  • the DPB update of AU-1 by the DPB update unit 51 is started as shown by arrow A3.
  • the DPB update information for the AU-2 generated by the DPB update unit 51 is supplied to the next AU reference relation decoding unit 211 as shown by the arrow A4.
  • the header decoding unit 42 completes the decoding of the SEI of AU-2 started after the processing of the Slice header of AU-1 is completed, the next AU reference-related decoding unit 211 generates the RefPicList as shown by arrow A5. Start.
  • the output of the decoded image of the AU-1 by the image output unit 45 is started as shown by the arrow A6.
  • the bitstream input unit 41 starts inputting Slice Header of AU-2 and SEI of AU-3 after completing the input of Slice Data of AU-1. After inputting the Slice Header of AU-2 and the SEI of AU-3, the bitstream input unit 41 has not yet input the Slice Data of AU-2, and the header decoding unit 42 has as shown by arrow A7. , AU-2 Slice header processing is started.
  • the VCL decoding unit 44 starts VCL decoding of AU-2 as shown by arrow A8.
  • the DPB update of AU-2 by the DPB update unit 51 is started as shown by arrow A9.
  • the DPB update information for the AU-3 generated by the DPB update unit 51 is supplied to the next AU reference relation decoding unit 211.
  • the header decoding unit 42 finishes decoding the SEI of AU-3 started after the processing of the Slice header of AU-2 ends, the next AU reference relationship decoding unit 211 generates a RefPicList as shown by arrow A11. Start.
  • the decoding device 201 can perform each of the above-mentioned processes in parallel without waiting for the completion of the sequence for one AU.
  • the decoding device 201 can perform VCL decoding without waiting for the generation of RefPicList. As a result, the decoding process from the input to the output can be efficiently performed.
  • FIG. 21 is a diagram showing a sequence of each process in a conventional general decoding apparatus for comparison with FIG. 20.
  • stream input performed by the bitstream input unit 41
  • Slice header processing performed by the header decoding unit 42
  • RefPicList generation performed by the reference relation decoding unit 43
  • VCL decoding performed by the VCL decoding unit 44
  • DPB update unit Each sequence of DPB update performed by 51 and image output performed by the image output unit 45 is shown.
  • the white square wave indicates that the processing is related to the current AU-1.
  • the square with the check hatch indicates that the processing is for AU-2, which is the next AU of the current AU-1.
  • the black rectangle indicates that the processing is related to AU-3, which is the next AU of AU-2.
  • the header decoding unit 42 of the AU-1 has not yet input the SliceData of the AU-1, as shown by the arrow B1. Start Slice header processing.
  • the reference-related decoding unit 43 starts the generation of the RefPicList of the AU-1 as shown by the arrow B2.
  • the VCL decoding unit 44 starts VCL decoding of AU-1 as shown by arrow B3.
  • the DPB update unit 51 starts updating the DPB of AU-1 as shown by arrow B4.
  • the DPB update information for the AU-2 generated by the DPB update unit 51 is supplied to the reference relationship decoding unit 43 as shown by the arrow B5.
  • the output of the decoded image of the AU-1 by the image output unit 45 is started as shown by the arrow B6.
  • the bitstream input unit 41 starts inputting the Slice Header of the AU-2 after completing the input of the Slice Data of the AU-1. After inputting the Slice Header of AU-2, the bitstream input unit 41 has not yet input the Slice Data of AU-2, and as shown by arrow B7, the header decoding unit 42 has the Slice header of AU-2. Start processing.
  • the reference-related decoding unit 43 After the Slice header processing by the header decoding unit 42, the reference-related decoding unit 43 starts generating the RefPicList of the AU-2 as shown by the arrow B8.
  • the VCL decoding unit 44 starts VCL decoding of AU-2 as shown by arrow B9.
  • the DPB update unit 51 starts updating the DPB of AU-2 as shown by the arrow B10.
  • the DPB update information for the AU-3 generated by the DPB update unit 51 is supplied to the reference relationship decoding unit 43 as shown by the arrow B11.
  • the decoding device 31 cannot start the next process until one process for one AU is completed. Therefore, a delay may occur between each process of the decoding device 31.
  • a coded stream is generated by adding the header information of the next AU or the information related to the header information to the SEI of the AU in the processing order of the AU.
  • the decoding device 201 can perform each processing related to decoding in parallel without waiting for the completion of the sequence for one AU. As a result, the decoding process from the input to the output can be efficiently performed.
  • FIG. 22 is a diagram showing the timing of each process in the decoding device of the present technology.
  • post-processing -1 of frame-1 is started.
  • pre-processing-2 of frame-2 is started, and at time t6 before the input of the frame-1 stream is completed, pre-processing-2 ends.
  • the input of the frame-2 stream is started at time t8. Since the preprocessing-2 ends at time t6, VCL decoding-2 of frame-2 is started at time t9 immediately after the input of the frame-2 stream. In addition, the output of Frame-2 starts immediately at the subsequent time t10.
  • post-processing-2 of frame-2 is started.
  • pre-processing-3 of frame-3 is started. After that, preprocessing-3 ends at time t13 before the input of the frame-2 stream ends.
  • the input of the frame-2 stream ends, and at time t15, the VCL decoding-2 of frame-2 ends. Then, at time t16, the output of the frame-2 stream ends.
  • VCL decoding decrypted image generation
  • VCL decoding decrypted image generation
  • the performance of the VCL decoding unit can be lowered (operating frequency reduction and circuit scale reduction).
  • FIG. 23 is a block diagram showing a configuration example of computer hardware that executes the above-mentioned series of processes programmatically.
  • the CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • An input / output interface 305 is further connected to the bus 304.
  • An input unit 306 including a keyboard and a mouse, and an output unit 307 including a display and a speaker are connected to the input / output interface 305.
  • the input / output interface 305 is connected to a storage unit 308 made of a hard disk or a non-volatile memory, a communication unit 309 made of a network interface or the like, and a drive 310 for driving the removable media 311.
  • the CPU 301 loads the program stored in the storage unit 308 into the RAM 303 via the input / output interface 305 and the bus 304 and executes the program, thereby executing the series of processes described above. Is done.
  • the program executed by the CPU 301 is recorded on the removable media 311 or provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital broadcasting, and installed in the storage unit 308.
  • the program executed by the computer may be a program that is processed in chronological order according to the order described in this specification, or may be a program that is processed in parallel or at a necessary timing such as when a call is made. It may be a program in which processing is performed.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and a device in which a plurality of modules are housed in one housing are both systems. ..
  • this technology can have a cloud computing configuration in which one function is shared by a plurality of devices via a network and jointly processed.
  • each step described in the above flowchart can be executed by one device or shared by a plurality of devices.
  • one step includes a plurality of processes
  • the plurality of processes included in the one step can be executed by one device or shared by a plurality of devices.
  • the present technology can also have the following configurations.
  • (1) In the SEI (Supplemental Enhancement Information) of the first AU (Access Unit), information regarding at least a part of the header information of the second AU processed after the first AU, or at least a part of the header information.
  • An image processing device including a coded stream generator that generates a coded stream by adding the above.
  • the first AU is the first AU of GOP (Group Of Pictures).
  • the image processing according to (1), wherein the coded stream generation unit adds at least a part of the header information of the AUs after the second AU in the GOP to the SEI of the first AU. apparatus.
  • (3) The first AU is the first AU of the GOP.
  • the coded stream generation unit adds at least a part of the header information of the second AU to the SEI of the first AU.
  • the information required for the preprocessing is the information required for POC generation.
  • the information required for the preprocessing is a parameter that changes for each picture.
  • the image processing apparatus according to (5) above.
  • the image processing device In the SEI (Supplemental Enhancement Information) of the first AU (Access Unit), information regarding at least a part of the header information of the second AU processed after the first AU, or at least a part of the header information.
  • An image processing method that generates a coded stream by adding.
  • An image processing device including a decoding unit that decodes the second AU based on the header information that the stream is received and processed.
  • the image processing device Coding generated by adding information about at least a part of the header information of the second AU processed after the first AU or at least a part of the header information to the SEI of the first AU.
  • 21 Image capture unit 22 Picture type determination unit, 23 GOP structure generation unit, 24 Coding sorting unit, 25 Upper header generation unit, 26 Upper header coding unit, 27 VCL encoding unit, 28 Arithmetic unit, 41 Bitstream Input unit, 42 header decoding unit, 44 VCL decoding unit, 45 image output unit, 51 DPB update unit, 101 encoding device, 111 upper header holding memory, 112 upper header SEI conversion unit, 113 SEI encoding unit, 114 arithmetic unit , 201 Decoding device, 211 Next AU reference-related decoding unit, 212 Reference image information holding unit

Landscapes

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

Abstract

本技術は、ストリームが入力されてから復号画像が生成されるまでの遅延を短縮することができるようにする画像処理装置および方法に関する。 画像処理装置は、第1のAU(Access Unit)のSEI(Supplemental Enhancement Information)に、第1のAUの次に処理される第2のAUのヘッダ情報の少なくとも一部、またはヘッダ情報の少なくとも一部に関する情報を付加して、符号化ストリームを生成する。本技術は、画像符号化装置に適用することができる。

Description

画像処理装置および方法
 本技術は、画像処理装置および方法に関し、特に、ストリームが入力されてから復号画像が生成されるまでの遅延を短縮することができるようにした画像処理装置および方法に関する。
 画像の圧縮手法として、MPEG2、AVC(Advanced Video Coding)、HEVC(High Efficiency Video Coding)などが広く利用されている(非特許文献1参照)。
 これらの圧縮手法により圧縮されたデータを復号する際、復号装置は、まず、前処理として、ヘッダをパースして、復号対象であるピクチャの情報を抽出する。復号装置は、次に、抽出した情報を用いて復号画像を生成し、次のピクチャの復号処理の入力となる情報を、後処理によって生成する。
 この一連の処理は、シーケンシャルに行われる必要がある。
T-REC-H.265-201802、[online]、2018-02-13、ITU、[2019,5,30検索]、インターネット、<https://www.itu.int/rec/T-REC-H.265-201802-I/en>
 低遅延化が要求されるストリーミングなどのシステムにおいて、ヘッダを解釈する前処理と復号画像生成処理がシーケンシャルに行われる場合、前処理の実行中は復号画像を生成することが困難であった。
 したがって、入力されたストリームを即時復号して表示するシステムの場合、前処理の実行にかかる時間分、表示の遅延を持たせる必要があり、これが低遅延化の妨げになっていた。
 本技術はこのような状況に鑑みてなされたものであり、ストリームが入力されてから復号画像が生成されるまでの遅延を短縮することができるようにするものである。
 本技術の一側面の画像処理装置は、第1のAU(Access Unit)のSEI(Supplemental Enhancement Information)に、前記第1のAUの次に処理される第2のAUのヘッダ情報の少なくとも一部、または前記ヘッダ情報の少なくとも一部に関する情報を付加して、符号化ストリームを生成する符号化ストリーム生成部を備える。
 本技術の一側面においては、第1のAU(Access Unit)のSEI(Supplemental Enhancement Information)に、前記第1のAUの次に処理される第2のAUのヘッダ情報の少なくとも一部、または前記ヘッダ情報の少なくとも一部に関する情報が付加されて、符号化ストリームが生成される。
 本技術の他の側面の画像処理装置は、第1のAUのSEIに、前記第1のAUの次に処理される第2のAUのヘッダ情報の少なくとも一部、または前記ヘッダ情報の少なくとも一部に関する情報を付加して生成された符号化ストリームが受信されて処理された前記ヘッダ情報に基づいて、前記第2のAUを復号する復号部を備える。
 本技術の他の側面においては、第1のAUのSEIに、前記第1のAUの次に処理される第2のAUのヘッダ情報の少なくとも一部、または前記ヘッダ情報の少なくとも一部に関する情報を付加して生成された符号化ストリームが受信されて処理された前記ヘッダ情報に基づいて、前記第2のAUが復号される。
一般的な符号化装置の構成例を示すブロック図である。 一般的な復号装置の構成例を示すブロック図である。 復号装置における各処理のタイミングを示す図である。 図2の復号装置の復号処理の例を示すフローチャートである。 復号装置の処理シーケンスの例を示す図である。 復号装置の処理シーケンスの他の例を示す図である。 本技術を適用したストリームの構成例を示す図である。 本技術を適用したストリームの他の構成例を示す図である。 本技術を適用した符号化装置の構成例を示すブロック図である。 VCL符号化部の構成例を示すブロック図である。 図9の符号化装置の符号化処理を説明するフローチャートである。 図11のステップS109のVCL符号化処理を説明するフローチャートである。 AVCの場合にSEI化が必要な情報の例を示す図である。 HEVCの場合にSEI化が必要な情報の例を示す図である。 AVCの場合にRefPicList生成に必須であるシンタックスパラメータの例を示す図である。 本技術を適用した復号装置の構成例を示すブロック図である。 VCL復号部の構成例を示すブロック図である。 図16の復号装置の復号処理を説明するフローチャートである。 図18のステップS204のVCL復号処理を説明するフローチャートである。 本技術の復号装置における各処理のタイミングを示す図である。 従来の復号装置における各処理のタイミングを示す図である。 本技術の復号装置における各処理のタイミングを示す図である。 コンピュータの構成例を示すブロック図である。
 以下、本技術を実施するための形態について説明する。説明は以下の順序で行う。
 1.概要
 2.符号化装置
 3.復号装置
 4.その他
<<1.概要>>
 <一般的な符号化装置の構成>
 図1は、一般的な符号化装置の構成例を示すブロック図である。
 符号化装置1は、画像取り込み部21、ピクチャタイプ決定部22、GOP(Group Of Pictures)構造生成部23、符号化順並び替え部24、上位ヘッダ生成部25、上位ヘッダ符号化部26、VCL(Video Coding Layer)符号化部27、および演算器28から構成される。
 画像取り込み部21は、前段から入力される画像を取り込み、取り込んだ画像を、ピクチャタイプ決定部22に出力する。
 ピクチャタイプ決定部22は、GOP構造生成部23から供給されるGOP構造を示すGOP情報に基づいて、画像取り込み部21から供給される画像のピクチャタイプを決定する。ピクチャタイプ決定部22は、各画像に対して、POC(Picture Order Count)も付与する。ピクチャタイプ決定部22は、ピクチャタイプが決定され、POCが付与された画像を、符号化順並び替え部24に出力する。
 GOP構造生成部23は、GOP構造を決定し、決定したGOP構造を示すGOP情報を、ピクチャタイプ決定部22と符号化順並べ替え部24に出力する。
 符号化順並び替え部24は、表示順の画像を、符号化順に並び替える。符号化順並び替え部24は、並び替えた画像を上位ヘッダ生成部25に出力する。
 上位ヘッダ生成部25は、符号化順並び替え部24から供給される画像を参照して、上位シンタックスのヘッダである上位ヘッダを生成する。上位シンタックスは、例えば、SPS(Sequence Parameter Set)、PPS(Picture Parameter Set)、SEI(Supplemental Enhancement Information)などである。上位ヘッダ生成部25は、生成した上位ヘッダを、上位ヘッダ符号化部26に出力する。上位ヘッダ生成部25は、画像を、VCL符号化部27に出力する。
 上位ヘッダ符号化部26は、上位ヘッダ生成部25から供給された上位ヘッダを符号化する。上位ヘッダ符号化部26は、符号化された上位ヘッダを、演算器28に出力する。
 VCL符号化部27は、上位ヘッダ生成部25から供給された画像を符号化し、VCLを生成する。VCLは、ヘッダを除いた画像そのものの圧縮データのことである。VCL符号化部27は、生成したVCLを演算器28に出力する。
 演算器28は、上位ヘッダ符号化部26から供給される上位ヘッダと、VCL符号化部27から供給されるVCLを加算する。演算器28は、上位ヘッダとVCLからなるビットストリームを、後段の復号装置などに出力する。
 <一般的な復号装置の構成>
 図2は、一般的な復号装置の構成例を示すブロック図である。
 復号装置31は、ビットストリーム入力部41、ヘッダ復号部42、参照関係復号部43、VCL復号部44、および画像出力部45から構成される。
 前段からのビットストリームは、ビットストリーム入力部41に供給される。
 ビットストリーム入力部41は、ビットストリームをヘッダ復号部42とVCL復号部44に出力する。
 ヘッダ復号部42および参照関係復号部43は、ビットストリームに対して、ヘッダのパース、パラメータの算出、およびRefPicList(参照画像情報)の生成などからなる前処理を行う。
 ヘッダ復号部42は、ヘッダのパースとして、ピクチャのヘッダ情報(ピクチャヘッダやスライスヘッダ)を解釈する。ヘッダ復号部42は、解釈したヘッダ情報を、参照関係復号部43に出力する。
 参照関係復号部43は、ヘッダ復号部42から供給されるヘッダ情報に基づいて、例えば、POCなど、画像の復号過程で必要となるパラメータの算出を行い、RefPicListを生成する。
 VCL復号部44は、前処理において生成された情報を随時参照しながら、画像を復号し、復号画像を再構成する。VCL復号部44は、再構成した復号画像を、画像出力部45に出力する。VCL復号部44は、また、DPB(Decoded Picture Buffer)更新部51を有している。
 DPB更新部51は、後処理として、DPBを更新し、DPB更新情報を、参照関係復号部43に出力する。参照関係復号部43は、DPB更新情報に基づいて、RefPicListを更新する。
 画像出力部45は、VCL復号部44から供給された復号画像を、後段の表示部などに出力する。
 <復号装置における各処理のタイミング>
 図3は、図2の復号装置31における各処理のタイミングを示す図である。横軸は、時間の流れを表している。なお、frame-1の枝番は、1番目を意味する。よって、frame-1は、1番目のフレームを表す。以降の図においても同様である。
 時刻t1において、frame-1ストリームの入力が開始される。
 時刻t2において、frame-1に対する前処理-1が開始され、時刻t3において、前処理-1が終了する。前処理-1が終了した時刻t3において、VCL復号-1が開始され、その後の時刻t4で、ようやくframe-1の出力が開始される。
 時刻t5において、frame-1ストリームの入力が終了される。その直後の時刻t6において、frame-2ストリームの入力が開始されるとともに、VCL復号-1が終了され、後処理-1が開始される。
 時刻t7において、後処理-1が終了されるとともに、frame-2に対する前処理-2が開始される。前処理-2が終了された時刻t8において、VCL復号-2が開始される。その後の時刻t9で、frame-1の出力が終了され、時刻t10において、ようやくframe-2の出力が開始される。
 時刻t11において、frame-2ストリームの入力が終了される。その直後の時刻t12において、VCL復号-2が終了される。そして、時刻t13において、後処理-2が終了され、時刻t14において、frame-2の出力が終了となる。
 以上のように、一般的な復号装置31においては、ストリーム入力の時刻t1または復号の開始の時刻t2から、出力開始の時刻t4までの遅延を、少なくとも前処理-1の時間が含まれるほど、大きく取る必要があった。
 <復号装置の動作>
 図4は、図2の復号装置31の復号処理の例を示すフローチャートである。
 ステップS11において、ヘッダ復号部42は、前処理として、ビットストリームに対して、ヘッダをパースする。ヘッダ復号部42は、ヘッダのパースにより解釈したヘッダ情報を、参照関係復号部43に出力する。
 ステップS12において、参照関係復号部43は、前処理として、POCを算出する。
 ステップS13において、参照関係復号部43は、前処理として、RefPicListを生成する。
 ステップS14において、VCL復号部44は、前処理において生成された情報を随時参照しながら、画像(VCL)を復号し、再構成する。
 ステップS15において、VCL復号部44は、後処理として、RefPicのmarking処理を行う。
 ステップS16において、DPB更新部51は、後処理として、DPB(Decoded Picture Buffer)の更新を行い、画像出力部45は、後処理として、Picture(復号画像)の出力を行う。ステップS16において更新したDPBの更新情報は、次の前処理において用いられる。
 ステップS16の後、処理はステップS11に戻り、次のピクチャに対して、以降の処理が繰り返される。
 以上のように、図4のステップS11乃至S13が前処理である。前処理が終わらないと、ステップS14のVCL復号が開始できない。また、図4のステップS15およびS16が後処理である。後処理は、VCL復号が終わる前に進めてしまうことも可能である。なお、1つ前のピクチャの後処理が終らないと、次のピクチャの前処理は開始できない。
 <復号装置の処理のシーケンスの例>
 図5は、図2の復号装置31の処理シーケンスの例を示す図である。
 復号装置31は、フレーム1の前処理-1の次に、フレーム1のVCL復号-1を行う。復号装置31は、フレーム1のVCL復号-1の後に、フレーム1の後処理-1を行う。また、復号装置31は、フレーム1の後処理-1の後に、フレーム2の前処理-2を行う。復号装置31は、フレーム2の前処理-2の後に、フレーム2のVCL復号-2を行う。復号装置31は、フレーム2のVCL復号-2の後に、フレーム2の後処理-2を行う。
 このように、復号装置31においては、各処理が連続して行われる。
 図6は、図2の復号装置31の処理シーケンスの他の例を示す図である。
 図6には、VCL復号が終了する前に、後処理を進めてしまう例が示されている。
 復号装置31は、フレーム1の前処理-1が終った後、フレーム1のVCL復号-1を行う。復号装置31は、フレーム1のVCL復号-1の途中で、フレーム1の後処理-1を、フレーム1のVCL復号-1と並列に行う。したがって、復号装置31は、フレーム1のVCL復号-1が終った後、フレーム2の前処理-2をすぐに行うことができる。
 同様に、復号装置31は、フレーム2の前処理-2が終った後、フレーム2のVCL復号-2を行う。復号装置31は、フレーム2のVCL復号-2の途中で、フレーム2の後処理-2を、フレーム2のVCL復号-2と並列に行う。したがって、復号装置31は、フレーム2のVCL復号-2が終った後、図示されないが、次のフレーム3の前処理-3をすぐに行うことができる。
 以上のように、低遅延化が要求されるストリーミングなどのシステムにおいて、ヘッダを解釈する前処理と復号画像生成処理がシーケンシャルに行われる場合、前処理の実行中は復号画像の生成が停止してしまう。
 入力されたストリームを即時復号して表示するシステムの場合、前処理の実行にかかる時間分、表示の遅延を持たせる必要があり、これが低遅延化の妨げになっていた。
 ここで、各AU(Access Unit)の処理順で次のAU(各AUの次に処理されるAU)のヘッダ情報には、復号側が各AUの前処理を行う際に事前にほしい情報が含まれている。この情報は、符号化側で、遅くとも各AUの上位ヘッダを作る際に前倒しで生成可能な情報である。
 なお、AUは、1枚の実効的なピクチャ(フレーム)を生成できる、NAL(Network Abstraction Layer)ユニットの集まりである。すなわち、AUは、ピクチャ(フレーム)のことを表す。以下、ピクチャ(フレーム)のことをAUとも称する。
 したがって、本技術においては、第1のAUのSEIに、第1のAUの次に処理される第2のAUのヘッダ情報の少なくとも一部、またはヘッダ情報の少なくとも一部に関する情報が付加されて、符号化ストリームが生成される。このようにすることで、復号の遅延を短くすることができる。
 <本技術のストリームの構成>
 図7は、本技術を適用したストリームの構成例を示す図である。
 図7においては、左から順に、1番目のAUと2番目のAUが示されている。
 1番目のAUは、AUD(Access Unit Delimiter)、SPS/PPS、SEI、SliceHdr(Header)-1、およびVCL-1から構成される。2番目のAUは、AUD、SEI、SliceHdr-2、およびVCL-2から構成される。
 本技術においては、図7の破線矢印に示されるように、2番目のAUのSliceHdr-2が、1番目のAUのSEIに付加される。すなわち、N(N>1)番目のAUのSliceHdr-2が、N-1番目のAUのSEIに付加される。
 なお、低遅延システムにおいては、変化のあるシンタックスパラメータは殆ど限定される。したがって、符号化装置は、SliceHdr-2のパラメータうち、ピクチャ毎に変化のあるパラメータだけを抽出し、抽出した最小限のパラメータを、SEIに付加するようにしてもよい。また、図13乃至図15に後述するパラメータなどであってもよい。
 図8は、本技術を適用したストリームの他の構成例を示す図である。
 図8においては、左から順に、GOPの1番目(先頭)のAUと2番目のAUが示されている。
 1番目のAUは、AU、SPS/PPS、SEI、SliceHdr-1、およびVCL-1から構成される。2番目のAUは、AUD、SliceHdr-2、およびVCL-2から構成される。
 図8の場合のストリームでは、1GOP分の各ピクチャの前処理に必要となる情報が、GOP先頭のSEIにまとめて付加される。
 前処理に必要となる情報としては、図13乃至図15に後述するパラメータなどが考えられるが、上述したピクチャ毎に変化のあるパラメータだけであってもよいし、ピクチャの先頭スライスのスライスヘッダすべてであってもよい。また、それらのスライスヘッダの中から、前処理に必要な情報を絞りこんでもいい。なお、これは、図7の場合も同様である。
 限定された運用の場合、符号化装置は、パラメータを事前に作ることが可能である。すなわち、符号化装置は、必要なパラメータの生成パターン(生成ルール)を事前に用意しておくことができる。
 したがって、符号化側で、前処理に必要な情報そのものが先行して送られるのではなく、事前に用意した生成パターンが、1番目、すなわち、GOPの先頭のAUのSEIに付加されて送られるようにしてもよい。
 なお、この場合、AUのSliceHdrは、答え合わせに後追いで用いられるだけであり、実際の前処理には用いられない。
 以上のようにすることで、ビットストリームを入力してから、VCL復号にとりかかるまでの待ち時間が短くなる。これにより、復号装置は、各処理を効率的に行うことができる。
<<2.符号化装置>>
 <符号化装置の構成例>
 図9は、本技術を適用した符号化装置の構成例を示すブロック図である。図9に示す構成のうち、図1を参照して説明した構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
 図9の符号化装置101は、画像取り込み部21、ピクチャタイプ決定部22、GOP構造生成部23、符号化順並び替え部24、上位ヘッダ生成部25、上位ヘッダ符号化部26、VCL符号化部27、および演算器28から構成される。さらに、符号化装置101は、上位ヘッダ保持メモリ111、上位ヘッダSEI化部112、SEI符号化部113、および演算器114から構成される。
 符号化装置101は、上位ヘッダ保持メモリ111、上位ヘッダSEI化部112、SEI符号化部113、および演算器114が追加された点が図1の符号化装置1と異なる。
 図9の符号化装置101は、生成するストリームのGOP構造を事前に知った上で、もしくは、予め決めて、それに従って符号化処理を行う。そのため、符号化装置101は、各AUを符号化する際、ピクチャの参照関係やヘッダ情報を事前に生成しておくことが可能である。
 上位ヘッダ生成部25は、ピクチャの参照関係やヘッダ情報を事前に生成する。上位ヘッダ生成部25は、生成した上位ヘッダを、上位ヘッダ保持メモリ111に保持させる。
 上位ヘッダ保持メモリ111は、上位ヘッダを保持する。
 上位ヘッダ符号化部26は、上位ヘッダ保持メモリ111に保持されている上位ヘッダを用いて、現在符号化するピクチャの上位ヘッダを符号化する。上位ヘッダ符号化部26は、符号化された上位ヘッダを、演算器28に出力する。
 上位ヘッダSEI化部112は、上位ヘッダ保持メモリ111に保持されている上位ヘッダから、次のピクチャの上位ヘッダを、SEIの、例えば、UserdataとしてSEI化する。上位ヘッダSEI化部112は、SEI化された上位ヘッダであるSEIを、SEI符号化部113に出力する。
 SEI符号化部113は、SEIを符号化する。SEI符号化部113は、符号化したSEIである符号化SEIを、演算器114に出力する。
 演算器28は、上位ヘッダ符号化部26から供給される上位ヘッダと、VCL符号化部27から供給されるVCLを加算する。演算器28は、上位ヘッダとVCLからなるビットストリームを生成し、演算器114に出力する。
 演算器114は、上位ヘッダとVCLからなるビットストリームに、符号化SEIを加算する。演算器114は、上位ヘッダ、符号化SEI、およびVCLからなるビットストリームを、例えば、後段の復号装置に出力する。
 符号化装置101が、符号化処理の先頭で、GOP構造を決める符号化装置である場合、符号化装置101は、1GOP分のヘッダ情報をGOPの先頭で生成し、生成した1GOP分のヘッダ情報を、シーケンスもしくはGOPの先頭に、Userdataとして付加してもよい。この場合、復号側において、1GOP分のヘッダ情報が、GOP先頭の復号タイミングで再構成されることになる。
 <VCL符号化部の構成>
 図10は、VCL符号化部27の構成例を示すブロック図である。
 図10において、VCL符号化部27は、演算器151、DCT変換/量子化部152、エントロピー符号化部153、逆量子化/逆DCT変換部154、演算器155、デブロッキングフィルタ156、および、アダプティブループフィルタ157から構成される。さらに、VCL符号化部27は、フレームメモリ158、動き検出部159、動き補償部160、空間予測部161、およびセレクタ162から構成される。
 前段から入力された入力画像は、演算器151、空間予測部161、および動き検出部159に供給される。
 演算器151は、入力画像と、セレクタ162から供給される予測画像との差分を演算し、演算後の差分画像を、DCT変換/量子化部152に出力する。
 DCT変換/量子化部152は、演算器151から供給された差分画像に対して、DCT変換を行う。DCT変換/量子化部152は、DCT変換後の画像に対して、量子化を行い、量子化後の画像を、エントロピー符号化部153および逆量子化/逆DCT変換部154に出力する。
 エントロピー符号化部153は、DCT変換/量子化部152から供給される量子化後の画像を、エントロピー符号化し、符号化結果の画像であるVCLを、後段の演算器28に出力する。
 逆量子化/逆DCT変換部154は、DCT変換/量子化部152から供給される量子化後の画像に対して、逆量子化を行い、DCT変換後の画像を得る。逆量子化/逆DCT変換部154は、DCT変換後の画像に対して、逆DCT変換を行い、差分画像を得る。差分画像は、演算器155に供給される。
 演算器155は、逆量子化/逆DCT変換部154から供給される差分画像と、セレクタ162から供給される予測画像とを加算し、復号画像を生成する。演算器155は、生成した復号画像をデブロッキングフィルタ156に出力する。
 デブロッキングフィルタ156は、演算器155から供給される復号画像に対して、デブロッキングフィルタ処理を施し、デブロッキングフィルタ処理後の復号画像を、アダプティブループフィルタ157に出力する。
 アダプティブループフィルタ(ALF)157は、デブロッキングフィルタ処理後の復号画像に対して、ALF処理を施し、ALF処理後の画像を、フレームメモリ158に供給する。
 動き検出部159および動き補償部160は、入力画像に対して、インター予測を行う。
 動き検出部159は、入力画像と、フレームメモリ158の参照画像とを用いて、動きベクトルを検出する。動き検出部159は、検出した動きベクトルを、動き補償部160に出力する。
 動き補償部160は、動き検出部159から供給される動きベクトルを用いて、動き補償を行い、インター予測画像を生成する。インター予測画像は、セレクタ162に出力される。
 空間予測部161は、入力画像に対して、イントラ予測を行い、イントラ予測画像を生成する。イントラ予測画像は、セレクタ162に出力される。
 セレクタ162は、インター予測画像とイントラ予測画像のうち、所定のコスト関数が最適な値を示す予測画像を選択する。セレクタ162は、選択した予測画像を、演算器151および演算器155に出力する。
 <符号化装置の動作>
 図11は、図9の符号化装置101の符号化処理を説明するフローチャートである。
 ステップS101において、画像取り込み部21は、前段から入力される画像を取り込み、取り込んだ画像を、ピクチャタイプ決定部22に出力する。
 ステップS102において、GOP構造生成部23は、GOP構造を決定する。GOP構造生成部23は、決定したGOP構造を示すGOP情報を、ピクチャタイプ決定部22と符号化順並べ替え部24に出力する。
 ステップS103において、ピクチャタイプ決定部22は、GOP構造生成部23から供給されるGOP情報に基づいて、画像取り込み部21から供給される画像のピクチャタイプを決定する。
 ステップS104において、符号化順並び替え部24は、表示順の画像を、符号化順に並び替える。符号化並び替え部24は、並び替えた画像を上位ヘッダ生成部25に出力する。
 ステップS105において、上位ヘッダ生成部25は、符号化並び替え部24から供給される画像を参照して、上位ヘッダを生成する。
 ステップS106において、上位ヘッダ保持メモリ111は、上位ヘッダ生成部25により生成された上位ヘッダを保持する。
 ステップS107において、上位ヘッダ符号化部26は、上位ヘッダ保持メモリ111に保持されている上位ヘッダを用いて、符号化対象となるAU(以下、現在のAUと称する)の上位ヘッダを符号化する。上位ヘッダ符号化部26は、符号化された上位ヘッダを、演算器28に出力する。
 ステップS108において、上位ヘッダSEI化部112は、上位ヘッダ保持メモリ111に保持されている上位ヘッダから、現在のAUより処理順で次のAUの上位ヘッダを、SEIのUserdataとしてSEI化する。上位ヘッダSEI化部112は、SEI化された上位ヘッダであるSEIを、SEI符号化部113に出力する。
 ステップS109において、SEI符号化部113は、SEIを符号化する。SEI符号化部113は、符号化したSEIである符号化SEIを、演算器114に出力する。
 ステップS110において、VCL符号化部27は、符号化順並び替え部24から供給される画像をVCL符号化し、VCLを生成する。このVCL符号化処理の詳細は、図12を参照して後述される。VCL符号化部27は、生成したVCLを演算器28に出力する。
 ステップS111において、演算器28と演算器114は、ビットストリームを生成する。すなわち、演算器28は、上位ヘッダ符号化部26から供給される上位ヘッダと、VCL符号化部27から供給されるVCLを加算する。演算器28は、上位ヘッダとVCLからなるビットストリームを生成し、演算器114に出力する。演算器114は、上位ヘッダとVCLからなるビットストリームに、符号化SEIを加算する。演算器114は、上位ヘッダ、符号化SEI、およびVCLからなるビットストリームを、例えば、後段の復号装置に出力する。
 図12は、図11のステップS110のVCL符号化処理を説明するフローチャートである。
 前段の符号化順並び替え部24から入力された入力画像は、演算器151、空間予測部161、および動き検出部159に供給される。
 ステップS151において、演算器151は、入力画像と、セレクタ162から供給される予測画像との差分画像を求める。演算器151は、求めた差分画像を、DCT変換/量子化部152に出力する。
 ステップS152において、DCT変換/量子化部152は、演算器151から供給された差分画像に対して、DCT変換を行う。DCT変換/量子化部152は、DCT変換後の画像に対して、量子化を行い、量子化後の画像を、エントロピー符号化部153および逆量子化/逆DCT変換部154に出力する。
 ステップS153において、エントロピー符号化部153は、DCT変換/量子化部152から供給される量子化後の画像を、エントロピー符号化し、符号化結果の画像であるVCLを、後段の演算器28に出力する。
 ステップS154において、逆量子化/逆DCT変換部154は、DCT変換/量子化部152から供給される量子化後の画像に対して、逆量子化を行い、DCT変換後の画像を得る。逆量子化/逆DCT変換部154は、DCT変換後の画像に対して、逆DCT変換を行い、差分画像を得る。差分画像は、演算器155に供給される。
 ステップS155において、演算器155は、逆量子化/逆DCT変換部154から供給される差分画像と、セレクタ162から供給される予測画像とを加算する。演算器155は、加算結果である画像をデブロッキングフィルタ156に出力する。
 ステップS156において、デブロッキングフィルタ156は、演算器155から供給される画像に対して、デブロッキングフィルタ処理を施し、デブロッキングフィルタ処理後の画像を、アダプティブループフィルタ157に出力する。
 ステップS157において、アダプティブループフィルタ157は、デブロッキングフィルタ処理後の画像に対して、ALF処理を施し、ALF処理後の画像を、フレームメモリ158に供給する。
 ステップS158において、フレームメモリ158は、ALF処理後の画像を蓄積する。
 ステップS159において、動き検出部159および動き補償部160は、入力画像に対して、インター予測を行い、インター予測画像を生成する。インター予測画像は、セレクタ162に出力される。
 ステップS160において、空間予測部161は、入力画像に対して、イントラ予測を行い、イントラ予測画像を生成する。イントラ予測画像は、セレクタ162に出力される。
 ステップS161において、セレクタ162は、インター予測画像とイントラ予測画像のうち、所定のコスト関数が最適な値を示す予測画像を選択する。セレクタ162は、選択した予測画像を、演算器151および演算器155に出力する。
 <SEI化が必要な情報>
 図13は、画像の圧縮方式がAVCの場合に、AUの上位ヘッダにおいて、処理順で次のAUのヘッダ情報のうち、SEI化が必要な情報の例を示す図である。
 AUの上位ヘッダにおいてSEI化が必要な情報は、必ずしも処理順で次のAUのヘッダ情報のすべてとは限らず、ヘッダ情報の一部である場合もある。なお、AUの上位ヘッダにおいてSEI化が必要な情報は、復号側が事前にほしい情報であり、また、符号化側が前倒しで生成可能な情報である。
 AVCの場合、AUの上位ヘッダにおいてSEI化が必要な情報は、図13に示されるように、少なくとも、nal_unit_type、pic_parameter_set_id、frame_num、field_pic_flag、bottom_field_flag、およびPOCの生成に必要な情報である。
 nal_unit_typeは、IDR(Instantaneous Decoder Refresh)か否かを示す情報である。POCの生成に必要な情報は、例えば、pic_order_cnt_lsb、delta_pic_order_cnt_bottom、delta_pic_order_cnt[2]である。
 これらのGOP構造、frame/field、POC生成パターンに関するデータは、事前に定義ができるため、符号化装置101が前倒しで生成することが可能である。
 図14は、画像の圧縮方式がHEVCの場合に、AUの上位ヘッダにおいて、処理順で次のAUのヘッダ情報のうち、SEI化が必要な情報の例を示す図である。
 HEVCの場合、AUの上位ヘッダにおいてSEI化が必要な情報は、図14に示されるように、少なくとも、nal_unit_type、slice_pic_order_cnt_lsb、short_term_ref_pic_set_sps_flag、short_term_ref_pic_set_idx、num_long_term_sps、num_long_term_picsである。
 short_term_ref_pic_set_sps_flagについては、st_ref_pic_set(num_short_term_ref_pic_sets)も必要な情報である。また、SPSのRPS(レイヤ間参照ピクチャセット)を上書きする場合、st_ref_pic_set(num_short_term_ref_pic_sets)の中で抽出するパラメータも必要な情報である。
 num_long_term_picsについては、LongTermが有効、かつ、Pictureで追加する場合、lt_idx_sps[i]、poc_lsb_lt[i]、usd_by_curr_pic_lt_flag[i]、deita_poc_msb_present_flag[i]、およびdelta_poc_msb_cycle_lt[i]が、必要な情報である。
 HEVCの場合、通常、GOP構造を決めてSPSに必要なRPSセットが入れられるため、AUの上位ヘッダにおいてSEI化が必要な情報は、ほぼPOC生成に必要な情報だけでよいため、符号化装置101が前倒しで生成することが可能である。
 図15は、画像の圧縮方式がAVCの場合、ヘッダ情報のシンタックスパラメータ(Syntax Parameter)のうち、RefPicListの生成に必須であるパラメータの例を示す図である。
 図15においては、左から順に、シンタックスパラメータ、RefPicListの生成に必須か否かを示すレベル、必須である理由が記載されている。
 nal_unit_typeは、RefPicListの生成に必須なパラメータである。必須である理由は、IDRか否かを知る必要があるためである。
 pic_parameter_set_idは、RefPicListの処理生成に必須なパラメータである。必須である理由は、PPSおよびSPSを特定するためである。bottom_field_pic_order_in_frame_present_flagは、PPSに含まれるパラメータであり、SliceHeaderのdelta_pic_order_cnt_bottomの有無の判断に必要となる。
 frame_numは、RefPicListの生成に必須なパラメータである。必須である理由は、frame_numがRefPicListの生成に必要だからである。
 field_pic_flagとbottom_field_flagは、RefPicList生成に必須なパラメータである。必須である理由は、Field Coding時のRefPicListの生成に必要だからである。なお、field_pic_flagとbottom_field_flagは、シンタックスに存在する限り、RefPicListの生成に必要なパラメータであるが、シンタックスに存在しなければ、RefPicListの生成に不要なパラメータである。
 pic_order_cnt_lsbは、RefPicListの生成に必須なパラメータである。必須である理由は、PocType=0のとき、POCがRefPicListの生成に必要だからである。
 delta_pic_order_cnt_bottomは、RefPicListの生成に必須なパラメータである。必須である理由は、PocType=0のとき、POCがRefPicListの生成に必要だからである。
 delta_pic_order_cnt[0]およびdelta_pic_order_cnt[1]は、RefPicListの生成に必須なパラメータである。必須である理由は、PocType=1のとき、POCがRefPicListの生成に必要だからである。
 なお、上記パラメータは、RefPicListの生成には必要なパラメータであるが、運用条件によっては、不要となる場合もある。
 例えば、PPSが固定の運用の場合、pps_idは不要となる。Progressive限定(frame_mbs_only_flag=1)の運用の場合、field_pic_flagとbottom_field_flagは不要となる。PocType=0である運用の場合、delta_pic_order_cnt[0]およびdelta_pic_order_cnt[1]は不要となる。PocType=1である運用の場合、pic_order_cnt_lsb、delta_pic_order_cnt_bottomは不要となる。PocType=2である運用の場合、delta_pic_order_cnt[0]、delta_pic_order_cnt[1]、pic_order_cnt_lsb、delta_pic_order_cnt_bottomは不要となる。
<<3.復号装置>>
 <復号装置の構成例>
 図16は、本技術を適用した復号装置の構成例を示すブロック図である。図16に示す構成のうち、図2を参照して説明した構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
 図16の復号装置201は、ビットストリーム入力部41、ヘッダ復号部42、次AU参照関係復号部211、参照画像情報保持部212、VCL復号部44、および画像出力部45から構成される。
 復号装置201は、次AU参照関係復号部211が、参照関係復号部43と入れ替わった点と、参照画像情報保持部212が追加された点が、図2の復号装置31と異なる。
 ヘッダ復号部42は、ヘッダのパースとして、ピクチャのヘッダ情報を復号し、解釈する。さらに、図16のヘッダ復号部42は、SEI化された次のAUのヘッダ情報を復号し、抽出する。ヘッダ復号部42は、解釈したヘッダ情報と、抽出された次のAUのヘッダ情報を、次AU参照関係復号部211に出力する。
 次AU参照関係復号部211は、DPB更新部51から供給される、復号対象となっているAU(以下、現在のAUと称する)の後処理で更新されたDPB更新情報を参照して、次のAUの復号過程で必要となるパラメータの算出を行う。次AU参照関係復号部211は、次のAUの復号過程で必要となるパラメータの算出の結果、次のAUのRefPicList(参照画像情報)を生成する。次AU参照関係復号部211は、次のAUのRefPicListを、参照画像情報保持部212に出力する。
 参照画像情報保持部212には、前のAUの前処理において生成された現在のAUのRefPicListが保持されている。参照画像情報保持部212は、次AU参照関係復号部211から供給される次のAUのRefPicListを保持する。
 VCL復号部44は、現在の1つ前のAUの復号時に処理され、参照画像情報保持部212に保持されている現在のAUのRefPicListを参照して、現在のAUの前処理を待つことなく、画像を復号し、復号画像を生成(再構成)する。VCL復号部44は、生成した復号画像を、画像出力部45に出力する。
 DPB更新部51は、後処理として、DPBを更新し、DPB更新情報を、次AU参照関係復号部211に出力する。
 <VCL復号部の構成例>
 図17は、VCL復号部44の構成例を示すブロック図である。
 VCL復号部44は、エントロピー復号部251、逆量子化/逆DCT変換部252、演算器253、デブロッキングフィルタ254、アダプティブループフィルタ255、およびフレームメモリ256から構成される。また、VCL復号部44は、空間予測部257、動き補償部258、セレクタ259、およびDPB更新部51から構成される。
 エントロピー復号部251は、ビットストリーム入力部41から供給されるビットストリームを復号し、復号結果の差分画像を、逆量子化/逆DCT変換部252に出力する。復号結果の画像は、符号化装置101において、予測画像との差分画像が量子化されて、DCT変換されたものである。
 逆量子化/逆DCT変換部252は、エントロピー復号部251から供給される復号結果の差分画像に対して、逆量子化を行う。逆量子化/逆DCT変換部252は、逆量子化の結果に対して、逆DCT変換を行い、逆DCT変換後の差分画像を得る。逆量子化/逆DCT変換部252は、差分画像を演算器253に出力する。
 演算器253は、差分画像に、セレクタ259から供給される予測画像を加算して、復号画像を生成し、生成した復号画像を、デブロッキングフィルタ254と空間予測部257に出力する。
 デブロッキングフィルタ254は、演算器253から供給される復号画像に対して、デブロッキングフィルタ処理を行い、デブロッキングフィルタ処理後の復号画像を、アダプティブループフィルタ255に出力する。
 アダプティブループフィルタ255は、デブロッキングフィルタ処理後の復号画像に対して、ALF処理を行う。アダプティブループフィルタ255は、ALF処理後の復号画像を、画像出力部45およびフレームメモリ256に出力する。
 フレームメモリ256は、アダプティブループフィルタ255から供給される復号画像を蓄積する。
 ビットストリームに含まれる画像がイントラ予測画像の場合、ビットストリームには、イントラ予測を示す情報が含まれる。イントラ予測を示す情報は、エントロピー復号部251から空間予測部257に供給される。
 空間予測部257は、ビットストリームに含まれる画像がイントラ予測画像であった場合、演算器253から供給される復号画像を用いて、イントラ予測を行い、予測画像を生成する。空間予測部257は、生成したイントラ予測画像をセレクタ259に出力する。
 ビットストリームに含まれる画像がインター予測画像の場合、ビットストリームには、インター予測を示す情報と、符号化装置101においてインター予測画像の生成に用いられた動きベクトルを示す動き情報が含まれる。インター予測を示す情報と動き情報は、エントロピー復号部251から動き補償部258に供給される。
 動き補償部258は、ビットストリームに含まれる画像がインター予測画像であった場合、エントロピー復号部251から供給される動き情報を用いて、動き補償を行い、インター予測画像を生成する。このとき、動き補償には、参照画像情報保持部212に保持されている現在のAUのRefPicListが参照されて、フレームメモリ256に記憶された復号画像が用いられる。動き補償部258は、生成したインター予測画像をセレクタ259に出力する。
 セレクタ259は、空間予測部257により生成されるイントラ予測画像、動き補償部258により生成されるインター予測画像のうち、供給された方の予測画像を、演算器253に出力する。
 DPB更新部51は、フレームメモリ256を参照して、現在のAUの後処理として、RefPicmarking処理およびDPBの更新処理を行い、DPBの更新情報を、次AU参照関係復号部211に出力する。
 <復号装置の動作>
 図18は、図16の復号装置の復号処理を説明するフローチャートである。
 ステップS201において、ヘッダ復号部42は、ヘッダのパースとして、ピクチャのヘッダ情報を復号し、解釈する。また、ヘッダ復号部42は、SEI化された次のAUのヘッダ情報を復号し、抽出する。ヘッダ復号部42は、解釈したヘッダ情報と、抽出された次のAUのヘッダ情報を、次AU参照関係復号部211に出力する。
 ステップS202において、次AU参照関係復号部211は、DPB更新部51から供給される現在のAUの後処理で更新されたDPB更新情報を参照して、次のAUの復号過程で必要となるパラメータの算出を行い、次のAUのRefPicListを生成する。
 ステップS203において、参照画像情報保持部212は、次AU参照関係復号部211から供給される次のAUのRefPicListを保持する。
 ステップS204において、VCL復号部44は、参照画像情報保持部212に保持されている現在のAUのRefPicListを参照して、VCL復号処理を行う。このVCL復号処理の詳細は、次の図19を参照して説明される。このとき、現在のAUの前処理は、1つ前のAUの復号処理において終了している。VCL復号部44は、画像を復号し、復号画像を生成(再構成)する。VCL復号部44は、生成した復号画像を、画像出力部45に出力する。
 なお、上述したステップS202とS204は、図20を参照して後述するように、並列に行われる処理である。
 図19は、図18のステップS204のVCL復号処理を説明するフローチャートである。
 ステップS251において、エントロピー復号部251は、ビットストリーム入力部41から供給されるビットストリームをエントロピー復号し、復号結果の差分画像を、逆量子化/逆DCT変換部252に出力する。
 ステップS252において、逆量子化/逆DCT変換部252は、エントロピー復号部251から供給される復号結果の差分画像に対して、逆量子化を行う。逆量子化/逆DCT変換部252は、逆量子化の結果に対して、逆DCT変換を行い、逆DCT変換後の差分画像を得る。逆量子化/逆DCT変換部252は、差分画像を演算器253に出力する。
 ステップS253において、空間予測部257および動き補償部258は、ビットストリームに含まれる現在のAUの画像がインター予測画像であるか否かを判定する。インター予測画像であると、ステップS253において判定された場合、処理は、ステップS254に進む。
 ステップS254において、動き補償部258は、ビットストリームに含まれる動き情報を用いて、動き補償を行い、インター予測画像を生成する。このとき、動き補償には、参照画像情報保持部212に保持されている現在のAUのRefPicListが参照されて、フレームメモリ256に記憶された復号画像が用いられる。動き補償部258は、生成したインター予測画像をセレクタ259に出力する。
 ステップS253において、イントラ予測画像であると判定された場合、処理は、ステップS255に進む。
 ステップS255において、空間予測部257は、演算器253から供給される復号画像を用いて、イントラ予測を行い、予測画像を生成する。空間予測部257は、生成したイントラ予測画像をセレクタ259に出力する。
 セレクタ259は、ステップS254またはS255において供給された方の予測画像を演算器253に出力し、ステップS256に進む。
 ステップS256において、演算器253は、逆量子化/逆DCT変換部252から供給された差分画像に、セレクタ259から供給された予測画像を加算して、復号画像を生成する。演算器253は、生成した復号画像を、デブロッキングフィルタ254と空間予測部257に出力する。
 ステップS257において、デブロッキングフィルタ254は、演算器253から供給される復号画像に対して、デブロッキングフィルタ処理を行う。デブロッキングフィルタ254は、デブロッキングフィルタ処理後の復号画像を、アダプティブループフィルタ255に出力する。
 ステップS258において、アダプティブループフィルタ255は、デブロッキングフィルタ処理後の復号画像に対して、ALF処理を行う。アダプティブループフィルタ255は、ALF処理後の復号画像を、フレームメモリ256および画像出力部45に出力する。
 ステップS259において、アダプティブループフィルタ255は、ALF処理後の復号画像を、画像出力部45およびフレームメモリ256に出力する。
 ステップS260において、フレームメモリ256は、アダプティブループフィルタ255から供給される復号画像を蓄積する。ステップS260の後、VCL復号処理は終了となる。
 <本技術の復号装置における各処理のシーケンス>>
 図20は、本技術の復号装置における各処理のシーケンスを示す図である。
 図20においては、左側から、ビットストリーム入力部41が行うストリーム入力、ヘッダ復号部42が行うSliceヘッダ処理、次AU参照関係復号部211が行うRefPicList生成、VCL復号部44が行うVCL復号、DPB更新部51が行うDPB更新、および画像出力部45が行う画像出力の各シーケンスが示されている。
 また、各シーケンスにおいて、白の矩形は、現在のAU-1に関する処理であることを示す。チェックのハッチがなされている矩形は、現在のAU-1の次のAUであるAU-2に関する処理であることを示す。黒の矩形は、AU-2の次のAUであるAU-3に関する処理であることを示す。
 まず、ビットストリーム入力部41が、AU-1のSliceHeaderとAU-2のSEIとを入力後、AU-1のSliceDataがまだ入力されていない状態で、矢印A1に示されるように、ヘッダ復号部42は、AU-1のSliceヘッダ処理を開始する。
 AU-1のSliceヘッダ処理の後半において、矢印A2に示されるように、VCL復号部44は、AU-1のVCL復号を開始する。
 また、ヘッダ復号部42によるSliceヘッダ処理後、矢印A3に示されるように、DPB更新部51によるAU-1のDPB更新が開始される。
 AU-1のDPB更新の後半において、矢印A4に示されるように、DPB更新部51により生成されたAU-2のためのDPB更新情報が、次AU参照関係復号部211に供給される。
 ヘッダ復号部42による、AU-1のSliceヘッダ処理終了後に開始されたAU-2のSEIの復号の終了後、矢印A5に示されるように、次AU参照関係復号部211は、RefPicListの生成を開始する。
 また、VCL復号部44によるAU-1のVCL復号の終了後、矢印A6に示されるように、画像出力部45によるAU-1の復号画像の出力が開始される。
 一方、ビットストリーム入力部41は、AU-1のSliceDataの入力を終了後、AU-2のSliceHeaderとAU-3のSEIの入力を開始する。ビットストリーム入力部41は、AU-2のSliceHeaderとAU-3のSEIとを入力後、AU-2のSliceDataがまだ入力されていない状態で、矢印A7に示されるように、ヘッダ復号部42は、AU-2のSliceヘッダ処理を開始する。
 AU-2のSliceヘッダ処理の後半において、矢印A8に示されるように、VCL復号部44は、AU-2のVCL復号を開始する。
 また、ヘッダ復号部42によるSliceヘッダ処理後、矢印A9に示されるように、DPB更新部51によるAU-2のDPB更新が開始される。
 AU-2のDPB更新の後半において、矢印A10に示されるように、DPB更新部51により生成されたAU-3のためのDPB更新情報が、次AU参照関係復号部211に供給される。
 ヘッダ復号部42による、AU-2のSliceヘッダ処理終了後に開始されたAU-3のSEIの復号の終了後、矢印A11に示されるように、次AU参照関係復号部211は、RefPicListの生成を開始する。
 また、VCL復号部44によるAU-2のVCL復号の終了後、矢印A12に示されるように、画像出力部45によるAU-2の復号画像の出力が開始される。
 以上のように、復号装置201は、上述した各処理を、1つのAUに対するシーケンスの完了を待つことなしに、並列に行うことができる。特に、RefPicListの生成が、前のAUの処理の際に終了しているので、復号装置201は、RefPicListの生成を待つことなしに、VCL復号を行うことができる。これにより、入力から出力までの復号処理を効率よく行うことができる。
 <従来の復号装置における各処理のシーケンス>
 図21は、図20と比較するための従来の一般的な復号装置における各処理のシーケンスを示す図である。
 図21においては、左側から、ビットストリーム入力部41が行うストリーム入力、ヘッダ復号部42が行うSliceヘッダ処理、参照関係復号部43が行うRefPicList生成、VCL復号部44が行うVCL復号、DPB更新部51が行うDPB更新、および画像出力部45が行う画像出力の各シーケンスが示されている。
 また、各シーケンスにおいて、白の矩形は、現在のAU-1に関する処理であることを示す。チェックのハッチがなされている矩形は、現在のAU-1の次のAUであるAU-2に関する処理であることを示す。黒の矩形は、AU-2の次のAUであるAU-3に関する処理であることを示す。
 まず、ビットストリーム入力部41が、AU-1のSliceHeaderを入力後、AU-1のSliceDataがまだ入力されていない状態で、矢印B1に示されるように、ヘッダ復号部42は、AU-1のSliceヘッダ処理を開始する。
 また、ヘッダ復号部42によるSliceヘッダ処理後、矢印B2に示されるように、参照関係復号部43は、AU-1のRefPicListの生成を開始する。
 AU-1のRefPicListの生成の後半において、矢印B3に示されるように、VCL復号部44は、AU-1のVCL復号を開始する。
 参照関係復号部43によるAU-1のRefPicListの生成後、矢印B4に示されるように、DPB更新部51によるAU-1のDPB更新が開始される。
 AU-1のDPB更新の終了後、矢印B5に示されるように、DPB更新部51により生成されたAU-2のためのDPB更新情報が、参照関係復号部43に供給される。
 また、VCL復号部44によるAU-1のVCL復号の終了後、矢印B6に示されるように、画像出力部45によるAU-1の復号画像の出力が開始される。
 一方、ビットストリーム入力部41は、AU-1のSliceDataの入力を終了後、AU-2のSliceHeaderの入力を開始する。ビットストリーム入力部41は、AU-2のSliceHeaderを入力後、AU-2のSliceDataがまだ入力されていない状態で、矢印B7に示されるように、ヘッダ復号部42は、AU-2のSliceヘッダ処理を開始する。
 ヘッダ復号部42によるSliceヘッダ処理後、矢印B8に示されるように、参照関係復号部43は、AU-2のRefPicListの生成を開始する。
 AU-2のRefPicListの生成の後半において、矢印B9に示されるように、VCL復号部44は、AU-2のVCL復号を開始する。
 参照関係復号部43によるAU-2のRefPicListの生成後、矢印B10に示されるように、DPB更新部51によるAU-2のDPB更新が開始される。
 AU-2のDPB更新の終了後、矢印B11に示されるように、DPB更新部51により生成されたAU-3のためのDPB更新情報が、参照関係復号部43に供給される。
 また、VCL復号部44によるAU-2のVCL復号の終了後、矢印B12に示されるように、画像出力部45によるAU-2の復号画像の出力が開始される。
 以上のように、復号装置31は、1つのAUに対する1つの処理が完了しないと、次の処理を開始することができない。したがって、復号装置31の各処理間において遅延が生じてしまうことがあった。
 これに対して、本技術においては、AUのSEIに、AUの処理順に次のAUのヘッダ情報またはヘッダ情報に関する情報を付加して、符号化ストリームが生成される。これにより、復号装置201は、1つのAUに対するシーケンスの完了を待つことなしに、復号に関する各処理を並列に行うことができる。これにより、入力から出力までの復号処理を効率よく行うことができる。
 <本技術の復号装置における各処理のタイミング>
 図22は、本技術の復号装置における各処理のタイミングを示す図である。
 時刻t1において、frame-1ストリームの入力が開始される。時刻t2において、frame-1のVCL復号-1が開始されるので、その後の時刻t3でframe-1の出力がすぐに開始される。
 frame-1のVCL復号-1が行われている間の時刻t4において、frame-1の後処理-1が開始される。後処理-1が終了した後の時刻t5において、frame-2の前処理-2が開始され、frame-1ストリームの入力が終了する前の時刻t6に、前処理-2が終了する。
 時刻t7において、frame-1ストリームの入力が終了し、frame-1のVCL復号-1が終了する。
 frame-1ストリームの入力の後、時刻t8において、frame-2ストリームの入力が開始される。前処理-2は、時刻t6において終了しているので、frame-2ストリームの入力直後の時刻t9において、frame-2のVCL復号-2が開始される。また、その後の時刻t10でFrame-2の出力がすぐに開始される。
 frame-2のVCL復号-2が行われている間の時刻t11において、frame-2の後処理-2が開始される。後処理-2が終了した後の時刻t12において、frame-3の前処理-3が開始される。その後、frame-2ストリームの入力が終了する前の時刻t13に、前処理-3が終了する。
 時刻t14において、frame-2ストリームの入力が終了し、時刻t15において、frame-2のVCL復号-2が終了する。そして、時刻t16において、frame-2ストリームの出力が終了となる。
 以上のように、復号装置201の場合、図3を参照して上述した例のように、現在のフレームの前処理、すなわち、現在のフレームのRefPicListの生成を、現在のフレームの復号時に行う必要がない。したがって、時刻t2において、frame-1のVCL復号-1が開始されるので、その後の時刻t3でframe-1がすぐに出力される。
 これにより、ストリームが入力されてから、復号画像が生成されるまでの遅延を短縮することができる。
 <<3.その他>>
 < 効 果 >
 本技術においては、各AUのSEIに、処理順で次のAUのヘッダ情報を付加して、符号化ストリームが生成される。
 本技術によれば、VCL復号(復号画像生成)を、従来より早いタイミングで開始できる。すなわち、ストリームが入力されてから、復号画像が生成されるまでの遅延を短縮することができる。
 また、本技術によれば、VCL復号部の性能を低く(動作周波数低減や回路規模の縮小)することができる。
 したがって、従来のリアルタイムデコーダのように、前処理にかかるオーバーヘッドの分と復号処理を合わせてリアルタイム性能を満たすように設計する必要をなくすことができる。
 なお、本技術により生成されるストリームは既存のCodec規格に準拠した範囲で実現されるものである。よって、本技術に適用した復号装置は効果を得ることができるが、本技術に適用していない復号装置には、何ら影響を及ぼさない。
 <コンピュータの構成例>
 上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
 図23は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
 CPU(Central Processing Unit)301、ROM(Read Only Memory)302、RAM(Random Access Memory)303は、バス304により相互に接続されている。
 バス304には、さらに、入出力インタフェース305が接続されている。入出力インタフェース305には、キーボード、マウスなどよりなる入力部306、ディスプレイ、スピーカなどよりなる出力部307が接続される。また、入出力インタフェース305には、ハードディスクや不揮発性のメモリなどよりなる記憶部308、ネットワークインタフェースなどよりなる通信部309、リムーバブルメディア311を駆動するドライブ310が接続される。
 以上のように構成されるコンピュータでは、CPU301が、例えば、記憶部308に記憶されているプログラムを入出力インタフェース305及びバス304を介してRAM303にロードして実行することにより、上述した一連の処理が行われる。
 CPU301が実行するプログラムは、例えばリムーバブルメディア311に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供され、記憶部308にインストールされる。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 また、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。
 本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
<構成の組み合わせ例>
 本技術は、以下のような構成をとることもできる。
(1)
 第1のAU(Access Unit)のSEI(Supplemental Enhancement Information)に、前記第1のAUの次に処理される第2のAUのヘッダ情報の少なくとも一部、または前記ヘッダ情報の少なくとも一部に関する情報を付加して、符号化ストリームを生成する符号化ストリーム生成部を備える
 画像処理装置。
(2)
 前記第1のAUは、GOP(Group Of Pictures)の先頭のAUであり、
 前記符号化ストリーム生成部は、前記第1のAUの前記SEIに、前記GOP内の前記第2のAU以降のAUの前記ヘッダ情報の少なくとも一部を付加する
 前記(1)に記載の画像処理装置。
(3)
 前記第1のAUは、GOPの先頭のAUであり、
 前記符号化ストリーム生成部は、前記第1のAUの前記SEIに、前記GOP内のAUの前記ヘッダ情報の少なくとも一部を生成するための生成パターンを付加する
 前記(1)に記載の画像処理装置。
(4)
 前記符号化ストリーム生成部は、前記第2のAUの前記ヘッダ情報の少なくとも一部を前記第1のAUの前記SEIに付加する
 前記(1)に記載の画像処理装置。
(5)
 前記ヘッダ情報の少なくとも一部は、復号処理の前処理に必要な情報である
 前記(1)乃至(4)のいずれかに記載の画像処理装置。
(6)
 前記前処理に必要な情報は、POC生成に必要な情報である
 前記(5)に記載の画像処理装置。
(7)
 前記前処理に必要な情報は、ピクチャ毎に変化するパラメータである
 前記(5)に記載の画像処理装置。
(8)
 前記前処理は、前記ヘッダ情報のパース処理、POC生成処理、およびRefPicListの生成処理である
 (5)乃至(7)のいずれかに記載の画像処理装置。
(9)
 画像処理装置が、
 第1のAU(Access Unit)のSEI(Supplemental Enhancement Information)に、前記第1のAUの次に処理される第2のAUのヘッダ情報の少なくとも一部、または前記ヘッダ情報の少なくとも一部に関する情報を付加して、符号化ストリームを生成する
 画像処理方法。
(10)
 第1のAUのSEIに、前記第1のAUの次に処理される第2のAUのヘッダ情報の少なくとも一部、または前記ヘッダ情報の少なくとも一部に関する情報を付加して生成された符号化ストリームが受信されて処理された前記ヘッダ情報に基づいて、前記第2のAUを復号する復号部を備える
 画像処理装置。
(11)
 画像処理装置が、
 第1のAUのSEIに、前記第1のAUの次に処理される第2のAUのヘッダ情報の少なくとも一部、または前記ヘッダ情報の少なくとも一部に関する情報を付加して生成された符号化ストリームが受信されて処理された前記ヘッダ情報に基づいて、前記第2のAUを復号する
 画像処理方法。
 21 画像取り込み部, 22 ピクチャタイプ決定部, 23 GOP構造生成部, 24 符号化並び替え部, 25 上位ヘッダ生成部, 26 上位ヘッダ符号化部, 27 VCL符号化部, 28 演算器, 41 ビットストリーム入力部, 42 ヘッダ復号部, 44 VCL復号部, 45 画像出力部, 51 DPB更新部, 101 符号化装置, 111 上位ヘッダ保持メモリ, 112 上位ヘッダSEI化部, 113 SEI符号化部, 114 演算器, 201 復号装置, 211 次AU参照関係復号部, 212 参照画像情報保持部

Claims (11)

  1.  第1のAU(Access Unit)のSEI(Supplemental Enhancement Information)に、前記第1のAUの次に処理される第2のAUのヘッダ情報の少なくとも一部、または前記ヘッダ情報の少なくとも一部に関する情報を付加して、符号化ストリームを生成する符号化ストリーム生成部を備える
     画像処理装置。
  2.  前記第1のAUは、GOP(Group Of Pictures)の先頭のAUであり、
     前記符号化ストリーム生成部は、前記第1のAUの前記SEIに、前記GOP内の前記第2のAU以降のAUの前記ヘッダ情報の少なくとも一部を付加する
     請求項1に記載の画像処理装置。
  3.  前記第1のAUは、GOPの先頭のAUであり、
     前記符号化ストリーム生成部は、前記第1のAUの前記SEIに、前記GOP内のAUの前記ヘッダ情報の少なくとも一部を生成するための生成パターンを付加する
     請求項1に記載の画像処理装置。
  4.  前記符号化ストリーム生成部は、前記第2のAUの前記ヘッダ情報の少なくとも一部を前記第1のAUの前記SEIに付加する
     請求項1に記載の画像処理装置。
  5.  前記ヘッダ情報の少なくとも一部は、復号処理の前処理に必要な情報である
     請求項4に記載の画像処理装置。
  6.  前記前処理に必要な情報は、POC(Picture Order Count)の生成に必要な情報である
     請求項5に記載の画像処理装置。
  7.  前記前処理に必要な情報は、ピクチャ毎に変化するパラメータである
     請求項5に記載の画像処理装置。
  8.  前記前処理は、前記ヘッダ情報のパース処理、POC生成処理、およびRefPicListの生成処理を含む
     請求項5に記載の画像処理装置。
  9.  画像処理装置が、
     第1のAU(Access Unit)のSEI(Supplemental Enhancement Information)に、前記第1のAUの次に処理される第2のAUのヘッダ情報の少なくとも一部、または前記ヘッダ情報の少なくとも一部に関する情報を付加して、符号化ストリームを生成する
     画像処理方法。
  10.  第1のAUのSEIに、前記第1のAUの次に処理される第2のAUのヘッダ情報の少なくとも一部、または前記ヘッダ情報の少なくとも一部に関する情報を付加して生成された符号化ストリームが受信されて処理された前記ヘッダ情報に基づいて、前記第2のAUを復号する復号部を備える
     画像処理装置。
  11.  画像処理装置が、
     第1のAUのSEIに、前記第1のAUの次に処理される第2のAUのヘッダ情報の少なくとも一部、または前記ヘッダ情報の少なくとも一部に関する情報を付加して生成された符号化ストリームが受信されて処理された前記ヘッダ情報に基づいて、前記第2のAUを復号する
     画像処理方法。
PCT/JP2020/022487 2019-06-20 2020-06-08 画像処理装置および方法 WO2020255771A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202080043306.9A CN113950842A (zh) 2019-06-20 2020-06-08 图像处理装置和方法
JP2021527613A JP7532362B2 (ja) 2019-06-20 2020-06-08 画像処理装置および方法
US17/617,492 US20220256194A1 (en) 2019-06-20 2020-06-08 Image processing apparatus and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-114623 2019-06-20
JP2019114623 2019-06-20

Publications (1)

Publication Number Publication Date
WO2020255771A1 true WO2020255771A1 (ja) 2020-12-24

Family

ID=74037286

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/022487 WO2020255771A1 (ja) 2019-06-20 2020-06-08 画像処理装置および方法

Country Status (4)

Country Link
US (1) US20220256194A1 (ja)
JP (1) JP7532362B2 (ja)
CN (1) CN113950842A (ja)
WO (1) WO2020255771A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024208338A1 (en) * 2023-04-06 2024-10-10 Douyin Vision Co., Ltd. Method, apparatus, and medium for video processing
US11962765B1 (en) * 2023-10-05 2024-04-16 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video coding with guided separate post-processing steps

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009027738A (ja) * 2004-06-02 2009-02-05 Panasonic Corp 画像符号化装置、画像符号化方法および記録方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080095228A1 (en) * 2006-10-20 2008-04-24 Nokia Corporation System and method for providing picture output indications in video coding
JP2009152990A (ja) * 2007-12-21 2009-07-09 Panasonic Corp 画像符号化装置及び画像復号化装置
WO2010089995A1 (ja) * 2009-02-04 2010-08-12 パナソニック株式会社 記録媒体、再生装置、及び集積回路
WO2012124300A1 (ja) * 2011-03-11 2012-09-20 パナソニック株式会社 動画像符号化方法、動画像復号方法、動画像符号化装置および動画像復号装置
WO2013085245A1 (ko) * 2011-12-04 2013-06-13 엘지전자 주식회사 입체영상 디스플레이가 가능한 디지털 방송 수신방법 및 수신장치
KR20130116782A (ko) * 2012-04-16 2013-10-24 한국전자통신연구원 계층적 비디오 부호화에서의 계층정보 표현방식
EP3301923B1 (en) * 2012-09-26 2020-01-08 Velos Media International Limited Image decoding method and image decoding apparatus
US9854270B2 (en) * 2013-12-19 2017-12-26 Qualcomm Incorporated Device and method for scalable coding of video information
CN104935944B (zh) * 2014-03-18 2018-03-13 华为技术有限公司 一种视频数据编码、解码的方法和装置
US10136152B2 (en) * 2014-03-24 2018-11-20 Qualcomm Incorporated Use of specific HEVC SEI messages for multi-layer video codecs
US9800898B2 (en) * 2014-10-06 2017-10-24 Microsoft Technology Licensing, Llc Syntax structures indicating completion of coded regions
JP6690536B2 (ja) 2015-01-09 2020-04-28 ソニー株式会社 画像処理装置、画像処理方法、およびプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009027738A (ja) * 2004-06-02 2009-02-05 Panasonic Corp 画像符号化装置、画像符号化方法および記録方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JAE-SUNG YOON ET AL.: "An H.265/HEVC Codec for UHD(3840x2160) Capturing and Playback", 2013 INTERNATIONAL SOC DESIGN CONFERENCE (ISOCC, 2013, pages 218 - 220, XP032625219, ISBN: 978-1-4799-1142-4, DOI: 10.1109/ISOCC.2013.6864013 *
ONISHI TAKAYUKI, SANO TAKASHI, NISHIDA YUKIKUNI, YOKOHARI KAZUYA, SU JIA, NAKAMURA KEN, NITTA KOYO, KAWASHIMA KIMIKO, OKAMOTO JUN,: "Single-chip 4K 60fps 4:2:2 HEVC Video Encoder LSI with 8K Scalability", 2015 SYMPOSIUM ON VLSI CIRCUITS DIGEST OF TECHNICAL PAPERS, 17 June 2015 (2015-06-17), pages C54 - C55, XP033214984, ISBN: 978-4-86348-502-0 *
RICKARD SJOBERG ET AL.: "Overview of HEVC High-Level Syntax and Reference Picture Management", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, vol. 22, no. 12, 2012, pages 1858 - 1870, XP011487159, DOI: 10.1109/TCSVT.2012.2223052 *

Also Published As

Publication number Publication date
JP7532362B2 (ja) 2024-08-13
US20220256194A1 (en) 2022-08-11
CN113950842A (zh) 2022-01-18
JPWO2020255771A1 (ja) 2020-12-24

Similar Documents

Publication Publication Date Title
US11770553B2 (en) Conditional signalling of reference picture list modification information
US10666938B2 (en) Deriving reference mode values and encoding and decoding information representing prediction modes
JP7098805B2 (ja) ニューラルネットワークを利用したコーデック
US20240187654A1 (en) Method of Coding and Decoding Images, Coding and Decoding Device and Computer Programs Corresponding Thereto
US11095877B2 (en) Local hash-based motion estimation for screen remoting scenarios
US10390039B2 (en) Motion estimation for screen remoting scenarios
US10313668B2 (en) Method and device for encoding or decoding an image comprising encoding of decoding information representing prediction modes
JP4927207B2 (ja) 符号化方法、復号化方法及び装置
US9445114B2 (en) Method and device for determining slice boundaries based on multiple video encoding processes
JP2022523925A (ja) 映像コンテンツを処理するための方法及びシステム
KR20150105431A (ko) 비디오 스플라이싱을 단순화시키기 위한 버퍼링 정보에 대한 구문 및 의미
US8781004B1 (en) System and method for encoding video using variable loop filter
US20110249742A1 (en) Coupled video pre-processor and codec including reference picture filter that minimizes coding expense during pre-processing mode transitions
WO2020255771A1 (ja) 画像処理装置および方法
CN113055671B (zh) 图像解码方法、解码器及计算机存储介质
Paryani et al. Implementation of HEVC: Residual Image-Free Compression Approach

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021527613

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20826433

Country of ref document: EP

Kind code of ref document: A1