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

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

Info

Publication number
WO2019124042A1
WO2019124042A1 PCT/JP2018/044461 JP2018044461W WO2019124042A1 WO 2019124042 A1 WO2019124042 A1 WO 2019124042A1 JP 2018044461 W JP2018044461 W JP 2018044461W WO 2019124042 A1 WO2019124042 A1 WO 2019124042A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
cost
frame
unit
blocks
Prior art date
Application number
PCT/JP2018/044461
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 US16/770,300 priority Critical patent/US11184608B2/en
Publication of WO2019124042A1 publication Critical patent/WO2019124042A1/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/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock

Definitions

  • the present disclosure relates to an image processing apparatus and method, and more particularly to an image processing apparatus and method capable of achieving smoothing of data amount and maintaining subjective image quality.
  • IFR intraframe correlation
  • PFR interframe correlation
  • IFR intraframe correlation
  • PFR interframe correlation
  • IFR intraframe correlation
  • PFR interframe correlation
  • IB intra blocks
  • PB interblocks that reference and decode past frame data (in fact there are also B such as bi-directional, etc.) for convenience.
  • the bit amount of IB is often larger than PB. Therefore, various methods have been proposed in which smoothing of the data amount of a frame is realized by distributing and arranging the arrangement of IBs in the PFR instead of the IFR in the middle of the stream.
  • distributing the arrangement of the IBs in the PFR by devising the arrangement method, it is possible to secure a certain degree of resistance to reproduction and errors from the middle of the stream (see Patent Document 1).
  • the IBs are arranged in stripes in the horizontal or vertical direction, and a portion where IBs are arranged in stripes (referred to as a stripe part of IB) is controlled so as not to exceed the reference of PB.
  • the stripe part of the IB is moved sequentially frame by frame, and the connection with the past frame is cut off by the operation as if the screen is refreshed.
  • the stripe portion of the IB becomes a boundary and cuts off the reference of PB, and efficient reference can not be made.
  • the present disclosure has been made in view of such a situation, and realizes smoothing of the amount of data and maintaining subjective image quality.
  • the image processing device includes: a cost calculation unit that calculates a cost of a prediction mode for each block that constitutes a current frame; the cost; and And a refresh mode determination unit which selects a prediction mode for each block based on a refreshed block which is a block.
  • the cost of the prediction mode for each block that constitutes the current frame is calculated. Then, the prediction mode for each block is selected based on the cost and a refreshed block which is a block refreshed in a previous frame temporally prior to the current frame.
  • smoothing of the amount of data can be realized, and subjective image quality can be maintained.
  • FIG. 1 is a block diagram showing a configuration example of an embodiment of an encoding device to which the present disclosure is applied. It is a figure which shows the relationship between the state of the block in refresh mode determination processing, and a mode. It is a figure which shows the relationship between the state of the block as a result of having made a round of refresh mode determination processing, and mode. It is a figure which shows the state transition of a block. 7 is a flowchart briefly describing a refresh mode determination process. It is a figure explaining the refresh mode determination processing of the 1st frame. It is a figure explaining the refresh mode determination processing of the 2nd frame.
  • FIG. 25 is a flowchart for describing intra-frame mode determination and encoding processing of step S16 in FIG. 24.
  • FIG. The cost preparation process for each block in the frame of step S36 in FIG. 25 will be described.
  • FIG. 26 is a flowchart for describing mode determination processing for each block in the frame of step S37 in FIG. 25.
  • FIG. It is a flowchart explaining the encoding process of FIG.25 S36.
  • It is a flowchart explaining the decoding process of the decoding apparatus of FIG.
  • It is a block diagram showing an example of main composition of a computer.
  • FIG. 1 is a diagram for explaining a method in which the arrangement of intra blocks in a frame compressed using inter-frame correlation is devised.
  • a frame compressed using intraframe correlation is called an IFR (Intra-coded Frame).
  • a frame compressed using inter-frame correlation is referred to as PFR (Predicted Frame) for convenience, although there is also a bidirectional reference B.
  • An intra block that can be decoded using only intraframe data is referred to as IB.
  • An inter block decoded with reference to data of a past frame is referred to as PB for convenience although there is also B such as bi-directional in practice.
  • FIG. 1 shows a frame provided with a vertically striped IB area indicated by hatching.
  • the IB is arranged in the IB area.
  • the reference of PB is restricted so as not to cross the IB area in the frame.
  • An operation of moving the IB area in order of each frame an operation as if refreshing the screen (hereinafter, an operation as if refreshing the screen, is referred to as refreshing in the screen) Can cut off the relationship between According to the method of FIG. 1, restoration of an image within a fixed time can be ensured.
  • the IB area is the boundary and the reference of PB is cut off, and efficient reference is difficult. Also, it is highly possible that the stripe-like IB area moves on the screen sequentially from left to right (hereinafter referred to as scanning) appears on the decoded image, and the quality of compression is not very good. There were many.
  • the method described above has the following two features.
  • the inside of the screen is refreshed by scanning the inside of the frame by the stripe-like IB area or another method. At that time, the arrangement of the IB area on the frame makes the already refreshed area and the unrefreshed area clear.
  • the left side of the IB area is the refreshed area, and the right side is the area not yet refreshed.
  • the IB area tends to appear as a difference in image quality in the decoded image and tends to be easily recognized. Being divided statically means that even if the frame changes, it can be divided at a defined area called IB area.
  • the feature (2) reduces the compression efficiency in order to constrain the reference area.
  • the limitation of the refresh and reference area in a fixed time in the screen is realized without basically having the above features (1) and (2).
  • the arrangement of IBs is not set to a statically solidified area, and IBs are arranged randomly within the screen. By making the arrangement of IB random, it becomes difficult to visually recognize the image quality difference between IB and PB.
  • a reference area constraint refers to a table indicating past IB placements. Also, in order to improve the overall compression efficiency, not only the simple constraint of the PB reference area but also the cost for the entire screen is calculated, and the IB and PB prediction mode determination is performed using the calculated optimum value of the cost Is done.
  • the prediction mode is simply referred to as a mode.
  • FIG. 2 is a block diagram showing a configuration example of an embodiment of an encoding device to which the present technology is applied.
  • the encoding device 11 of FIG. 2 encodes an image according to a scheme conforming to the HEVC scheme.
  • the encoding device 11 can also be configured as an imaging device by including an imaging unit.
  • the encoding device 11 can configure a communication system together with the decoding device 101 of FIG. 29 described later. An image in units of frames is input to the encoding device 11 as an encoding target.
  • a frame represents data of one screen and is composed of blocks for compression.
  • a block is a unit block for compression such as MPEG (Moving Picture Experts Group). Blocks are often referred to as macroblocks, coding blocks, and coding units. Processing such as motion compensation and DCT is performed in block units.
  • the blocks include IB and PB described above.
  • the encoding device 11 includes a buffer 21, an input information analysis unit 22, a rate control unit 23, an intra refresh mode determination unit 24, an operation unit 25, an orthogonal transform quantization unit 26, an entropy encoding unit 27, a buffer 28, and an inverse quantization.
  • the inverse orthogonal transform unit 29 and the addition unit 30 are included.
  • the encoding device 11 further includes a deblocking filter 31, a frame memory 32, an intra prediction unit 33, a motion compensation unit 34, and a selector 35.
  • An image of a frame unit input as an encoding target is stored in the buffer 21.
  • the buffer 21 rearranges the images in frame units stored in display order according to the GOP structure in the encoding order.
  • the buffer 21 outputs the rearranged image to the calculation unit 25, the addition unit 30, the intra prediction unit 33, and the motion compensation unit 34.
  • the input information analysis unit 22 analyzes the image stored in the buffer 21, and supplies information representing the analysis result to the rate control unit 23 and the intra refresh mode determination unit 24. For example, the input information analysis unit 22 analyzes the poorness.
  • the overall image diffusivity is a measure of image complexity. A value obtained by summing the mean value of pixels in each block and the square value of the difference value of each pixel (equivalently, mean square error, MSE (Mean Squqred error)) or the like is generally used as the diffusibility.
  • the rate control unit 23 performs quantization for controlling the rate of the quantization operation of the orthogonal transform quantization unit 26 based on the information supplied from the input information analysis unit 22 and the encoded data stored in the buffer 28. Calculate an index of the value and supply an index of the calculated quantization value. The index of the quantization value is calculated so that overflow or underflow does not occur. The index of the calculated quantization value is supplied to the intra refresh mode determination unit 24, the intra prediction unit 33, and the motion compensation unit 34. The index of the quantization value is used to calculate the cost in the intra prediction unit 33 and the motion compensation unit 34.
  • the intra refresh mode determination unit 24 includes the information of the optimal intra mode supplied from the intra prediction unit 33, the corresponding cost function value (hereinafter simply referred to as cost), and the optimal inter mode supplied from the motion compensation unit 34. Information and corresponding costs are entered.
  • the cost represents the load when encoding in block units.
  • the cost is basically calculated from the compression distortion and the rate (rate). Less distortion and less generation yield less cost. By selecting the least cost mode with the lowest cost as the optimum mode, the compression efficiency can be improved.
  • the intra refresh mode determination unit 24 performs a refresh mode determination process based on the information and cost of the optimal intra mode supplied from the intra prediction unit 33 and the information and cost of the optimal inter mode supplied from the motion compensation unit 34.
  • the refresh mode determination process is a process of determining an optimal mode for refresh using an algorithm according to the present technology.
  • Refresh means that even if there is an error in past frame data, an image can be generated and reconstructed using only the frame data.
  • the block-wise refresh indicates a block to be compressed using only correct data in the frame, i.e. IB.
  • Refreshing on a frame-by-frame basis indicates a frame that can be guaranteed to be fully recoverable after an error.
  • the intra refresh mode determination unit 24 determines the mode of each block based on the determination result of the refresh mode determination process.
  • the intra refresh mode determination unit 24 supplies the selector 35 with intra / inter selection information determined for each block.
  • the intra refresh mode determination unit 24 obtains a quantization value corresponding to the determined optimum mode based on the index of the quantization value calculated by the rate control unit 23, and indicates information indicating the optimum mode and the optimum mode.
  • the quantized value is supplied to the orthogonal transform quantization unit 26.
  • the computing unit 25 subtracts the predicted image supplied from the selector 35 from the image supplied from the buffer 21.
  • the arithmetic unit 25 outputs the image obtained as a result of the subtraction to the orthogonal transform quantization unit 26 as residual information (difference).
  • residual information difference
  • the image read out from the calculation unit 25 and the buffer 21 is output as it is to the orthogonal transformation quantization unit 26 as residual information.
  • the orthogonal transformation quantization unit 26 performs orthogonal transformation processing on the residual information calculated by the arithmetic unit 25 and quantizes the orthogonal transformation processing result. Examples of orthogonal transformation methods include DCT (Discrete Cosine Transformation) and DST (Discrete Sine Transformation).
  • the orthogonal transform quantization unit 26 supplies the quantization value as a result of the orthogonal transform quantization process to the entropy coding unit 27.
  • the entropy coding unit 27 acquires, from the intra prediction unit 33, intra mode information which is information indicating the optimal intra mode.
  • Intra mode information is information representing a block size, a prediction direction, and the like.
  • the entropy coding unit 27 acquires, from the motion compensation unit 34, inter mode information which is information indicating the optimum inter mode, a motion vector, information for specifying a reference image, and the like.
  • Inter mode information is information representing a block size and the like.
  • the entropy coding unit 27 performs variable length coding (eg, CAVLC (Context-Adaptive Variable Length Coding), etc.), arithmetic coding (eg, CABAC, etc.) on the quantization value quantized by the orthogonal transformation quantization unit 26.
  • variable length coding eg, CAVLC (Context-Adaptive Variable Length Coding), etc.
  • arithmetic coding eg, CABAC, etc.
  • Huffman coding may be used.
  • the entropy coding unit 27 losslessly encodes intra mode information, or inter mode information, motion vectors, and information specifying a reference image as coding information related to coding.
  • the entropy coding unit 27 supplies the losslessly encoded coding information and the quantization value as coded data to the buffer 28 and stores the same.
  • the buffer 28 temporarily accumulates the encoded data encoded by the entropy encoding unit 27. Also, the buffer 28 transmits the stored encoded data as a bit stream together with the parameter set and various headers.
  • the quantization value quantized by the orthogonal transformation quantization unit 26 is also input to the inverse quantization inverse orthogonal transformation unit 29.
  • the inverse quantization inverse orthogonal transformation unit 29 inversely quantizes the quantization value, and performs inverse orthogonal transformation processing on the orthogonal transformation processing result obtained as a result of the inverse quantization.
  • inverse orthogonal transformation there are, for example, IDCT (inverse discrete cosine transformation) and IDST (inverse discrete sine transformation).
  • IDCT inverse discrete cosine transformation
  • IDST inverse discrete sine transformation
  • the addition unit 30 adds the residual information orthogonally transformed by the inverse quantization inverse orthogonal transformation unit 29 and the image supplied from the buffer 21 and performs decoding.
  • the addition unit 30 supplies the decoded image to the deblocking filter 31.
  • the deblocking filter 31 performs adaptive deblocking filter processing for removing block distortion on the image supplied from the adding unit 30, and supplies the resulting image to the frame memory 32.
  • the frame memory 32 stores the image on which the deblocking filter 31 has performed the adaptive deblocking filter processing.
  • the image stored in the frame memory 32 is supplied to the intra prediction unit 33 as a peripheral image, and is output to the motion compensation unit 34 as a reference image.
  • the intra prediction unit 33 performs intra prediction processing of all candidate intra modes using the peripheral image read from the frame memory 32.
  • the intra prediction unit 33 calculates the cost of all candidate intra modes based on the image read from the buffer 21 and the predicted image generated as a result of the intra prediction process. Then, the intra prediction unit 33 determines the intra mode with the lowest cost as the optimal intra mode.
  • the intra prediction unit 33 supplies the prediction image generated in the optimal intra mode to the selector 35, and supplies the intra mode information and the corresponding cost to the intra refresh mode determination unit 24.
  • the intra prediction unit 33 supplies intra mode information to the entropy coding unit 27 when the predicted image generated in the optimal intra mode is selected by the selector 35.
  • the motion compensation unit 34 performs motion prediction / compensation processing for all candidate inter modes. Specifically, the motion compensation unit 34 detects motion vectors in all candidate inter modes based on the image supplied from the buffer 21 and the reference image read from the frame memory 32. Then, the motion compensation unit 34 performs a compensation process on the reference image based on the detected motion vector to generate a predicted image.
  • the motion compensation unit 34 calculates the cost of all candidate inter modes based on the image supplied from the buffer 21 and the predicted image, and determines the inter mode with the lowest cost as the optimal inter mode. Do. Then, the motion compensation unit 34 supplies the prediction image generated in the optimal inter mode to the selector 35, and supplies the inter mode information and the corresponding cost to the intra refresh mode determination unit 24.
  • the motion compensation unit 34 When the predicted image generated in the optimal inter mode is selected by the selector 35, the motion compensation unit 34 outputs the inter mode information, the corresponding motion vector, information for specifying a reference image, and the like to the entropy coding unit 27.
  • the selector 35 selects the predicted image from the intra prediction unit 33 or the predicted image from the motion compensation unit 34 based on the intra / inter selection information selected by the intra refresh mode determination unit 24 and calculates the selected predicted image as an arithmetic unit Output to 25
  • ⁇ Refresh mode determination process The refresh mode determination process performed by the intra refresh mode determination unit 24 will be described.
  • the intra refresh mode determination unit 24 refers to whether the block is a refreshed block or a non-refreshed block in a previous frame located before (temporally) in time. Choose the best mode.
  • the refreshed block is referred to as RB (refreshed block), and the non-refreshed block is referred to as NRB (no-refreshed block).
  • the RB area represents the area consisting of RB among the areas to which PB refers
  • the NRB area represents the area consisting of NRB among the areas to which PB refers.
  • RB is a block that was an IB at time t-1 or a block that is an RB itself and that refers only to an RB area as a state before determining the mode of the block at time t. is there.
  • NRB refers to a block that is NRB at time t-1 and is not IB or a portion including an NRB area even if it is an RB as a state before determining the mode of the block at time t. It is a block that was PB.
  • PB referring to the RB area
  • PBn PB referring to the portion including the NRB area
  • PBn PB only when it is not necessary to distinguish.
  • One round of refresh operation by IB is called a set. For example, it is assumed that there are 25 blocks in a frame composed of 5 ⁇ 5 blocks, and RB is increased by 5 blocks per frame. After 5 frames, the refresh operation makes a round, all blocks become RBs, and one set ends. At the beginning of each set, all blocks become NRBs.
  • FIG. 3 is a diagram showing the relationship between block states and modes in the refresh mode determination process.
  • FIG. 3 shows an example in which one frame is composed of 5 ⁇ 5 blocks.
  • the upper part shows the state of the block from the encoding of the time earlier than the time to the encoding time of the time.
  • the lower part shows the mode of the block as a result of encoding at the relevant time. The same applies to the subsequent figures unless otherwise described.
  • times t-1, t, t + 1,... T + (m-1), t + m are shown.
  • the leftmost five blocks that were IB at time t-1 were RBs, and the remaining 20 blocks were NRBs.
  • 5 blocks in the first column become PBr
  • 5 blocks in the second column become IB
  • the remaining 15 blocks become PB.
  • the 20 blocks in the first to fourth columns that were PBr at time t + (m-2) (not shown) are RBs, and the 5 blocks in the fifth column are It was NRB.
  • 20 blocks in the first to fourth columns become PBr, and 5 blocks in the fifth column become IB.
  • the frame at time t + m is a refreshed frame in which all blocks are RB. It becomes.
  • FIG. 4 is a diagram showing the relationship between the state of the block and the mode as a result of one round of the refresh mode determination process.
  • IBs are vertically arranged in order as in the vertical stripe-shaped IB area described with reference to FIG. 1 by the refresh mode determination process of the present technology. This is an example of moving.
  • IBs can be randomly arranged.
  • FIG. 5 is a diagram showing the state transition of the block.
  • a block of NRB remains NRB in a later (future) frame located in time later, as indicated by a solid arrow, if the coding result is PB. Also, before coding, a block of NRB becomes an RB in a later frame as indicated by a thick arrow if the coding result is IB.
  • a block which is an RB before encoding can maintain the RB also in a later frame as indicated by a solid arrow if the encoding result is IB or PBr.
  • the block of RB is NRB in a later frame as indicated by a thick arrow if the coding result is PBn.
  • FIG. 6 is a flowchart briefly describing the refresh mode determination process.
  • step S1 the intra refresh mode determination unit 24 obtains the cost (a) of IB for the block of NRB.
  • the cost of IB (a) is the cost of a candidate to become an RB.
  • step S2 the intra refresh mode determination unit 24 obtains the minimum cost (b) of all modes for the block of NRB.
  • step S3 the intra refresh mode determination unit 24 obtains the cost of IB and PBr for each block of RB, and obtains the smaller cost (c).
  • the smaller cost (c) is the cost to maintain the RB.
  • Information indicating the mode of the smaller cost (c) is stored in the memory in the intra refresh mode determination unit 24.
  • step S4 the intra refresh mode determination unit 24 obtains the minimum cost (d) in all modes for the block of RB.
  • step S5 the intra refresh mode determination unit 24 creates a table T1 including the cost for each block, with the smaller one of the cost (a) and the cost (c) as a representative value.
  • step S6 the intra refresh mode determination unit 24 creates a table T2 in which the cost (a) to the cost (d) are composed of the cost for each block of the entire frame.
  • table T2 for the cost of different modes of the same block, the cost with the smallest value is selected.
  • Information indicating the selected cost mode is stored in the memory.
  • step S7 the intra refresh mode determination unit 24 uses the table T1 to select the mode of the block to be the RB.
  • the intra refresh mode determination unit 24 selects the block of the number N + n in order from the lowest value of the cost in the table T1, and sets the mode of the selected block to a mode corresponding to the cost of the selected block.
  • the block selected here is an RB.
  • N is 0 at the beginning of the set, and n is a natural number representing the number of RBs to be increased per frame.
  • N is updated as N + n.
  • step S8 the intra refresh mode determination unit 24 selects the mode of each block using the table T2 for the remaining blocks not selected using the table T1.
  • the block selected here is NRB.
  • one set of processing ends after the total number of blocks / n frames, and the refresh of the frame data is completed. Since the mode of each block always chooses the minimum value when calculating the cost, it is possible to obtain an optimum value.
  • FIG. 7 is a diagram for explaining the refresh mode determination process of the first frame. The following description will be made with reference to FIG.
  • the intra refresh mode determination unit 24 calculates the cost (a) and the cost (b) for all blocks (NB) in steps S1 and S2. In practice, at the beginning of the process, the cost (b) is not necessary. In steps S4 and S5, a table T1 and a table T2 are created, and in step S6, the IB of the lowest cost is selected from the table T1.
  • the block in the fourth row is selected as the IB.
  • the mode is selected by the process of step S7. Note that at the beginning of the set, PBn and PBr are treated the same, since they are all NRB blocks. Therefore, in the lower part of FIG. 7, the remaining blocks other than IB are denoted as PB.
  • each block is encoded according to the mode selected as described above, and the processing of the first frame is ended.
  • FIG. 8 is a diagram for explaining the refresh mode determination process of the second frame.
  • FIG. 8 shows the state of the block before coding of the second frame.
  • the block that has become IB by the coding of the first frame is an RB, and the other blocks are NRBs.
  • the intra refresh mode determination unit 24 sequentially performs the processes of steps S1 to S4 of FIG. 6 on the block of RB and the block of NRB, and creates the table T1 and the table T2 in steps S5 and S6.
  • step S7 the intra refresh mode determination unit 24 selects a mode of ten blocks serving as RB, using the table T1.
  • the mode of each of the selected blocks is IB or PBr.
  • FIG. 8 shows the state of the block before encoding of the second frame.
  • the first row is based on the left end
  • the first row is based on the upper end
  • the second row is for the fifth row
  • the third row is for the second and third rows.
  • the block in the fourth row is selected as PBr.
  • the blocks in the third row and the fifth row are selected as the IB.
  • step S8 the intra refresh mode determination unit 24 uses the table T2 to select the mode of the remaining block.
  • the mode of the selected block is collectively described as PB in the lower part of FIG. 8, but actually becomes PBr or PBn.
  • each block is encoded according to the mode selected as described above, and the processing of the second frame is ended.
  • FIG. 9 is a diagram for explaining the refresh mode determination process of the third frame.
  • FIG. 9 is a diagram illustrating the state after the end of the second frame, that is, the state of the block before coding of the third frame.
  • the block that has become IB and PBr by the encoding of the second frame becomes RB, and the other blocks become NRB.
  • a block that has once become an RB has not returned to the NRB.
  • the RB may become NRB or an RB larger than a specified one may be generated.
  • FIG. 10 is a diagram illustrating an example in which a block that has become an RB returns to the NRB.
  • the upper part of FIG. 10 shows the state of the block before encoding of the second frame.
  • the block that has become IB by the coding of the first frame is an RB, and the other blocks are NRBs.
  • the lower part of FIG. 10 differs from the lower part of FIG. 8 in that block a is PBn instead of PBr, block b is IB not PBr, and block c is IB * instead of PB. There is.
  • IB and PBr in the lower part of FIG. 10 become candidates for RB when the mode of ten blocks serving as RB is selected (step S7 in FIG. 6).
  • RB candidates become RBs at the next timing.
  • the block a is originally RB, but is not selected at the next timing, and becomes PBn.
  • another NRB is a candidate for RB and is an IB.
  • NRB is selected to be an RB, and it is ensured that the total number of RBs increases.
  • IB * shown in block c represents IBs selected in the order (11) above the predetermined number (10).
  • the block c does not have to be an IB for the purpose of sequentially refreshing, but an IB may be selected from the result of cost calculation, resulting in an increase in RB.
  • FIG. 11 is a diagram showing the state of the first frame as in the case of FIG.
  • the process of the first frame is basically the same as the process of FIG. 7, so the process of the second frame of FIG. 12 will be described.
  • FIG. 12 is a diagram showing the state of the second frame.
  • the upper part of FIG. 12 represents the state of the block before encoding of the second frame.
  • the block that has become IB by the coding of the first frame is an RB, and the other blocks are NRBs.
  • the intra refresh mode determination unit 24 sequentially performs the processes of steps S1 to S4 of FIG. 6 on the block of RB and the block of NRB, and creates the table T1 and the table T2 in steps S5 and S6.
  • the intra refresh mode determination unit 24 sequentially performs the processes of steps S1 to S4 of FIG. 6 on the block of RB and the block of NRB, and creates the table T1 and the table T2 in steps S5 and S6.
  • step S8 the intra refresh mode determination unit 24 uses the table T2 to select the mode of the remaining block.
  • FIG. 12 shows the state of the block before encoding of the second frame.
  • block a is not PBr but PBn
  • block b is not PBr but IB
  • block c is not PB but IB *. It is different.
  • the block a is an RB in the previous frame, but is not selected at the next timing, and is PBn.
  • the block b becomes an RB but becomes an IB again, and can maintain the RB, so it is treated the same as PBr.
  • the block c is an IB, which is the 11th IB in a situation where 10 can be selected, and is selected using the table T2.
  • each block is encoded according to the mode selected as described above, and the processing of the second frame is ended.
  • FIG. 13 is a diagram showing the state after the end of the second frame, that is, the state of the block before encoding of the third frame, as in FIG.
  • the block that has become IB and PBr by the encoding of the second frame becomes RB, and the other blocks become NRB.
  • FIG. 14 is a diagram for explaining the position of a block in a frame.
  • x is a coordinate in the horizontal direction
  • y is a coordinate in the vertical direction.
  • the position of ⁇ xy> is ⁇ 00> ⁇ 10> ⁇ 20> from left to right in the upper row.
  • the position of ⁇ xy> is ⁇ 01> ⁇ 11> ⁇ 21> from the left to the right in the middle row.
  • the position of ⁇ xy> is ⁇ 02> ⁇ 12> ⁇ 22> from the left to the right in the lower part.
  • FIG. 15 is a diagram showing the prev table, cost_IB, and cost_PBn in the 0th frame.
  • the prev table shows the state of the block after coding of the previous frame.
  • cost_IB indicates the cost to be IB of each block.
  • cost_PBn indicates the cost to be PBn of each block. Since cost_PBr depends on the state of the block (Prev), it is indicated during processing.
  • N indicates that it is in the state of NRB
  • R indicates that it is in the state of RB.
  • all blocks are N.
  • the intra refresh mode determination unit 24 calculates the table T1 and the table T2 under the assumption of the cost shown in FIG. Initially, cost_PBr has no value because all block states are N.
  • FIG. 16 is a diagram showing the table T1 and the table T2 in the zeroth frame.
  • the table T1 is a table for becoming an RB.
  • the table T1 consists of the cost cost_R of each block calculated according to the algorithm and the corresponding mode mode_R. Since PBr initially has no value, the cost cost_R of the table T1 uses the cost of all cost_IB.
  • the table T2 consists of the cost cost_R of each block calculated according to the algorithm and the corresponding mode mode_R.
  • the cost cost_N of the table T2 is composed of the minimum values of cost_IB and cost_PBn in order to be the minimum values of all modes.
  • FIG. 17 is a diagram illustrating the decided cost and the decided mode in the zeroth frame.
  • ⁇ 00> IB
  • ⁇ 10> PBn
  • ⁇ 20> IB
  • ⁇ 01> PBn
  • ⁇ 11> PBn
  • ⁇ 21> PBn
  • ⁇ 02> PBn
  • ⁇ 12> PBn
  • ⁇ 22> IB.
  • FIG. 18 is a diagram illustrating the prev table, cost_IB, cost_PBn, and cost_PBr in the first frame.
  • the intra refresh mode determination unit 24 calculates the table T1 and the table T2 under the assumption of the cost shown in FIG. 18 as in the zeroth frame.
  • FIG. 19 is a diagram showing the table T1 and the table T2 in the first frame.
  • FIG. 20 is a diagram illustrating the decided cost and the decided mode in the first frame.
  • ⁇ 00> PBr
  • ⁇ 10> IB
  • ⁇ 20> PBr
  • ⁇ 01> IB
  • ⁇ 11> PBn
  • ⁇ 21> PBn
  • ⁇ 02> IB
  • ⁇ 12> IB
  • ⁇ 22> PBn.
  • FIG. 21 is a diagram showing the prev table, cost_IB, cost_PBn, and cost_PBr in the second frame which is the final of the set.
  • the second frame is performed in the same manner as the selection of the first frame. However, since it is the final frame, it is necessary for all to be RB as a result. Therefore, the calculation to become NRB is not necessary. There is no distinction in the algorithm, but it is rejected as a result. Although cost_PBn is shown in FIG. 21, it is not used in the end.
  • the intra refresh mode determination unit 24 calculates the table T1 under the assumption of the cost shown in FIG. 21 as in the zeroth and first frames.
  • FIG. 22 is a diagram showing the table T1 and the table T2 in the second frame.
  • FIG. 23 is a diagram illustrating the decided_cost and the decided_mode in the second frame.
  • ⁇ 22> of the decided_mode at the end of the first frame is PBn.
  • the state of the first block of ⁇ 22> is RB.
  • a block that has once become an RB becomes an NRB again.
  • the number of RBs, which is a total of 6 when IB and PBr are added, is correctly increased.
  • step S11 the intra refresh mode determination unit 24 sets an initial value.
  • Total_Block: number of all blocks in the frame.
  • a value representing the number of blocks to be refreshed at one time is set as the value of n (n: number of blocks to be refreshed at one time).
  • step S12 the buffer 21 reads and stores the frame input as the encoding target.
  • step S13 the buffer 21 rearranges the images in frame units stored in display order according to the GOP structure in the encoding order.
  • the buffer 21 outputs the rearranged image to the calculation unit 25, the addition unit 30, the intra prediction unit 33, and the motion compensation unit 34.
  • step S14 the image stored in the buffer 21 is analyzed, and information representing the analysis result is supplied to the rate control unit 23 and the intra refresh mode determination unit 24.
  • step S15 the rate control unit 23 and the intra refresh mode determination unit 24 determine the quantization value by rate control.
  • step S16 an intra-frame mode determination and encoding process is performed. Details of the intra-frame mode determination and the encoding process will be described later with reference to the flowchart of FIG.
  • the quantization value quantized by the orthogonal transform quantization unit 26 is supplied to the entropy coding unit 27 by the intra-frame mode determination and the encoding process.
  • step S17 the entropy encoding unit 27 losslessly encodes the quantization value quantized by the orthogonal transform quantization unit 26. Encoded data is generated from the losslessly encoded quantized value, and the generated encoded data is supplied to the buffer 28.
  • step S18 the buffer 28 temporarily accumulates the encoded data encoded by the entropy encoding unit 27 and outputs it as a bit stream at a predetermined timing.
  • step S19 the intra refresh mode determination unit 24 determines whether the frame to be processed is the last frame. If it is determined in step S19 that the frame is not the last frame, the process returns to step S12, and the subsequent processes are repeated.
  • step S19 If it is determined in step S19 that the frame is the last frame, the frame encoding process of FIG. 24 is ended.
  • step S16 of FIG. 24 will be described with reference to the flowchart of FIG.
  • step S31 the intra refresh mode determination unit 24 determines whether the frame to be processed is the first frame. If it is determined in step S31 that the frame is the first frame, the process proceeds to step S32.
  • step S33 the intra refresh mode determination unit 24 sets the mode of all blocks to intra. That is, the first frame is processed as an intra frame, and the process proceeds to step S38.
  • step S31 determines whether the frame is not the first frame.
  • step S34 If it is determined in step S34 that N is not 0, step S35 is skipped, and the process proceeds to step S36.
  • step S36 the intra refresh mode determination unit 24 performs a cost generation process for each intra-frame block. Details of the cost generation process for each intra-frame block will be described later with reference to FIG.
  • table_RB_cost and table_RB_mode which are tables T1 consisting of candidate costs for RB or costs for maintaining RB, are created, and table_NRB_cost is table T2, which is the table T2 of the smallest of all mode costs.
  • table_NRB_mode are created.
  • step S37 the intra refresh mode determination unit 24 performs mode determination processing for each intra-frame block.
  • the details of the mode determination process for each intra-frame block will be described later with reference to FIG.
  • the mode of the block to be the RB and the mode of the block to be the NRB are determined.
  • step S38 encoding processing is performed. The details of the encoding process will be described later with reference to FIG.
  • step S 38 subtraction of the predicted image from the original image or deblocking filter is applied, and the image is stored in the frame memory 32 for the next frame.
  • step S40 the intra refresh mode determination unit 24 determines whether N is larger than total_block, which is the total number of blocks in the frame.
  • step S40 If it is determined in step S40 that the value is larger than total_block, the process proceeds to step S41.
  • step S40 If it is determined in step S40 that N is smaller than total_block, the process of step S41 is skipped, and the intra-frame mode determination and encoding process of FIG. 25 is ended.
  • step S62 the intra prediction unit 33 performs intra (IB) prediction calculation.
  • the intra prediction unit 33 performs intra prediction calculation, supplies the prediction image generated in the optimal intra mode to the selector 35, and supplies information on the optimal intra mode and the corresponding cost to the intra refresh mode determination unit 24.
  • step S63 the motion compensation unit 34 performs inter (PBr, PBn) prediction calculation.
  • the motion compensation unit 34 performs inter prediction calculation, and supplies the prediction image generated in the optimal inter mode to the selector 35.
  • the inter mode information and the corresponding cost are supplied to the intra refresh mode determination unit 24.
  • step S65 the intra refresh mode determination unit 24 determines whether the block of the block number (blk) is an RB or NRB in a past frame (block_mode [blk]?). If it is determined in step S65 that the block blk is an RB in a past frame, the process proceeds to step S66.
  • step S71 the intra refresh mode determination unit 24 determines whether blk is smaller than the total number of blocks in the frame, total_Block. If it is determined in step S71 that blk is smaller than total_Block, the process returns to step S62, and the subsequent processes are repeated.
  • step S71 If it is determined in step S71 that blk is larger than total_Block, the cost generation process for each intra-frame block in FIG. 26 is ended.
  • Step S92 to S96 in FIG. 27 are processing performed on RB
  • steps S97 to S100 are processing performed on NRB.
  • step S92 the value of argmin (table_RB_cost) indicating that the position of the minimum value in the table (table_RB_cost) is set is set to the value of a.
  • step S94 the intra refresh mode determination unit 24 deletes a from table_RB_cost and table_RB_mode.
  • step S96 the intra refresh mode determination unit 24 determines whether i is larger than N + n. If it is determined in step S96 that i is equal to or less than N + n, the process returns to step S92, and the subsequent processes are repeated.
  • step S96 If it is determined in step S96 that i is larger than N + n, the process proceeds to step S97.
  • step S97 the intra refresh mode determination unit 24 determines whether the mode is set for all the blocks blk. If it is determined in step S97 that the mode is set for all blocks blk, the mode determination process for each intra-frame block in FIG. 27 is ended.
  • step S97 If it is determined in step S97 that the mode is not set for all blocks blk, the process proceeds to step S98.
  • step S98 the intra refresh mode determination unit 24 determines whether table_RB_cost [blk], which is the block value of the RB cost table, is smaller than table_NRB_cost [blk], which is the block value of the NRB cost table. Do.
  • step S98 If it is determined in step S98 that table_RB_cost [blk] is smaller than table_NBR_cost [blk], the process proceeds to step S99.
  • step S98 when it is determined in step S98 that table_RB_cost [blk] is greater than or equal to table_NBR_cost [blk], the process proceeds to step S100.
  • step S99 or S100 the process returns to step S97, and the subsequent processes are repeated.
  • step S38 of FIG. 25 will be described with reference to the flowchart of FIG.
  • the mode is selected in step S37 of FIG. 25, and intra / inter selection information is supplied to the selector 35.
  • the selector 35 supplies the predicted image according to the intra / inter selection information to the calculation unit 25.
  • step S122 the calculation unit 25 subtracts the predicted image from the original image when the selected mode is inter. If the selected mode is intra, the original image is output as it is.
  • step S123 the orthogonal transformation quantization unit 26 performs orthogonal transformation processing on the information supplied from the calculation unit 25.
  • the orthogonal transformation quantization unit 26 quantizes the orthogonal transformation processing result.
  • the orthogonal transform quantization unit 26 supplies the quantization value obtained as a result of the quantization to the entropy coding unit 27 and the inverse quantization inverse orthogonal transform unit 29.
  • step S124 the inverse quantization inverse orthogonal transformation unit 29 performs inverse quantization on the quantization value quantized by the orthogonal transformation quantization unit 26.
  • the inverse quantization inverse orthogonal transformation unit 29 supplies the result of orthogonal transformation processing obtained as a result of the inverse quantization to the addition unit 30.
  • step S125 when the selected mode is inter, the adding unit 30 adds the image (predicted image) as a result of the inverse orthogonal transformation by the inverse quantization inverse orthogonal transformation unit 29 and the image supplied from the buffer 21. Do.
  • the adding unit 30 supplies the added image to the deblocking filter 31.
  • the selected mode is intra, the image stored in the buffer 21 is supplied to the deblocking filter 31.
  • step S126 the deblocking filter 31 performs deblocking filter processing on the image added by the adding unit 30.
  • step S127 the deblocking filter 31 supplies the image obtained as a result to the frame memory 32.
  • the image stored in the frame memory 32 is output to the motion compensation unit 34 as a reference image.
  • step S129 the intra refresh mode determination unit 24 determines whether blk is larger than total_Block. If it is determined in step S129 that blk is smaller than total_Block, the process returns to step S122, and the subsequent processes are repeated.
  • step S129 If it is determined in step S129 that blk is larger than total_Block, the encoding process is ended.
  • the generation amount of each frame is equalized. As a result, it is possible to suppress unevenness in the time direction and to realize low delay.
  • the refresh interval can be selected relatively freely.
  • FIG. 29 is a block diagram illustrating a configuration example of an embodiment of a decoding device to which the present disclosure is applied. Note that the bit stream generated and transmitted according to the present technology in the encoding device 11 of FIG. 2 is a bit stream that does not require special decoding processing. Therefore, the configuration of the decoding device in FIG. 29 is one configuration example of a general decoding device.
  • the decoding device 101 decodes the bit stream transmitted from the coding device 11 of FIG.
  • the decoding device 101 of FIG. 29 includes a buffer 121, an entropy decoding unit 122, an inverse quantization inverse orthogonal transformation unit 123, an addition unit 124, a deblocking filter 125, and a buffer 126.
  • the decoding device 101 further includes a frame memory 128, a switch 129, an intra prediction unit 130, a motion compensation unit 131, and a switch 132.
  • the buffer 121 of the decoding device 101 receives and stores the encoded data included in the bit stream transmitted from the encoding device.
  • the buffer 121 supplies the encoded data stored therein to the entropy decoding unit 122.
  • the entropy decoding unit 122 performs lossless decoding such as variable-length decoding or arithmetic decoding on the encoded data supplied from the buffer 121 to obtain a quantization value and encoding information.
  • the entropy decoding unit 122 supplies the quantization value to the inverse quantization inverse orthogonal transformation unit 123.
  • the entropy decoding unit 122 supplies intra mode information and the like as coding information to the intra prediction unit 130.
  • the entropy decoding unit 122 supplies a motion vector, inter mode information, information for specifying a reference image, and the like to the motion compensation unit 131.
  • the entropy decoding unit 122 supplies intra or inter mode information as coding information to the switch 132.
  • the inverse quantization inverse orthogonal transformation unit 123, the addition unit 124, the deblocking filter 125, the frame memory 128, the intra prediction unit 130, and the motion compensation unit 131 are the inverse quantization inverse orthogonal transformation unit 29, the addition unit 30, Processing similar to that of the deblocking filter 31, the frame memory 32, the intra prediction unit 33, and the motion compensation unit 34 is performed to decode the image.
  • the inverse quantization inverse orthogonal transformation unit 123 is configured in the same manner as the inverse quantization inverse orthogonal transformation unit 29 in FIG.
  • the inverse quantization inverse orthogonal transformation unit 123 inversely quantizes the quantization value obtained as a result of the decoding process.
  • the inverse quantization inverse orthogonal transformation unit 123 supplies the information obtained as a result of the inverse orthogonal transformation processing to the addition unit 124.
  • the addition unit 124 adds the information obtained as a result of the inverse orthogonal transformation processing of the inverse quantization inverse orthogonal transformation unit 123 and the predicted image supplied from the switch 132.
  • the addition unit 124 supplies the deblock filter 125 with the image resulting from the addition.
  • the deblocking filter 125 performs adaptive deblocking filtering on the image added by the adding unit 124, and supplies the resulting image to the frame memory 128 and the buffer 126.
  • the buffer 126 accumulates the image which the deblocking filter 125 adaptively deblock-filtered on a frame basis.
  • the buffer 126 rearranges the stored frame-by-frame images in the order for encoding into the original display order, and outputs the rearranged images to the subsequent stage (not shown).
  • the frame memory 128 stores the image which the deblocking filter 125 adaptively deblocked.
  • the image subjected to the filter processing accumulated in the frame memory 128 is supplied to the motion compensation unit 131 via the switch 129 as a reference image.
  • the intra prediction unit 130 performs intra prediction processing in the optimal intra mode indicated by the mode information of the intra supplied from the entropy decoding unit 122 using the peripheral image read from the frame memory 128 via the switch 129.
  • the intra prediction unit 130 supplies the predicted image generated as a result to the switch 132.
  • the motion compensation unit 131 reads the reference image specified by the information specifying the reference image supplied from the entropy decoding unit 122 from the frame memory 128 via the switch 129.
  • the motion compensation unit 131 performs motion compensation processing of the optimal inter mode indicated by the mode information of the inter supplied from the entropy decoding unit 122 using the motion vector and the reference image supplied from the entropy decoding unit 122.
  • the motion compensation unit 131 supplies the predicted image generated as a result of the motion compensation process to the switch 132.
  • the switch 132 supplies the prediction image predicted by the intra prediction unit 130 to the addition unit 124 when intra mode information is supplied from the entropy decoding unit 122.
  • the switch 132 supplies the predicted image predicted by the motion compensation unit 131 to the addition unit 124.
  • step S151 the buffer 121 accumulates the encoded data supplied to the decoding device 101.
  • step S152 the entropy decoding unit 122 performs a decoding process to obtain quantized data.
  • step S153 the inverse quantization inverse orthogonal transformation unit 123 inversely quantizes the quantized data obtained by the process of step S152 to obtain orthogonal transformation coefficients.
  • the inverse quantization inverse orthogonal transformation unit 123 performs inverse orthogonal transformation on the orthogonal transformation coefficient to obtain a restored image.
  • step S154 the intra prediction unit 130, the motion compensation unit 131, and the switch 132 perform the prediction process in the mode at the time of encoding, and generate a predicted image.
  • step S155 the adding unit 124 adds the predicted image obtained by the process of step S154 to the restored image obtained by the process of step S151 to obtain a reconstructed image.
  • step S156 the deblocking filter 125 performs a filtering process such as a deblocking filter on the reconstructed image obtained by the process of step S155 to obtain a decoded image.
  • a filtering process such as a deblocking filter
  • step S157 the buffer 126 rearranges the decoded images obtained by the process of step S156, and sets the order of the frames to the original display order (the order before the buffer 21 of the encoding device 11 is rearranged). Rearrange.
  • step S158 the frame memory 128 stores the decoded image obtained by the process of step S157.
  • the stored decoded image is used as a reference image in inter prediction.
  • step S156 ends, the image decoding process ends.
  • processing unit of each of these processes is arbitrary, and does not need to be mutually identical. Therefore, the processing of each step can be executed in parallel with the processing of other steps, etc., or by changing the processing order as appropriate.
  • the data units in which the information related to the image and the information related to the encoding / decoding of the image described above are set are arbitrary, and are not limited to the above-described example.
  • these pieces of information may be set for each TU, PU, CU, LCU, subblock, block, tile, slice, picture, sequence, or component, or data of those data units. May be targeted.
  • the data unit is set for each information. That is, all pieces of information may not be set (or targeted) in the same data unit.
  • the storage location of these pieces of information is arbitrary, and may be stored in the header or parameter set of the data unit described above. Also, they may be stored in a plurality of places.
  • the present disclosure is, for example, satellite broadcasting, cable television, the Internet, mobile phones, etc. of image information (bit stream) compressed by orthogonal transformation such as discrete cosine transformation and motion compensation as in the HEVC system etc.
  • the present invention can be applied to an image encoding device and an image decoding device that are used when receiving via the network media of
  • the present disclosure can be applied to an image encoding device and an image decoding device used when processing on storage media such as an optical disk, a magnetic disk, and a flash memory.
  • the system, apparatus, processing unit, etc. to which the present technology is applied can be used in any field such as traffic, medical care, crime prevention, agriculture, animal husbandry, mining, beauty, factory, home appliance, weather, nature monitoring, etc. .
  • the present technology can also be applied to systems and devices that transmit images provided for viewing.
  • the present technology can be applied to systems and devices provided for traffic.
  • the present technology can be applied to systems and devices provided for security.
  • the present technology can be applied to systems and devices provided for sports.
  • the present technology can be applied to systems and devices provided for agriculture.
  • the present technology can be applied to systems and devices provided for livestock industry.
  • the present technology can also be applied to systems and devices that monitor natural conditions such as, for example, volcanoes, forests, and oceans.
  • the present technology can be applied to, for example, a meteorological observation system or a meteorological observation apparatus that observes weather, air temperature, humidity, wind speed, daylight hours, and the like.
  • the present technology can be applied to, for example, a system or device for observing the ecology of wildlife such as birds, fish, reptiles, amphibians, mammals, insects, plants and the like.
  • Hierarchical image coding (scalable coding) that encodes / decodes a hierarchical image that has been multi-layered (layered) so as to have a scalability function with respect to predetermined parameters. It can be applied to a decoding system. In that case, the present technology may be applied to encoding / decoding of each layer (layer).
  • the series of processes described above can be performed by hardware or software.
  • a program constituting the software is installed on a computer.
  • the computer includes, for example, a general-purpose personal computer that can execute various functions by installing a computer incorporated in dedicated hardware and various programs.
  • FIG. 31 is a block diagram showing an example of a hardware configuration of a computer that executes the series of processes described above according to a program.
  • a central processing unit (CPU) 301 a read only memory (ROM) 302, and a random access memory (RAM) 303 are mutually connected via a bus 304.
  • CPU central processing unit
  • ROM read only memory
  • RAM random access memory
  • An input / output interface 305 Also connected to the bus 304 is an input / output interface 305.
  • An input unit 306, an output unit 307, a storage unit 308, a communication unit 309, and a drive 310 are connected to the input / output interface 305.
  • a dedicated hardware computing unit related to decoding may be added to the bus 304.
  • the input unit 306 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal, and the like.
  • the output unit 307 includes, for example, a display, a speaker, and an output terminal.
  • the storage unit 308 includes, for example, a hard disk, a RAM disk, and a non-volatile memory.
  • the communication unit 309 includes, for example, a network interface.
  • the drive 310 drives removable media 311 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 301 loads, for example, the program stored in the storage unit 313 into the RAM 303 via the input / output interface 305 and the bus 304 and executes the program. Processing is performed.
  • the RAM 303 also stores data necessary for the CPU 801 to execute various processes.
  • the program executed by the computer (CPU 301) can be recorded and applied to, for example, a removable medium 311 as a package medium or the like.
  • the program can be installed in the storage unit 308 via the input / output interface 305 by attaching the removable media 311 to the drive 310.
  • the program can also be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting. In that case, the program can be received by the communication unit 309 and installed in the storage unit 308.
  • the program may be installed in advance in the ROM 302 or the storage unit 308.
  • encoded data may be multiplexed and transmitted or recorded in encoded data, or may be encoded with encoded data without being multiplexed in encoded data. It may be transmitted or recorded as associated separate data.
  • association means, for example, that one data can be processed (linked) in processing the other data. That is, the data associated with each other may be collected as one data or may be individual data. For example, the information associated with the coded data (image) may be transmitted on a different transmission path from the coded data (image). Also, for example, information associated with encoded data (image) may be recorded on a recording medium (or another recording area of the same recording medium) different from the encoded data (image). . Note that "association" may be part of data rather than the entire data. For example, the image and the information corresponding to the image may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part in a frame.
  • a 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 or not. Therefore, a plurality of devices housed in separate housings and connected via a network, and one device housing a plurality of modules in one housing are all systems. .
  • the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configuration described as a plurality of devices (or processing units) in the above may be collectively configured as one device (or processing unit).
  • configurations other than those described above may be added to the configuration of each device (or each processing unit).
  • part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit) if the configuration or operation of the entire system is substantially the same. .
  • the present technology can have a cloud computing configuration in which one function is shared and processed by a plurality of devices via a network.
  • the program described above can be executed on any device.
  • any device may have the necessary functions (such as functional blocks) so that the necessary information can be obtained.
  • each step described in the above-described flowchart can be executed by one device or in a shared manner by a plurality of devices.
  • the plurality of processes included in one step can be executed by being shared by a plurality of devices in addition to being executed by one device.
  • the process of the step of writing the program may be executed in chronological order according to the order described in the present specification, or the call is performed in parallel or It may be individually executed at necessary timing such as time. Furthermore, the process of the step of writing a program may be performed in parallel with the process of another program, or may be performed in combination with the process of another program.
  • the present technology can also have the following configurations.
  • An image processing apparatus comprising: a refresh mode determining unit for selecting a prediction mode for each block based on the cost and a refreshed block which is the block refreshed in a previous frame temporally before the current frame; .
  • (3) The refreshed block is an intra block which is the block for which intra prediction has been performed in the previous frame, or a first inter block which is the block for which inter prediction is performed with reference to the refreshed block
  • the image processing apparatus according to (1) or (2) which is the block encoded as.
  • the refresh mode determination unit determines, of the intra prediction mode or the refresh mode, the prediction mode of the number of blocks obtained by increasing the predetermined number from the number of the refreshed blocks among the blocks constituting the current frame.
  • the image processing apparatus according to (3) which selects from any of inter prediction modes with reference to a block.
  • the image processing apparatus according to (4) wherein the number of the refreshed blocks is reset when all the blocks of the previous frame become the refreshed blocks.
  • the refresh mode determination unit determines, among the blocks constituting the current frame, prediction modes of the remaining blocks other than the number obtained by increasing the number of refresh blocks by a predetermined number from the number of all prediction modes.
  • the image processing apparatus according to (4) or (5) which selects based on the lowest cost among costs.
  • the remaining block is encoded as a second inter block, which is the block subjected to inter prediction with reference to the no-refreshed block which is not the refreshed block, in the previous frame.
  • the image processing apparatus according to (6) which is the block.
  • the cost represents a load when encoding is performed in units of blocks.
  • the cost calculation unit calculates the cost from compression distortion and a generation amount.
  • the image processing apparatus Calculate the cost of prediction mode for each block that composes the current frame, An image processing method for selecting a prediction mode for each block based on the cost and a refreshed block which is the block refreshed in a previous frame temporally prior to the current frame.

