WO2020090408A1 - 復号装置、符号化装置、復号方法、符号化方法、及びプログラム - Google Patents

復号装置、符号化装置、復号方法、符号化方法、及びプログラム Download PDF

Info

Publication number
WO2020090408A1
WO2020090408A1 PCT/JP2019/040037 JP2019040037W WO2020090408A1 WO 2020090408 A1 WO2020090408 A1 WO 2020090408A1 JP 2019040037 W JP2019040037 W JP 2019040037W WO 2020090408 A1 WO2020090408 A1 WO 2020090408A1
Authority
WO
WIPO (PCT)
Prior art keywords
decoding
condition
slice
video
image
Prior art date
Application number
PCT/JP2019/040037
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 US17/283,213 priority Critical patent/US11909954B2/en
Publication of WO2020090408A1 publication Critical patent/WO2020090408A1/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Definitions

  • the present invention relates to a decoding device, an encoding device, a decoding method, an encoding method, and a program.
  • HEVC High Efficiency Video Coding
  • H.264 ISO / IEC 23008-2 HEVC (High Efficiency Video Coding)
  • H.264. H.264 ISO / IEC 14496-10MPEG4-AVC (Moving Picture Experts Group 4-Advanced Video Coding)
  • H.264 High processing capability that enables low processing delay.
  • parallelization of processing is indispensable.
  • Patent Document 1 there is a technique for improving the processing speed by dividing an input stream into a plurality of slices, distributing the divided slices to a plurality of decoding circuits prepared in advance, and performing a decoding process in parallel.
  • Patent Document 1 a method is known in which the decoding process is divided into an arithmetic decoding process and a video decoding unit process.
  • the arithmetic decoding process decodes the input stream into encoded data that is a binary data string by arithmetic decoding.
  • the video decoding process generates a decoded video by performing prediction image generation by motion compensation and decoding of a prediction residual signal on the encoded data.
  • HEVC and H.M For standard reasons such as H.264, parallelization within slices is difficult in arithmetic decoding processing, so parallel processing is generally performed in slice units.
  • video decoding processing a method is generally known in which parallel processing is performed while delaying the processing in units of coded block lines in consideration of the processing dependency between coded blocks (for example, Patent Document 2). ..
  • the coding block here corresponds to a CTU (Coding Tree Unit) in HEVC, and is equivalent to H.264. In H.264, it corresponds to MB (Macro Block).
  • the coded block line referred to here means an arrangement of blocks at the same vertical position in the screen.
  • HEVC standardizes a WPP (Wave-front Parallel Processing) mode that considers parallelization of arithmetic decoding processing in units of encoded block lines (CTU lines).
  • WPP Wide-front Parallel Processing
  • the number of slice divisions in the image and the division size are unknown at the time when the beginning of the input stream is received. Furthermore, it is also unknown whether or not the image is divided into a plurality of slices in the first place. Therefore, it is necessary to perform the decoding process in consideration of the possibility that the image is not divided into a plurality of slices.
  • the decoding process can only be parallelized in image units. Therefore, it is difficult to reduce the delay of the decoding process.
  • the WPP mode described above considers parallelization of arithmetic decoding processing in units of coding block lines, it is difficult to implement when parallel coding by a space division method is performed on the coding device side.
  • a coding device that requires a high processing capacity often uses a hardware encoder having a multiple module configuration.
  • parallel coding by a loosely coupled space division method is often adopted, it is often impossible to use the WPP mode.
  • the first coded block line in the image cannot be decoded until all the coded block lines of the previous image have been decoded.
  • the parallelism of the decoding process decreases, and it is difficult to reduce the delay of the decoding process.
  • the present invention has been made in view of such a situation, and an object thereof is to provide a technique capable of reducing the delay of decoding processing.
  • One aspect of the present invention is a slice including at least one coded block line, the plurality of slices into which an image is divided are decoded in parallel by N arithmetic decoding units and M video decoding units.
  • the N arithmetic decoding units are different from the total number of coded block lines included in arbitrary N consecutive slices and the arbitrary N consecutive slices.
  • a stream that satisfies the conditions that the difference from the total number of coded block lines included in consecutive N slices is 1 or less and the code amount of each slice is less than a predetermined upper limit code amount
  • the decoding device sequentially starts arithmetic decoding processing at time intervals corresponding to each slice size.
  • the arithmetic decoding unit performs code amount control in slice units on an image stored in a buffer having the same size as the upper limit code amount. After obtaining the head portion of each slice for the stream, if it is in a processable state, the arithmetic decoding process is started.
  • the first encoded block of the slice from the start time of the arithmetic decoding process of the first slice in the image according to the size of the upper limit code amount. It further includes a control unit that determines the time until the start time of the video decoding processing of the line.
  • the M video decoding units include an image coded immediately before in inter coding of an Xth coded block line from an upper end of the image. If the condition that the MXth encoded block line from the bottom of the reference image is not referred to is satisfied, the video decoding process is sequentially started at a predetermined time interval for each encoded block line.
  • a value of a flag included in the encoded block line is identified, and whether or not to perform the decoding process is determined based on the value of the flag.
  • a control unit is further provided.
  • a total of the number of coding block lines included in arbitrary N consecutive slices and a number of consecutive N slices different from the arbitrary consecutive N slices are included.
  • at least the first condition and the second condition among the third condition that the MX-th coded block line from the lower end of the reference image which is the image coded immediately before is not referred to.
  • a coding device that generates a stream coded so as to satisfy a condition and adds a flag indicating that at least the first condition and the second condition are satisfied to the stream.
  • a plurality of slices are parallelized by N arithmetic decoding units and M video decoding units.
  • the N arithmetic decoding units include a total number of coded block lines included in arbitrary N consecutive slices and the N consecutive slices. Satisfies the condition that the difference from the total number of coded block lines included in N consecutive slices that are different is 1 or less, and the condition that the code amount of each slice is less than a predetermined upper limit code amount.
  • the decoding method includes a step of sequentially starting arithmetic decoding processing on a stream at time intervals corresponding to each slice size.
  • a total of the number of coding block lines included in arbitrary N consecutive slices and a number of consecutive N slices different from the arbitrary consecutive N slices are included.
  • at least the first condition and the second condition among the third conditions that the MX-th encoded block line from the lower end of the immediately preceding encoded reference image are not referred to
  • This is an encoding method in which a stream encoded so as to satisfy the condition is generated, and a flag indicating that at least the first condition and the second condition are satisfied is added to the stream.
  • one aspect of the present invention is a program for causing a computer to function as the above decoding device or the above encoding device.
  • the decoding process can be delayed.
  • FIG. 1 is a block diagram showing a functional configuration of a video decoding device 1 according to the first embodiment of the present invention.
  • FIG. 2 is a diagram showing an example of a slice division pattern in the first embodiment of the present invention.
  • FIG. 3 is a diagram showing an example of execution timings of arithmetic decoding processing and video decoding processing according to the first embodiment of the present invention.
  • the video encoding device 2 performs an encoding process () on an input stream including a plurality of slices into which one image is divided, so as to satisfy the following three predetermined conditions (hereinafter, referred to as “constraint conditions”). Encode). On the other hand, when the following constraint conditions are satisfied, the video decoding device 1 enhances the utilization efficiency of each processing unit included in the device itself and performs the decoding process (decoding) with a low delay.
  • the constraint condition is a condition regarding the slice division pattern, the generated code amount, and the motion vector reference range.
  • the video decoding device 1 starts the arithmetic decoding process by the arithmetic decoding unit 103 and the video decoding process by the video decoding unit 104 on the input stream satisfying the constraint without delay. As a result, the delay of the decoding process can be reduced.
  • the video decoding unit 104 that performs the video decoding process in parallel for each coded block line after arithmetic decoding until the process starts.
  • the waiting time is shortened.
  • the arithmetic decoding unit 103 performs the arithmetic decoding process in parallel on the received slice
  • the arithmetic decoding unit 103 performs the arithmetic decoding process on the slice
  • the arithmetic decoding unit 103 then performs the arithmetic decoding process.
  • the processing is performed on slices separated by N slices (hereinafter referred to as “N slices”). Therefore, when the total number of coded block lines of an arbitrary N slice is constant, the number of coded block lines processed by each arithmetic decoding unit 103 and the processing time are equal, and thus the decoding efficiency is highest.
  • each arithmetic encoding unit 206 of the video encoding device 2 described below starts encoding of each slice at a time interval according to the slice size (for example, in proportion), until the encoding start of the next slice.
  • the time is (A-1) / P / L [second] or A / P / L [second].
  • a and A-1 represent the sum of the number of coded block lines [pieces] of any consecutive N slices.
  • P indicates a frame rate [frame / second].
  • L indicates the number of coded block lines in the image [piece].
  • condition 2 the arithmetic decoding process is terminated with (A-1) / P / L [seconds], which is the shorter one of the times until the encoding of the next slice starts, as the upper limit time.
  • the condition is that the generated code amount of each slice is controlled.
  • Rmax be the maximum throughput of the entire arithmetic decoding unit 103 (that is, the maximum bit rate that can be stably decoded without depending on the contents of the stream)
  • Rmax / N be the maximum throughput of each arithmetic decoding unit 103
  • the code amount Tmax [bits] is expressed by the following equation (1).
  • Tmax Rmax * (A-1) / N / P / L ... (1)
  • the decoding delay can be reduced by advancing the processing start time of the video decoding unit 104 accordingly. Further, under the condition of a predetermined coding bit rate, it is further determined by the CPB size that the sum of the arrival delay time of the head portion of the slice and the time required for arithmetic decoding is equal to or shorter than a predetermined time. The processing start time of the video decoding unit 104 can be shortened.
  • Condition 3 is a constraint condition when inter coding is used. Therefore, Condition 3 is not necessary in the case of the coding mode in which all I pictures are coded.
  • Each video decoding unit 104 stores a reference image which is a decoded image of each slice in a reference image buffer 105 described later.
  • Each video decoding unit 104 acquires the immediately preceding encoded reference image from the reference image buffer 105 according to the motion vector in the decoding of the inter-coded block of the subsequent slice.
  • the video decoding process is performed on a certain slice, and then the same video decoding unit 104 performs the video decoding process for M slices. Only slices apart. Here, it is necessary to prohibit reference to slices that are not separated by M slices or more of the preceding image because decoding has not been completed. By this condition, it becomes possible to start the decoding processing of each slice at equal time intervals even when straddling the images. As a result, the delay of the decoding process can be reduced.
  • the video encoding device 2 executes encoding control so that the above constraint conditions are satisfied. Then, the video encoding device 2 describes a flag indicating whether low-delay decoding is effective (hereinafter referred to as “low-delay flag”) in the user data area or unused area in the input stream. (Give. When the above constraint condition is satisfied, the video encoding device 2 describes a value indicating that low-delay decoding is effective as the low-delay flag. Further, when the above constraint condition is not satisfied, the video encoding device 2 describes a value indicating that low-delay decoding is invalid as the low-delay flag.
  • low-delay flag a flag indicating whether low-delay decoding is effective
  • the low delay flag a value indicating that it is effective to perform a decoding process with a low delay is described as the low delay flag is valid. Further, hereinafter, as the low-delay flag, a value indicating that performing the low-delay decoding process is invalid is described as “low-delay flag is invalid”.
  • the video decoding device 1 identifies the low delay flag described in the user data area or the unused area in the input stream.
  • the video decoding device 1 performs the above-described decoding processing with a reduced delay when the delay reduction flag is valid.
  • this low delay flag the video encoding device 2 and the video decoding device 1 are made to respectively perform normal (non-low delay) encoding processing and decoding processing when the constraint conditions are not satisfied. Is also possible. Therefore, by providing this low delay flag, the video encoding device 2 and the video decoding device 1 can be configured as a general-purpose device.
  • the video encoding device 2 and the video decoding device 1 may share a plurality of types of information described above. In this case, by allowing the video decoding device 1 to determine the type by the value of the delay reduction flag, the operation from among the plurality of types of operations can be performed based on the value of the delay reduction flag. It is also possible to switch and perform decoding processing.
  • the video decoding device 1 includes a stream input unit 101 and six arithmetic decoding units (first arithmetic decoding unit 103-1, second arithmetic decoding unit 103-2, ..., Sixth arithmetic unit). Decoding unit 103-6), eight video decoding units (first video decoding unit 104-1, second video decoding unit 104-2, ..., Eighth video decoding unit 104-8), and reference image buffer 105 and a video output unit 106.
  • the numbers of the arithmetic decoding unit 103 and the video decoding unit 104 are 6 [pieces] and 8 [pieces], respectively, but the number is not limited to this.
  • the number of arithmetic decoding units 103 and the number of video decoding units 104 may be arbitrary as long as the number is plural.
  • the stream input unit 101 receives an input of the input stream output by the video encoding device 2.
  • the stream input unit 101 analyzes the input stream and acquires the value of the low delay flag defined in the user data area or the unused area included in the input stream.
  • the overall control unit 102 determines whether the low delay flag is valid or invalid. The overall control unit 102 stops the decoding process when the low delay flag is invalid, and causes each functional unit to execute the low delay decoding process described later when the low delay flag is valid. .. Note that the overall control unit 102 may cause each functional unit to execute a normal (non-delayed) decoding process when the delay reduction flag is invalid.
  • the stream input unit 101 receives the stream of the head portion of the image that can be decoded, it acquires the decoding start time of the image.
  • the decoding start time corresponds to the DTS (Decoding Time Stamp) value of the PES (Packetized Elementary Stream) header.
  • the first arithmetic decoding unit 103-1 starts the arithmetic decoding process of the slice 0, which is the first slice, when the decoding start time comes based on the reference time such as STC that is separately reproduced and can be referred to.
  • the second arithmetic decoding unit 103-2 to the sixth arithmetic decoding unit 103-6 start the arithmetic decoding processing of each slice in the order of reception.
  • Decoding start time d (n) of slice n which is the nth slice from the decoding start, is calculated by the following equation (2).
  • P indicates the frame rate [frame / s].
  • L represents the number [pieces] of coded block lines (CTU lines) per image.
  • D (n) indicates the decoding start time of the image to which the slice belongs.
  • the decoding start time of the slice in the succeeding stage can be set in any arithmetic decoding unit 103. It is possible to complete the arithmetic decoding process before. Also, by the time d (n) + ⁇ , the arithmetic decoding unit 103 can complete the arithmetic decoding process of the slice n, and the video decoding unit 104 in the subsequent stage can start the video decoding process.
  • the above ⁇ is the slice upper limit code amount of the video decoding device 1 described above. It may be changed to T / Tmax * ⁇ based on Tmax. This makes it possible to further reduce the delay.
  • the video decoding unit 104 performs video decoding processing in units of encoded block lines.
  • the video decoding unit 104 performs the video decoding process in consideration of the dependency of the HEVC video decoding process. Specifically, the video decoding unit 104 performs the video decoding process on the lower encoded block line so that the next CTU is decoded after the decoding of the CTU located at the upper right is completed.
  • the video decoding process is executed with a delay corresponding to the input time of one encoded block line from the execution time of the video decoding process for the block line.
  • Each video decoding unit 104 can refer to the common reference image buffer 105.
  • the decoded image that has been decoded is accumulated in the reference image buffer 105 according to the DPB (Decoding Picture Buffer) rule.
  • DPB Decoding Picture Buffer
  • the video decoding unit 104 needs the decoded image at the lower end of the image when decoding the coded block line at the upper end of the image if the constraint (the third condition) regarding the reference range of the motion compensation is satisfied. There is nothing to do. Therefore, the video decoding unit 104 can start the decoding of the coded block line at the upper end of the subsequent image before the decoding of the coded block line at the lower end of the image ends.
  • the video decoding process for each encoded block line is completed within a fixed time.
  • the decoded video of slice n is input to the video output unit 106 by the time d (n) + ⁇ + ⁇ .
  • the video output unit 106 shapes and converts the input decoded video of the slice n according to a predetermined video format such as SDI format, and then outputs the decoded video.
  • the video decoding device 1 does not generate extra waiting time in both the arithmetic decoding unit 103 and the video decoding unit 104.
  • FIG. 4 is a block diagram showing a functional configuration of the video encoding device 2 according to the first embodiment of the present invention.
  • the video encoding device 2 includes a video division unit 201, an overall control unit 202, a rate control unit 203, a first partial encoder 204-1 and a second partial encoder 204-2. And a stream connection unit 208.
  • the first partial encoder 204-1 is configured to include a first video coding unit 205-1, a first arithmetic coding unit 206-1, and a first stream output unit 207-1.
  • the second partial encoder 204-2 is configured to include a second video encoding unit 205-2, a second arithmetic encoding unit 206-2, and a second stream output unit 207-2.
  • the first partial encoder 204-1 and the second partial encoder 204-2 are referred to as “partial encoder 204” unless it is necessary to distinguish them from each other.
  • the first video coding unit 205-1 and the second video coding unit 205-2 will be referred to as “video coding unit 205” unless it is necessary to distinguish them from each other.
  • the first arithmetic coding unit 206-1 and the second arithmetic coding unit 206-2 are referred to as “arithmetic coding unit 206” unless it is necessary to distinguish them from each other.
  • the first stream output unit 207-1 and the second stream output unit 207-2 are referred to as “stream output unit 207” unless it is necessary to distinguish between them.
  • the video encoding device 2 includes two partial encoders 204.
  • the input image is divided by the image dividing unit 201 into two partial images (first divided image and second divided image) that have a spatially upper and lower positional relationship.
  • the first divided image and the second divided image are input to the first partial encoder 204-1 and the second partial encoder 204-2, respectively.
  • the first divided video or the second divided video is encoded into slice encoded data by the video encoding unit 205, further into slice data by the arithmetic encoding unit 206, and the stream output unit 207. It is output as the first divided stream or the second divided stream, respectively.
  • the stream concatenating unit 208 concatenates the two partial streams (the above-described first divided stream and the second divided stream) having a vertical positional relationship and outputs them as one output stream.
  • the overall control unit 202 controls the video encoding unit 205 and the arithmetic encoding unit 206 so that the slice division size satisfies the constraint (the first condition) regarding slice division on the video decoding device 1 side.
  • the constraint the first condition
  • each image is divided into 18 [slices] as shown in FIG. 2 and encoded.
  • slice # 8 and slice # 17 consist of one coded block line, and the remaining 16 [pieces] of slices are composed of two coded block lines.
  • the first video coding unit 205-1 and the first arithmetic coding unit 206-1 sequentially perform coding processing on slices # 0 to # 8.
  • the second video coding unit 205-2 and the second arithmetic coding unit 206-2 sequentially perform coding processing on slices # 9 to # 17.
  • the two are balanced and divided into slice sizes of one encoded block line or two encoded block lines. Further, the slices formed by one encoded block line are separated from each other by 9 slices, and the number of encoded block lines included in any 6 consecutive slices is 11 [pieces] or 12 [pieces]. In this way, since the difference in the number of coded block lines is 1 [maximum] at the maximum, the waiting time in the arithmetic decoding unit 103 of the video decoding device 1 can be minimized.
  • the rate control unit 203 sets the quantization parameter to be given to each video encoding unit 205 so that the code amount of each slice data satisfies the constraint (the second condition) regarding the generated code amount on the video decoding device 1 side. decide.
  • the rate control unit 203 controls the code amount of each slice so that the buffer occupancy before and after each slice encoding satisfies the CPB size Bmax shown in the following Expression (3). To do.
  • R′max indicates the maximum bit rate that can be decoded by the video decoding device 1 by the parallel processing of the arithmetic decoding unit 103 in this slice division pattern.
  • 2/34 * R'max / P is the maximum code amount of slice data that allows one arithmetic decoding unit 103 to complete the decoding of one slice by the start time of the arithmetic decoding of the subsequent slice. Indicates.
  • the arithmetic decoding unit 103 of the video decoding device 1 can complete the arithmetic decoding processing within a predetermined time. Thereby, the arithmetic decoding unit 103 can efficiently perform parallel processing of arithmetic decoding processing in slice units.
  • the code amount of all slices may be smaller than the CPB size Bmax shown in the above equation (3). Therefore, if the same condition can be satisfied, the CPB size can be set to a smaller value or a larger value, but the same value is used in the present embodiment for simplification.
  • the code amount may be lent and borrowed between the slices.
  • slice # 0 to slice # 8 and slice # 9 to slice # 17 are parallel encoded. Therefore, in order to realize the above code amount control, for example, the CPB occupancy at the start of encoding of slice # 9 is provisionally set to Bmax / 2 or the like, and the occupancy at the end of encoding of slice # 8 becomes The code amount from slice # 0 to slice # 8 may be controlled so that it always exceeds Bmax / 2.
  • the video encoding device 2 transfers the reference images that are in contact with the boundary between the two partial encoders 204 to each other up to a constant vertical width (for example, 128 pixels), and moves between the two divided images. Also, it operates so that some degree of motion compensation can be performed. This is equivalent to the definition for the 8K video stream specified in ARIB STD-B32, and is a method generally used in parallel encoding. In the case of such a configuration of the encoding device, it is guaranteed that the constraint (the third condition) regarding the reference range of motion compensation on the decoding device side is satisfied.
  • the stream output unit 207 adds the value of the low-delay flag to the user data area or the unused area with respect to the slice data input by the arithmetic coding unit 206, and creates a first divided stream and a second divided stream. Output to the stream connection unit 208. Further, as the information for reproducing the decoding start time and the reference time, for example, information normally used such as DTS of MPEG-2 TS may be used.
  • the video encoding device 2 can generate a stream that can perform the decoding process with the reduced delay in the video decoding device 1 described above.
  • FIG. 5 is a flowchart showing the operation of the overall control unit 102 of the video decoding device 1 according to the first embodiment of the present invention.
  • the stream input unit 101, the arithmetic decoding unit 103, the video decoding unit 104, and the video output unit 106 separately operate in parallel, the description of the operation steps of these functional blocks is omitted.
  • the overall control unit 102 initializes the internal parameters x, y, and z to 0, thereby starting the decoding process.
  • the overall control unit 102 acquires the value of the delay reduction flag described in the user data area or unused area of the input stream (step S001).
  • the overall control unit 102 determines whether the low delay flag is valid or invalid. When the low delay flag is invalid (NO in step S002), the overall control unit 102 executes a normal (not low delay) decoding process (step S003).
  • step S002 when the low-delay flag is valid (YES in step S002), the overall control unit 102 waits for reception of an image that can be decoded. When the decoding-startable image is not received (step S004, NO), the overall control unit 102 continues to wait for the decoding-startable image to be received.
  • the decoding time d (x of the slice x, which is the x-th slice from the start of decoding, shown in Expression (4) below. ) Is calculated (step S005).
  • P indicates the frame rate [frame / s].
  • L indicates the number of coded block lines per image.
  • D (x) indicates the decoding time of the image to which the slice belongs.
  • N is the parallel number [pieces] of the arithmetic decoding unit 103.
  • the overall control unit 102 adds 1 to x (step S007).
  • the decoding time d (x) of the slice x has not come (step S006, NO)
  • the overall control unit 102 does nothing.
  • is a constant
  • M is the number of parallel video decoding units [pieces].
  • the overall control unit 102 adds 1 to y (step S009).
  • the decoding time of the slice y is not d (y) + ⁇ (step S008, NO)
  • the overall control unit 102 does nothing.
  • the overall control unit 102 causes the video output unit 106 to output the decoded video of slice z.
  • is a constant.
  • the overall control unit 102 adds 1 to z (step S011).
  • the overall control unit 102 does nothing.
  • the overall control unit 102 determines whether the stream is still being received. When determining that the stream is continuously received (step S012, YES), the overall control unit 102 repeats the processing from step S005. On the other hand, when the overall control unit 102 determines that the stream is not continuously received (step S012, NO), the overall control unit 102 ends the decoding process. With the above, the operation of the overall control unit 102 shown in the flowchart of FIG. 5 ends.
  • the corresponding arithmetic decoding unit 103 after receiving each slice n, the corresponding arithmetic decoding unit 103 does not wait for the decoding start time d (n) if the processing is possible. Start the arithmetic decoding process.
  • CPB control in slice units is performed with a CPB size T that is less than the upper limit code amount Tmax of the video decoding device 1.
  • the start time of the video decoding process is determined to be d (n) + T * (N / Rmax-1 / R) + ⁇ for the performed stream.
  • represents an adjustable parameter.
  • the decoding start time d (n) of slice n is represented by the following equation (5).
  • e (n) indicates the encoding end time.
  • T / R indicates a fixed delay due to CPB.
  • the arithmetic decoding unit 103 does not wait for the fixed delay due to the CPB, and the time e (n) + ⁇ T ⁇ b ′ (n) ⁇ / R immediately after the acquisition of the head portion of the slice. From, the arithmetic decoding process is started.
  • b ′ (n) is the CPB occupation amount before slice n encoding. Letting b (n) be the CPB occupancy after slice n coding, the time when the arithmetic decoding process ends is e (n) + ⁇ T ⁇ b ′ (n) ⁇ / R + ⁇ b ′ (n) ⁇ b. (N) ⁇ * N / Rmax.
  • a plurality of slices including at least one encoded block line are parallelized by the N arithmetic decoding units 103 and the M video decoding units 104.
  • Decryption process The N arithmetic decoding units 103 include a total number of coded block lines included in any N consecutive slices and a code included in N consecutive slices different from any N consecutive slices. For a stream that satisfies the condition that the difference from the total number of coded block lines is 1 or less, the condition that the code amount of each slice is less than a predetermined upper limit code amount, and the time that corresponds to each slice size. Arithmetic decoding processing is started at intervals.
  • the video encoding device 2 includes the total number of coded block lines included in any consecutive N slices and the corresponding consecutive N slices.
  • a first condition that the difference from the total number of coded block lines included in N consecutive slices different from is less than or equal to 1, and a second condition that the code amount of each slice is less than a predetermined upper limit code amount.
  • Condition and the third condition that, in inter coding of the Xth coded block line from the upper end of the image, the MXth coded block line from the lower end of the reference image, which is the image coded immediately before, is not referenced
  • a low-delay flag that indicates that at least the first condition and the second condition are generated so that an output stream coded so as to satisfy at least the first condition and the second condition is satisfied. Imparting to the output stream.
  • the encoding side and the decoding side share a predetermined condition (constraint condition), and the streams to be encoded and to be decoded are When the predetermined condition is satisfied, the stream is divided into slice division patterns as shown in FIG. 2, for example. Accordingly, the decoding side can perform the arithmetic decoding process and the video decoding process in parallel, and thus the video decoding device 1 and the video encoding device 2 according to the above-described embodiment can reduce the delay of the decoding process. ..
  • a part or all of the video decoding device 1 and the video encoding device 2 in the above-described embodiments may be realized by a computer.
  • the program for realizing this function may be recorded in a computer-readable recording medium, and the program recorded in this recording medium may be read by a computer system and executed.
  • the “computer system” mentioned here includes an OS and hardware such as peripheral devices.
  • the “computer-readable recording medium” refers to a portable medium such as a flexible disk, a magneto-optical disk, a ROM, a CD-ROM, or a storage device such as a hard disk built in a computer system.
  • the "computer-readable recording medium” means to hold a program dynamically for a short time like a communication line when transmitting the program through a network such as the Internet or a communication line such as a telephone line.
  • a volatile memory inside a computer system that serves as a server or a client in that case may hold a program for a certain period of time.
  • the program may be for realizing a part of the functions described above, and may be a program that can realize the functions described above in combination with a program already recorded in a computer system, It may be realized using hardware such as PLD (Programmable Logic Device) and FPGA (Field Programmable Gate Array).

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つの符号化ブロックラインからなる複数のスライスを、N個の算術復号部とM個の映像復号部とによって並列に復号処理する復号装置において、前記N個の算術復号部は、任意の連続するN個のスライスに含まれる符号化ブロックライン数の合計と、前記任意の連続するN個のスライスとは異なる連続するN個のスライスに含まれる符号化ブロックライン数の合計との差が1以下であるという条件と、各スライスの符号量が所定の上限符号量未満であるという条件と、を満たすストリームに対して、各スライスサイズに応じた時間間隔で順に算術復号処理を開始する。