Landscapes

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

Abstract

本開示は、主観的な画質を維持することができるようにする画像処理装置および方法に関する。 イントラ予測部および動き補償部は、現フレームを構成するブロック毎のモードのコストを算出する。イントラリフレッシュ判定部は、算出されたコストと、現フレームより時間的に前にある前フレームでリフレッシュされたブロックであるリフレッシュドブロックに基づいて、ブロック毎のモードを選択する。本開示は、例えば、画像処理装置、画像符号化装置、または画像復号装置等に適用することができる。

Description

画像処理装置および方法
 本開示は、画像処理装置および方法に関し、特に、データ量の平滑化を実現するとともに、主観的な画質を維持することができるようにした画像処理装置および方法に関する。
 時間的な相関を用いて圧縮をする動画像コーデックの場合、フレーム内相関を用いて圧縮をしたフレーム(IFRと称する)と、フレーム間相関を用いて圧縮をしたフレーム(双方向参照のBもあるが、便宜上PFRと称する)が用いられる。PFRは単独で復号することができない。したがって、通常は、ストリームの最初に少なくとも1フレームのIFRを必要とする。また、伝送系のエラーや途中からの再生に対処するため、ストリームの途中においても定期的にIFRが挿入される。一般的に、IFRはPFRに比べて同じ画質を得るためのビット量が多く、IFRとPFRのサイズの差がストリームのビット量の時間方向のムラになってしまう。
 フレーム内のデータの圧縮はブロックという単位で処理されている。ブロックには、フレーム内データのみを用いてデコード可能なイントラブロック(IBと称する)と、過去のフレームのデータを参照してデコードするインターブロック(実際には双方向などのBもあるが、便宜上PBと称する)がある。IFRにはIBのみの存在が許される。これに対して、PFRにはPBとIBの両方の存在が許される。
 IBのビット量はPBに比べて大きいことが多い。そこで、ストリーム途中のIFRの代わりにPFRの中のIBの配置を分散配置させることによって、フレームのデータ量の平滑化を実現するようにした方法が種々提案されている。PFRの中のIBの配置を分散配置させる際に、配置の仕方を工夫することで、ストリームの途中からの再生やエラーに対する耐性もある程度確保することができる(特許文献1参照)。
 一例として、横もしくは縦のストライプ状にIBを配置し、ストライプ状にIBが配置された部分(IBのストライプ部分と称する)を、PBの参照が越えないように制御する。IBのストライプ部分をフレーム毎に順に移動させ、画面をリフレッシュするかのような動作で、過去フレームとの関連を断ち切る。以上のようにすることで、一定時間内での画像の復帰を保障することができる。
特開2013-165340号公報
 しかしながら、上述した方法では、IBのストライプ部分が境界となってPBの参照を断ち切っており、効率の良い参照ができなかった。また、ストライプ状のものが画面上を移動していく様子がデコード画像上に現れる可能性が高く、圧縮の品質としてはあまり良くないことが多かった。
 本開示は、このような状況に鑑みてなされたものであり、データ量の平滑化を実現するとともに、主観的な画質を維持することができるようにするものである。
 本技術の一側面の画像処理装置は、現フレームを構成するブロック毎の予測モードのコストを算出するコスト算出部と、前記コストと、前記現フレームより時間的に前にある前フレームでリフレッシュされたブロックであるリフレッシュドブロックに基づいて、前記ブロック毎の予測モードを選択するリフレッシュモード判定部とを備える。
 本技術の一側面においては、現フレームを構成するブロック毎の予測モードのコストが算出される。そして、前記コストと、前記現フレームより時間的に前にある前フレームでリフレッシュされたブロックであるリフレッシュドブロックに基づいて、前記ブロック毎の予測モードが選択される。
 本技術によれば、データ量の平滑化を実現するとともに、主観的な画質を維持することができる。
 なお、本明細書に記載された効果は、あくまで例示であり、本技術の効果は、本明細書に記載された効果に限定されるものではなく、付加的な効果があってもよい。