Description

復号装置、符号化装置、復号方法、符号化方法、及びプログラム
 本発明は、復号装置、符号化装置、復号方法、符号化方法、及びプログラムに関する。
 映像符号化の国際標準規格に基づく符号化装置(エンコーダ)及び復号装置(デコーダ)において、処理の低遅延化が大きな課題となっている。映像符号化の国際標準規格とは、例えば、H.265(ISO/IEC 23008-2 HEVC(High Efficiency Video Coding))(以下、「HEVC」という。)、及び、H.264(ISO/IEC 14496-10 MPEG4-AVC(Moving Picture Experts Group 4-Advanced Video Coding)(以下、「H.264」という。)である。昨今、処理の低遅延化を可能にする高い処理能力を有する符号化装置及び復号装置を実現するためには、処理の並列化が不可欠になっている。
 従来、入力ストリームを複数のスライスに分割し、分割されたスライスを予め用意された複数の復号回路にそれぞれ分配して、並列に復号処理を行うことによって、処理速度の向上を図る技術がある(例えば特許文献1)。また、復号処理を、算術復号処理と映像復号部処理とに分けて行う方法が知られている。算術復号処理は、入力ストリームを算術復号によって2値データ列である符号化データに復号する。映像復号処理は、当該符号化データに対し、動き補償による予測画像生成、及び予測残差信号の復号処理を行うことによって、復号映像を生成する。
 HEVC及びH.264等の規格上の理由から、算術復号処理では、スライス内での並列化が困難であるため、一般的にはスライス単位で並列処理が行われる。一方、映像復号処理では、符号化ブロック間の処理の依存関係を考慮して、符号化ブロックライン単位で処理を遅らせながら並列処理を行う方法が一般的に知られている(例えば特許文献2)。
ここでいう符号化ブロックとは、HEVCにおいてはCTU(Coding Tree Unit)に相当し、H.264においてはMB(Macro Block)に相当する。また、ここでいう符号化ブロックラインとは、画面内の同一の垂直位置のブロックの並びを意味する。
 HEVCでは、符号化ブロックライン(CTUライン)単位での算術復号処理の並列化を考慮したWPP(Wave-front Parallel Processing)モードが規格されている。WPPモードでは、スライス内であっても符号化ブロックライン単位で並列に算術復号処理を行うことが可能であり、1ライン上の2CTU目までの復号が終わっていれば、その符号化ブロックラインの復号を開始することができる。
特許第3961654号公報 特許第6080375号公報
NTT持株会社ニュースリリース、"専用LSIによる世界最高性能の8K HEVCリアルタイムエンコーダを開発 ~85Mbpsで臨場感あふれる高画質な8K映像伝送を実現~"、[online]、2016年2月15日、日本電信電話株式会社、[平成30年10月30日検索]、インターネット〈URL:http://www.ntt.co.jp/news2016/1602/160215b.html〉
 しかしながら、規格上、入力ストリームの先頭部分を受信した時点では、画像内のスライス分割数や分割サイズについては不明の状態である。さらには、そもそも画像が複数のスライスに分割されているか否かについても不明の状態である。そのため、画像が複数スライスに分割されていない可能性までを考慮して復号処理を行う必要がある。一般的な算術復号処理では、例えば1画像が1スライスからなる場合には、画像単位で復号処理を並列化することしかできない。そのため、復号処理の低遅延化を図ることが難しいという課題がある。
 また、上述したWPPモードは、符号化ブロックライン単位での算術復号処理の並列化を考慮しているものの、符号化装置側において空間分割方式による並列符号化が行われる場合には実装が困難であるという課題がある。特に、高い処理能力が要求される符号化装置は、複数モジュール構成によるハードウェアエンコーダが用いられる場合が多い。この構成においては、疎結合な空間分割方式による並列符号化が採用されることが多いため、WPPモードを利用することができない場合が多い。また、上述したWPPモードでは、規格上、映像復号処理において動きベクトル(MV)の参照範囲を事前に限定することができない。そのため、一つ前の画像の全ての符号化ブロックラインの復号が完了してからでなければ、画像内の最初の符号化ブロックラインを復号することができない。これにより、復号処理の並列度が低下するため、復号処理の低遅延化を図ることが難しいという課題がある。
 本発明はこのような状況を鑑みてなされたもので、復号処理を低遅延化することができる技術の提供を目的としている。
 本発明の一態様は、少なくとも1つの符号化ブロックラインからなるスライスであって、画像が分割された複数の前記スライスを、N個の算術復号部とM個の映像復号部とによって並列に復号処理を行う復号装置であって、前記N個の算術復号部は、任意の連続するN個のスライスに含まれる符号化ブロックライン数の合計と、前記任意の連続するN個のスライスとは異なる連続するN個のスライスに含まれる符号化ブロックライン数の合計との差が1以下であるという条件と、各スライスの符号量が所定の上限符号量未満であるという条件と、を満たすストリームに対して、各スライスサイズに応じた時間間隔で順に算術復号処理を開始する復号装置である。
 また、本発明の一態様は、上記の復号装置であって、前記算術復号部は、前記上限符号量と同一のサイズのバッファに記憶された画像に対してスライス単位での符号量制御を行ったストリームに対し、各スライスの先頭部分を取得した後、処理可能な状態であるならば算術復号処理を開始する。
 また、本発明の一態様は、上記の復号装置であって、前記上限符号量の大きさに応じて、画像内の最初のスライスの算術復号処理の開始時刻から前記スライスの最初の符号化ブロックラインの映像復号処理の開始時刻までの時間を決定する制御部をさらに備える。
 また、本発明の一態様は、上記の復号装置であって、前記M個の映像復号部は、画像の上端からX番目の符号化ブロックラインのインター符号化において、直前に符号化された画像である参照画像の下端からM-X番目の符号化ブロックラインを参照しないという条件を満たしている場合に、各符号化ブロックラインに対して所定の時間間隔で順に映像復号処理を開始する。
 また、本発明の一態様は、上記の復号装置であって、前記符号化ブロックラインに含まれるフラグの値を識別し、前記フラグの値に基づいて前記復号処理を行うか否かを判定する制御部をさらに備える。
 また、本発明の一態様は、任意の連続するN個のスライスに含まれる符号化ブロックライン数の合計と、前記任意の連続するN個のスライスとは異なる連続するN個のスライスに含まれる符号化ブロックライン数の合計との差が1以下であるという第1条件と、各スライスの符号量が所定の上限符号量未満であるという第2条件と、画像の上端からX番目の符号化ブロックラインのインター符号化において、直前に符号化された画像である参照画像の下端からM-X番目の符号化ブロックラインを参照しないという第3条件のうち、少なくとも前記第1条件と前記第2条件とを満たすように符号化されたストリームを生成し、少なくとも前記第1条件と前記第2条件とを満たすことを示すフラグを前記ストリームに付与す符号化装置である。
 また、本発明の一態様は、少なくとも1つの符号化ブロックラインからなるスライスであって、画像が分割された複数の前記スライスを、N個の算術復号部とM個の映像復号部とによって並列に復号処理を行う復号方法であって、前記N個の算術復号部が、任意の連続するN個のスライスに含まれる符号化ブロックライン数の合計と、前記任意の連続するN個のスライスとは異なる連続するN個のスライスに含まれる符号化ブロックライン数の合計との差が1以下であるという条件と、各スライスの符号量が所定の上限符号量未満であるという条件と、を満たすストリームに対して、各スライスサイズに応じた時間間隔で順に算術復号処理を開始するステップを有する復号方法である。
 また、本発明の一態様は、任意の連続するN個のスライスに含まれる符号化ブロックライン数の合計と、前記任意の連続するN個のスライスとは異なる連続するN個のスライスに含まれる符号化ブロックライン数の合計との差が1以下であるという第1条件と、各スライスの符号量が所定の上限符号量未満であるという第2条件と、画像の上端からX番目の符号化ブロックラインのインター符号化において、直前に符号化された参照画像の下端からM-X番目の符号化ブロックラインを参照しないという第3条件のうち、少なくとも前記第1条件と前記第2条件とを満たすように符号化されたストリームを生成し、少なくとも前記第1条件と前記第2条件とを満たすことを示すフラグを前記ストリームに付加する符号化方法である。
 また、本発明の一態様は、上記の復号装置又は上記の符号化装置としてコンピュータを機能させるためのプログラムである。
 本発明により、復号処理を低遅延化することができる。
本発明の第1の実施形態に係る映像復号装置1の機能構成を示すブロック図である。 本発明の第1の実施形態におけるスライス分割パターンの一例を示す図である。 本発明の第1の実施形態における算術復号処理及び映像復号処理の実行タイミングの一例を示す図である。 本発明の第1の実施形態に係る映像符号化装置2の機能構成を示すブロック図である。 本発明の第1の実施形態に係る映像復号装置1の動作を示すフローチャートである。 本発明の第2の実施形態における算術復号処理及び映像復号処理の実行タイミングの一例を示すである。
<第1の実施形態>
 以下、本発明の第1の実施形態について、図面を参照しながら説明する。
 以下、本実施形態に係る映像復号装置1及び映像符号化装置2について説明する。
 図1は、本発明の第1の実施形態に係る映像復号装置1の機能構成を示すブロック図である。また、図2は、本発明の第1の実施形態におけるスライス分割パターンの一例を示す図である。また、本発明の第1の実施形態における算術復号処理及び映像復号処理の実行タイミングの一例を示す図である。
 映像符号化装置2は、1つの画像が分割された複数のスライスからなる入力ストリームに対して、下記の3つの所定の条件(以下、「制約条件」という。)を満たすように符号化処理(エンコード)を行う。これに対し、映像復号装置1は、下記の制約条件が成立する場合、自装置が備える各処理部の利用効率を高めて、低遅延化された復号処理(デコード)を行う。なお、制約条件は、スライス分割パターン、発生符号量、及び動きベクトル参照範囲に関する条件である。
[第1条件]
 各スライスが1又は複数の符号化ブロックラインからなり、後述する算術復号部103の並列数がN[個]である場合に、任意の連続するN[個]のスライスの符号化ブロックライン数の合計と、その他の連続するN[個]のスライスの符号化ブロックライン数の合計と、の差が1以下(すなわち、1又は0)であること。
[第2条件]
 各スライスの算術復号処理に要する時間、又は、各スライスの到着遅延時間と算術復号処理に要する時間との和が、所定の時間内に収まるように符号量が制御されていること。
[第3条件]
 後述する映像復号部104の並列数がM[個]である場合に、上からX(X<M)番目の符号化ブロックラインは、下からM-X番目の符号化ブロックラインから最も下の符号化ブロックラインまでの復号画像を参照しないこと。
 映像復号装置1は、上記制約条件を満たす入力ストリームに対して、算術復号部103による算術復号処理と、映像復号部104による映像復号処理とを遅滞なく開始させる。
これにより、復号処理の低遅延化が図られる。
 まず、第1条件では、スライスの個数を符号化ブロックラインの整数倍の個数とすることによって、算術復号後に符号化ブロックライン単位で並列に映像復号処理を行う映像復号部104において、処理開始までの待ち時間が短くなる。また、算術復号部103が受信したスライスに対して並列に算術復号処理が行う場合、算術復号部103があるスライスに対して算術復号処理を行った後、次に当該算術復号部103によって算術復号処理がなされるのは、N個分のスライス(以下、「Nスライス」という。)の分だけ離れたスライスである。そのため、任意のNスライスの符号化ブロックライン数の合計が一定である場合、各算術復号部103で処理される符号化ブロックライン数、及び処理時間が均等になるため、最も復号効率がよい。
 しかしながら、実際には、全スライスを同じサイズに分割しなければ上記の制約条件を満たすことはできず、画像サイズによっては全スライスを同じサイズに分割することは不可能である。そのため、1符号化ブロックライン分の差を許容し、任意の連続するNスライスの符号化ブロックライン数の合計と、その他の連続するNスライスの符号化ブロックライン数の合計と、の差が1以下であることとする。
 映像符号化装置2の後述する各算術符号化部206によりスライスサイズに応じた(例えば、比例した)時間間隔で各スライスの符号化が開始される場合、その次のスライスの符号化開始までの時間は(A-1)/P/L[秒]、又は、A/P/L[秒]となる。ここで、A及びA-1は任意の連続するNスライスの符号化ブロックライン数[個]の合計を示す。また、Pは、フレームレート[フレーム/秒]を示す。また、Lは、画像内の符号化ブロックライン数[個]を示す。
 条件2では、上記のその次のスライスの符号化開始までの時間のうち短い方の時間である、(A-1)/P/L[秒]を上限時間として、算術復号処理が終わるように、各スライスの発生符号量を制御することを条件とする。
 算術復号部103全体の最大スループット(すなわちストリームの内容に依存せず安定的に復号可能な最大のビットレート)をRmax、各算術復号部103の最大スループットをRmax/Nとすると、スライスの最大上限符号量Tmax[ビット]は、以下の式(1)にようになる。
  Tmax=Rmax*(A-1)/N/P/L ・・・(1)
 ここで、符号化ビットレートが低く、ストリームに記されたCPB(Coded Picture Buffer;符号化ピクチャバッファ)サイズ等から、スライスの上限符号量が、上記スライス最大上限符号量Tmax未満であることが復号開始時に明らかな場合には、その分、映像復号部104の処理開始時間を早くすることで、復号遅延を削減することができる。また、所定の符号化ビットレートの条件下では、スライスの先頭部分の到着遅延時間と算術復号に要する時間との和が所定の時間以下であることをCPBサイズに基づいて判定することにより、さらに映像復号部104の処理開始時間を早くすることもできる。
 条件3は、インター符号化が用いられる場合における制約条件である。そのため、条件3は、全てIピクチャで符号化する符号化モードの場合には不要である。各映像復号部104は、後述する参照画像バッファ105に、各スライスの復号画像である参照画像を蓄積する。各映像復号部104は、後段のスライスのインター符号化ブロックの復号において、動きベクトルに応じて参照画像バッファ105から直前に符号化された参照画像を取得する。
 映像復号部104の個数がM[個]である場合、あるスライスに対して映像復号処理が行われた後、次に同一の映像復号部104において映像復号処理がなされるのは、Mスライス分だけ離れたスライスである。ここで、1画像前のMスライス以上離れていないスライスに対しては、復号が完了していないため参照を禁止する必要がある。この条件により、画像を跨いでも、均等な時間間隔で各スライスの復号処理を開始することができるようになる。これにより、復号処理の低遅延化が図られる。
 映像符号化装置2は、上記の制約条件を満たすように符号化制御を実施する。そして、映像符号化装置2は、低遅延復号が有効であるか否かを示すフラグ(以下、「低遅延化フラグ」という。)を、入力ストリーム内のユーザデータ領域、又は未使用領域に記述(付与)する。映像符号化装置2は、上記の制約条件を満たしている場合には、低遅延化フラグとして、低遅延復号が有効であることを示す値を記述する。また、映像符号化装置2は、上記の制約条件を満たしていない場合には、低遅延化フラグとして、低遅延復号が無効であることを示す値を記述する。
 以下、低遅延化フラグとして、低遅延化された復号処理を行うことが有効であることを示す値が記述されていることを「低遅延化フラグが有効である」という。また、以下、低遅延化フラグとして、低遅延化された復号処理を行うことが無効であることを示す値が記述されていることを「低遅延化フラグが無効である」という。
 映像復号装置1は、入力ストリーム内のユーザデータ領域、又は未使用領域に記述された低遅延化フラグを識別する。映像復号装置1は、低遅延化フラグが有効である場合に、上述した低遅延化された復号処理を行う。この低遅延化フラグにより、映像符号化装置2及び映像復号装置1を、制約条件を満たさない場合には通常の(低遅延化されていない)符号化処理及び復号処理をそれぞれ行うようにすることも可能である。そのため、この低遅延化フラグを設けることで、映像符号化装置2及び映像復号装置1を、汎用的な装置として構成することができる。
 また、映像符号化装置2及び映像復号装置1の間においては、算術復号部103の並列数(N[個]、図1においてはN=6)、映像復号部104の並列数(M[個]、図1においてはM=8)、算術復号部103全体のスループット(Rmax)、及びスライス分割パターンに関する情報について事前に共有されているものとする。なお、映像符号化装置2及び映像復号装置1が、複数種類の上記情報を共有していてもよい。この場合、映像復号装置1が、低遅延化フラグの値によって当該種類を判別することができるようにしておくことで、低遅延化フラグの値に基づいて、複数種類の動作の中から動作を切り替えて復号処理を行うようにすることも可能である。
[映像復号装置の構成]
 以下、映像復号装置1の構成について説明する。
 図1に示すように、映像復号装置1は、ストリーム入力部101と、6つの算術復号部(第1算術復号部103-1、第2算術復号部103-2、・・・、第6算術復号部103-6)と、8つの映像復号部(第1映像復号部104-1、第2映像復号部104-2、・・・、第8映像復号部104-8)と、参照画像バッファ105と、映像出力部106と、を含んで構成される。
 なお、以下の説明において、第1算術復号部103-1、第2算術復号部103-2、・・・、第6算術復号部103-6を互いに区別して説明する必要がない場合には、「算術復号部103」という。また、以下の説明において、第1映像復号部104-1、第2映像復号部104-2、・・・、第8映像復号部104-8を互いに区別して説明する必要がない場合には、「映像復号部104」という。
 なお、本実施形態では、算術復号部103及び映像復号部104の個数がそれぞれ6[個]及び8[個]であるものとしたが、これに限られるものではない。算術復号部103及び映像復号部104の個数はそれぞれ複数であるならば、任意の個数で構わない。
 ストリーム入力部101は、映像符号化装置2により出力された入力ストリームの入力を受け付ける。ストリーム入力部101は、入力ストリームを解析し、当該入力ストリームに含まれるユーザデータ領域又は未使用領域に定義された、低遅延化フラグの値を取得する。
 全体制御部102は、低遅延化フラグが有効であるか、又は無効であるかを判定する。
全体制御部102は、低遅延化フラグが無効である場合には復号処理を停止し、低遅延化フラグが有効である場合には後述する低遅延化された復号処理を各機能部に実行させる。
なお、全体制御部102は、低遅延化フラグが無効である場合には、通常の(低遅延化されていない)復号処理を各機能部に実行させるようにしてもよい。
 次に、ストリーム入力部101は、復号開始可能な画像の先頭部分のストリームを受信すると、当該画像の復号開始時刻を取得する。例えば、MPEG-2 TS(TransportStream)(H.222, ISO/IEC13818-1)である場合、復号開始時刻はPES(Packetized Elementary Stream)ヘッダのDTS(Decoding Time Stamp)の値に相当する。別途再生されて参照可能なSTC等の基準時刻に基づいて、復号開始時刻になった時に、第1算術復号部103-1は、最初のスライスであるスライス0の算術復号処理を開始する。以降、受信順に、第2算術復号部103-2~第6算術復号部103-6は、各スライスの算術復号処理を開始する。
 復号開始からn番目のスライスであるスライスnの復号開始時刻d(n)は、以下の式(2)によって計算される。
  d(n)=l/L/P+D(n) ・・・(2)
 ここで、Pは、フレームレート[frame/s]を示す。また、Lは、1画像あたりの符号化ブロックライン(CTUライン)数[個]を示す。また、l(l=0~L-1)は、当該スライスの先頭の符号化ブロックラインを示す。また、D(n)は、当該スライスが属する画像の復号開始時刻を示す。
 スライスnに対しては、第(n%6)+1算術復号部(例えばn=1である場合、第2算術復号部103-2)によって、時刻d(n)に算術復号処理が開始される。
 スライス分割サイズに関する制約(上記、第1条件)と、スライス符号量に関する制約(上記、第2条件)が満たされているならば、どの算術復号部103においても、後段のスライスの復号開始時刻の前までに算術復号処理を完了させることが可能である。また、d(n)+α時間までに、算術復号部103はスライスnの算術復号処理を完了させ、後段の映像復号部104は映像復号処理を開始することができる。
 ここで、ストリーム内のCPB(Coded Picture Buffer)サイズ等から、スライスの符号量が必ずT以下であることが分かっている場合には、上記αは、上述した映像復号装置1のスライス上限符号量Tmaxに基づく、T/Tmax*αに変更されてもよい。これにより、さらに低遅延化を図ることができる。
 映像復号部104は、符号化ブロックライン単位で映像復号処理を行う。映像復号部104は、HEVCの映像復号処理の依存関係を考慮して映像復号処理を行う。具体的には、映像復号部104は、右上に位置するCTUの復号が完了してから次のCTUの復号が行われるように、下段の符号化ブロックラインに対する映像復号処理を、上段の符号化ブロックラインに対する映像復号処理の実行時刻から1符号化ブロックライン分の入力時間に相当する時間だけ遅らせて実行する。
 各映像復号部104は、共通の参照画像バッファ105を参照することができる。また、復号済みの復号画像は、HEVCであればDPB(Decoding Picture Buffer)の規定に従い、当該参照画像バッファ105に蓄積されている。
 映像復号部104は、動き補償の参照範囲に関する制約(上記、第3条件)を満たしているならば、画像の上端の符号化ブロックラインを復号する際に、画像の下端の復号画像を必要とすることがない。そのため、映像復号部104は、画像の下端の符号化ブロックラインの復号が終了する前に、後段の画像の上端の符号化ブロックラインの復号を開始することができる。
 各符号化ブロックライン単位の映像復号処理は、一定の時間内に終了する。スライスnの復号映像は、d(n)+α+β時間までに映像出力部106に入力される。映像出力部106は、入力されたスライスnの復号映像を、SDIフォーマット等の所定の映像フォーマットに合わせて整形及び変換したうえで、復号映像として出力する。
 上記のような構成により、映像復号装置1は、算術復号部103と映像復号部104の双方において、余分な待ち時間を発生させることがない。これにより、本実施形態によれば、従来と同程度の処理能力を有する映像復号装置を用いつつも、復号処理の低遅延化を図ることができる。
[映像符号化装置の構成]
 以下、上記の制約条件を満たす入力ストリームを出力する映像符号化装置2の構成について説明する。
[映像符号化装置の構成]
 図4は、本発明の第1の実施形態に係る映像符号化装置2の機能構成を示すブロック図である。図4に示すように、映像符号化装置2は、映像分割部201と、全体制御部202と、レート制御部203と、第1部分エンコーダ204-1と、第2部分エンコーダ204-2と、ストリーム連結部208と、を含んで構成される。また、第1部分エンコーダ204-1は、第1映像符号化部205-1と、第1算術符号化部206-1と、第1ストリーム出力部207-1と、を含んで構成される。また、第2部分エンコーダ204-2は、第2映像符号化部205-2と、第2算術符号化部206-2と、第2ストリーム出力部207-2と、を含んで構成される。
 なお、以下の説明において、第1部分エンコーダ204-1と第2部分エンコーダ204-2とを互いに区別して説明する必要がない場合には、「部分エンコーダ204」という。また、以下の説明において、第1映像符号化部205-1と第2映像符号化部205-2とを互いに区別して説明する必要がない場合には、「映像符号化部205」という。
また、以下の説明において、第1算術符号化部206-1と第2算術符号化部206-2とを互いに区別して説明する必要がない場合には、「算術符号化部206」という。また、以下の説明において、第1ストリーム出力部207-1と、第2ストリーム出力部207-2とを互いに区別して説明する必要がない場合には、「ストリーム出力部207」という。
 図4に示すように、映像符号化装置2は、2つの部分エンコーダ204を備える。入力映像は、映像分割部201によって空間的に上下の位置関係となる2つの部分画像(第1分割映像及び第2分割映像)に分割される。第1分割映像及び第2分割映像は、第1部分エンコーダ204-1及び第2部分エンコーダ204-2にそれぞれ入力される。それぞれの部分エンコーダ204においては、第1分割映像又は第2分割映像は、映像符号化部205によりスライス符号化データに、さらに算術符号化部206によりスライスデータに符号化され、ストリーム出力部207により第1分割ストリーム又は第2分割ストリームとしてそれぞれ出力される。ストリーム連結部208は、上下の位置関係となる2つの部分ストリーム(上記、第1分割ストリーム及び第2分割ストリーム)を連結して1つの出力ストリームとして出力する。
 全体制御部202は、スライスの分割サイズについて、映像復号装置1側のスライス分割に関する制約(上記、第1条件)を満たすように、映像符号化部205及び算術符号化部206を制御する。例えば、映像符号化装置2が、3840×2160画素の4K映像を符号化する場合には、各画像を図2に示すような18[個]のスライスに分割して符号化を行う。図2に示すように、スライス#8及びスライス#17は1つの符号化ブロックラインからなり、残りの16[個]のスライスは2つの符号化ブロックラインによって構成される。第1映像符号化部205-1及び第1算術符号化部206-1は、スライス#0からスライス#8までに対して、順に符号化処理を行う。これと同時に、第2映像符号化部205-2及び第2算術符号化部206-2は、スライス#9からスライス#17までに対して、順に符号化処理を行う。
 スライスサイズが小さい場合、符号化効率や符号量制御の安定性の低下につながる一方で、スライスサイズが大きい場合、符号化処理における遅延及び復号処理における遅延の増加につながる。そのため、本実施形態にでは、両者のバランスを取り、1符号化ブロックライン又は2符号化ブロックラインのスライスサイズに分割する構成としている。また、1符号化ブロックラインからなるスライスは互いに9スライス分だけ離れており、任意の連続する6スライスに含まれる符号化ブロックライン数は11[個]又は12[個]である。このように、符号化ブロックライン数の差は最大1[個]であることにより、映像復号装置1の算術復号部103における待ち時間が最低限に抑えられる。
 レート制御部203は、それぞれのスライスデータの符号量が映像復号装置1側の発生符号量に関する制約(上記、第2条件)を満たすように、それぞれの映像符号化部205に与える量子化パラメータを決定する。上述したスライス分割サイズの場合、レート制御部203は、各スライス符号化前・後のバッファ占有量が、以下の式(3)に示すCPBサイズBmaxを満たすように、各スライスの符号量を制御する。
  Bmax=2/34*R’max/P ・・・(3)
 ここで、R’maxは、本スライス分割パターンにおいて映像復号装置1が算術復号部103の並列処理によって復号可能な最大ビットレートを示す。また、2/34*R’max/Pは、1つの算術復号部103が後段のスライスの算術復号の開始時刻までに1つのスライスの復号を完了させることが可能な最大のスライスデータの符号量を示す。
 上記CPBサイズでスライス単位でのバッファ制御を行うことにより、映像復号装置1の算術復号部103は、いずれも所定の時間内に算術復号処理を完了させることができる。これにより、算術復号部103は、スライス単位での算術復号処理の並列処理を効率的に行うことができる。
 実際には、算術復号部103が所定の時間内に算術復号処理を完了させるためには、全てのスライスの符号量が、上記式(3)に示したCPBサイズBmaxを下回ればよい。
そのため、同条件を満たすことができるならば、CPBサイズをより小さい値やより大きい値に設定することも可能であるが、本実施形態においては簡素化のため同じ値としている。
 符号化ビットレートがR’maxである場合、2符号化ブロックラインの大きさのストリームについては、ほぼ均一な符号量に収まるように制御する必要があるが、符号化ビットレートが低い場合には、スライス間において符号量の貸し借りがあってもよい。
 また、本実施形態においては、スライス#0からスライス#8までと、スライス#9からスライス#17までとが並列符号化される。そのため、上記の符号量制御を実現するためには、例えば、スライス#9の符号化開始時のCPB占有量をBmax/2等に仮決めし、スライス#8の符号化終了時の占有量がBmax/2を必ず上回るように、スライス#0からスライス#8までの符号量を制御すればよい。
 本実施形態においては、映像符号化装置2は、2つの部分エンコーダ204の間において境界に接する参照画像を相互に一定の垂直幅(例えば、128画素)まで転送し、2つの分割画像を跨ぐ動きに対してもある程度の動き補償が可能であるように動作する。これは、ARIB STD-B32に規定された8K映像ストリームに対する規定と同等であり、並列符号化において一般的に用いられる方法である。このような符号化装置の構成の場合、復号装置側の動き補償の参照範囲に関する制約(上記、第3条件)については満たされることが保証される。
 ストリーム出力部207は、算術符号化部206により入力されたスライスデータに対して、ユーザデータ領域又は未使用領域に低遅延化フラグの値を付加して、第1分割ストリーム及び第2分割ストリームとしてストリーム連結部208へ出力する。また、復号開始時刻及び基準時刻再生のための情報としては、例えばMPEG-2 TSのDTS等のように標準的に用いられる情報を用いればよい。
 上記のような構成により、映像符号化装置2は、上述した映像復号装置1において低遅延化された復号処理を行うことができるストリームを生成することができる。
[映像復号装置の動作]
 以下、映像復号装置1の全体制御部102の動作の一例について説明する。
 図5は、本発明の第1の実施形態に係る映像復号装置1の全体制御部102の動作を示すフローチャートである。なお、別途、ストリーム入力部101、算術復号部103、映像復号部104、及び映像出力部106が並列に動作するが、これらの機能ブロックの動作ステップについては記載を省略する。
 まず、全体制御部102が、内部パラメータx、y、zをそれぞれ0に初期化することにより、復号処理が開始される。全体制御部102は、入力ストリームのユーザデータ領域又は未使用領域に記述された低遅延化フラグの値を取得する(ステップS001)。全体制御部102は、低遅延化フラグが有効であるか無効であるかを判定する。全体制御部102は、低遅延化フラグが無効である場合(ステップS002・NO)、通常の(低遅延化されていない)復号処理を実行する(ステップS003)。以上で図5のフローチャートが示す全体制御部102の動作が終了する。
 一方、全体制御部102は、低遅延化フラグが有効である場合(ステップS002・YES)、全体制御部102は、復号開始可能な画像の受信を待ちうける。全体制御部102は、復号開始可能な画像を受信していない場合(ステップS004・NO)、引き続き復号開始可能な画像の受信を待ちうける。
 一方、全体制御部102は、復号開始可能な画像を受信した場合(ステップS004・YES)、以下の式(4)に示す、復号開始からx番目のスライスであるスライスxの復号時刻d(x)を計算する(ステップS005)。
  d(x)=D(x)+l/L/P ・・・(4)
 ここで、Pは、フレームレート[frame/s]を示す。また、Lは、1画像あたりの符号化ブロックライン数を示す。また、l(l=0~L-1)は、スライスの先頭の符号化ブロックラインを示す。また、D(x)は、スライスが属する画像の復号時刻を示す。
 スライスxの復号時刻d(x)になった場合(ステップS006・YES)、全体制御部102は、第x%N算術復号部103(例えば、x=1かつN=6である場合、第1算術復号部103-1)に、スライスxに対する算術復号処理を開始させる。ここで、Nは算術復号部103の並列数[個]である。また以降の処理のため、全体制御部102は、xに1を加算する(ステップS007)。一方、スライスxの復号時刻d(x)になっていない場合(ステップS006・NO)、全体制御部102は何もしない。
 次に、スライスyの復号時刻d(y)+αになった場合(ステップS008・YES)、全体制御部102は、第y%M映像復号部104(例えば、y=1かつM=8である場合、第1映像復号部104-1)に、スライスyに対する映像復号処理を開始させる。ここで、αは定数、及びMは映像復号部の並列数[個]である。また以降の処理のため、全体制御部102は、yに1を加算する(ステップS009)。一方、スライスyの復号時刻d(y)+αになっていない場合(ステップS008・NO)、全体制御部102は何もしない。
 次に、スライスzの復号時刻d(z)+α+βになった場合(ステップS010・YES)、全体制御部102は、映像出力部106にスライスzの復号映像を出力させる。ここで、βは定数である。また以降の処理のため、全体制御部102は、zに1を加算する(ステップS011)。一方、スライスzの復号時刻d(z)+α+βになっていない場合(ステップS010・NO)、全体制御部102は何もしない。
 全体制御部102は、引き続きストリームを受信しているかを判定する。全体制御部102は、引き続きストリームを受信していると判定した場合(ステップS012・YES)、ステップS005以降の処理を繰り返す。一方、全体制御部102は、引き続きストリームを受信していないと判定した場合(ステップS012・NO)、復号処理を終了させる。以上で、図5のフローチャートが示す全体制御部102の動作が終了する。
<第2の実施形態>
 第2の実施形態では第1の実施形態とは異なり、各スライスnの受信後、該当する算術復号部103は、処理が可能な状態であるならば復号開始時刻d(n)を待たずに算術復号処理を開始する。
 特に、符号化ビットレートRが、各算術復号部103の最大スループットRmax/N以上である条件においては、映像復号装置1の上限符号量Tmax未満であるCPBサイズTでスライス単位でのCPB制御を行ったストリームに対して、映像復号処理の開始時刻をd(n)+T*(N/Rmax-1/R)+γに決定する。ここで、γは、調整可能なパラメータを示す。これにより、第2の実施形態によれば、さらに低遅延化を図ることが可能である。
 第1の実施形態においては、スライスnの復号開始時刻d(n)は、以下の式(5)によって表される。
  d(n)=e(n)+T/R ・・・(5)
 ここで、e(n)は、符号化終了時刻を示す。また、T/Rは、CPBによる固定遅延を示す。
 一方、第2の実施形態では、算術復号部103は、CPBによる固定遅延を待たずに、スライスの先頭部分の取得直後のe(n)+{T-b’(n)}/Rの時点から、算術復号処理を開始する。ここで、b’(n)は、スライスn符号化前のCPB占有量である。
b(n)をスライスn符号化後のCPB占有量とすると、算術復号処理が終了する時刻は、e(n)+{T-b’(n)}/R+{b’(n)-b(n)}*N/Rmaxとなる。これは、e(n)+{T-b(n)}*N/Rmax以下の値であり、さらには、e(n)+T*N/Rmax以下の値であることから、e(n)=d(n)-T/Rを代入することによって、算術復号処理の完了時刻を、d(n)+T*(N/Rmax-1/R)以下であると見積もることができる。
 以上説明したように、上述した実施形態に係る映像復号装置1は、少なくとも1つの符号化ブロックラインからなる複数のスライスを、N個の算術復号部103とM個の映像復号部104とによって並列に復号処理する。N個の算術復号部103は、任意の連続するN個のスライスに含まれる符号化ブロックライン数の合計と、任意の連続するN個のスライスとは異なる連続するN個のスライスに含まれる符号化ブロックライン数の合計との差が1以下であるという条件と、各スライスの符号量が所定の上限符号量未満であるという条件と、を満たすストリームに対して、各スライスサイズに応じた時間間隔で順に算術復号処理を開始する。
 また、以上説明したように、上述した実施形態に係る映像符号化装置2は、任意の連続するN個のスライスに含まれる符号化ブロックライン数の合計と、当該任意の連続するN個のスライスとは異なる連続するN個のスライスに含まれる符号化ブロックライン数の合計との差が1以下であるという第1条件と、各スライスの符号量が所定の上限符号量未満であるという第2条件と、画像の上端からX番目の符号化ブロックラインのインター符号化において、直前に符号化された画像である参照画像の下端からM-X番目の符号化ブロックラインを参照しないという第3条件のうち、少なくとも第1条件と第2条件とを満たすように符号化された出力ストリームを生成し、少なくとも第1条件と第2条件とを満たすことを示す低遅延化フラグを当該出力ストリームに付与する。
 映像復号装置1と映像符号化装置2とが上記の構成を備えることで、符号化側と復号側において所定の条件(制約条件)を共有し、符号化の対象及び復号の対象であるストリームが所定の条件を満たした場合、当該ストリームは、例えば図2のようなスライス分割パターンで分割される。これにより、復号側において並列に算術復号処理及び映像復号処理を行うことができるため、上述した実施形態に係る映像復号装置1及び映像符号化装置2は、復号処理を低遅延化することができる。
 上述した実施形態における映像復号装置1及び映像符号化装置2の一部又は全部を、コンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、上述した機能の一部を実現するためのものであっても良く、さらに上述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、PLD(Programmable Logic Device)やFPGA(Field Programmable GateArray)等のハードウェアを用いて実現されるものであってもよい。
 以上、図面を参照して本発明の実施形態を説明してきたが、上記実施形態は本発明の例示に過ぎず、本発明が上記実施形態に限定されるものではないことは明らかである。したがって、本発明の技術思想及び要旨を逸脱しない範囲で構成要素の追加、省略、置換、及びその他の変更を行ってもよい。
1…映像復号装置、2…映像符号化装置、101…ストリーム入力部、102…全体制御部、103…算術復号部、104…映像復号部、105…参照画像バッファ、106…映像出力部、201…映像分割部、202…全体制御部、203…レート制御部、204…部分エンコーダ、205…映像符号化部、206…算術符号化部、207…ストリーム出力部、208…ストリーム連結部

Claims (9)

  1.  少なくとも1つの符号化ブロックラインからなるスライスであって、画像が分割された複数の前記スライスを、N個の算術復号部とM個の映像復号部とによって並列に復号処理を行う復号装置であって、
     前記N個の算術復号部は、
     任意の連続するN個のスライスに含まれる符号化ブロックライン数の合計と、前記任意の連続するN個のスライスとは異なる連続するN個のスライスに含まれる符号化ブロックライン数の合計との差が1以下であるという条件と、各スライスの符号量が所定の上限符号量未満であるという条件と、を満たすストリームに対して、各スライスサイズに応じた時間間隔で順に算術復号処理を開始する
     復号装置。
  2.  前記算術復号部は、
     前記上限符号量と同一のサイズのバッファに記憶された画像に対してスライス単位での符号量制御を行ったストリームに対し、各スライスの先頭部分を取得した後、処理可能な状態であるならば算術復号処理を開始する
     請求項1に記載の復号装置。
  3.  前記上限符号量の大きさに応じて、画像内の最初のスライスの算術復号処理の開始時刻から前記スライスの最初の符号化ブロックラインの映像復号処理の開始時刻までの時間を決定する制御部
     をさらに備える請求項1又は請求項2に記載の復号装置。
  4.  前記M個の映像復号部は、
     画像の上端からX番目の符号化ブロックラインのインター符号化において、直前に符号化された画像である参照画像の下端からM-X番目の符号化ブロックラインを参照しないという条件を満たしている場合に、各符号化ブロックラインに対して所定の時間間隔で順に映像復号処理を開始する
     請求項1から請求項3のうちいずれか一項に記載の復号装置。
  5.  前記符号化ブロックラインに含まれるフラグの値を識別し、前記フラグの値に基づいて前記復号処理を行うか否かを判定する制御部
     をさらに備える請求項1から請求項4のうちいずれか一項に記載の復号装置。
  6.  任意の連続するN個のスライスに含まれる符号化ブロックライン数の合計と、前記任意の連続するN個のスライスとは異なる連続するN個のスライスに含まれる符号化ブロックライン数の合計との差が1以下であるという第1条件と、各スライスの符号量が所定の上限符号量未満であるという第2条件と、画像の上端からX番目の符号化ブロックラインのインター符号化において、直前に符号化された画像である参照画像の下端からM-X番目の符号化ブロックラインを参照しないという第3条件のうち、少なくとも前記第1条件と前記第2条件とを満たすように符号化されたストリームを生成し、少なくとも前記第1条件と前記第2条件とを満たすことを示すフラグを前記ストリームに付与する、
     符号化装置。
  7.  少なくとも1つの符号化ブロックラインからなるスライスであって、画像が分割された複数の前記スライスを、N個の算術復号部とM個の映像復号部とによって並列に復号処理を行う復号方法であって、
     前記N個の算術復号部が、任意の連続するN個のスライスに含まれる符号化ブロックライン数の合計と、前記任意の連続するN個のスライスとは異なる連続するN個のスライスに含まれる符号化ブロックライン数の合計との差が1以下であるという条件と、各スライスの符号量が所定の上限符号量未満であるという条件と、を満たすストリームに対して、各スライスサイズに応じた時間間隔で順に算術復号処理を開始するステップ
     を有する復号方法。
  8.  任意の連続するN個のスライスに含まれる符号化ブロックライン数の合計と、前記任意の連続するN個のスライスとは異なる連続するN個のスライスに含まれる符号化ブロックライン数の合計との差が1以下であるという第1条件と、各スライスの符号量が所定の上限符号量未満であるという第2条件と、画像の上端からX番目の符号化ブロックラインのインター符号化において、直前に符号化された参照画像の下端からM-X番目の符号化ブロックラインを参照しないという第3条件のうち、少なくとも前記第1条件と前記第2条件とを満たすように符号化されたストリームを生成し、少なくとも前記第1条件と前記第2条件とを満たすことを示すフラグを前記ストリームに付加する
     符号化方法。
  9.  請求項1から請求項5のうちいずれか一項に記載の復号装置又は請求項6に記載の符号化装置としてコンピュータを機能させるためのプログラム。
PCT/JP2019/040037 2018-10-31 2019-10-10 復号装置、符号化装置、復号方法、符号化方法、及びプログラム WO2020090408A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/283,213 US11909954B2 (en) 2018-10-31 2019-10-10 Decoding apparatus, encoding apparatus, decoding method, encoding method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-204968 2018-10-31
JP2018204968A JP6982253B2 (ja) 2018-10-31 2018-10-31 復号装置、符号化装置、復号方法、符号化方法、及びプログラム

Publications (1)

Publication Number Publication Date
WO2020090408A1 true WO2020090408A1 (ja) 2020-05-07

Family

ID=70464110

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/040037 WO2020090408A1 (ja) 2018-10-31 2019-10-10 復号装置、符号化装置、復号方法、符号化方法、及びプログラム

Country Status (3)

Country Link
US (1) US11909954B2 (ja)
JP (1) JP6982253B2 (ja)
WO (1) WO2020090408A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022083601A (ja) * 2020-11-25 2022-06-06 キヤノン株式会社 画像受信装置、画像送信装置、方法およびプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009296169A (ja) * 2008-06-03 2009-12-17 Fujitsu Ltd 動画像復号装置および符号化装置
WO2012014471A1 (ja) * 2010-07-30 2012-02-02 パナソニック株式会社 画像復号化装置、画像復号化方法、画像符号化装置および画像符号化方法
JP2014027462A (ja) * 2012-07-26 2014-02-06 Canon Inc 画像符号化装置、画像符号化システム、画像符号化方法及びプログラム、画像復号装置、画像復号システム、画像復号方法及びプログラム
JP2017005503A (ja) * 2015-06-10 2017-01-05 日本電信電話株式会社 映像符号化装置、映像符号化方法及び映像符号化プログラム
JP2017158171A (ja) * 2016-02-26 2017-09-07 パナソニックIpマネジメント株式会社 動画像符号化装置及び動画像符号化方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3961654B2 (ja) 1997-12-22 2007-08-22 株式会社東芝 画像データ復号化装置及び画像データ復号化方法
US9648325B2 (en) * 2007-06-30 2017-05-09 Microsoft Technology Licensing, Llc Video decoding implementations for a graphics processing unit
AP3992A (en) * 2011-07-15 2017-01-08 Ge Video Compression Llc Sample array coding for low-delay
JP6080375B2 (ja) 2011-11-07 2017-02-15 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US8923388B2 (en) * 2011-11-21 2014-12-30 Texas Instruments Incorporated Early stage slice cap decision in video coding
US9485506B2 (en) * 2012-09-11 2016-11-01 Texas Instruments Incorporated Method and system for constraining slice header processing overhead in video coding
SG11201501400QA (en) * 2012-09-26 2015-04-29 Panasonic Ip Corp America Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
US10250912B2 (en) * 2015-02-17 2019-04-02 Mediatek Inc. Method and apparatus for entropy decoding with arithmetic decoding decoupled from variable-length decoding
US20180020228A1 (en) * 2016-07-12 2018-01-18 Mediatek Inc. Video processing system with multiple syntax parsing circuits and/or multiple post decoding circuits
EP3777196A1 (en) * 2018-03-29 2021-02-17 FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. Concept for enhancing parallel coding capabilities
JP2022526023A (ja) * 2019-04-10 2022-05-20 ホアウェイ・テクノロジーズ・カンパニー・リミテッド エンコーダ、デコーダ、および対応する方法
CA3136342A1 (en) * 2019-05-03 2020-11-12 Fnu HENDRY An encoder, a decoder and corresponding methods

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009296169A (ja) * 2008-06-03 2009-12-17 Fujitsu Ltd 動画像復号装置および符号化装置
WO2012014471A1 (ja) * 2010-07-30 2012-02-02 パナソニック株式会社 画像復号化装置、画像復号化方法、画像符号化装置および画像符号化方法
JP2014027462A (ja) * 2012-07-26 2014-02-06 Canon Inc 画像符号化装置、画像符号化システム、画像符号化方法及びプログラム、画像復号装置、画像復号システム、画像復号方法及びプログラム
JP2017005503A (ja) * 2015-06-10 2017-01-05 日本電信電話株式会社 映像符号化装置、映像符号化方法及び映像符号化プログラム
JP2017158171A (ja) * 2016-02-26 2017-09-07 パナソニックIpマネジメント株式会社 動画像符号化装置及び動画像符号化方法

Also Published As

Publication number Publication date
JP6982253B2 (ja) 2021-12-17
US11909954B2 (en) 2024-02-20
JP2020072369A (ja) 2020-05-07
US20210385434A1 (en) 2021-12-09

Similar Documents

Publication Publication Date Title
JP6985436B2 (ja) 低遅延のためのサンプルアレイ符号化
JP6808341B2 (ja) 並列処理を許容している符号化概念、トランスポートデマルチプレクサおよびビデオビットストリーム
JP5043033B2 (ja) 復号化システムおよび方法
JP5072893B2 (ja) 画像符号化方法および画像復号化方法
JP4495701B2 (ja) 人間の視覚特性を考慮した映像の符号化方法、及び、記録媒体
CN107087170B (zh) 编码设备、编码方法、解码设备和解码方法
US8660177B2 (en) Parallel entropy coding
KR100985361B1 (ko) 데이터 처리를 위한 장치, 시스템 및 방법
KR102123620B1 (ko) 대용량 병렬 처리를 위해 비디오 신호를 엔트로피 인코딩 또는 엔트로피 디코딩하는 방법 및 장치
US20190356911A1 (en) Region-based processing of predicted pixels
US20120263232A1 (en) Methods for encoding and decoding images, corresponding encoding and decoding devices and computer programs
WO2020090408A1 (ja) 復号装置、符号化装置、復号方法、符号化方法、及びプログラム
KR20070029072A (ko) 동화상 신호의 부호화 장치, 동화상 신호의 부호화 방법 및컴퓨터 판독 가능한 기록 매체
JP6415637B2 (ja) 復号装置、復号方法、プログラム及び記憶媒体
JPWO2006059796A1 (ja) 符号化装置および方法、並びにプログラム
KR102257754B1 (ko) 영상의 부호화/복호화 방법 및 이를 이용하는 장치
JP2010034802A (ja) 動画像符号化装置およびその制御方法
US20120147972A1 (en) Image decoding apparatus, image decoding method, image encoding apparatus, image encoding method, and program
RU2777499C1 (ru) Кодирование массива выборок для низкой задержки
KR102668064B1 (ko) 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법, 화상 복호 방법, 컴퓨터 프로그램을 저장하기 위한 컴퓨터 판독 가능한 비일시적 저장 매체
JP2004080634A (ja) 符号変換装置
JP2009077179A (ja) 動画像符号化装置、動画像符号化装置の制御方法、および、コンピュータプログラム
JP2009105639A (ja) 画像符号化方法および装置ならびに画像処理機器

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19879598

Country of ref document: EP

Kind code of ref document: A1