PFRの中のIBの配置を工夫した方法を説明する図である。 本開示を適用した符号化装置の一実施の形態の構成例を示すブロック図である。 リフレッシュモード判定処理におけるブロックの状態とモードの関係を示す図である。 リフレッシュモード判定処理を一巡した結果のブロックの状態とモードの関係を示す図である。 ブロックの状態遷移を示す図である。 リフレッシュモード判定処理を簡単に説明するフローチャートである。 1フレーム目のリフレッシュモード判定処理を説明する図である。 2フレーム目のリフレッシュモード判定処理を説明する図である。 3フレーム目のリフレッシュモード判定処理を説明する図である。 RBになったブロックでもNRBに戻ってしまう例を示す図である。 1フレーム目の状態を示す図である。 2フレーム目の状態を示す図である。 3フレーム目の符号化前のブロックの状態を表す図である。 フレームにおけるブロックの位置を説明する図である。 第0フレーム目におけるprev表、cost_IB、cost_PBnを示す図である。 第0フレーム目におけるテーブルT1とテーブルT2を示す図である。 第0フレーム目におけるdecided_costとdecided_modeを示す図である。 第1フレーム目におけるprev表、cost_IB、cost_PBn、cost_PBrを示す図である。 第1フレーム目におけるテーブルT1とテーブルT2を示す図である。 第1フレーム目におけるdecided_costとdecided_modeを示す図である。 第2フレーム目におけるprev表、cost_IB、cost_PBn、cost_PBrを示す図である。 第2フレーム目におけるテーブルT1とテーブルT2を示す図である。 第2フレーム目におけるdecided_costとdecided_modeを示す図である。 図2の符号化装置の符号化処理について説明するフローチャートである。 図24のステップS16のフレーム内モード判定およびエンコード処理について説明するフローチャートである。 図25のステップS36のフレーム内のブロック毎のコスト作製処理について説明する。 図25のステップS37のフレーム内のブロック毎のモード決定処理について説明するフローチャートである。 図25のステップS36のエンコード処理について説明するフローチャートである。 本開示を適用した復号装置の一実施の形態の構成例を示すブロック図である。 図28の復号装置の復号処理を説明するフローチャートである。 コンピュータの主な構成例を示すブロック図である。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。
 <概要>
 図1は、フレーム間相関を用いて圧縮をしたフレームの中のイントラブロックの配置を工夫した方法を説明する図である。
 フレーム内相関を用いて圧縮をしたフレームを、IFR(Intra-coded Frame)と称する。フレーム間相関を用いて圧縮をしたフレームを、双方向参照のBもあるが、便宜上PFR(Predicted Frame)と称する。フレーム内データのみを用いてデコード可能なイントラブロックを、IBと称する。過去のフレームのデータを参照してデコードするインターブロックを、実際には双方向などのBもあるが、便宜上PBと称する。
 図1には、ハッチングで示される縦ストライプ状のIBエリアが設けられたフレームが示されている。IBは、IBエリアに配置される。PBの参照は、フレーム内でIBエリアを越えないように制限されている。
 IBエリアをフレーム毎に順に移動させるという、画面内をリフレッシュするかのような動作(以下、画面をリフレッシュするかのような動作を、画面内のリフレッシュと称する)を行うことで、過去フレームとの関係性を断ち切ることができる。図1の方法では、一定時間内での画像の復帰を保障することができる。
 しかしながら、図1の方法は、IBエリアが境界となって、PBの参照を断ち切っており、効率のよい参照が困難であった。また、ストライプ状のIBエリアが画面上を、左から右に順次移動(以下、スキャンと称する)していく様子がデコード画像上に現れる可能性が高く、圧縮の品質としてはあまり良くないことが多かった。
 上述した方法は、以下の2つの特徴を有する。
 (1)ストライプ状のIBエリアまたは他の方法によってフレーム内をスキャンすることで、画面内のリフレッシュを行う。その際、フレーム上でのIBエリアの配置により、すでにリフレッシュされた領域とリフレッシュされていない領域が明確になる。図1ではIBエリアの左側がリフレッシュされた領域で、右側がまだリフレッシュされていない領域である。
 (2)すでにリフレッシュされた領域での時間的に後のPBが参照するエリアが、すでにリフレッシュされた領域となる制約が加えられる。(1)においてリフレッシュされた領域が明確になっているため、(2)の特徴は、参照領域の制約によって実現可能である。
 (1)の特徴により、リフレッシュされた領域とリフレッシュされていない領域が静的に分けられるため、デコード画像に、IBエリアが画質の差となって現れ、認知しやすくなる傾向がある。静的に分けられるとは、フレームが変わってもIBエリアという定まっている領域を境として分けられることを表している。
 また(2)の特徴により、参照領域を制約するために圧縮効率が落ちる。
 そこで、本技術では、基本的に上記の特徴(1)および(2)を有することなく、画面内の一定時間内でのリフレッシュおよび参照領域の制約を実現する。
 概念的には、(1)に対して、IBの配置を静的に固まった領域に設定せず、IBを画面内にランダムに配置する。IBの配置をランダムにすることで、IBとPBの画質差が視覚的に認識しにくくなる。
 一方、IBの配置をランダムにするために、リフレッシュされた領域とリフレッシュされていない領域との区別が付けづらくなり、PBの参照領域の制約が静的に行いにくい。
 本技術においては、参照領域の制約には、過去のIBの配置を示すテーブルが参照される。また、全体の圧縮効率を向上させるために、PBの参照領域の単純な制約だけでなく、画面全体としてのコストが計算され、計算されたコストの最適値を用いてIBとPBの予測モード判定が行われる。以下、予測モードを、単にモードと称する。
 さらに、本技術においては、リフレッシュされた領域が時間とともに単純に増加していけば、最終的には、画面全体がリフレッシュされるという考え方が用いられる。
 次に本技術について具体的に説明していく。
 <符号化装置の構成例>
 図2は、本技術を適用した符号化装置の一実施の形態の構成例を示すブロック図である。
 図2の符号化装置11は、画像をHEVC方式に準ずる方式で符号化する。例えば、符号化装置11は、撮像部を備えることで、撮像装置として構成することもできる。符号化装置11は、後述する図29の復号装置101とともに、通信システムを構成することができる。符号化装置11には、符号化対象としてフレーム単位の画像が入力される。
 フレームは、1画面のデータを表し、圧縮のためのブロックで構成されている。ブロックは、MPEG(Moving Picture Experts Group)などの圧縮のための単位ブロックである。ブロックは、マクロブロック、コーディングブロック、コーディングユニットと呼ばれることが多い。動き補償やDCTなどの処理はブロック単位で行われる。ブロックには、上述したIBとPBがある。
 符号化装置11は、バッファ21、入力情報解析部22、レート制御部23、イントラリフレッシュモード判定部24、演算部25、直交変換量子化部26、エントロピー符号化部27、バッファ28、逆量子化逆直交変換部29、および加算部30を有する。また、符号化装置11は、デブロックフィルタ31、フレームメモリ32、イントラ予測部33、動き補償部34、およびセレクタ35を有する。
 符号化対象として入力されたフレーム単位の画像がバッファ21に記憶される。バッファ21は、表示順で記憶したフレーム単位の画像を、GOP構造に応じて、符号化順に並べ替える。バッファ21は、並べ替え後の画像を、演算部25、加算部30、イントラ予測部33、および動き補償部34に出力する。
 入力情報解析部22は、バッファ21に蓄積された画像を解析し、解析結果を表す情報を、レート制御部23およびイントラリフレッシュモード判定部24に供給する。例えば、入力情報解析部22ではディフィカリティが解析される。画像全体のディフィカリティは、画像の複雑度を表す指標である。ディフィカリティとしては、ブロック毎のピクセルの平均値と各ピクセルの差分値の二乗値を合計した値(等価的に平均二乗誤差,MSE(Mean Squqred error))などが一般的に用いられる。
 レート制御部23は、入力情報解析部22から供給された情報と、バッファ28に蓄積された符号化データに基づいて、直交変換量子化部26の量子化動作のレートを制御するための量子化値の指標を算出し、算出した量子化値の指標を供給する。量子化値の指標は、オーバーフローあるいはアンダーフローが発生しないように算出される。算出された量子化値の指標は、イントラリフレッシュモード判定部24、イントラ予測部33、および動き補償部34に供給される。量子化値の指標は、イントラ予測部33および動き補償部34においては、コストの算出に用いられる。
 イントラリフレッシュモード判定部24には、イントラ予測部33から供給された最適イントラモードの情報および対応するコスト関数値(以下、単にコストと称する)と、動き補償部34から供給された最適インターモードの情報および対応するコストが入力される。
 コストは、ブロック単位でのエンコードしたときの負荷を表す。コストは、基本的に、圧縮歪みと発生量(レート)から計算される。歪みが小さくかつ発生量が小さいものが、コストが小さい。コストが最も小さい、最小コストのモードを最適モードとして選択することにより、圧縮効率を向上させることができる。
 イントラリフレッシュモード判定部24は、イントラ予測部33から供給された最適イントラモードの情報とコスト、および動き補償部34から供給された最適インターモードの情報とコストに基づき、リフレッシュモード判定処理を行う。リフレッシュモード判定処理は、本技術によるアルゴリズムを用いて、リフレッシュに最適なモードを判定する処理である。
 リフレッシュとは、過去フレームデータにエラーがあったとしても、当該フレームデータのみで画像を生成し、再構成できることを意味する。ブロック単位でのリフレッシュは、フレーム内の正しいデータのみを用いて圧縮するブロック、すなわちIBを示す。フレーム単位でのリフレッシュは、エラー後に完全に復帰できることが保障できるフレームを示す。
 イントラリフレッシュモード判定部24は、リフレッシュモード判定処理の判定結果に基づいて、各ブロックのモードを決定する。イントラリフレッシュモード判定部24は、各ブロックについて決定したイントラ/インターの選択情報をセレクタ35に供給する。
 また、イントラリフレッシュモード判定部24は、レート制御部23が算出した量子化値の指標に基づいて、決定した最適モードに応じた量子化値を求め、最適モードを示す情報と、最適モードに応じた量子化値を、直交変換量子化部26に供給する。
 演算部25は、バッファ21から供給される画像から、セレクタ35から供給される予測画像を減算する。演算部25は、減算の結果得られる画像を、残差情報(差分)として直交変換量子化部26に出力する。なお、セレクタ35から予測画像が供給されない場合、演算部25、バッファ21から読み出された画像をそのまま残差情報として直交変換量子化部26に出力する。
 直交変換量子化部26は、演算部25が演算した残差情報に対して直交変換処理を行い、直交変換処理結果を量子化する。直交変換の方式としては、例えば、DCT(離散コサイン変換)とDST(離散サイン変換)がある。直交変換量子化部26は、直交変換量子化処理の結果としての量子化値をエントロピー符号化部27に供給する。
 エントロピー符号化部27は、最適イントラモードを示す情報であるイントラモード情報をイントラ予測部33から取得する。イントラモード情報とは、ブロックサイズ、予測方向などを表す情報である。
 また、エントロピー符号化部27は、最適インターモードを示す情報であるインターモード情報、動きベクトル、参照画像を特定する情報などを動き補償部34から取得する。インターモード情報とは、ブロックサイズなどを表す情報である。
 エントロピー符号化部27は、直交変換量子化部26が量子化した量子化値に対して、可変長符号化(例えば、CAVLC(Context-Adaptive Variable Length Coding)など)、算術符号化(例えば、CABAC(Context-Adaptive Binary Arithmetic Coding)など)の可逆符号化を行う。ハフマン符号化などが用いられてもよい。
 また、エントロピー符号化部27は、イントラモード情報、または、インターモード情報、動きベクトル、および参照画像を特定する情報を、符号化に関する符号化情報として可逆符号化する。エントロピー符号化部27は、可逆符号化された符号化情報と量子化値を、符号化データとしてバッファ28に供給し、蓄積させる。
 バッファ28は、エントロピー符号化部27が符号化した符号化データを、一時的に蓄積する。また、バッファ28は、蓄積している符号化データを、パラメータセットおよび各種ヘッダとともに、ビットストリームとして伝送する。
 また、直交変換量子化部26が量子化した量子化値は、逆量子化逆直交変換部29にも入力される。逆量子化逆直交変換部29は、量子化値を逆量子化し、逆量子化の結果得られる直交変換処理結果に対して逆直交変換処理を行う。逆直交変換の方式としては、例えば、IDCT(逆離散コサイン変換)とIDST(逆離散サイン変換)がある。逆量子化逆直交変換部29は、逆直交変換処理の結果得られる残差情報を加算部30に供給する。
 加算部30は、逆量子化逆直交変換部29が直交変換した残差情報と、バッファ21から供給される画像を加算し、復号を行う。加算部30は、復号された画像をデブロックフィルタ31に供給する。
 デブロックフィルタ31は、加算部30から供給される画像に対して、ブロック歪を除去する適応デブロックフィルタ処理を行い、その結果得られる画像をフレームメモリ32に供給する。
 フレームメモリ32は、デブロックフィルタ31が適応デブロックフィルタ処理を行った画像を蓄積する。フレームメモリ32に蓄積された画像は、周辺画像として、イントラ予測部33に供給され、参照画像として、動き補償部34に出力される。
 イントラ予測部33は、フレームメモリ32から読み出された周辺画像を用いて、候補となるすべてのイントラモードのイントラ予測処理を行う。
 イントラ予測部33は、バッファ21から読み出された画像と、イントラ予測処理の結果生成される予測画像とに基づいて、候補となるすべてのイントラモードのコストを算出する。そして、イントラ予測部33は、コストが最小となるイントラモードを、最適イントラモードに決定する。
 イントラ予測部33は、最適イントラモードで生成された予測画像を、セレクタ35に供給し、イントラモード情報および対応するコストを、イントラリフレッシュモード判定部24に供給する。イントラ予測部33は、最適イントラモードで生成された予測画像がセレクタ35により選択された場合、イントラモード情報をエントロピー符号化部27に供給する。
 動き補償部34は、候補となるすべてのインターモードの動き予測・補償処理を行う。具体的には、動き補償部34は、バッファ21から供給される画像と、フレームメモリ32から読み出される参照画像に基づいて、候補となるすべてのインターモードの動きベクトルを検出する。そして、動き補償部34は、検出した動きベクトルに基づいて参照画像に補償処理を施し、予測画像を生成する。
 このとき、動き補償部34は、バッファ21から供給される画像と予測画像とに基づいて、候補となるすべてのインターモードのコストを算出し、コストが最小となるインターモードを最適インターモードに決定する。そして、動き補償部34は、最適インターモードで生成された予測画像を、セレクタ35に供給し、インターモードの情報および対応するコストを、イントラリフレッシュモード判定部24に供給する。
 動き補償部34は、最適インターモードで生成された予測画像がセレクタ35により選択された場合、インターモード情報、対応する動きベクトル、参照画像を特定する情報などをエントロピー符号化部27に出力する。
 セレクタ35は、イントラリフレッシュモード判定部24が選択したイントラ/インターの選択情報に基づいて、イントラ予測部33からの予測画像または動き補償部34からの予測画像を選び、選んだ予測画像を演算部25に出力する。
 <リフレッシュモード判定処理>
 イントラリフレッシュモード判定部24が行うリフレッシュモード判定処理について説明する。イントラリフレッシュモード判定部24は、リフレッシュモード判定処理として、時間的に前(過去)に位置する前フレームにおいてリフレッシュされたブロックであるか、リフレッシュされていないブロックであるかを参照して、リフレッシュに最適なモードを選択する。
 以下、リフレッシュされたブロックはRB(リフレッシュドブロック)と称され、リフレッシュされていないブロックはNRB(ノーリフレッシュドブロック)と称される。RBエリアは、PBが参照する領域のうち、RBからなる領域であることを表し、NRBエリアは、PBが参照する領域のうち、NRBからなる領域を表す。
 RBは、時刻tのブロックのモードを決定する前の状態として、時刻t-1においてIBであったブロック、または、自身がRBでありかつRBエリアのみを参照しているPBであったブロックである。
 NRBは、時刻tのブロックのモードを決定する前の状態として、時刻t-1においてNRBであり、IBではないブロック、または、自身がRBであってもNRBエリアを含む部分を参照しているPBであったブロックである。
 なお、以下、便宜上、RBエリアを参照するPBをPBr、NRBエリアを含む部分を参照するPBをPBnと称するが、区別する必要がない場合のみ、PBと称する。
 IBによるリフレッシュ動作の一巡は、セットと呼ばれる。例えば、5×5のブロックで構成されるフレームには25個のブロックがあり、RBがフレーム毎に5ブロック増加していくとする。5フレーム進んだところで、リフレッシュ動作が一巡し、全ブロックがRBになり、1セットが終了する。各セットの始まりでは、全ブロックがNRBになる。
 <ブロックの状態とモードの関係例>
 図3は、リフレッシュモード判定処理におけるブロックの状態とモードの関係を示す図である。
 図3の例では、1フレームが5×5のブロックで構成される例を示す。上段は、当該時刻より時間的に前の時刻のエンコード後から当該時刻のエンコード前までのブロックの状態を示している。下段は、当該時刻でエンコードした結果のブロックのモードを示している。特に説明がない限り、これ以降の図でも同様である。下段の下側には、時刻t-1,t,t+1,…t+(m-1),t+mが示されている。
 時刻t-1のエンコード前には、全ブロックがNRBであった。時刻t-1でエンコードした結果、左端を基準として1列目の5ブロックがIBとなり、残りの20ブロックがPBとなっている。
 時刻tのエンコード前には、時刻t-1においてIBであった左端の5ブロックがRBであり、残りの20ブロックがNRBであった。時刻tでエンコードした結果、1列目の5ブロックがPBrとなり、2列目の5ブロックがIBとなり、残りの15ブロックがPBとなっている。
 時刻t+1のエンコード前には、時刻tにおいてPBrであった1列目の5ブロックと、IBであった2列目の5ブロックがRBであり、残りの15ブロックがNRBであった。時刻tでエンコードした結果、1列目と2列目の10ブロックがPBrとなり、3列目の5ブロックがIBとなり、残りの10ブロックがPBとなっている。
 時刻t+(m-1)のエンコード前には、図示せぬ時刻t+(m-2)においてPBrであった1列目乃至4列目の20ブロックがRBであり、5列目の5ブロックがNRBであった。時刻t+(m-1)でエンコードした結果、1列目乃至4列目の20ブロックがPBrとなり、5列目の5ブロックがIBとなっている。
 以上のように、時刻t-1乃至時刻t+(m-1)の1セットで一巡した結果、図4の左側に示されるように、時刻t+mのフレームは、全ブロックがRBであるリフレッシュドフレームとなる。
 図4は、リフレッシュモード判定処理を一巡した結果のブロックの状態とモードの関係を示す図である。
 図4の右側に示されるように、次の新たな1セットの処理が行われる。時刻t+mのエンコード前には、時刻t-1のエンコード前の状態と同様に、全ブロックがNRBにリセットされ、時刻t+mでエンコードした結果、1列目の5ブロックがIBとなり、残りの20ブロックがPBnとなる。
 なお、上述した図3および図4の例は、本技術のリフレッシュモード判定処理により、図1を参照して説明した縦ストライプ状のIBエリアのように、IBを垂直に並べて、フレーム毎に順に移動させた例である。これに対して、以降に説明するように、本技術のリフレッシュモード判定処理によれば、IBをランダムに配置することができる。
 <ブロックの状態遷移>
 図5は、ブロックの状態遷移を示す図である。
 符号化前にNRBのブロックは、符号化の結果がPBであれば、実線矢印で示されるように、時間的に後に位置する後(未来)のフレームにおいてもNRBのままである。また、符号化前にNRBのブロックは、符号化の結果がIBであれば、太線矢印で示されるように、後のフレームにおいては、RBとなる。
 一方、符号化前にRBであるブロックは、符号化の結果がIBまたはPBrであれば、実線矢印で示されるように、後のフレームにおいてもRBを維持できる。符号化前にRBのブロックは、符号化の結果がPBnとなれば、太線矢印で示されるように、後のフレームにおいては、NRBである。
 <本技術の基本的な手順>
 図6は、リフレッシュモード判定処理を簡単に説明するフローチャートである。
 ステップS1において、イントラリフレッシュモード判定部24は、NRBのブロックに対して、IBのコスト(a)を求める。IBのコスト(a)は、RBになる候補のコストである。
 ステップS2において、イントラリフレッシュモード判定部24は、NRBのブロックに対して、すべてのモードの最小のコスト(b)を求める。
 ステップS3において、イントラリフレッシュモード判定部24は、RBのブロックに対して、IBとPBrのコストをそれぞれ求め、小さい方のコスト(c)を得る。小さい方のコスト(c)は、RBを維持するためのコストである。小さい方のコスト(c)のモードを示す情報は、イントラリフレッシュモード判定部24内部のメモリに保存される。
 ステップS4において、イントラリフレッシュモード判定部24は、RBのブロックに対して、すべてのモードでの最小のコスト(d)を求める。
 ステップS5において、イントラリフレッシュモード判定部24は、コスト(a)とコスト(c)の小さい方を代表値として全体のブロック毎のコストからなるテーブルT1を作製する。
 ステップS6において、イントラリフレッシュモード判定部24は、コスト(a)乃至コスト(d)をフレーム全体のブロック毎のコストからなるテーブルT2を作製する。テーブルT2では、同一ブロックの異なるモードのコストは、値が最小のコストが選択される。選択されたコストのモードを示す情報はメモリに保存される。
 ステップS7において、イントラリフレッシュモード判定部24は、テーブルT1を用いて、RBとなるブロックのモードを選択する。イントラリフレッシュモード判定部24は、テーブルT1内のコストの最小値から順に、数N+nのブロックを選択し、選択したブロックのモードを、選択したブロックのコストに対応したモードにする。ここで選択されたブロックは、RBとなる。
 ここで、Nは、セットの最初では0であり、nはフレーム毎に増加させるRBの数を表す自然数である。1フレームを符号化する毎に、NはN+nとして更新される。
 イントラリフレッシュモード判定部24は、ステップS8において、テーブルT1を用いて選択されなかった残りのブロックに対して、テーブルT2を用いて、各ブロックのモードを選択する。ここで選択されたブロックは、NRBとなる。
 以上の処理により、全体ブロック数/nフレーム後には1セットの処理が終了し、フレームデータのリフレッシュが完了する。それぞれのブロックのモードは、コストを算出する際、常に最小値を選んでいるため、最適値を得ることができる。
 <具体的な動作例>
 図7は、1フレーム目のリフレッシュモード判定処理を説明する図である。なお、以下においては、図6を参照して説明される。
 図7の上段に示されるように、1セットの最初は、すべてのブロックがNRBである。したがって、図6のステップS3およびS4におけるRBに対しての処理は行われない。
 イントラリフレッシュモード判定部24は、ステップS1およびS2において、すべてのブロック(NB)に対して、コスト(a)とコスト(b)とを計算する。なお、実際には、処理の最初は、コスト(b)は必要ではない。ステップS4およびS5において、テーブルT1およびテーブルT2が作製され、ステップS6において、テーブルT1から最小コストのIBが選択される。
 なお、ここで、ブロックは5×5でN=25,n=5とされる。ステップS6の処理により、図7の下段に示されるように、最小コストのIBが5個選択されたとする。図7の下段では、左端を基準として、1列目で、上端を基準として、1行目のブロック、2列目で、5行目のブロック、3列目で、2行目と3行目のブロック、4列目で、4行目のブロックがIBとして選択されている。
 IB以外の残りのブロックについては、ステップS7の処理によりモードが選択される。なお、セットの最初では、すべてがNRBのブロックであることから、PBnとPBrは同じに扱われる。したがって、図7の下段では、IB以外の残りのブロックは、PBと表記されている。
 1フレーム目においては、以上のように選択されたモードに従って各ブロックがエンコードされ、1フレーム目の処理は終了される。
 図8は、2フレーム目のリフレッシュモード判定処理を説明する図である。
 図8の上段には、2フレーム目の符号化前のブロックの状態が示されている。1フレーム目の符号化によりIBになったブロックがRBになり、それ以外のブロックがNRBとなっている。
 イントラリフレッシュモード判定部24は、図6のステップS1乃至ステップS4の処理を、RBのブロックとNRBのブロックに順次施し、ステップS5およびステップS6において、テーブルT1およびテーブルT2をそれぞれ作製する。
 イントラリフレッシュモード判定部24は、ステップS7において、テーブルT1を用いて、RBとなるブロック10個のモードを選択する。選択されたブロックのそれぞれのモードは、IBまたはPBrである。
 図8の下段には、2フレーム目の符号化前のブロックの状態が示されている。
 図8の下段では、左端を基準として、1列目で、上端を基準として、1行目のブロック、2列目で、5行目のブロック、3列目で、2行目と3行目のブロック、4列目で、4行目のブロックがPBrとして選択されている。また、左から2列目の上から1行目、2行目、4行目のブロック、4列目で、3行目と5行目のブロックがIBとして選択されている。
 イントラリフレッシュモード判定部24は、ステップS8において、テーブルT2を用いて、残りのブロックのモードを選択する。選択されたブロックのモードは、図8の下段ではPBとしてまとめて記載されているが、実際にPBrまたはPBnになる。
 2フレーム目においては、以上のように選択されたモードに従って各ブロックがエンコードされ、2フレーム目の処理は終了される。
 図9は、3フレーム目のリフレッシュモード判定処理を説明する図である。
 図9は、2フレーム目の終了後の状態、すなわち、3フレーム目の符号化前のブロックの状態を表す図である。
 2フレーム目の符号化によりIBとPBrになったブロックがRBになり、それ以外のブロックがNRBとなっている。
 全ブロックがRBになるまで、以上の処理が繰り返される。全ブロックがRBになったときに1セット完了となる。その後、全体がNRBにリセットされて、最初からの処理が繰り返される。
 上述した例においては、RBに一旦なったブロックはNRBに戻らなかった。実際には、上述した本技術のリフレッシュモード判定処理でコストに基づく選択が行われると、RBがNRBになったり、規定以上のRBができたりすることがある。
 <例外的な例>
 図10は、RBになったブロックがNRBに戻る例を示す図である。
 図10の上段には、図8の上段と同様に、2フレーム目の符号化前のブロックの状態が示されている。1フレーム目の符号化によりIBになったブロックがRBになり、それ以外のブロックがNRBとなっている。
 図10の下段において、ブロックaがPBrではなくPBnである点、ブロックbがPBrではなくIBである点、ブロックcがPBではなくIB*となっている点が、図8の下段と異なっている。
 すなわち、RBとなるブロック10個のモードを選択するとき(図6のステップS7)、図10の下段のIBおよびPBrがRBの候補になったとする。RBの候補が次のタイミングで、RBになる。しかしながら、ブロックaは、もともとRBであったが、次のタイミングでは選択されずに、PBnになっている。ブロックaに代わり、他のNRBがRBの候補になり、IBになっている。
 ブロックaの場合、RBに一旦なったブロックが再びNRBになる。しかしながら、本技術では、RBに一旦なったブロックが再びNRBになる方が、コストが小さいことがわかっているため、RBに一旦なったブロックであっても、再びNRBにする判定を行っている。
 ブロックaの代わりに、別のNRBをRBにするような選択がなされ、トータルとしてのRBの数が増えてくことは保障される。
 IBであるために一旦RBになったブロックbにおいて再びIBになることもある。再びIBになる方が、コストが小さいと判定されたものである。
 図10では、ブロックcに示されるIB*は、所定数(10)を上回った順番(11)に選択されたIBを表している。ブロックcは、順次リフレッシュしていく目的としてはIBである必要はないが、コスト計算の結果からIBが選択され、結果的にRBが増加することもあり得る。
 フレーム毎に数nのRBが増えていくことには変わりなく、最終的にn=Nになり、リフレッシュが完了することが保障可能である。
 さらに、RBに一旦なったブロックが再びNRBに戻る例を、図11乃至図13を参照して具体的に説明する。
 図11は、図7の場合と同じ1フレーム目の状態を示す図である。
 1フレーム目については、図7の場合と基本的に同じ処理が行われるので、図12の2フレーム目の処理から説明する。
 図12は、2フレーム目の状態を示す図である。
 図12の上段は、図8の上段と同様に、2フレーム目の符号化前のブロックの状態を表している。1フレーム目の符号化によりIBになったブロックがRBになり、それ以外のブロックがNRBとなっている。
 イントラリフレッシュモード判定部24は、図6のステップS1乃至ステップS4の処理を、RBのブロックとNRBのブロックに順次施し、ステップS5およびステップS6において、テーブルT1およびテーブルT2をそれぞれ作製する。
 イントラリフレッシュモード判定部24は、図6のステップS1乃至ステップS4の処理を、RBのブロックとNRBのブロックに順次施し、ステップS5およびステップS6において、テーブルT1およびテーブルT2をそれぞれ作製する。
 イントラリフレッシュモード判定部24は、ステップS8において、テーブルT2を用いて、残りのブロックのモードを選択する。
 図12の下段には、2フレーム目の符号化前のブロックの状態が示されている。図12の下段において、ブロックaがPBrではなく、PBnである点、ブロックbがPBrではなく、IBである点、ブロックcがPBではなくIB*となっている点が、図8の下段と異なっている。
 図12の例では、ブロックaは、前フレームでRBであったが、次のタイミングでは選択されずに、PBnになっている。
 ブロックbは、RBになったが、再びIBになり、RBを維持することができているので、PBrと同等の扱いとなる。ブロックcは、IBであるが、これは10個選択すればよい状況において11番目のIBであり、テーブルT2が用いられて選択されたものである。
 2フレーム目においては、以上のように選択されたモードに従って各ブロックがエンコードされ、2フレーム目の処理は終了される。
 図13は、図9と同様に、2フレーム目の終了後の状態、すなわち、3フレーム目の符号化前のブロックの状態を表す図である。
 2フレーム目の符号化によりIBとPBrになったブロックがRBになり、それ以外のブロックがNRBとなっている。
 全ブロックがRBになるまで、以上の処理が繰り返される。全ブロックがRBになったときに1セット完了となる。その後、全体がNRBにリセットされて、最初からの処理が繰り返される。
 <具体的な数値を用いた動作例>
 次に、3×3のブロックで構成されるフレームを用いて、実際のコストの数値であるコスト値を用いたブロックのタイプの判定方法を説明していく。以下のコスト値はあくまでも例である。
 3×3のブロックであり、フレーム毎に3個のブロックがRBになり、3フレームで1セットが完了する想定である。1セット分の各フレームのコスト値とモード選択をフレーム毎に示す。
 図14は、フレームにおけるブロックの位置を説明する図である。
 図14の<xy>は、xが横方向の座標であり、yが縦方向の座標である。<xy>の位置は、上段では、左から右に<00> <10> <20>である。<xy>の位置は、中段では、左から右に<01> <11> <21>である。<xy>の位置は、下段では、左から右に<02> <12> <22>である。
 図15は、第0フレーム目におけるprev表、cost_IB、cost_PBnを示す図である。
 prev表は、前フレームの符号化後のブロックの状態を示す。cost_IBは、各ブロックのIBになるコストを示す。cost_PBnは、各ブロックのPBnになるコストを示す。なお、cost_PBrは、ブロックの状態(Prev)に依存するため、処理途中から示される。
 prev表には、前フレームの符号化後から、符号化前までのブロックのNまたはRで示される。NはNRBの状態であることを示し、RはRBの状態であることを示している。最初のフレームである第0フレームでは、すべてのブロックがNである。
 図15において、cost_IBは、<00>=13、<10>=22、<20>=3、<01>=42、<11>=65、<21>=36、<02>=77、<12>=83、<22>=9である。cost_PBnは、<00>=23、<10>=4、<20>=11、<01>=26、<11>=15、<21>=13、<02>=33、<12>=5、<22>=18である。
 イントラリフレッシュモード判定部24は、図15に示されるコストの仮定の下でテーブルT1とテーブルT2を計算する。最初、cost_PBrは、ブロックの状態が全てNであるため値を持たない。
 図16は、第0フレーム目におけるテーブルT1とテーブルT2を示す図である。
 テーブルT1は、RBになるためのテーブルである。テーブルT1は、アルゴリズムに従って計算された各ブロックのコストcost_Rと対応するモードmode_Rからなる。最初はPBrが値を持たないため、テーブルT1のコストcost_Rには、すべてcost_IBのコストが用いられている。
 cost_Rは、<00>=13、<10>=22、<20>=3、<01>=42、<11>=65、<21>=36、<02>=77、<12>=83、<22>=9である。mode_Rは、<00>=IB、<10>=IB、<20>=IB、<01>=IB、<11>=IB、<21>=IB、<02>=IB、<12>=IB、<22>=IBである。
 テーブルT2は、アルゴリズムに従って計算された各ブロックのコストcost_Rと対応するモードmode_Rからなる。テーブルT2のコストcost_Nは、すべてのモードの最小値になるために、cost_IBとcost_PBnの最小値から構成される。
 cost_Nは、<00>=13、<10>=4、<20>=3、<01>=26、<11>=15、<21>=13、<02>=33、<12>=5、<22>=9である。mode_Nは、<00>=IB、<10>=PBn、<20>=IB、<01>=PBn、<11>=PBn、<21>=PBn、<02>=PBn、<12>=PBn、<22>=IBである。
 図16では、第0フレーム目であるために、テーブルT1のcost_Rから小さい順に3個のブロックが選ばれる。図16の場合、<20>=3、<22>=9、<00>=13が選択され、選択されたブロックのモードが、mode_Rが示すモードになる。<20>=IB、<22>=IB、<00>=IBである。残りのブロックは、mode_Nから選択される。選択された結果が、図17のdecided_costとdecided_modeである。
 図17は、第0フレーム目におけるdecided_costとdecided_modeを示す図である。
 decided_costは、<00>=13、<10>=4、<20>=3、<01>=26、<11>=15、<21>=13、<02>=33、<12>=5、<22>=9である。decided_modeは、<00>=IB、<10>=PBn、<20>=IB、<01>=PBn、<11>=PBn、<21>=PBn、<02>=PBn、<12>=PBn、<22>=IBである。
 以上のような処理がフレーム毎に3フレーム分繰り返されて、1セットが終了される。
 図18は、第1フレーム目におけるprev表、cost_IB、cost_PBn、cost_PBrを示す図である。
 図18では、前フレームの状態を示すprev表で、RBブロックがあるため、各ブロックのPBrになるコストcost_PBrが計算可能である。
 図18において、prevは、<00>=R、<10>=N、<20>=R、<01>=N、<11>=N、<21>=N、<02>=N、<12>=N、<22>=Rである。cost_IBは、<00>=10、<10>=2、<20>=13、<01>=32、<11>=55、<21>=76、<02>=7、<12>=53、<22>=89である。
 cost_PBrは、<00>=3、<10>=-、<20>=5、<01>=-、<11>=-、<21>=-、<02>=-、<12>=-、<22>=89である。cost_PBnは、<00>=2、<10>=3、<20>=4、<01>=1、<11>=2、<21>=13、<02>=1、<12>=25、<22>=9である。
 イントラリフレッシュモード判定部24は、第0フレーム目と同様に、図18に示されるコストの仮定の下でテーブルT1とテーブルT2を計算する。
 図19は、第1フレーム目におけるテーブルT1とテーブルT2を示す図である。
 cost_Rは、<00>=3、<10>=2、<20>=5、<01>=32、<11>=55、<21>=76、<02>=7、<12>=53、<22>=89である。mode_Rは、<00>=PBr、<10>=IB、<20>=PBr、<01>=IB、<11>=IB、<21>=IB、<02>=IB、<12>=IB、<22>=PBrである。
 cost_Nは、<00>=2、<10>=2、<20>=4、<01>=1、<11>=2、<21>=13、<02>=1、<12>=25、<22>=9である。mode_Rは、<00>=PBn、<10>=IB、<20>=PBn、<01>=PBn、<11>=PBn、<21>=PBn、<02>=PBn、<12>=PBn、<22>=PBnである。
 第1フレーム目であるために、テーブルT1のcost_Rから小さい順に6個のブロックが選ばれる。ここでは、<10>=2、<00>=3、<20>=5、<02>=7、<01>=32、<12>=53が選択され、選択されたブロックのモードが、mode_Rが示すモードになる。<10>=IB、<00>=PBr、<20>=IB、<02>=PBr、<01>=IB、<12>=IBである。残りのブロックは、mode_Nから選択される。選択された結果が、図20のdecided_costとdecided_modeである。
 図20は、第1フレーム目におけるdecided_costとdecided_modeを示す図である。
 decided_costは、<00>=3、<10>=2、<20>=5、<01>=32、<11>=2、<21>=13、<02>=7、<12>=53、<22>=9である。decided_modeは、<00>=PBr、<10>=IB、<20>=PBr、<01>=IB、<11>=PBn、<21>=PBn、<02>=IB、<12>=IB、<22>=PBnである。
 図21は、セットの最終である第2フレーム目におけるprev表、cost_IB、cost_PBn、cost_PBrを示す図である。
 第2フレーム目においては、第1フレーム目の選択と同様にして行われる。ただし、最終フレームであるので、結果的にすべてがRBになる必要がある。したがって、NRBになる計算は必要ない。アルゴリズム上は区別をしていないが、結果的に棄却されるようになっている。図21では、cost_PBnが示されているが、最終的には使われない。
 図21において、prevは、<00>=R、<10>=R、<20>=R、<01>=R、<11>=N、<21>=N、<02>=R、<12>=R、<22>=Nである。cost_IBは、<00>=11、<10>=3、<20>=14、<01>=30、<11>=50、<21>=70、<02>=1、<12>=13、<22>=34である。
 cost_PBrは、<00>=3、<10>=4、<20>=5、<01>=1、<11>=-、<21>=-、<02>=5、<12>=35、<22>=-である。cost_PBnは、<00>=2、<10>=3、<20>=4、<01>=1、<11>=2、<21>=13、<02>=1、<12>=25、<22>=9である。
 イントラリフレッシュモード判定部24は、第0フレーム目、第1フレーム目と同様に、図21に示されるコストの仮定の下でテーブルT1を計算する。
 図22は、第2フレーム目におけるテーブルT1とテーブルT2を示す図である。
 図22では、テーブルT2も示されるが、実際には使用されない。
 cost_Rは、<00>=3、<10>=3、<20>=5、<01>=1、<11>=50、<21>=70、<02>=1、<12>=13、<22>=34である。mode_Rは、<00>=PBr、<10>=IB、<20>=PBr、<01>=PBr、<11>=IB、<21>=IB、<02>=IB、<12>=IB、<22>=IBである。
 cost_Nは、<00>=2、<10>=3、<20>=4、<01>=1、<11>=2、<21>=13、<02>=1、<12>=13、<22>=9である。mode_Rは、<00>=PBn、<10>=PBn、<20>=PBn、<01>=PBn、<11>=PBn、<21>=PBn、<02>=PBn、<12>=IB、<22>=PBnである。
 セットの最終のため、すべてのブロックがcost_Rから選択される。選択された結果が、図23のdecided_costとdecided_modeである。
 図23は、第2フレーム目におけるdecided_costとdecided_modeを示す図である。
 decided_costは、<00>=3、<10>=3、<20>=5、<01>=1、<11>=50、<21>=70、<02>=1、<12>=13、<22>=34である。decided_modeは、<00>=PBr、<10>=IB、<20>=PBr、<01>=PBr、<11>=IB、<21>=IB、<02>=IB、<12>=IB、<22>=IBである。
 以上が、リフレッシュ動作の1セットの流れである。
 具体的なコスト値を用いた例においても、特殊例が発現している。1フレーム目の終了時のdecided_modeの<22>がPBnになっている。<22>の最初のブロックの状態はRBである。結果的に、コスト値によって、一旦RBになったブロックが再びNRBになっている。RBの個数は、IBとPBrを加えると合計6であり正しく増加している。
 以上のように、本技術においては、IBになったエリアを維持するなどの位置的な制約にとらわれずに、コスト計算によって、最小コストで機能を実現できるモードを選択することが可能である。
 次に、図24のフローチャートを参照して、図2の符号化装置11のフレームエンコード処理について説明する。
 ステップS11において、イントラリフレッシュモード判定部24は、初期値設定を行う。初期化値設定では、Total_Blockの値としてフレーム内の全ブロック数を表す値が設定される(Total_Block:=フレーム内の全ブロック数)。また、nの値として1回にリフレッシュするブロック数を表す値が設定される(n:=1回にリフレッシュするブロック数)。
 ステップS12において、バッファ21は、符号化対象として入力されたフレームを読み込み、蓄積する。
 ステップS13において、バッファ21は、表示順で記憶したフレーム単位の画像を、GOP構造に応じて、符号化順に並べ替える。バッファ21は、並べ替え後の画像を、演算部25、加算部30、イントラ予測部33、および動き補償部34に出力する。
 ステップS14において、バッファ21に蓄積された画像を解析し、解析結果を表す情報を、レート制御部23およびイントラリフレッシュモード判定部24に供給する。
 ステップS15において、レート制御部23およびイントラリフレッシュモード判定部24は、レート制御により量子化値を決定する。
 ステップS16において、フレーム内モード判定およびエンコード処理が行われる。フレーム内モード判定およびエンコード処理の詳細については、図25のフローチャートを参照して後述する。フレーム内モード判定およびエンコード処理により、直交変換量子化部26が量子化した量子化値がエントロピー符号化部27に供給される。
 ステップS17において、エントロピー符号化部27は、直交変換量子化部26が量子化した量子化値を可逆符号化する。可逆符号化された量子化値から、符号化データが生成され、生成された符号化データは、バッファ28に供給される。
 ステップS18において、バッファ28は、エントロピー符号化部27が符号化した符号化データを、一時的に蓄積し、所定のタイミングで、ビットストリームとして出力する。
 ステップS19において、イントラリフレッシュモード判定部24は、処理対象のフレームが最後のフレームであるか否かを判定する。ステップS19において、最後のフレームではないと判定した場合、処理は、ステップS12に戻り、それ以降の処理が繰り返される。
 ステップS19において、最後のフレームであると判定された場合、図24のフレームエンコード処理は終了される。
 次に、図25のフローチャートを参照して、図24のステップS16におけるフレーム内モード判定およびエンコード処理について説明する。
 ステップS31において、イントラリフレッシュモード判定部24は、処理対象のフレームが最初のフレームであるか否かを判定する。ステップS31において、最初のフレームであると判定された場合、処理は、ステップS32に進む。
 ステップS32において、イントラリフレッシュモード判定部24は、RBの総数Nの値に0を設定する(N:=0)。
 ステップS33において、イントラリフレッシュモード判定部24は、すべてのブロックのモードをイントラに設定する。すなわち、最初のフレームは、イントラフレームとして処理され、処理は、ステップS38に進む。
 一方、ステップS31において、最初のフレームではないと判定された場合、処理は、ステップS34に進む。
 ステップS34において、イントラリフレッシュモード判定部24は、Nが0であるか否かを判定する。ステップS34において、Nが0であると判定された場合、処理は、ステップS35に進む。ステップS35において、イントラリフレッシュモード判定部24は、すべてのブロックのモードをNRBとする(block_mode[all block]:=NRB)。
 ステップS34において、N=0ではないと判定された場合、ステップS35はスキップされ、処理は、ステップS36に進む。
 ステップS36において、イントラリフレッシュモード判定部24は、フレーム内ブロック毎のコスト生成処理を行う。フレーム内ブロック毎のコスト生成処理の詳細は、図26を参照して後述される。ステップS36の処理により、RBになる候補のコストまたはRBを維持するためのコストからなるテーブルT1であるtable_RB_costとtable_RB_modeが作製され、すべてのモードのコストのうち最小のコストからなるテーブルT2であるtable_NRB_costとtable_NRB_modeが作製される。
 ステップS37において、イントラリフレッシュモード判定部24は、フレーム内ブロック毎のモード決定処理を行う。フレーム内ブロック毎のモード決定処理の詳細は、図27を参照して後述される。ステップS37の処理により、RBとなるブロックのモードと、NRBとなるブロックのモードとが決定される。
 ステップS38において、エンコード処理が行われる。エンコード処理の詳細は、図28を参照して後述される。ステップS38の処理により、原画像からの予測画像の減算乃至デブロックフィルタが施されて、次のフレームのために、画像がフレームメモリ32に蓄積される。
 ステップS39において、イントラリフレッシュモード判定部24は、Nの値に、Nにフレーム毎に増加させるRBの数であるnを加算した値を設定する(N:=N+n)。
 ステップS40において、イントラリフレッシュモード判定部24は、Nがフレームの全ブロック数であるtotal_blockより大きいか否かを判定する。
 ステップS40において、total_blockより大きいと判定された場合、処理は、ステップS41に進む。ステップS41において、イントラリフレッシュモード判定部24はNの値に、0を設定する(N:=0)。
 ステップS40において、Nがtotal_blockより小さいと判定された場合、ステップS41の処理はスキップされ、図25のフレーム内モード判定およびエンコード処理は終了される。
 次に、図26のフローチャートを参照して、図25のステップS36のフレーム内ブロック毎のコスト生成処理を説明する。
 ステップS61において、イントラリフレッシュモード判定部24は、ブロック数を示すblkの値に0を設定する(blk:=0)。
 ステップS62において、イントラ予測部33は、イントラ(IB)予測計算を行う。
 イントラ予測部33は、イントラ予測計算を行い、最適イントラモードで生成された予測画像を、セレクタ35に供給し、最適イントラモードの情報および対応するコストを、イントラリフレッシュモード判定部24に供給する。
 ステップS63において、動き補償部34は、インター(PBr,PBn)予測計算を行う。
 動き補償部34は、インター予測計算を行い、最適インターモードで生成された予測画像を、セレクタ35に供給する。インターモード情報および対応するコストは、イントラリフレッシュモード判定部24に供給される。
 ステップS64において、イントラリフレッシュモード判定部24は、Cost_IBに、IBにするコストを設定し(Cost_IB:=IBにするコスト)、Cost_PBrに、PBrにするコストを設定し(Cost_PBr:=PBrにするコスト)、Cost_PBnに、PBnにするコストを設定する(Cost_PBn:=PBnにするコスト)。
 ステップS65において、イントラリフレッシュモード判定部24は、ブロック数(blk)のブロックが過去のフレームでRBであったか、NRBであったかを判定する(block_mode[blk]?)。ステップS65において、blkのブロックが過去のフレームでRBであったと判定された場合、処理は、ステップS66に進む。
 ステップS66において、イントラリフレッシュモード判定部24は、Cost_RBの値に、Cost_IBの値を設定し(Cost_RB:=Cost_IB)、Mode_RBに、IBを設定する(Mode_RB:=”IB”)。その後、処理は、ステップS68に進む。
 ステップS65において、blK=0のブロックが過去のフレームでNRBであったと判定された場合、処理は、ステップS67に進む。
 ステップS67において、イントラリフレッシュモード判定部24は、RBのコストであるCost_RBに、Cost_IBとCost_PBrのうちの小さい方を設定する(Cost_RB:=min(Cost_IB,Cost_PBr))。また、イントラリフレッシュモード判定部24は、RBのモードであるMode_RBに、Cost_IBとCost_PBrのうちの小さい方に対応するモードを設定する(Mode_RB:=getmode(min(Cost_IB,Cost_PBr)))。その後、処理は、ステップS68に進む。
 ステップS68において、イントラリフレッシュモード判定部24は、NRBのコストであるCost_NRBに、Cost_IB、Cost_PBr、Cost_PBnのうちの小さい方を設定する(Cost_NRB:=min(Cost_IB,Cost_PBr,Cost_PBn))。また、イントラリフレッシュモード判定部24は、NRMのモードであるMode_NRBに、Cost_IB、Cost_PBr、Cost_PBnのうちの小さい方に対応するモードを設定する(Mode_NRB:=getmode(min(Cost_IB,Cost_PBr,Cost_PBn)))。
 ステップS69において、イントラリフレッシュモード判定部24は、blkのブロックのRBのコストテーブルであるtable_RB_cost[blk]に、Cost_RBを設定し(table_RB_cost[blk]:=Cost_RB)、blkのブロックのRBのモードテーブルであるtable_RB_mode[blk]に、Mode_RBを設定する(table_RB_mode[blk]:=Mode_RB)。また、イントラリフレッシュモード判定部24は、blkのブロックのNRBのコストテーブルであるtable_NRB_cost[blk]に、Cost_NRBを設定し(table_NRB_cost[blk]:=Cost_NRB)、blkのブロックのNRBのモードテーブルであるtable_NRB_mode[blk]に、Mode_NRBを設定する(table_NRB_mode[blk]:=Mode_NRB)。
 ステップS70において、イントラリフレッシュモード判定部24は、blkの値に、1加算する(blk:=blk+1)。
 ステップS71において、イントラリフレッシュモード判定部24は、blkがフレームの全ブロック数total_Blockよりも小さいか否かを判定する。ステップS71において、blkがtotal_Blockよりも小さいと判定された場合、処理は、ステップS62に戻り、それ以降の処理が繰り返される。
 ステップS71において、blkがtotal_Blockよりも大きいと判定された場合、図26のフレーム内ブロック毎のコスト生成処理は終了される。
 次に、図27のフローチャートを参照して、図25のステップS37のフレーム内ブロック毎のモード決定処理を説明する。なお、図27のステップS92乃至S96がRBに対して行う処理であり、ステップS97乃至S100がNRBに対して行う処理である。
 ステップS91において、イントラリフレッシュモード判定部24は、iの値に1を設定する(i:=0)。ステップS92において、aの値に、テーブル(table_RB_cost)の中から最小値の位置を見ることを表すargmin(table_RB_cost)の値を設定する。
 ステップS93において、イントラリフレッシュモード判定部24は、ブロックのモードテーブルであるtable_MB_mode[a]に、RBのモードテーブルであるtable_RB_mode[a]の値を設定する(table_MB_mode[a]:=table_RB_mode[a])。
 ステップS94において、イントラリフレッシュモード判定部24は、table_RB_costとtable_RB_modeからaを削除する。
 ステップS95において、イントラリフレッシュモード判定部24は、iに1を加算する(i:=i+1)。ステップS96において、イントラリフレッシュモード判定部24は、iがN+nより大きいか否かを判定する。ステップS96において、iがN+n以下であると判定された場合、処理は、ステップS92に戻り、それ以降の処理が繰り返される。
 ステップS96において、iがN+nより大きいと判定された場合、処理は、ステップS97に進む。
 ステップS97において、イントラリフレッシュモード判定部24は、すべてのブロックblkに対して、モードがセットされているか否かを判定する。ステップS97において、すべてのブロックblkに対して、モードがセットされていると判定された場合、図27のフレーム内ブロック毎のモード決定処理は終了される。
 ステップS97において、すべてのブロックblkに対して、モードがセットされていないと判定された場合、処理は、ステップS98に進む。
 ステップS98において、イントラリフレッシュモード判定部24は、RBのコストテーブルのブロックの値であるtable_RB_cost[blk]が、NRBのコストテーブルのブロックの値であるtable_NRB_cost[blk]よりも小さいか否かを判定する。
 ステップS98において、table_RB_cost[blk]がtable_NBR_cost[blk]よりも小さいと判定された場合、処理は、ステップS99に進む。
 ステップS99において、イントラリフレッシュモード判定部24は、ブロックのモードテーブルの値table_MB_mode[blk]に、RBのモードテーブルの値table_RB_mode[blk]を設定する(table_MB_mode[blk] :=table_RB_mode[blk])。
 一方、ステップS98において、table_RB_cost[blk]がtable_NBR_cost[blk]以上であると判定された場合、処理は、ステップS100に進む。
 ステップS100において、イントラリフレッシュモード判定部24は、ブロックのモードテーブルの値table_MB_mode[blk]に、NRBのモードテーブルの値table_NRB_mode[blk]を設定する(table_MB_mode[blk] :=table_NRB_mode[blk])。
 ステップS99またはS100の後、処理は、ステップS97に戻り、それ以降の処理が繰り返される。
 次に、図28のフローチャートを参照して、図25のステップS38のエンコード処理について説明する。
 図25のステップS37でモードが選択され、イントラ/インターの選択情報が、セレクタ35に供給される。セレクタ35は、イントラ/インターの選択情報に応じた予測画像を、演算部25に供給する。
 ステップS121において、イントラリフレッシュモード判定部24は、blk:=0とする。ステップS122において、演算部25は、選択されたモードがインターである場合、原画像から、予測画像を減算する。選択されたモードがイントラである場合、原画像がそのまま出力される。
 ステップS123において、直交変換量子化部26は、演算部25から供給された情報に対して直交変換処理を行う。直交変換量子化部26は、直交変換処理結果を量子化する。直交変換量子化部26は、量子化の結果得られる量子化値をエントロピー符号化部27と逆量子化逆直交変換部29に供給する。
 ステップS124において、逆量子化逆直交変換部29は、直交変換量子化部26が量子化した量子化値に対して逆量子化を行う。逆量子化逆直交変換部29は、逆量化の結果得られる直交変換処理結果を加算部30に供給する。
 ステップS125において、加算部30は、選択されたモードがインターである場合、逆量子化逆直交変換部29が逆直交変換した結果の画像(予測画像)と、バッファ21から供給される画像を加算する。加算部30は、加算された画像をデブロックフィルタ31に供給する。選択されたモードがイントラである場合、バッファ21に蓄積された画像が、デブロックフィルタ31に供給される。
 ステップS126において、デブロックフィルタ31は、加算部30により加算された画像に対して、デブロックフィルタ処理を行う。
 ステップS127において、デブロックフィルタ31は、その結果得られる画像をフレームメモリ32に供給する。フレームメモリ32に蓄積された画像は、参照画像として動き補償部34に出力される。
 ステップS128において、イントラリフレッシュモード判定部24は、blkの値に1加算する(blk:=blk+1)とする。
 ステップS129において、イントラリフレッシュモード判定部24は、blkがtotal_Blockよりも大きいか否かを判定する。ステップS129において、blkがtotal_Blockよりも小さいと判定された場合、処理は、ステップS122に戻り、それ以降の処理が繰り返される。
 ステップS129において、blkがtotal_Blockよりも大きいと判定された場合、エンコード処理は終了される。
 以上のように、本技術によれば、シーケンスの途中に発生量の大きなイントラフレームを挿入しなくても、エラーからの完全な復帰が可能である。
 本技術によれば、各フレームにイントラブロックを分散させるために、各フレームの発生量が均一化される。その結果、時間方向のムラを抑制し、低遅延化を実現することができる。
 本技術によれば、リフレッシュするためのイントラブロックをランダムに配置できるために視覚状目立ちにくく、主観的な画質を向上できる。
 本技術によれば、ブロックのエンコードモードの選択が静的形状制約を受けないために、圧縮効率の向上が期待できる。
 さらに、本技術によれば、リフレッシュの間隔を比較的自由に選択することができる。
 <復号装置の構成例>
 図29は、本開示を適用した復号装置の一実施の形態の構成例を示すブロック図である。なお、図2の符号化装置11で、本技術により生成され、伝送されてくるビットストリームは、特殊な復号処理を必要としないビットストリームである。したがって、図29の復号装置の構成は、一般的な復号装置の一構成例である。
 復号装置101は、図2の符号化装置11から伝送されるビットストリームを復号する。
 図29の復号装置101は、バッファ121、エントロピー復号部122、逆量子化逆直交変換部123、加算部124、デブロックフィルタ125、およびバッファ126を有する。また、復号装置101は、フレームメモリ128、スイッチ129、イントラ予測部130、動き補償部131、およびスイッチ132を有する。
 復号装置101のバッファ121は、符号化装置から伝送されてきたビットストリームに含まれる符号化データを受け取り、蓄積する。バッファ121は、蓄積されている符号化データをエントロピー復号部122に供給する。
 エントロピー復号部122は、バッファ121から供給された符号化データに対して、可変長復号や、算術復号等の可逆復号を施すことで、量子化値と符号化情報を得る。エントロピー復号部122は、量子化値を逆量子化逆直交変換部123に供給する。また、エントロピー復号部122は、符号化情報としてのイントラモード情報などをイントラ予測部130に供給する。エントロピー復号部122は、動きベクトル、インターモード情報、参照画像を特定する情報などを動き補償部131に供給する。
 さらに、エントロピー復号部122は、符号化情報としてのイントラまたはインターのモード情報をスイッチ132に供給する。
 逆量子化逆直交変換部123、加算部124、デブロックフィルタ125、フレームメモリ128、イントラ予測部130、および動き補償部131は、図2の逆量子化逆直交変換部29、加算部30、デブロックフィルタ31、フレームメモリ32、イントラ予測部33、および動き補償部34とそれぞれ同様の処理を行い、これにより、画像が復号される。
 具体的には、逆量子化逆直交変換部123は、図2の逆量子化逆直交変換部29と同様に構成される。逆量子化逆直交変換部123は、復号処理した結果得られる量子化値を逆量子化する。逆量子化逆直交変換部123は、逆直交変換処理の結果得られる情報を加算部124に供給する。
 加算部124は、逆量子化逆直交変換部123が逆直交変換処理した結果得られる情報と、スイッチ132から供給される予測画像を加算する。加算部124は、加算された結果の画像をデブロックフィルタ125に供給する。
 デブロックフィルタ125は、加算部124が加算した画像に対して適応デブロックフィルタ処理を行い、その結果得られる画像をフレームメモリ128およびバッファ126に供給する。
 バッファ126は、デブロックフィルタ125が適応デブロックフィルタ処理した画像をフレーム単位で蓄積する。バッファ126は、記憶した符号化のための順番のフレーム単位の画像を、元の表示の順番に並び替え、図示せぬ後段に出力する。
 フレームメモリ128は、デブロックフィルタ125が適応デブロックフィルタ処理した画像を蓄積する。一方、フレームメモリ128に蓄積されたフィルタ処理が行われた画像は、参照画像として、スイッチ129を介して動き補償部131に供給される。
 イントラ予測部130は、フレームメモリ128よりスイッチ129を介して読み出された周辺画像を用いて、エントロピー復号部122から供給されるイントラのモード情報が示す最適イントラモードのイントラ予測処理を行う。イントラ予測部130は、その結果生成される予測画像をスイッチ132に供給する。
 動き補償部131は、フレームメモリ128よりスイッチ129を介して、エントロピー復号部122から供給される参照画像を特定する情報により特定される参照画像を読み出す。動き補償部131は、エントロピー復号部122から供給される動きベクトルと参照画像を用いて、エントロピー復号部122から供給されるインターのモード情報が示す最適インターモードの動き補償処理を行う。動き補償部131は、動き補償処理の結果生成される予測画像をスイッチ132に供給する。
 スイッチ132は、エントロピー復号部122よりイントラのモード情報が供給された場合、イントラ予測部130が予測した予測画像を加算部124に供給する。一方、エントロピー復号部122からインターのモード情報が供給された場合、スイッチ132は、動き補償部131が予測した予測画像を加算部124に供給する。
 <復号装置の処理の説明>
 次に、図30のフローチャートを参照して、復号装置101の復号処理の詳細を説明する。
 復号処理が開始されると、ステップS151において、バッファ121は、復号装置101に供給される符号化データを蓄積する。ステップS152において、エントロピー復号部122は、復号処理を行い、量子化データを得る。
 ステップS153において、逆量子化逆直交変換部123は、ステップS152の処理により得られた量子化データを逆量子化して直交変換係数を得る。逆量子化逆直交変換部123は、直交変換係数を逆直交変換して復元された画像を得る。
 ステップS154において、イントラ予測部130、動き補償部131、およびスイッチ132は、符号化の際のモードで予測処理を行い、予測画像を生成する。
 ステップS155において、加算部124は、ステップS151の処理により得られた復元された画像に、ステップS154の処理により得られた予測画像を加算し、再構成画像を得る。
 ステップS156において、デブロックフィルタ125は、ステップS155の処理により得られた再構成画像に対してデブロッキングフィルタ等のフィルタ処理を行い、復号画像を得る。
 ステップS157において、バッファ126は、ステップS156の処理により得られた復号画像の並べ替えを行い、フレームの順序を、元の表示の順序(符号化装置11のバッファ21が並べ替える前の順序)に並べ替える。
 ステップS158において、フレームメモリ128は、ステップS157の処理により得られた復号画像を記憶する。記憶された復号画像は、インター予測において参照画像として利用される。
 ステップS156の処理が終了すると、画像復号処理が終了される。
 なお、これらの各処理の処理単位は任意であり、互いに同一でなくてもよい。したがって、各ステップの処理は、適宜、他のステップの処理等と並行して、または、処理順を入れ替えて実行することもできる。
 <情報のデータ単位>
 以上において説明した画像に関する情報や画像の符号化・復号に関する情報が設定される(または対象とするデータの)データ単位は、それぞれ任意であり、上述した例に限定されない。例えば、これらの情報が、それぞれ、TU、PU、CU、LCU、サブブロック、ブロック、タイル、スライス、ピクチャ、シーケンス、またはコンポーネント毎に設定されるようにしてもよいし、それらのデータ単位のデータを対象とするようにしてもよい。もちろん、データ単位は、情報毎に設定される。つまり、すべての情報が同一のデータ単位毎に設定される(または対象とする)ようにしなくてもよい。なお、これらの情報の格納場所は任意であり、上述したデータ単位のヘッダやパラメータセット等に格納されるようにしてもよい。また、複数個所に格納されるようにしてもよい。
 <符号化・復号>
 なお、本開示は、例えば、HEVC方式等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本開示は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。
 <本技術の適用分野>
 本技術を適用したシステム、装置、処理部等は、例えば、交通、医療、防犯、農業、畜産業、鉱業、美容、工場、家電、気象、自然監視等、任意の分野に利用することができる。
 例えば、本技術は、鑑賞の用に供される画像を伝送するシステムやデバイスにも適用することができる。また、例えば、本技術は、交通の用に供されるシステムやデバイスにも適用することができる。さらに、例えば、本技術は、セキュリティの用に供されるシステムやデバイスにも適用することができる。また、例えば、本技術は、スポーツの用に供されるシステムやデバイスにも適用することができる。さらに、例えば、本技術は、農業の用に供されるシステムやデバイスにも適用することができる。また、例えば、本技術は、畜産業の用に供されるシステムやデバイスにも適用することができる。さらに、本技術は、例えば火山、森林、海洋等の自然の状態を監視するシステムやデバイスにも適用することができる。また、本技術は、例えば天気、気温、湿度、風速、日照時間等を観測する気象観測システムや気象観測装置に適用することができる。さらに、本技術は、例えば鳥類、魚類、ハ虫類、両生類、哺乳類、昆虫、植物等の野生生物の生態を観測するシステムやデバイス等にも適用することができる。
 <多視点画像符号化・復号システムへの適用>
 上述した一連の処理は、複数の視点(ビュー(view))の画像を含む多視点画像の符号化・復号を行う多視点画像符号化・復号システムに適用することができる。その場合、各視点(ビュー(view))の符号化・復号において、本技術を適用するようにすればよい。
 <階層画像符号化・復号システムへの適用>
 また、上述した一連の処理は、所定のパラメータについてスケーラビリティ(scalability)機能を有するように複数レイヤ化(階層化)された階層画像の符号化・復号を行う階層画像符号化(スケーラブル符号化)・復号システムに適用することができる。その場合、各階層(レイヤ)の符号化・復号において、本技術を適用するようにすればよい。
 <コンピュータ>
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、ソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
 図31は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 図31に示されるコンピュータ300において、CPU(Central Processing Unit)301、ROM(Read Only Memory)302、RAM(Random Access Memory)303は、バス304を介して相互に接続されている。
 バス304にはまた、入出力インタフェース305も接続されている。入出力インタフェース305には、入力部306、出力部307、記憶部308、通信部309、およびドライブ310が接続されている。なお、バス304に、復号にかかわる専用のハードウエア演算器を付加するようにしてもよい。
 入力部306は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部307は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部308は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部309は、例えば、ネットワークインタフェースよりなる。ドライブ310は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア311を駆動する。
 以上のように構成されるコンピュータでは、CPU301が、例えば、記憶部313に記憶されているプログラムを、入出力インタフェース305およびバス304を介して、RAM303にロードして実行することにより、上述した一連の処理が行われる。RAM303にはまた、CPU801が各種の処理を実行する上において必要なデータなども適宜記憶される。
 コンピュータ(CPU301)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア311に記録して適用することができる。その場合、プログラムは、リムーバブルメディア311をドライブ310に装着することにより、入出力インタフェース305を介して、記憶部308にインストールすることができる。
 また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部309で受信し、記憶部308にインストールすることができる。
 その他、プログラムは、ROM302や記憶部308に、あらかじめインストールしておくこともできる。
 <その他>
 なお、符号化データ(ビットストリーム)に関する各種情報は、符号化データに多重化されて伝送され又は記録されるようにしてもよいし、符号化データに多重化されることなく、符号化データと関連付けられた別個のデータとして伝送され又は記録されるようにしてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る(リンクさせ得る)ようにすることを意味する。つまり、互いに関連付けられたデータは、1つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ(画像)に関連付けられた情報は、符号化データ(画像)とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ(画像)に関連付けられた情報は、符号化データ(画像)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されるようにしてもよい。なお、「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像と画像に対応する情報とが、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてもよい。
 また、上述したように、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えば符号化データとメタデータとを1つのデータにまとめるといった、複数の物を1つにまとめることを意味し、上述の「関連付ける」の1つの方法を意味する。
 また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 また、例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
 また、例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、例えば、上述したプログラムは、任意の装置において実行することができる。その場合、任意の装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
 また、例えば、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 なお、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。さらに、プログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
 なお、本明細書において複数説明した本技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術を、他の実施の形態において説明した本技術と組み合わせて実施することもできる。また、上述した任意の本技術を、上述していない他の技術と併用して実施することもできる。
 なお、本技術は以下のような構成も取ることができる。
 (1) 現フレームを構成するブロック毎の予測モードのコストを算出するコスト算出部と、
 前記コストと、前記現フレームより時間的に前にある前フレームでリフレッシュされた前記ブロックであるリフレッシュドブロックに基づいて、前記ブロック毎の予測モードを選択するリフレッシュモード判定部と
 を備える画像処理装置。
 (2) 前記リフレッシュドブロックは、前記前フレームのデータのみで画像を生成し、再構成することが可能な前記ブロックである
 前記(1)に記載の画像処理装置。
 (3) 前記リフレッシュドブロックは、前記前フレームにおいて、イントラ予測が行われた前記ブロックであるイントラブロック、または前記リフレッシュドブロックを参照したインター予測が行われた前記ブロックである第1のインターブロックとして符号化された前記ブロックである
 前記(1)または(2)に記載の画像処理装置。
 (4) 前記リフレッシュモード判定部は、前記現フレームを構成する前記ブロックのうち、前記リフレッシュドブロックの数より所定数増加させた数のブロックの予測モードを、前記イントラ予測のモードまたは前記リフレッシュドブロックを参照したインター予測のモードのうちのいずれかから選択する
 前記(3)に記載の画像処理装置。
 (5) 前記前フレームの前記ブロックがすべて前記リフレッシュドブロックになった場合、前記リフレッシュドブロックの数はリセットされる
 前記(4)に記載の画像処理装置。
 (6) 前記リフレッシュモード判定部は、前記現フレームを構成する前記ブロックのうち、前記リフレッシュドブロックの数より所定数増加させた数以外の残りのブロックの予測モードを、すべての予測モードの前記コストのうち、最小のコストに基づいて選択する
 前記(4)または(5)に記載の画像処理装置。
 (7) 前記残りのブロックは、前記前フレームにおいて、前記リフレッシュドブロックではない前記ブロックであるノーリフレッシュドブロックを参照したインター予測が行われた前記ブロックである第2のインターブロックとして符号化された前記ブロックである
 前記(6)に記載の画像処理装置。
 (8) 前記コストは、ブロック単位で符号化したときの負荷を表す
 前記(1)乃至(7)のいずれかに記載の画像処理装置。
 (9) 前記コスト算出部は、圧縮歪みと発生量から前記コストを算出する
 前記(1)乃至(8)のいずれかに記載の画像処理装置。
 (10) 画像処理装置が、
 現フレームを構成するブロック毎の予測モードのコストを算出し、
 前記コストと、前記現フレームより時間的に前にある前フレームでリフレッシュされた前記ブロックであるリフレッシュドブロックに基づいて、前記ブロック毎の予測モードを選択する
 画像処理方法。
 11 符号化装置, 24 イントラリフレッシュモード判定部, 27 エントロピー符号化部, 33 イントラ予測部, 34 動き補償部, 35 セレクタ, 101 復号装置

Claims (10)

  1.  現フレームを構成するブロック毎の予測モードのコストを算出するコスト算出部と、
     前記コストと、前記現フレームより時間的に前にある前フレームでリフレッシュされた前記ブロックであるリフレッシュドブロックに基づいて、前記ブロック毎の予測モードを選択するリフレッシュモード判定部と
     を備える画像処理装置。
  2.  前記リフレッシュドブロックは、前記前フレームのデータのみで画像を生成し、再構成することが可能な前記ブロックである
     請求項1に記載の画像処理装置。
  3.  前記リフレッシュドブロックは、前記前フレームにおいて、イントラ予測が行われた前記ブロックであるイントラブロック、または前記リフレッシュドブロックを参照したインター予測が行われた前記ブロックである第1のインターブロックとして符号化された前記ブロックである
     請求項2に記載の画像処理装置。
  4.  前記リフレッシュモード判定部は、前記現フレームを構成する前記ブロックのうち、前記リフレッシュドブロックの数より所定数増加させた数のブロックの予測モードを、前記イントラ予測のモードまたは前記リフレッシュドブロックを参照したインター予測のモードのうちのいずれかから選択する
     請求項3に記載の画像処理装置。
  5.  前記前フレームの前記ブロックがすべて前記リフレッシュドブロックになった場合、前記リフレッシュドブロックの数はリセットされる
     請求項4に記載の画像処理装置。
  6.  前記リフレッシュモード判定部は、前記現フレームを構成する前記ブロックのうち、前記リフレッシュドブロックの数より所定数増加させた数以外の残りのブロックの予測モードを、すべての予測モードの前記コストのうち、最小のコストに基づいて選択する
     請求項4に記載の画像処理装置。
  7.  前記残りのブロックは、前記前フレームにおいて、前記リフレッシュドブロックではない前記ブロックであるノーリフレッシュドブロックを参照したインター予測が行われた前記ブロックである第2のインターブロックとして符号化された前記ブロックである
     請求項6に記載の画像処理装置。
  8.  前記コストは、ブロック単位で符号化したときの負荷を表す
     請求項1に記載の画像処理装置。
  9.  前記コスト算出部は、圧縮歪みと発生量から前記コストを算出する
     請求項8に記載の画像処理装置。
  10.  画像処理装置が、
     現フレームを構成するブロック毎の予測モードのコストを算出し、
     前記コストと、前記現フレームより時間的に前にある前フレームでリフレッシュされた前記ブロックであるリフレッシュドブロックに基づいて、前記ブロック毎の予測モードを選択する
     画像処理方法。
PCT/JP2018/044461 2017-12-18 2018-12-04 画像処理装置および方法 WO2019124042A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/770,300 US11184608B2 (en) 2017-12-18 2018-12-04 Image processing apparatus and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017241479 2017-12-18
JP2017-241479 2017-12-18

Publications (1)

Publication Number Publication Date
WO2019124042A1 true WO2019124042A1 (ja) 2019-06-27

Family

ID=66994796

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/044461 WO2019124042A1 (ja) 2017-12-18 2018-12-04 画像処理装置および方法

Country Status (2)

Country Link
US (1) US11184608B2 (ja)
WO (1) WO2019124042A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009044475A1 (ja) * 2007-10-04 2009-04-09 Fujitsu Limited 符号化装置、符号化方法、符号化プログラムおよび符号化回路
JP2011205465A (ja) * 2010-03-26 2011-10-13 Hitachi Consumer Electronics Co Ltd 画像符号化方法および画像符号化装置
JP2013165340A (ja) * 2012-02-09 2013-08-22 Sony Corp 画像処理装置と画像処理方法
JP2015106848A (ja) * 2013-11-29 2015-06-08 富士通株式会社 情報埋め込み装置、情報検出装置、情報埋め込み方法、及び情報検出方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140294072A1 (en) * 2013-03-27 2014-10-02 Magnum Semiconductor, Inc. Apparatuses and methods for staggered-field intra-refresh

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009044475A1 (ja) * 2007-10-04 2009-04-09 Fujitsu Limited 符号化装置、符号化方法、符号化プログラムおよび符号化回路
JP2011205465A (ja) * 2010-03-26 2011-10-13 Hitachi Consumer Electronics Co Ltd 画像符号化方法および画像符号化装置
JP2013165340A (ja) * 2012-02-09 2013-08-22 Sony Corp 画像処理装置と画像処理方法
JP2015106848A (ja) * 2013-11-29 2015-06-08 富士通株式会社 情報埋め込み装置、情報検出装置、情報埋め込み方法、及び情報検出方法

Also Published As

Publication number Publication date
US20210176463A1 (en) 2021-06-10
US11184608B2 (en) 2021-11-23

Similar Documents

Publication Publication Date Title
KR102148469B1 (ko) 계층적 데이터 단위의 양자화 파라메터 예측을 포함하는 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
TWI674793B (zh) 視訊編解碼的適應性預測候選位置
JP5151984B2 (ja) 動画像符号化装置
CN108293125B (zh) 一种数字图像处理系统和方法
JP6268989B2 (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
JP2019508971A (ja) ビデオコーディングのための固定フィルタからのフィルタ係数を予測すること
US8731056B2 (en) Image encoding apparatus, image encoding method, and image encoding program
US8681864B2 (en) Video coding apparatus and video coding control method
US9591305B2 (en) Moving image decoding apparatus, moving image decoding method and moving image encoding apparatus, and moving image encoding method
JP2010515400A (ja) 全域差ベクトルを利用した多視点映像の符号化、復号化方法及び装置
KR102169608B1 (ko) 인트라 예측 처리 속도 향상을 위한 비디오의 부호화 방법 및 장치, 비디오의 복호화 방법 및 장치
CN110324623B (zh) 一种双向帧间预测方法及装置
BRPI0919839B1 (pt) Método, aparelho e mídia de armazenamento não transitória legível por computador para codificação de vídeo com macroblocos grandes
KR20140120891A (ko) 효율적인 변환 유닛 인코딩을 위한 방법 및 장치
JP5128389B2 (ja) 動画像符号化装置及び動画像符号化方法
KR101353214B1 (ko) 비디오 코딩 방법 및 그 장치
WO2019124042A1 (ja) 画像処理装置および方法
WO2018105410A1 (ja) 画像処理装置および方法
US8831099B2 (en) Selecting a macroblock encoding mode by using raw data to compute intra cost
CN113225558A (zh) 平滑定向和dc帧内预测
US11758133B2 (en) Flexible block partitioning structures for image/video compression and processing
Sharma Comparative performance of JM and FFMPEG codecs of H. 264 AVC video compression standard
WO2023053957A1 (ja) 画像処理装置および方法
Nalluri A fast motion estimation algorithm and its VLSI architecture for high efficiency video coding
JPWO2019017327A1 (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: 18893059

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP