WO2013100694A1 - 비디오 인코딩 및 디코딩 방법과 이를 이용하는 장치 - Google Patents
비디오 인코딩 및 디코딩 방법과 이를 이용하는 장치 Download PDFInfo
- Publication number
- WO2013100694A1 WO2013100694A1 PCT/KR2012/011717 KR2012011717W WO2013100694A1 WO 2013100694 A1 WO2013100694 A1 WO 2013100694A1 KR 2012011717 W KR2012011717 W KR 2012011717W WO 2013100694 A1 WO2013100694 A1 WO 2013100694A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- entry
- point
- entry point
- offset
- information
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/174—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/436—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/633—Control signals issued by server directed to the network components or client
- H04N21/6332—Control signals issued by server directed to the network components or client directed to client
- H04N21/6336—Control signals issued by server directed to the network components or client directed to client directed to decoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
Definitions
- the present invention relates to image information compression technology, and more particularly, to a method of signaling a bitstream including image information and a method of parsing information using the same.
- High-efficiency image compression technology can be used to effectively transmit, store, and reproduce high-resolution, high-quality video information.
- inter prediction and intra prediction may be used.
- the pixel value of the current picture is predicted by referring to information of another picture
- the intra prediction method the pixel value is predicted by using the correlation between pixels in the same picture. do.
- Various methods for making an image identical to an original may be applied to a processing unit, eg, a block, of a predicted image. This allows the decoding apparatus to decode the image more accurately (more consistent with the original), and the encoding apparatus can encode the image so that it can be more accurately reconstructed.
- An object of the present invention is to provide a method and apparatus for setting and signaling an entry point in bytes when parallel decoding is applied.
- An embodiment of the present invention is a video encoding method comprising entropy encoding quantized transform information and transmitting entropy encoded information in a bitstream, the bitstream indicating information to be parallel decoded in bytes. Information may be included.
- the bitstream may include in the slice header offset information indicating an entry point for a row of coding tree units that are subject to parallel decoding, and the offset information may indicate the number of bytes between two entry points.
- entropy encoding may be initiated at an access point indicated by an entry point for rows of coding tree units, and when the entropy encoding for the reference coding tree unit of the current row is completed, the reference coding Initiate entropy encoding for the first coding tree unit of the next row based on the context of the tree unit, wherein the number of bytes in the current row may be indicated by an offset between entry points transmitted in the bitstream.
- Another embodiment of the present invention is a video decoding method, comprising: receiving a bitstream and performing parallel decoding based on the bitstream, wherein the bitstream stores information decoded in parallel in units of bytes. It may include information indicating.
- the performing of the decoding may include performing entropy decoding on the bitstream;
- the coding tree unit is based on the context of the CTU NL .
- the bitstream may include offset information indicating an entry point for a row of coding tree units that are subject to parallel decoding, and the offset information may indicate the number of bytes between two entry points.
- the offset information may be transmitted in a slice header.
- decoding may be started at an access point indicated by an entry point for rows of coding tree units, and when entropy decoding for the reference coding tree unit of the current row is completed, the decoding of the reference coding tree unit may be performed. Based on the context, entropy decoding may be initiated for the first coding tree unit of the next row, and the number of bytes of the current row may be indicated by an offset between entry points transmitted in the bitstream.
- coding efficiency can be improved by effectively signaling encoded video information.
- an entry point when parallel decoding is applied, an entry point may be set in bytes and signaled, thereby effectively using data resources and increasing compression efficiency.
- the efficiency of video decoding can be greatly improved.
- FIG. 1 is a block diagram schematically illustrating a video encoding apparatus according to an embodiment of the present invention.
- FIG. 2 is a block diagram schematically illustrating a video decoding apparatus according to an embodiment of the present invention.
- FIG. 3 is a diagram schematically illustrating an example of a slice.
- FIG. 4 is a diagram schematically illustrating an example of a tile and a slice.
- FIG. 5 is a diagram schematically illustrating another example of a tile and a slice.
- FIG. 6 is a diagram schematically illustrating a WPP substream.
- FIG. 7 is a diagram schematically illustrating a tile.
- FIG. 8 is a diagram schematically illustrating a relationship between a WPP and a tile.
- FIG. 9 is a diagram schematically illustrating an example of a sequence of LCUs in a picture.
- FIG. 10 is a diagram schematically illustrating an example of an order of LCUs in a bitstream.
- FIG. 11 illustrates an example for explaining the byte alignment of a substream.
- FIG. 12 is a diagram schematically illustrating an example of an entry point for a WPP substream.
- FIG. 13 is a diagram schematically illustrating an example of an entry point for a tile.
- FIG. 14 is a diagram schematically illustrating an example of an entry point when a tile and a WPP substream are applied together.
- 15 is a flowchart schematically illustrating an example of an encoding method according to the present invention.
- 16 is a diagram schematically illustrating an example of an encoding apparatus according to the present invention.
- FIG. 17 schematically illustrates an example of a decoding method according to the present invention.
- FIG. 18 is a diagram schematically showing an example of a decoding apparatus according to the present invention.
- each of the components in the drawings described in the present invention are shown independently for the convenience of description of the different characteristic functions in the video encoding apparatus / decoding apparatus, each component is a separate hardware or separate software It does not mean that it is implemented.
- two or more of each configuration may be combined to form one configuration, or one configuration may be divided into a plurality of configurations.
- Embodiments in which each configuration is integrated and / or separated are also included in the scope of the present invention without departing from the spirit of the present invention.
- the encoding apparatus 100 may include a picture divider 105, a predictor 110, a transformer 115, a quantizer 120, a reordering unit 125, an entropy encoding unit 130, An inverse quantization unit 135, an inverse transform unit 140, a filter unit 145, and a memory 150 are provided.
- the picture dividing unit 105 may divide the input picture into at least one processing unit block.
- the block as the processing unit may be a prediction unit (hereinafter referred to as a PU), a transform unit (hereinafter referred to as a TU), or a coding unit (hereinafter referred to as "CU"). It may be called.
- the processing unit blocks divided by the picture divider 105 may have a quad-tree structure.
- the predictor 110 includes an inter predictor for performing inter prediction and an intra predictor for performing intra prediction, as described below.
- the prediction unit 110 generates a prediction block by performing prediction on the processing unit of the picture in the picture division unit 105.
- the processing unit of the picture in the prediction unit 110 may be a CU, a TU, or a PU.
- the prediction unit 110 may determine whether the prediction performed on the processing unit is inter prediction or intra prediction, and determine specific contents (eg, prediction mode, etc.) of each prediction method.
- the processing unit in which the prediction is performed and the processing unit in which the details of the prediction method and the prediction method are determined may be different.
- the prediction method and the prediction mode may be determined in units of PUs, and the prediction may be performed in units of TUs.
- a prediction block may be generated by performing prediction based on information of at least one picture of a previous picture and / or a subsequent picture of the current picture.
- a prediction block may be generated by performing prediction based on pixel information in a current picture.
- a skip mode, a merge mode, a motion vector prediction (MVP), and the like can be used.
- a reference picture may be selected for a PU and a reference block corresponding to the PU may be selected.
- the reference block may be selected in integer pixel units.
- a prediction block is generated in which a residual signal with the current PU is minimized and the size of the motion vector is also minimized.
- the prediction block may be generated in integer sample units, or may be generated in sub-pixel units such as 1/2 pixel unit or 1/4 pixel unit.
- the motion vector may also be expressed in units of integer pixels or less.
- the residual may be used as the reconstructed block, and thus the residual may not be generated, transformed, quantized, or transmitted.
- a prediction mode When performing intra prediction, a prediction mode may be determined in units of PUs, and prediction may be performed in units of PUs. In addition, a prediction mode may be determined in units of PUs, and intra prediction may be performed in units of TUs.
- the prediction mode may have 33 directional prediction modes and at least two non-directional modes.
- the non-directional mode may include a DC prediction mode and a planner mode (Planar mode).
- a prediction block may be generated after applying a filter to a reference sample.
- whether to apply the filter to the reference sample may be determined according to the intra prediction mode and / or the size of the current block.
- the PU may be a block of various sizes / types, for example, in the case of inter prediction, the PU may be a 2N ⁇ 2N block, a 2N ⁇ N block, an N ⁇ 2N block, an N ⁇ N block (N is an integer), or the like.
- the PU In the case of intra prediction, the PU may be a 2N ⁇ 2N block or an N ⁇ N block (where N is an integer).
- the PU of the N ⁇ N block size may be set to apply only in a specific case.
- the NxN block size PU may be used only for the minimum size CU or only for intra prediction.
- PUs such as N ⁇ mN blocks, mN ⁇ N blocks, 2N ⁇ mN blocks, or mN ⁇ 2N blocks (m ⁇ 1) may be further defined and used.
- the residual value (the residual block or the residual signal) between the generated prediction block and the original block is input to the converter 115.
- the prediction mode information, the motion vector information, etc. used for the prediction are encoded by the entropy encoding unit 130 together with the residual value and transmitted to the decoding apparatus.
- the transform unit 115 performs transform on the residual block in units of transform blocks and generates transform coefficients.
- the transform block is a rectangular block of samples to which the same transform is applied.
- the transform block can be a transform unit (TU) and can have a quad tree structure.
- the transformer 115 may perform the transformation according to the prediction mode applied to the residual block and the size of the block.
- the residual block is transformed using a discrete sine transform (DST), otherwise the residual block is transformed into a discrete cosine transform (DCT). Can be converted using.
- DST discrete sine transform
- DCT discrete cosine transform
- the transform unit 115 may generate a transform block of transform coefficients by the transform.
- the quantization unit 120 may generate quantized transform coefficients by quantizing the residual values transformed by the transform unit 115, that is, the transform coefficients.
- the value calculated by the quantization unit 120 is provided to the inverse quantization unit 135 and the reordering unit 125.
- the reordering unit 125 rearranges the quantized transform coefficients provided from the quantization unit 120. By rearranging the quantized transform coefficients, the encoding efficiency of the entropy encoding unit 130 may be increased.
- the reordering unit 125 may rearrange the quantized transform coefficients in the form of a 2D block into a 1D vector form through a coefficient scanning method.
- the entropy encoding unit 130 may perform entropy encoding on the quantized transform coefficients rearranged by the reordering unit 125.
- Entropy encoding may include, for example, encoding methods such as Exponential Golomb, Context-Adaptive Variable Length Coding (CAVLC), and Context-Adaptive Binary Arithmetic Coding (CABAC).
- the entropy encoding unit 130 may include quantized transform coefficient information, block type information, prediction mode information, partition unit information, PU information, transmission unit information, and motion vector of the CUs received from the reordering unit 125 and the prediction unit 110.
- Various information such as information, reference picture information, interpolation information of a block, and filtering information may be encoded.
- the entropy encoding unit 130 may apply a constant change to a parameter set or syntax to be transmitted.
- the inverse quantizer 135 inversely quantizes the quantized values (quantized transform coefficients) in the quantizer 120, and the inverse transformer 140 inversely transforms the inverse quantized values in the inverse quantizer 135.
- the reconstructed block may be generated by combining the residual values generated by the inverse quantizer 135 and the inverse transform unit 140 and the prediction blocks predicted by the prediction unit 110.
- a reconstructed block is generated by adding a residual block and a prediction block through an adder.
- the adder may be viewed as a separate unit (restore block generation unit) for generating a reconstruction block.
- the filter unit 145 may apply a deblocking filter, an adaptive loop filter (ALF), and a sample adaptive offset (SAO) to the reconstructed picture.
- ALF adaptive loop filter
- SAO sample adaptive offset
- the deblocking filter may remove distortion generated at the boundary between blocks in the reconstructed picture.
- the adaptive loop filter may perform filtering based on a value obtained by comparing the reconstructed image with the original image after the block is filtered through the deblocking filter. ALF may be performed only when high efficiency is applied.
- the SAO restores the offset difference from the original image on a pixel-by-pixel basis to the residual block to which the deblocking filter is applied, and is applied in the form of a band offset and an edge offset.
- the filter unit 145 may not apply filtering to the reconstructed block used for inter prediction.
- the memory 150 may store the reconstructed block or the picture calculated by the filter unit 145.
- the reconstructed block or picture stored in the memory 150 may be provided to the predictor 110 that performs inter prediction.
- the video decoding apparatus 200 includes an entropy decoding unit 210, a reordering unit 215, an inverse quantization unit 220, an inverse transform unit 225, a prediction unit 230, and a filter unit 235.
- Memory 240 may be included.
- the input bitstream may be decoded according to a procedure in which image information is processed in the video encoding apparatus.
- VLC variable length coding
- 'VLC' variable length coding
- CABAC CABAC
- Information for generating the prediction block among the information decoded by the entropy decoding unit 210 is provided to the predictor 230, and a residual value where entropy decoding is performed by the entropy decoding unit 210, that is, a quantized transform coefficient It may be input to the reordering unit 215.
- the reordering unit 215 may reorder the information of the bitstream entropy decoded by the entropy decoding unit 210, that is, the quantized transform coefficients, based on the reordering method in the encoding apparatus.
- the reordering unit 215 may reorder the coefficients expressed in the form of a one-dimensional vector by restoring the coefficients in the form of a two-dimensional block.
- the reordering unit 215 may generate an array of coefficients (quantized transform coefficients) in the form of a 2D block by scanning coefficients based on the prediction mode applied to the current block (transform block) and the size of the transform block.
- the inverse quantization unit 220 may perform inverse quantization based on the quantization parameter provided by the encoding apparatus and the coefficient values of the rearranged block.
- the inverse transform unit 225 may perform inverse DCT and / or inverse DST on the DCT and the DST performed by the transform unit of the encoding apparatus with respect to the quantization result performed by the video encoding apparatus.
- the inverse transformation may be performed based on a transmission unit determined by the encoding apparatus or a division unit of an image.
- the DCT and / or DST in the encoding unit of the encoding apparatus may be selectively performed according to a plurality of pieces of information, such as a prediction method, a size and a prediction direction of the current block, and the inverse transform unit 225 of the decoding apparatus is configured in the transformation unit of the encoding apparatus.
- Inverse transformation may be performed based on the performed transformation information.
- the prediction unit 230 may generate the prediction block based on the prediction block generation related information provided by the entropy decoding unit 210 and the previously decoded block and / or picture information provided by the memory 240.
- intra prediction for generating a prediction block based on pixel information in the current picture may be performed.
- inter prediction on the current PU may be performed based on information included in at least one of a previous picture or a subsequent picture of the current picture.
- motion information required for inter prediction of the current PU provided by the video encoding apparatus for example, a motion vector, a reference picture index, and the like, may be derived by checking a skip flag, a merge flag, and the like received from the encoding apparatus.
- the reconstruction block may be generated using the prediction block generated by the predictor 230 and the residual block provided by the inverse transform unit 225.
- FIG. 2 it is described that the reconstructed block is generated by combining the prediction block and the residual block in the adder.
- the adder may be viewed as a separate unit (restore block generation unit) for generating a reconstruction block.
- the residual is not transmitted and the prediction block may be a reconstruction block.
- the reconstructed block and / or picture may be provided to the filter unit 235.
- the filter unit 235 may apply deblocking filtering, sample adaptive offset (SAO), and / or ALF to the reconstructed block and / or picture.
- SAO sample adaptive offset
- the memory 240 may store the reconstructed picture or block to use as a reference picture or reference block and provide the reconstructed picture to the output unit.
- the encoding apparatus and the decoding apparatus may divide the picture into predetermined units and process (encode / decode) the picture.
- a picture may be divided into slices and tiles.
- a slice is a sequence of one or more slice segments.
- the slice sequence starts with an independent slice segment and includes dependent slice segments that exist until the next independent slice segment.
- the slice segment may be a coding tree unit (CTU) or a sequence of coding tree blocks (CTBs).
- the coding tree unit is a coding unit of a quad-tree structure, and may be a largest coding unit (LCU).
- LCU largest coding unit
- a coding tree unit and a maximum coding unit may be mixedly used where necessary for better understanding of the present invention.
- FIG. 3 is a diagram schematically illustrating an example of a slice.
- the current picture 300 is divided into two slices by the slice boundary 350.
- the first slice includes an independent slice segment 310 comprising four coding tree units and a first dependent slice segment 320 comprising twenty-two coding tree units before and after the slice segment boundary 330 and twenty-four codings. It may be composed of a second subordinate slice segment 340 including a tree unit.
- Another independent slice segment 360 is composed of 28 coding tree units.
- a tile may also be a coding tree unit, a coding tree block, or a sequence of maximum coding units.
- the coding tree unit is a coding unit of a quad-tree structure, and may be a largest coding unit (LCU). As described above, in the present specification, a coding tree unit and a maximum coding unit are used interchangeably where necessary to help the understanding of the present invention.
- a tile may be integer number of coding tree units or maximum coding units co-occurring in an area that may be defined by one row and one column.
- both of the following two conditions are met or at least one is established.
- All coding tree units or maximum coding units in a slice segment belong to the same tile.
- All coding tree units or maximum coding units in a tile belong to the same slice segment.
- FIG. 4 is a diagram schematically illustrating an example of a tile and a slice.
- the current picture 400 includes only one slice and is divided into two tiles to the left and right of the tile boundary 410.
- the slice in the current picture 400 consists of four subordinate slice segments divided by an independent slice segment 420 and slice segment boundaries 430, 440, and 450.
- FIG. 5 is a diagram schematically illustrating another example of a tile and a slice.
- the current picture 500 is divided into two tiles to the left and right of the tile boundary 510.
- the tile to the left of the tile boundary 510 includes two slices based on the slice boundary 550.
- Slices above slice boundary 550 include independent slice segments 520 and dependent slice segments 540, and slices below slice boundary 550 include independent slice segments 530 and dependent slice segments ( 560).
- the next slice based on slice boundary 590, ie, the slice in the second tile, includes an independent slice segment 530 and a dependent slice segment 580.
- Encoding and decoding may be performed on a tile-by-tile basis, and a row (or stream) of a coding tree unit (hereinafter, for convenience of description) or a row (or stream) of a maximum coding unit is referred to as a 'substream'. It may also be performed in units). Each sample in a tile or substream may be processed in a coding tree unit or a maximum coding unit.
- the decoding process may be processed in parallel.
- the decoding process may be performed in parallel for each tile.
- the decoding process may be performed in parallel for each substream.
- entropy decoding when entropy decoding is performed for each substream, after entropy decoding is performed for the nth (n is an integer) subframe, entropy decoding for the second coding tree unit or the maximum coding unit of the nth substream is completed. Thereafter, entropy decoding may be performed on the n + 1 th substream.
- the substream may be a row of maximum coding units or coding tree units as a part of a bitstream to be decoded in each decoding process when a plurality of decoding processes are performed in parallel.
- the first coding tree unit (maximum coding unit) of the n + 1th substream may be entropy decoded based on the context information for the second coding tree unit (maximum coding unit) of the nth substream.
- WPP wavefront parallel processing
- each tile can be decoded simultaneously.
- the maximum number of tiles that can be processed in parallel may be predetermined. For example, a maximum of four tiles may be set to be processed in parallel.
- the decoding apparatus may process 1 to 4 tiles at once.
- the tile structure and the WPP allow the encoding device to divide the picture into several parts, which can then be decoded in a parallel manner in the decoding device.
- An access point on a bitstream for proceeding decoding in parallel using a tile structure (tile substream) or a WPP substream is called an entry point.
- the entry point may be the start point of each WPP substream or the start point of each tile on the bitstream.
- Tile and WPP differ in the encoding / decoding technique applied, but the entry point of the tile and the entry point of the substream to which WPP is applied may be signaled in the same way.
- a tile In parallel processing, a tile always starts at a byte aligned position, but a substream to which WPP is applied (hereinafter referred to as a WPP substream for convenience of description) may not start at a byte aligned position. .
- a WPP substream For convenience of description, byte alignment is meant to be aligned by byte.
- tiles and WPP substreams differ in bit granularity for entry points, are the lengths of partitions (i.e. tile WPP substreams) signaled in bytes or bits? It may be important to know if it is signaled in units of).
- FIG. 6 is a diagram schematically illustrating a WPP substream.
- the predetermined area 600 in the picture includes a plurality of substreams such as substream A 610, substream B 620, substream C 630, and the like.
- Each substream is decoded sequentially from the first LCU.
- Second and subsequent LCUs of each substream may be entropy decoded based on the entropy decoding result of previous LCUs, that is, the context.
- each substream can be decoded in parallel, and in the substreams after the first substream, the first LCUs can be entropy decoded based on the value of the context variables for the second LCU of the previous substream. have.
- the decoding process proceeds from the first LCU A1 of the first row 610 in the decoding object region 600.
- the decoding device stores the value of the context variables for A2.
- the first LCU B1 of the second row 620 is entropy decoded based on the value of the context variables for the second LCU A2 of the first row 610. Once the entropy decoding for the second LCU B2 of the second row 620 is complete, the decoding device stores the values of the context variables for B2.
- the first LCU C1 of the third row 630 is entropy decoded based on the value of the context variables for the second LCU B2 of the second row 610.
- the decoding device stores the values of the context variables for B2.
- the fourth and subsequent rows can also be entropy decoded using the context variable values for the second LCU of the previous row.
- the entry point may indicate the decoding start point (access point) for each substream.
- a predetermined area 600 of a picture may be a partial area of the current picture, a slice of the current picture, or an entire area of the current picture.
- FIG. 7 is a diagram schematically illustrating a tile.
- the predetermined area 700 in the picture is divided into tile 1 710, tile 2 720, tile 3 730, and tile 4 740.
- Each tile includes a plurality of substreams.
- the decoding device may decode each tile at the same time. As described above, if the number of tiles that can be decoded in parallel is up to four, the decoding apparatus may decode tiles 1 to 4 simultaneously.
- decoding of substreams proceeds sequentially from the first substream of the tile (for example, A ⁇ B ⁇ C ⁇ %), and within the substream, the LCU is sequentially started from the first LCU.
- Xx1 ⁇ Xx2 ⁇ Xx3 ⁇ are decoded (Xx1 ⁇ Xx2 ⁇ Xx3 ⁇ ).
- the entry points may indicate the decoding start point (access point) for each tile.
- a predetermined area 700 of a picture may be a partial area of the current picture, a slice of the current picture, or an entire area of the current picture.
- FIG. 8 is a diagram schematically illustrating a relationship between a WPP and a tile structure.
- the WPP substream is applied within the tile as shown.
- a predetermined area 800 in a picture is divided into tile 1 810, tile 2 820, tile 3 830, and tile 4 840.
- Each tile includes a plurality of WPP substreams.
- sub-stream A and sub-stream B are alternately located in tile 1 810
- sub-stream C and sub-stream D are alternately located in tile 2 820
- sub-tile 3 830 are alternately located
- Stream E and substream F are alternately located
- sub-stream G and sub-stream H are alternately present in tile 4 840.
- the entry point is the entry point of the tile.
- the entry point is the entry point of the WPP substream.
- the predetermined area 800 in the picture may be a partial area of the current picture, a slice of the current picture, or an entire area of the current picture.
- the starting point (access point) of each parallel processing is indicated by the entry point. Accordingly, various methods of signaling an entry point in the encoding apparatus and various methods of receiving the signaling of the entry point in the decoding apparatus and processing parallel decoding may be considered.
- Table 1 shows an example of syntax elements in a slice header signaling an entry point of a WPP substream and a tile.
- the entry point information may be information about an entry point of a WPP substream or information about an entry point of a tile.
- entry_point_location_flag indicates whether entry point information exists in the bitstream. For example, if entry point information (eg, entry point location information) is present in the bitstream, the value of entry_point_location_flag is 1, and if entry point information does not exist in the bitstream, the value of entry_point_location_flag is 0.
- Table 2 shows an example of a syntax structure regarding entry point location information according to Table 1.
- the entry point information may be information about an entry point of a WPP substream or information about an entry point of a tile.
- num_of_entry_points_minus1 indicates the number of entry points on the bitstream in the slice. Since the number of entry point offsets is one less than the entry point, num_of_entry_points_minus1 may specify the number of entry_point_offset [i] syntax elements in the slice header.
- entry_point_offset_length_minus2 Specifies the number of bits used to signal information about the entry point offset (entry_point_offset syntax element). In other words, entry_point_offset_length_minus2 Is entry_point_offset [i] The length of a syntax element may be expressed in bits or bytes.
- entry_point_offset [i] specifies the number of bits between two entry points. However, if i is 0, entry_point_offset [0] specifies the number of bits between the end of slice header and the first entry point in the slice. If the value of i is not 0, entry_point_offset [i] specifies the number of bits between the i-1 th entry point i-1 and the i th entry point i.
- xx may be defined as in Equation 1.
- Equation 1 when the number of substreams is greater than 1, WPP may be applied, and when the number of substreams is 1 or less, it may be a case of using a tile.
- the type of entry point ie, whether the entry point is for a tile or for a WPP substream
- the type of entry point ie, whether the entry point is for a tile or for a WPP substream
- tile_info_present_flag 1 && num_substream_minus1> 0
- the i th entry point is the entry point of the tile and the i th entry point.
- the entry points become entry points of the WPP substream. That is, when tile information exists and a plurality of substreams exist, the entry point may be estimated as the entry point of the WPP substream, or may be estimated as the entry point of the tile and the WPP substream.
- a stream (eg, bitstream) of encoded data in a slice may be divided into one or more substreams.
- the substreams can be units of parallel processing (parallel decoding) and each substream is aligned bit by bit.
- bit-aligned is referred to as being bit-aligned for convenience of description.
- each substream may be expressed in bit units, and the entry point of each substream may also be expressed in bit units.
- FIG. 9 is a diagram schematically illustrating an example of a sequence of LCUs in a picture.
- a predetermined region 910 of a picture includes two substreams (substream A, which is the 0th substream, and substream B, which is the first substream).
- the substream A and the substream B are alternately arranged in the region 900.
- the predetermined area 900 in the picture may be a partial area of the current picture, a slice or a tile of the current picture, or an entire area of the current picture.
- the LCU may be a coding tree unit (CTU).
- FIG. 10 is a diagram schematically illustrating an example of an order of LCUs in a bitstream.
- a bitstream is composed of LCUs described in the example of FIG. 9 will be described as an example.
- bitstream 1010 includes two substreams (substream A, which is the 0th substream, and substream B, which is the first substream).
- the entry point 1020 of the substream A may correspond to the start point of the LCU A1
- the entry point 1030 of the substream B may correspond to the start point of the LCU B1.
- entry point 1030 may be an entry point of a tile.
- the substream has a length in bits and is expressed in bits as an entry point.
- the WPP substreams are byte aligned, and even when the tile structure is applied, the substreams in the tile may be byte aligned.
- byte-aligned bits may be used as a method for byte-aligning the substream.
- the byte alignment bits are bits added to the bitstream or substream to byte-align each substream.
- byte alignment bits may be added if they are not byte aligned at each end of each substream (eg, WPP substream or substream in a tile). Therefore, the length of each substream is expressed in byte units rather than bit units.
- the byte alignment bits can be added to any portion of the substream to which the byte alignment is to be applied. For example, byte alignment bits may be added at the end of each substream.
- FIG. 11 illustrates an example for explaining the byte alignment of a substream.
- FIG. 11 a case where a bitstream is composed of LCUs described in the example of FIG. 9 will be described as an example.
- bitstream 1110 includes two substreams (substream A, which is the 0th substream, and substream B, which is the first substream).
- the entry point 1120 of the substream A may correspond to the start point of the LCU A1
- the entry point 1130 of the substream B may correspond to the start point of the LCU B1.
- entry point 1130 may be an entry point of a tile.
- the byte alignment bit 1140 may be added to the rear end of the substream A to indicate the substream A in the byte unit.
- the byte alignment bit 1150 may be added to the rear end of the substream B to indicate the substream B in the byte unit.
- the entry point can be signaled in a simpler manner while equalizing the granularity of the entry points of the tile and the WPP substream. have.
- Table 3 shows an example of syntax elements in a slice header signaling an entry point of a WPP substream and a tile.
- the entry point information may be information about an entry point of a WPP substream or information about an entry point of a tile.
- entry_point_location_flag indicates whether entry point information exists in the bitstream. For example, if entry point information (eg, entry point location information) is present in the bitstream, the value of entry_point_location_flag is 1, and if entry point information does not exist in the bitstream, the value of entry_point_location_flag is 0.
- Table 4 shows an example of a syntax structure regarding entry point location information according to Table 3.
- the entry point information may be information about an entry point of a WPP substream or information about an entry point of a tile.
- num_of_entry_points_minus1 indicates the number of entry points on the bitstream in the slice. Since the number of entry point offsets is one less than the entry point, num_of_entry_points_minus1 may specify the number of entry_point_offset [i] syntax elements in the slice header.
- entry_point_offset_length_minus2 specifies the number of bits used to signal information about the entry point offset (entry_point_offset syntax element). That is, entry_point_offset_length_minus2 may indicate the length of the entry_point_offset [i] syntax element in bits or bytes.
- entry_point_offset [i] specifies the number of bytes between the two entry points.
- entry_point_offset [i] specifies the number of bytes between the end of slice header and the first entry point in the slice.
- the first few bits of the first tile / WPP substream may be added to the end of the slice header.
- the added bits serve as the byte alignment bits described above.
- entry_point_offset [i] specifies the number of bytes between the i-1 st entry point and the i th entry point.
- the type of entry point (ie, whether the entry point is for a tile or for a WPP substream) may be inferred as follows.
- tile_info_present_flag 1 && num_substream_minus1> 0
- the i th entry point is the entry point of the tile and the i th entry point.
- the entry points become entry points of the WPP substream. That is, when tile information exists and a plurality of substreams exist, the entry point may be estimated as the entry point of the WPP substream, or may be estimated as the entry point of the tile and the WPP substream.
- only an entry point of a WPP substream may be signaled among the substreams. For example, when only WPP is applied without applying the WPP and the tile structure together, an entry point of the WPP substream may be signaled.
- Information about the entry point of the WPP substream may also be signaled in the slice header.
- Table 5 is an example of syntax for signaling information about an entry point of a WPP substream in a slice header.
- log_max_substream_length_minus2 specifies the number of bits used to transmit information substream_length [i] about the length of the substream.
- substream_length [i] specifies the number of bits between two entry points.
- the two entry points may relate to the WPP substream.
- substream_length [i] specifies the number of bits between the end of slice header and the first entry point in the slice.
- substream_length [i] specifies the number of bits between the i-1 th entry point i-1 and the i th entry point i.
- the length of the substream may be expressed in bytes.
- substream_length [i] specifies the number of bytes between two WPP substream entry points.
- the entry point offset is transmitted instead of the length of the substream. You can also do that.
- entry_point_offset [i] specifies the number of bytes or bits between two entry points, and when specifying the number of bytes, byte alignment bits for byte alignment of the substream may be used.
- a method of directly signaling may be considered without deriving an entry point type (whether the entry point relates to a tile or a WPP substream).
- Table 6 shows an example of syntax for signaling information about an entry point in a slice header.
- entry_point_location_flag indicates whether entry point information exists in the bitstream. For example, if entry point information (eg, entry point location information) is present in the bitstream, the value of entry_point_location_flag is 1, and if entry point information does not exist in the bitstream, the value of entry_point_location_flag is 0.
- Table 7 shows an example of syntax regarding entry point location information according to Table 6.
- num_of_entry_points_minus1 indicates the number of entry points on the bitstream in the slice. Since the number of entry point offsets is one less than the entry point, num_of_entry_points_minus1 may specify the number of entry_point_offset [i] syntax elements in the slice header.
- entry_point_offset_length_minus2 specifies the number of bits used to signal information about the entry point offset (entry_point_offset syntax element). That is, entry_point_offset_length_minus2 may indicate the length of the entry_point_offset [i] syntax element in bits or bytes.
- entry_point_type [i] indicates an entry point type. For example, when the value of entry_point_type [i] is 1, it indicates that the entry point is a WPP substream, and when the value of entry_point_type [i] is 0, it indicates that it is an entry point of both a tile and a WPP substream.
- entry_point_offset [i] specifies the number of bits or bytes between two entry points. If the value of i is 0, entry_point_offset [0] specifies the number of bits or bytes between the end of slice header and the first entry point in the slice. If the value of i is not 0, entry_point_offset [i] specifies the number of bits or bytes between the i-1 th entry point i-1 and the i th entry point i.
- entry_point_offset [i] specifies the number of bytes between two entry points
- the byte alignment bits for byte alignment may be used.
- xx may be defined as in Equation 2.
- Equation 2 when the number of substreams is greater than 1, WPP may be applied, and when the number of substreams is 1 or less, it may be a case of using a tile.
- the information on the length of the entry point offset may be signaled in other ways.
- Table 8 shows an example of syntax elements in a slice header signaling an entry point of a WPP substream and a tile.
- the entry point information may be information about an entry point of a WPP substream or information about an entry point of a tile.
- entry_point_location_flag indicates whether entry point information exists in the bitstream. For example, if entry point information (eg, entry point location information) is present in the bitstream, the value of entry_point_location_flag is 1, and if entry point information does not exist in the bitstream, the value of entry_point_location_flag is 0.
- Table 9 shows an example of a syntax structure regarding entry point location information according to Table 8.
- the entry point information may be information about an entry point of a WPP substream or information about an entry point of a tile.
- num_of_entry_points_minus1 indicates the number of entry points on the bitstream in the slice. Since the number of entry point offsets is one less than the entry point, num_of_entry_points_minus1 may specify the number of entry_point_offset [i] syntax elements in the slice header.
- entry_point_offset_length_minus1 specifies the number of bits used to signal information about the entry point offset (entry_point_offset syntax element). That is, entry_point_offset_length_minus1 may indicate the length of the entry_point_offset [i] syntax element in bits or bytes.
- entry_point_type [i] indicates an entry point type. For example, when the value of entry_point_type [i] is 1, it indicates that the entry point is a WPP substream, and when the value of entry_point_type [i] is 0, it indicates that it is an entry point of both a tile and a WPP substream.
- entry_point_offset [i] specifies the number of bits or bytes between two entry points. However, if i value is 0, entry_point_offset [0] specifies the number of bits / bytes between the end of slice header and the first entry point in the slice. If the value of i is not 0, entry_point_offset [i] specifies the number of bits / bytes between the i-1 th entry point i-1 and the i th entry point i.
- the byte alignment bits can be used as described in the second embodiment.
- xx can be defined as Equation 3 when the length of entry_point_offset [i] is xx.
- Equation 3 when the number of substreams is greater than 1, WPP may be applied, and when the number of substreams is 1 or less, it may be a case of using a tile.
- entry_point_location_flagA method of estimating or deriving without transmitting may be considered.
- the presence of entry point information can be estimated using the following scheme, without the need for a syntax element indicating whether entry point information exists in the bitstream in the slice header.
- Table 8 shows an example of a method for estimating the presence of entry point information as described.
- num_tile_columns_minus1 +1 specifies the number of tile columns partitioning a picture, and a value of num_tile_columns_minus1 may be signaled from the encoding apparatus.
- num_tile_row_minus1 +1 specifies the number of tile columns partitioning a picture, and a value of num_tile_rows_minus1 may be signaled from the encoding apparatus.
- Table 11 shows another example of syntax for transmitting entry point information in a slice header.
- the entry_point_location_flag about the existence of the entry point information is transmitted in the slice header, and when the value of the entry_point_location_flag is 1, it indicates that the entry point information exists in the bitstream.
- entry point information when the number of rows of a tile is greater than 1 or the number of columns of a tile is greater than 1 and the number of substreams is also greater than 1, entry point information is considered to exist in the bitstream. In this case, entry point information may be transmitted as shown in Table 10.
- Table 12 shows an example of syntax that is transmitted when the end point information is present in the bitstream in Table 11.
- num_of_entry_points_minus1 indicates the number of entry points on the bitstream in the slice. Since the number of entry point offsets is one less than the entry point, num_of_entry_points_minus1 may specify the number of entry_point_offset [i] syntax elements in the slice header.
- entry_point_offset_length_minus1 specifies the number of bits used to signal information about the entry point offset (entry_point_offset syntax element). That is, entry_point_offset_length_minus1 may indicate the length of the entry_point_offset [i] syntax element in bits or bytes.
- entry_point_type [i] indicates an entry point type. For example, when the value of entry_point_type [i] is 1, it indicates that the entry point is a WPP substream, and when the value of entry_point_type [i] is 0, it indicates that it is an entry point of both a tile and a WPP substream.
- entry_point_offset [i] specifies the number of bits or bytes between two entry points. However, if i value is 0, entry_point_offset [0] specifies the number of bits / bytes between the end of slice header and the first entry point in the slice. If the value of i is not 0, entry_point_offset [i] specifies the number of bits / bytes between the i-1 th entry point i-1 and the i th entry point i.
- the byte alignment bits can be used as described in the second embodiment.
- Table 13 shows an example of syntax for signaling information about an entry point in a slice header.
- entry_point_location_flag indicates whether entry point information exists in the bitstream. For example, if entry point information (eg, entry point location information) is present in the bitstream, the value of entry_point_location_flag is 1, and if entry point information does not exist in the bitstream, the value of entry_point_location_flag is 0.
- Table 14 shows an example of syntax regarding entry point location information according to Table 13.
- num_of_entry_points_minus1 indicates the number of entry points on the bitstream in the slice. Since the number of entry point offsets is one less than the entry point, num_of_entry_points_minus1 may specify the number of entry_point_offset [i] syntax elements in the slice header.
- entry_point_offset_length_minus2 specifies the number of bits used to signal information about the entry point offset (entry_point_offset syntax element). That is, entry_point_offset_length_minus2 may indicate the length of the entry_point_offset [i] syntax element in bits or bytes.
- Entry point type when the number of rows of tiles is greater than 1 or the number of columns of tiles is greater than 1 and the number of substreams is also greater than 1, that is, when there are a plurality of tiles and a plurality of substreams.
- Signaling information entry_point_type [i] indicating.
- entry_point_type [i] indicates an entry point type. For example, when the value of entry_point_type [i] is 1, it indicates that the entry point is a WPP substream, and when the value of entry_point_type [i] is 0, it indicates that it is an entry point of both a tile and a WPP substream.
- entry_point_offset [i] specifies the number of bits or bytes between two entry points. If the value of i is 0, entry_point_offset [0] specifies the number of bits or bytes between the end of slice header and the first entry point in the slice. If the value of i is not 0, entry_point_offset [i] specifies the number of bits or bytes between the i-1 th entry point i-1 and the i th entry point i.
- entry_point_offset [i] specifies the number of bytes between two entry points
- the byte alignment bits for byte alignment may be used.
- xx may be defined as in Equation 4.
- Table 15 shows an example of syntax for signaling information about an entry point in a slice header.
- entry_point_location_flag indicates whether entry point information exists in the bitstream. For example, if entry point information (eg, entry point location information) is present in the bitstream, the value of entry_point_location_flag is 1, and if entry point information does not exist in the bitstream, the value of entry_point_location_flag is 0.
- Table 16 shows an example of syntax regarding entry point location information according to Table 15.
- num_of_entry_points_minus1 indicates the number of entry points on the bitstream in the slice. Since the number of entry point offsets is one less than the entry point, num_of_entry_points_minus1 may specify the number of entry_point_offset [i] syntax elements in the slice header.
- entry_point_offset_length_minus1 specifies the number of bits used to signal information about the entry point offset (entry_point_offset syntax element). That is, entry_point_offset_length_minus1 may indicate the length of the entry_point_offset [i] syntax element in bits or bytes.
- Entry point type when the number of rows of tiles is greater than 1 or the number of columns of tiles is greater than 1 and the number of substreams is also greater than 1, that is, when there are a plurality of tiles and a plurality of substreams.
- Signaling information entry_point_type [i] indicating.
- entry_point_type [i] indicates an entry point type. For example, when the value of entry_point_type [i] is 1, it indicates that the entry point is a WPP substream, and when the value of entry_point_type [i] is 0, it indicates that it is an entry point of both a tile and a WPP substream.
- entry_point_offset [i] specifies the number of bits or bytes between two entry points. If the value of i is 0, entry_point_offset [0] specifies the number of bits or bytes between the end of slice header and the first entry point in the slice. If the value of i is not 0, entry_point_offset [i] specifies the number of bits or bytes between the i-1 th entry point i-1 and the i th entry point i.
- entry_point_offset [i] specifies the number of bytes between two entry points
- the byte alignment bits for byte alignment may be used.
- xx may be defined as in Equation 4.
- Equation 4 when the number of substreams is greater than 1, WPP may be applied, and when the number of substreams is 1 or less, it may be a case of using a tile.
- the type of entry point ie, whether the entry point is for a tile or for a WPP substream
- the type of entry point may be inferred as follows.
- tile_info_present_flag 1 && num_substream_minus1> 0
- the i th entry point is the entry point of the tile and the i th entry point.
- the entry points become entry points of the WPP substream. That is, when tile information exists and a plurality of substreams exist, the entry point may be estimated as the entry point of the WPP substream, or may be estimated as the entry point of the tile and the WPP substream.
- Table 17 shows an example of syntax for signaling information about an entry point in a slice header.
- entry_point_location_flag indicates whether entry point information exists in the bitstream. For example, if entry point information (eg, entry point location information) is present in the bitstream, the value of entry_point_location_flag is 1, and if entry point information does not exist in the bitstream, the value of entry_point_location_flag is 0.
- Table 18 shows an example of syntax regarding entry point location information according to Table 17.
- num_of_entry_points_minus1 indicates the number of entry points on the bitstream in the slice. Since the number of entry point offsets is one less than the entry point, num_of_entry_points_minus1 may specify the number of entry_point_offset [i] syntax elements in the slice header.
- entry_point_offset_length_minus2 specifies the number of bits used to signal information about the entry point offset (entry_point_offset syntax element). That is, entry_point_offset_length_minus1 may indicate the length of the entry_point_offset [i] syntax element in bits or bytes.
- entry_point_offset [i] specifies the number of bits or bytes between two entry points. If the value of i is 0, entry_point_offset [0] specifies the number of bits or bytes between the end of slice header and the first entry point in the slice. If the value of i is not 0, entry_point_offset [i] specifies the number of bits or bytes between the i-1 th entry point i-1 and the i th entry point i.
- entry_point_offset [i] specifies the number of bytes between two entry points
- the byte alignment bits for byte alignment may be used.
- the entry point type is not directly signaled. Instead, in Embodiment 9, the entry point type is estimated based on the value of tile_info_present_flag and the value of num_substream_minus1 as described above.
- the type of entry point ie, whether the entry point is for a tile or for a WPP substream
- the type of entry point may be inferred as follows.
- tile_info_present_flag 1 && num_substream_minus1> 0
- the i th entry point is the entry point of the tile and the i th entry point.
- the entry points become entry points of the WPP substream. That is, when tile information exists and a plurality of substreams exist, the entry point may be estimated as the entry point of the WPP substream, or may be estimated as the entry point of the tile and the WPP substream.
- Table 19 shows an example of syntax for signaling information about an entry point in a slice header.
- entry_point_location_flag indicates whether entry point information exists in the bitstream. For example, if entry point information (eg, entry point location information) is present in the bitstream, the value of entry_point_location_flag is 1, and if entry point information does not exist in the bitstream, the value of entry_point_location_flag is 0.
- Table 20 shows an example of syntax regarding entry point location information according to Table 19.
- num_of_entry_points_minus1 indicates the number of entry points on the bitstream in the slice. Since the number of entry point offsets is one less than the entry point, num_of_entry_points_minus1 may specify the number of entry_point_offset [i] syntax elements in the slice header.
- entry_point_offset_length_minus1 specifies the number of bits used to signal information about the entry point offset (entry_point_offset syntax element). That is, entry_point_offset_length_minus1 may indicate the length of the entry_point_offset [i] syntax element in bits or bytes.
- entry_point_offset [i] specifies the number of bits or bytes between two entry points. If the value of i is 0, entry_point_offset [0] specifies the number of bits or bytes between the end of slice header and the first entry point in the slice. If the value of i is not 0, entry_point_offset [i] specifies the number of bits or bytes between the i-1 th entry point i-1 and the i th entry point i.
- entry_point_offset [i] specifies the number of bytes between two entry points
- the byte alignment bits for byte alignment may be used.
- the entry point type is not directly signaled. Instead, in the tenth embodiment, as described above, the entry point type is estimated based on the value of tile_info_present_flag and the value of num_substream_minus1.
- Embodiment 11 describes a method in which at least one of the following modifications or features is added to the preceding ten embodiments.
- entry_point_location_flag indicating the existence of entry point information may not be needed as described in the above embodiments.
- the information specifying the number of entry points may also be transmitted as the value of num_of_entry_points instead of num_of_entry_points_minus1 so that the value of 0 may be indicated. That is, instead of transmitting a value obtained by subtracting 1 from the total number of entry points, the value of the total number of entry points may be transmitted.
- WPP and tiles may not be used together. In this case, no tile is used if WPP is used, and no WPP is used if tile is used.
- the entry point offset can be calculated from the NALU data of byte 0.
- Byte 0 may be the first byte of slice segment data.
- necessary entry point information can be signaled directly without transmitting entry_point_location_flag indicating presence or absence of entry point information in the slice header.
- Table 21 shows an example of slice header syntax for signaling entry point information about a WPP substream or tile according to the eleventh embodiment.
- num_of_entry_points_minus1 indicates the number of entry points on the bitstream in the slice. Since the number of entry point offsets is one less than the entry point, num_of_entry_points_minus1 may specify the number of entry_point_offset [i] syntax elements in the slice header.
- entry_point_offset_length_minus1 specifies the number of bits used to signal information about the entry point offset (entry_point_offset syntax element). That is, entry_point_offset_length_minus1 may indicate the length of the entry_point_offset [i] syntax element in bits or bytes. Although it is described here that entry_point_offset_length_minus1 is signaled, entry_point_offset_length_minus2 may be signaled instead of entry_point_offset_length_minus1 .
- entry_point_offset [i] specifies the number of bits or bytes between two entry points. If the value of i is 0, entry_point_offset [0] specifies the number of bytes between the beginning of the NAL unit data (ie byte 0) and the first entry point in the slice (ie entry_point_offset [0] -1). If the value of i is not 0, entry_point_offset [i] specifies the number of bits or bytes between the i-1 th entry point i-1 and the i th entry point i.
- entry_point_offset [i] specifies the number of bytes between two entry points
- the byte alignment bits for byte alignment may be used.
- the length of entry_point_offset [i] may be entry_point_offset_length_minus1 + 1 bit or entry_point_offset_length_minus2 + 2 bits.
- FIG. 12 is a diagram schematically illustrating an example of an entry point for a WPP substream.
- a predetermined region 1210 of a picture includes four substreams, namely, substream A, substream B, substream C, and substream D.
- Each substream may be referred to as an array of LCUs.
- the starting point of each substream may be indicated as an entry point.
- the entry point for substream A can be specified from the start point of the bitstream (or the end point of the slice header)
- the entry point for substream B is entry point 0 1220
- the entry point for is entry point 1 1230
- the entry point for substream D is entry point 2 1240.
- entry point 0 (1220) which is the first entry point, sets an entry point offset (eg, entry_point_offset [0]) representing the number of bytes (or bits) between the end point of the slice header and the first entry point. It can be the value added to the endpoint.
- entry point offset e.g., entry_point_offset [1]
- the predetermined area 1210 in the picture may be a partial area of the current picture, a slice of the current picture, or an entire area of the current picture.
- FIG. 13 is a diagram schematically illustrating an example of an entry point for a tile.
- the predetermined region 310 of the picture includes four tiles, that is, tile 1, tile 2, tile 3, and tile 4.
- the starting point of each tile may be indicated as an entry point.
- the entry point for tile 1 can be specified from the start point of the bitstream (or the end point of the slice header)
- the entry point for tile 2 is entry point 0 1320
- the entry point for tile 3 Is entry point 1 1330
- entry point for tile 4 is entry point 2 1340.
- entry point 0 (1320) which is the first entry point, determines an entry point offset (eg, entry_point_offset [0]) indicating the number of bytes (or bits) between the end point of the slice header and the first entry point. It can be the value added to the endpoint.
- entry point offset e.g., entry_point_offset [1]
- the predetermined area 1310 in the picture may be a partial area of the current picture, a slice of the current picture, or an entire area of the current picture.
- FIG. 14 is a diagram schematically illustrating an example of an entry point when a tile and a WPP substream are applied together.
- the predetermined region 1410 of the picture includes four tiles, namely, tile 1 1410, tile 2 1420, tile 3 1430, and tile 4 1440.
- tile 1 1410 includes substream A and substream B.
- Tile 2 1420 includes substream C and substream D.
- Tile 3 1430 includes substream E and substream F.
- Tile 4 1440 includes substream G and substream H.
- the start point of each tile and / or the start point of the substream may be indicated as an entry point.
- the entry point for tile 1 1410 may be specified from the beginning of the bitstream (or the end of the slice header) and the entry point for substream A may also be from the beginning of the bitstream (or the ending of the slice header). Can be specified.
- the entry point for tile 2 1420 and substream C is entry point 1 1455.
- the entry point for substream D in tile 2 1420 becomes entry point 2 1260.
- the entry point for tile 3 1430 and substream E is entry point 3 1465, and the entry point for substream F in tile 3 1430 is entry point 4 1470.
- the entry point for tile 4 1440 and substream G is entry point 5 1475, and the entry point for substream H in tile 4 1440 is entry point 6 1480.
- entry point 0 (1450), which is the first entry point, determines an entry point offset (eg, entry_point_offset [0]) indicating the number of bytes (or the number of bits) between the end point of the slice header and the first entry point. It can be the value added to the endpoint.
- entry point offset eg, entry_point_offset [0]
- Entry point 1 1455 which is the second entry point, may be indicated by a value obtained by adding an entry point offset (eg, entry_point_offset [1]) to entry point 0 1450, which is the first entry point.
- Entry point 2 1460 which is the third entry point, may be indicated by a value obtained by adding an entry point offset (eg, entry_point_offset [2]) to entry point 1 1455, which is the second entry point.
- Entry point 3 1465 which is the fourth entry point, may be indicated by a value obtained by adding an entry point offset (eg, entry_point_offset [3]) to entry point 2 1460, which is the third entry point.
- Entry point 4 (1470), which is the fifth entry point, may be indicated by a value obtained by adding an entry point offset (eg, entry_point_offset [4]) to entry point 3 (1465), which is the fourth entry point.
- Entry point 5 (1475), which is the sixth entry point may be indicated by adding entry point offset (eg, entry_point_offset [5]) to entry point 4 (1470), which is the fifth entry point.
- Entry point 6 1480 which is a seventh entry point, may be indicated by a value obtained by adding entry point offset (eg, entry_point_offset [6]) to entry point 5 1475, which is the sixth entry point.
- 15 is a flowchart schematically illustrating an example of an encoding method according to the present invention.
- the encoding apparatus may convert an input video signal in operation S1510.
- the encoding apparatus may divide the input picture into encoding units and perform prediction based on the divided encoding unit or the further divided unit.
- the encoding apparatus generates a residual which is a difference between the prediction result and the original signal.
- the encoding device transforms and quantizes the residual. DCT and / or DST may be used as the conversion method.
- the prediction method, the transform method and the quantization method are as described with reference to FIG. 1.
- the encoding apparatus may entropy encode the converted signal output from S1510 (S1520).
- S1510 S1510
- CABAC CABAC
- VLC Variable chrometic Coding
- Exponential Golomb Exponential Golomb
- the encoding apparatus signals entropy encoded image information and information necessary for decoding in a bitstream (S1530).
- the signaled information may include information necessary for parallel processing in the slice header, for example, information about an entry point.
- the information about the entry point includes entry point offset information, information on the number of entry points, and information on the length of the entry point offset, as described above.
- entry point offset information transmitted in the slice header entry_point_offset [i] specifies the i-th entry point offset in units of bytes.
- entry_point_offset [i] may be represented by information indicating the length of the entry point offset. For example, if the information indicating the length of an entry point offset is entry_point_offset_length_minus1, entry point offset it may be expressed by adding the 1-bit value entry_point_offset_length_minus1.
- the slice segment data following the slice header is composed of as many subsets as specified by information indicating the number of entry points, and parallel decoding may be performed on a subset basis. Since the number of entry points is one more than the number of entry point offsets indicating offsets between neighboring entry points, the number of entry points in a slice may be specified by the number of entry point offset information transmitted in a slice header. For example, if the number of entry point offsets is signaled as N, there are N + 1 subsets.
- the i th entry point in the slice becomes a value obtained by adding the i th entry point offset to the i-1 th entry point.
- the section of the i-th subset of the subsets constituting the slice segment data may be specified using the i-th entry point offset.
- the 0 th subset may have a period from the first byte (byte 0) of the slice segment data to the 0 th entry point offset-1.
- the first byte of the interval of the i subset (i is a nonzero integer) is the sum of the previous subsets (the sum of the previous entry point offsets), and the last byte is one from the first byte plus the i th entry point offset. The value is minus the bit.
- the information about the number of entry point offsets may specify the number of entry_point_offset [i] syntax elements in the slice header.
- the number of entry point offsets may have a value ranging from 0 to a number of rows of coding tree blocks (CTBs) in a picture.
- CTBs coding tree blocks
- the number of entry point offsets may have a value ranging from 0 to the number of tiles-1.
- the number of entry point offsets may have a value ranging from 0 to the number of tile columns * the number of CTB rows ⁇ 1.
- the information about the number of entry point offset syntax elements specifies the number of entry_point_offset [i] syntax elements in the slice header. For example, since the number of entry point offsets is one less than the number of entry points, information about the number of entry point offset syntax elements may be transmitted to num_of_entry_point_munus1. In addition, the number of entry point offsets may be directly transmitted to num_of_entry_point_offset.
- the information about the length of the entry point offset may specify the length of the entry_point_offset [i] syntax element in bits. For example, when information about the length of the entry point offset syntax element is transmitted to entry_point_offset_length_minus1, the length of the entry point offset syntax element is entry_point_offset_length_minus1 + 1 bits. In addition, when information about the length of the entry point offset syntax element is transmitted to entry_point_offset_length_minus2, the length of the entry point offset syntax element is entry_point_offset_length_minus2 + 2 bits.
- the length of the entry point offset syntax element may be transmitted as a syntax element of entry_point_offset_length, in which case the length of the entry point offset syntax element is entry_point_offset_length bits.
- 16 is a diagram schematically illustrating an example of an encoding apparatus according to the present invention.
- the encoding apparatus 1600 may include a signal converter 1610, an entropy encoder 1620, and a signaling unit 1630.
- the signal converter 1610 may divide the input picture (video) into encoding units and perform prediction based on the divided encoding unit or the further divided unit.
- the signal converter 1610 generates a residual, which is a difference between the prediction result and the original signal.
- the signal converter 1610 converts and quantizes the residuals. DCT and / or DST may be used as the conversion method.
- the signal converter 1610 may include the picture divider 105, the predictor 110, the converter 115, the quantizer 120, and the realigner 125 described in the example of FIG. 1.
- the picture splitter 105, the predictor 110, the transformer 115, the quantizer 120, and the reorderer 125 may be performed.
- the entropy encoding unit 1620 may entropy encode a signal output from the signal converter 1610.
- the entropy encoding unit 1620 may correspond to the entropy encoding unit 130 described in the example of FIG. 1, and may perform an operation of the entropy encoding unit 130.
- the signaling unit 1630 signals encoded image information and information necessary for decoding in a bitstream. If parallel decoding is to be applied, the signaled information may include information necessary for parallel processing in the slice header, for example, information about an entry point.
- the information about the entry point includes entry point offset information, information on the number of entry points, and information on the length of the entry point offset, as described above.
- the information about the number of entry points may be information indicating the number of entry point offset information transmitted in the slice header.
- FIG. 17 schematically illustrates an example of a decoding method according to the present invention.
- the decoding apparatus receives signaling about image information from the encoding apparatus in operation S1710.
- the image information may be signaled in an entropy encoded bitstream.
- the decoding apparatus may entropy decode the received bitstream (S1720).
- the decoding apparatus may receive data bits transmitted in the bitstream and output syntax element values.
- the syntax element refers to an element of data represented in the bitstream.
- the data can be byte aligned.
- byte-aligned means that the position appearing in the bitstream is in bytes. For example, when a position in the bitstream is an integer multiple of 8 bits from the first bit of the bitstream, the position may be said to be byte aligned.
- the decoding apparatus may perform an initialization process, a binarization process, and a decoding process in this order.
- the decoding apparatus is initialized when starting at least one of parsing for slice segment data, parsing for the first CTU (LCU) of the tile, parsing for the first CTU (LCU) of the row of LCUs. Can be performed.
- the decoding apparatus may generate initial values of variables for performing CABAC by initialization.
- Binarization is a set of bin strings for the possible values of a syntax element.
- the binarization process is a unique mappimg process that maps possible values of syntax elements to a set of empty strings.
- the decoding apparatus may output the mapping of the syntax element value to an empty string, that is, a binary sequence or a binary code by binarization.
- the decoding apparatus may use a predetermined table that maps syntax elements and empty strings for binarization.
- the decoding apparatus may determine the value of the syntax element through the decoding process of CABAC.
- the decoding apparatus may determine a bin index for each bin of the bin string, and determine a context index based on the bin index.
- the decoding apparatus may output the syntax element value by determining the random variable values for the decoding target empty string using the context index.
- the decoding apparatus may use a predetermined table in the process of determining the context index based on the empty index, and may consider the types (I slice, B slice, and P slice) of the decoding target picture (slice).
- the above-described row of CTUs may be a WPP substream. If WPP is applied, once the entropy decoding for the second coding tree unit (maximum coding unit) row of the nth substream (nth coding tree unit (maximum coding unit) row) is completed, the associated context information Can be stored.
- the first coding tree unit (maximum coding unit) of the n + 1th substream may perform initialization based on context information about the second coding tree unit (maximum coding unit) of the nth substream.
- the decoding apparatus may reconstruct a picture based on syntax element values (S1730).
- syntax element values may be signaled from an encoding device and obtained through an entropy decoding process.
- syntax elements may include information indicating an entry point for a tile or information indicating an entry point of a WPP substream.
- Syntax elements indicating an entry point for example, a syntax element indicating the number of entry points, a syntax element indicating an entry point offset, a syntax element indicating the length of a syntax element with respect to the entry point offset, and an entry point type Details of the syntax element, the syntax element indicating the existence of the entry point information, and the like are as described above.
- the syntax elements related to the entry point transmitted from the encoding apparatus may be all or part of the above-described syntax elements, as in the above embodiments.
- the entropy decoding step S1720 and the reconstruction step S1730 have been described in order to facilitate understanding of the present invention.
- the entropy decoding step S1720 and the reconstruction step S1730 may be referred to as one decoding step. have.
- FIG. 18 is a diagram schematically showing an example of a decoding apparatus according to the present invention.
- the decoding apparatus 1800 includes a signaling receiver 1810, an entropy decoding unit 1820, and a recovery unit 1830.
- the signaling receiver 1810 receives signaling about image information from the encoding apparatus.
- the image information may be signaled in an entropy encoded bitstream.
- the entropy decoding unit 1820 may entropy decode the received bitstream.
- the decoding apparatus may receive data bits transmitted in the bitstream and output syntax element values. The content of entropy decoding is as described with reference to FIG. 17.
- the entropy decoding unit 1820 corresponds to the entropy decoding unit 210 described in the example of FIG. 2.
- the reconstruction unit 1830 may reconstruct the picture based on the syntax element values output from the entropy decoding unit 1820.
- the reconstruction unit 1830 may include the reordering unit 215, the inverse quantization unit 220, the inverse transform unit 225, the prediction unit 230, and the filter unit 235 memory 240 described in the example of FIG. 2.
- operations of the reordering unit 215, the inverse quantization unit 220, the inverse transform unit 225, the predictor 230, and the filter unit 235 described above with reference to the example of FIG. 2 may be performed.
- the entropy decoding unit 1820 and the reconstruction unit 1830 have been described in order to facilitate understanding of the present invention. However, the entropy decoding unit 1820 and the reconstruction unit 1830 may be configured as one decoding unit. have.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
Claims (20)
- 양자화된 변환 정보를 엔트로피 인코딩하는 단계; 및
엔트로피 인코딩된 정보를 비트스트림으로 전송하는 단계를 포함하며,
상기 비트스트림은 병렬 디코딩될 정보들을 바이트 단위로 지시하는 정보를 포함하는 것을 특징으로 하는 비디오 인코딩 방법. - 제1항에 있어서, 상기 비트스트림은 병렬 디코딩의 대상인 코딩 트리 유닛들의 행에 대한 엔트리 포인트를 지시하는 오프셋 정보를 포함하며,
상기 오프셋 정보는 두 엔트리 포인트 사이의 바이트 수를 지시하는 것을 특징으로 하는 비디오 인코딩 방법. - 제2항에 있어서, 상기 비트스트림은 상기 오프셋 정보의 개수를 지시하는 정보를 포함하는 것을 특징으로 하는 비디오 인코딩 방법.
- 제2항에 있어서, 상기 비트스트림은 상기 오프셋 정보의 길이를 지시하는 정보를 포함하는 것을 특징으로 하는 비디오 인코딩 방법.
- 제2항에 있어서, 상기 오프셋 정보는 슬라이스 헤더에서 전송되는 것을 특징으로 하는 비디오 인코딩 방법.
- 제1항에 있어서, 상기 엔트로피 인코딩을 수행하는 단계에서는,
코딩 트리 유닛들의 행들에 대하여 엔트리 포인트가 지시하는 액세스 포인트에서 엔트로피 인코딩을 개시하며,
현재 행의 기준 코딩 트리 유닛에 대한 엔트로피 인코딩이 완료되면, 상기 기준 코딩 트리 유닛의 콘텍스트를 기반으로 다음 행의 첫 번째 코딩 트리 유닛에 대한 엔트로피 인코딩을 개시하되,
상기 현재 행의 바이트 수는 상기 비트스트림으로 전송되는 엔트리 포인트 간의 오프셋에 의해 지시되는 것을 특징으로 하는 비디오 인코딩 방법. - 비트스트림을 수신하는 단계; 및
상기 비트스트림을 기반으로 병렬적인 디코딩을 수행하는 단계를 포함하며,
상기 비트스트림은 병렬적으로 디코딩되는 정보를 바이트 단위로 지시하는 정보를 포함하는 것을 특징으로 하는 비디오 디코딩 방법. - 제7항에 있어서, 상기 디코딩을 수행하는 단계는,
상기 비트스트림에 대한 엔트로피 디코딩을 수행하는 단계; 및
엔트로피 디코딩된 정보를 기반으로 픽처를 복원하는 단계를 포함하는 것을 특징으로 하는 비디오 디코딩 방법. - 제8항에 있어서, 상기 디코딩을 수행하는 단계에서는,
코딩 트리 유닛(CTU)들의 행들을 병렬적으로 디코딩하며,
상기 엔트로피 디코딩을 수행하는 단계에서는,
코딩 트리 유닛들의 N 번째 (N은 정수) 행 내 L 번째 (L은 정수) 코딩 트리 유닛 CTUNL을 엔트로피 디코딩한 후,
상기 CTUNL의 콘텍스트를 기반으로 코딩 트리 유닛들의 N+1 번째 행 내 첫 번째 코딩 트리 유닛 LCUN+11을 엔트로피 디코딩하는 것을 특징으로 하는 비디오 디코딩 방법. - 제7항에 있어서, 상기 디코딩을 수행하는 단계에서는,
코딩 트리 유닛들의 N 번째 (N은 정수) 행 내 L 번째 (L은 정수) 코딩 트리 유닛 CTUNL을 엔트로피 디코딩한 후,
상기 CTUNL의 콘텍스트를 기반으로 코딩 트리 유닛들의 N+1 번째 행 내 첫 번째 코딩 트리 유닛 LCUN+11을 엔트로피 디코딩하되,
상기 N 번째 행에 대한 바이트 수는 상기 비트스트림에 포함된 엔트리 간 오프셋 정보 중 N 번째 오프셋 정보에 의해 지시되는 것을 특징으로 하는 비디오 디코딩 방법. - 제7항에 있어서, 상기 비트스트림은 병렬 디코딩의 대상인 코딩 트리 유닛들의 행에 대한 엔트리 포인트를 지시하는 오프셋 정보를 포함하며,
상기 오프셋 정보는 두 엔트리 포인트 사이의 바이트 수를 지시하는 것을 특징으로 하는 비디오 디코딩 방법. - 제11항에 있어서, 상기 비트스트림은 상기 오프셋 정보의 개수를 지시하는 정보를 포함하는 것을 특징으로 하는 비디오 디코딩 방법.
- 제11항에 있어서, 상기 비트스트림은 상기 오프셋 정보의 길이를 지시하는 정보를 포함하는 것을 특징으로 하는 비디오 디코딩 방법.
- 제11항에 있어서, 상기 오프셋 정보는 슬라이스 헤더에서 전송되는 것을 특징으로 하는 비디오 디코딩 방법.
- 제7항에 있어서, 상기 디코딩을 수행하는 단계에서는 코딩 트리 유닛들의 행들에 대하여 엔트리 포인트가 지시하는 액세스 포인트에서 디코딩을 개시하며,
현재 행의 기준 코딩 트리 유닛에 대한 엔트로피 디코딩이 완료되면, 상기 기준 코딩 트리 유닛의 콘텍스트를 기반으로 다음 행의 첫 번째 코딩 트리 유닛에 대한 엔트로피 디코딩을 개시하고,
상기 현재 행의 바이트 수는 상기 비트스트림으로 전송되는 엔트리 포인트 간의 오프셋에 의해 지시되는 것을 특징으로 하는 비디오 디코딩 방법. - 양자화된 변환 정보를 엔트로피 인코딩하는 엔트로피 인코딩부; 및
엔트로피 인코딩된 정보를 비트스트림으로 전송하는 시그널링부를 포함하며,
상기 비트스트림은 병렬 디코딩될 정보들을 바이트 단위로 지시하는 정보를 포함하는 것을 특징으로 하는 비디오 인코딩 장치. - 비트스트림을 수신하는 수신부; 및
상기 비트스트림을 기반으로 병렬적인 디코딩을 수행하는 디코딩부를 포함하며,
상기 비트스트림은 병렬적으로 디코딩되는 정보를 바이트 단위로 지시하는 정보를 포함하는 것을 특징으로 하는 비디오 디코딩 장치. - 제17항에 있어서, 상기 디코딩부는 코딩 트리 유닛들의 행들에 대하여 엔트리 포인트가 지시하는 액세스 포인트에서 디코딩을 개시하며,
현재 행의 기준 코딩 트리 유닛에 대한 엔트로피 디코딩이 완료되면, 상기 기준 코딩 트리 유닛의 콘텍스트를 기반으로 다음 행의 첫 번째 코딩 트리 유닛에 대한 엔트로피 디코딩을 개시하는 것을 특징으로 하는 비디오 디코딩 장치. - 제17항에 있어서, 상기 비트스트림은 병렬 디코딩의 대상인 코딩 트리 유닛들의 행에 대한 엔트리 포인트를 지시하는 오프셋 정보를 포함하며,
상기 오프셋 정보는 두 엔트리 포인트 사이의 바이트 수를 지시하는 것을 특징으로 하는 비디오 디코딩 장치. - 제19항에 있어서, 비트스트림은 상기 오프셋 정보의 개수 및 각 오프셋 정보의 길이를 지시하는 정보를 포함하는 것을 특징으로 하는 비디오 디코딩 장치.
Priority Applications (15)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020207026685A KR102238127B1 (ko) | 2011-12-29 | 2012-12-28 | 비디오 인코딩 및 디코딩 방법과 이를 이용하는 장치 |
KR1020147017291A KR102072165B1 (ko) | 2011-12-29 | 2012-12-28 | 비디오 인코딩 및 디코딩 방법과 이를 이용하는 장치 |
KR1020207002499A KR102158629B1 (ko) | 2011-12-29 | 2012-12-28 | 비디오 인코딩 및 디코딩 방법과 이를 이용하는 장치 |
KR1020227022399A KR102500639B1 (ko) | 2011-12-29 | 2012-12-28 | 비디오 인코딩 및 디코딩 방법과 이를 이용하는 장치 |
KR1020217009769A KR102331361B1 (ko) | 2011-12-29 | 2012-12-28 | 비디오 인코딩 및 디코딩 방법과 이를 이용하는 장치 |
KR1020237004933A KR102657113B1 (ko) | 2011-12-29 | 2012-12-28 | 비디오 인코딩 및 디코딩 방법과 이를 이용하는 장치 |
KR1020227008468A KR102417101B1 (ko) | 2011-12-29 | 2012-12-28 | 비디오 인코딩 및 디코딩 방법과 이를 이용하는 장치 |
KR1020217038091A KR102375821B1 (ko) | 2011-12-29 | 2012-12-28 | 비디오 인코딩 및 디코딩 방법과 이를 이용하는 장치 |
CN201280065507.4A CN104041031B (zh) | 2011-12-29 | 2012-12-28 | 视频编码和解码方法和使用该方法的装置 |
US14/369,063 US9883185B2 (en) | 2011-12-29 | 2012-12-28 | Method for encoding and decoding image based on entry point in bitstream and apparatus using same |
US15/860,412 US10356414B2 (en) | 2011-12-29 | 2018-01-02 | Video encoding and decoding method and apparatus using same |
US16/292,037 US10742985B2 (en) | 2011-12-29 | 2019-03-04 | Video encoding and decoding method based on entry point information in a slice header, and apparatus using same |
US16/918,418 US11240506B2 (en) | 2011-12-29 | 2020-07-01 | Video encoding and decoding method based on entry point information in a slice header, and apparatus using same |
US17/563,135 US11711549B2 (en) | 2011-12-29 | 2021-12-28 | Video encoding and decoding method based on entry point information in a slice header, and apparatus using same |
US18/205,372 US12028556B2 (en) | 2011-12-29 | 2023-06-02 | Video encoding and decoding method and apparatus using same |
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161581105P | 2011-12-29 | 2011-12-29 | |
US61/581,105 | 2011-12-29 | ||
US201261582822P | 2012-01-04 | 2012-01-04 | |
US61/582,822 | 2012-01-04 | ||
US201261586112P | 2012-01-12 | 2012-01-12 | |
US61/586,112 | 2012-01-12 | ||
US201261597145P | 2012-02-09 | 2012-02-09 | |
US61/597,145 | 2012-02-09 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/369,063 A-371-Of-International US9883185B2 (en) | 2011-12-29 | 2012-12-28 | Method for encoding and decoding image based on entry point in bitstream and apparatus using same |
US15/860,412 Continuation US10356414B2 (en) | 2011-12-29 | 2018-01-02 | Video encoding and decoding method and apparatus using same |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013100694A1 true WO2013100694A1 (ko) | 2013-07-04 |
Family
ID=48698028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2012/011717 WO2013100694A1 (ko) | 2011-12-29 | 2012-12-28 | 비디오 인코딩 및 디코딩 방법과 이를 이용하는 장치 |
Country Status (4)
Country | Link |
---|---|
US (6) | US9883185B2 (ko) |
KR (8) | KR102500639B1 (ko) |
CN (5) | CN108600753B (ko) |
WO (1) | WO2013100694A1 (ko) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013100694A1 (ko) * | 2011-12-29 | 2013-07-04 | 엘지전자 주식회사 | 비디오 인코딩 및 디코딩 방법과 이를 이용하는 장치 |
KR102447003B1 (ko) | 2012-03-22 | 2022-09-22 | 엘지전자 주식회사 | 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치 |
WO2013164903A1 (ja) * | 2012-04-30 | 2013-11-07 | パナソニック株式会社 | 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置及び画像符号化復号装置 |
PL2884747T3 (pl) * | 2012-08-09 | 2022-05-30 | Sun Patent Trust | Sposób dekodowania obrazów, urządzenie do dekodowania obrazów |
BR122015024097B1 (pt) * | 2013-01-04 | 2021-01-05 | Samsung Electronics Co., Ltd. | aparelho de decodificação de vídeo |
JP6268066B2 (ja) | 2013-09-20 | 2018-01-24 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 送信方法、受信方法、送信装置及び受信装置 |
FR3018148B1 (fr) * | 2014-02-28 | 2017-08-25 | Allegro Dvt | Generateur de flux video |
CN108886639B (zh) | 2016-02-02 | 2021-05-07 | 弗劳恩霍夫应用研究促进协会 | 视频流传输中的场景部分和感兴趣区域处理 |
MX2019002512A (es) * | 2016-09-09 | 2019-06-20 | Sharp Kk | Sistemas y metodos para señalizacion de mensajes de alerta de emergencia. |
CN108063948B (zh) * | 2016-11-08 | 2020-08-04 | 联发科技股份有限公司 | 配合多个处理器的影像处理装置及影像处理方法 |
GB2570879B (en) * | 2018-02-06 | 2022-08-17 | Advanced Risc Mach Ltd | Encoding data arrays |
EP3837842A4 (en) * | 2018-08-22 | 2022-06-01 | HFI Innovation Inc. | METHOD AND DEVICE FOR TRANSFORMATION COEFFICIENT ENCODING |
HUE066947T2 (hu) * | 2018-09-14 | 2024-09-28 | Huawei Tech Co Ltd | Feldarabolás és csempézés a videokódolásban |
US11178427B2 (en) * | 2019-02-08 | 2021-11-16 | Qualcomm Incorporated | Dynamic sub-partition intra prediction for video coding |
SG11202111967VA (en) | 2019-05-10 | 2021-11-29 | Beijing Bytedance Network Technology Co Ltd | Multiple secondary transform matrices for video processing |
EP3967032A4 (en) | 2019-06-07 | 2022-07-27 | Beijing Bytedance Network Technology Co., Ltd. | CONDITIONAL SIGNALING OF A REDUCED SECONDARY TRANSFORM FOR VIDEO BIANARY FLOWS |
WO2021023151A1 (en) | 2019-08-03 | 2021-02-11 | Beijing Bytedance Network Technology Co., Ltd. | Position based mode derivation in reduced secondary transforms for video |
CN114223208B (zh) | 2019-08-17 | 2023-12-29 | 北京字节跳动网络技术有限公司 | 为视频中的缩减二次变换的边信息的上下文建模 |
US12015796B2 (en) | 2019-11-14 | 2024-06-18 | Lg Electronics Inc. | Image coding method on basis of entry point-related information in video or image coding system |
WO2021118076A1 (ko) * | 2019-12-12 | 2021-06-17 | 엘지전자 주식회사 | 비디오 또는 영상 코딩 시스템에서의 일부 엔트리 포인트 관련 정보에 기반한 영상 코딩 방법 |
CN117676146A (zh) * | 2022-09-08 | 2024-03-08 | 华为技术有限公司 | 一种编解码方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050078153A (ko) * | 2004-01-31 | 2005-08-04 | 주식회사 손랩 | 병렬처리 부호화기 및 그 방법 |
JP2006319943A (ja) * | 2005-04-15 | 2006-11-24 | Sony Corp | 符号化装置および方法、復号装置および方法、記録媒体、並びに、プログラム |
KR20100052945A (ko) * | 2008-11-11 | 2010-05-20 | 삼성전자주식회사 | 슬라이스 단위로 분할된 동영상을 처리하는 동영상 부호화/복호화장치 및 동영상 부호화/복호화방법 |
KR101038531B1 (ko) * | 2009-06-25 | 2011-06-02 | 한양대학교 산학협력단 | 복호화시 병렬처리가 가능한 영상 부호화 장치 및 방법, 그리고 병렬처리가 가능한 영상 복호화 장치 및 방법 |
JP2011217082A (ja) * | 2010-03-31 | 2011-10-27 | Jvc Kenwood Corp | 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法及び画像復号プログラム |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7212727B2 (en) * | 2000-04-21 | 2007-05-01 | Matsushita Electric Industrial Co., Ltd. | Trick play method for digital storage medium |
US20030093800A1 (en) * | 2001-09-12 | 2003-05-15 | Jason Demas | Command packets for personal video recorder |
US7433519B2 (en) * | 2003-04-04 | 2008-10-07 | Avid Technology, Inc. | Bitstream format for compressed image data |
US7839930B2 (en) * | 2003-11-13 | 2010-11-23 | Microsoft Corporation | Signaling valid entry points in a video stream |
CN1848942A (zh) | 2005-04-15 | 2006-10-18 | 索尼株式会社 | 编码装置和方法以及解码装置和方法 |
US20080043832A1 (en) * | 2006-08-16 | 2008-02-21 | Microsoft Corporation | Techniques for variable resolution encoding and decoding of digital video |
JP2008048240A (ja) * | 2006-08-18 | 2008-02-28 | Nec Electronics Corp | ビットプレーン復号装置およびビットプレーン復号方法 |
JP4915350B2 (ja) * | 2008-01-16 | 2012-04-11 | 日本電気株式会社 | エントロピ符号化器、映像符号化装置、映像符号化方法および映像符号化プログラム |
US8311111B2 (en) | 2008-09-11 | 2012-11-13 | Google Inc. | System and method for decoding using parallel processing |
US9060174B2 (en) * | 2010-12-28 | 2015-06-16 | Fish Dive, Inc. | Method and system for selectively breaking prediction in video coding |
US9215473B2 (en) * | 2011-01-26 | 2015-12-15 | Qualcomm Incorporated | Sub-slices in video coding |
US9325999B2 (en) * | 2011-03-10 | 2016-04-26 | Sharp Kabushiki Kaisha | Video decoder for slices |
US9338465B2 (en) * | 2011-06-30 | 2016-05-10 | Sharp Kabushiki Kaisha | Context initialization based on decoder picture buffer |
US9124895B2 (en) * | 2011-11-04 | 2015-09-01 | Qualcomm Incorporated | Video coding with network abstraction layer units that include multiple encoded picture partitions |
US9077998B2 (en) * | 2011-11-04 | 2015-07-07 | Qualcomm Incorporated | Padding of segments in coded slice NAL units |
WO2013100694A1 (ko) * | 2011-12-29 | 2013-07-04 | 엘지전자 주식회사 | 비디오 인코딩 및 디코딩 방법과 이를 이용하는 장치 |
US9332259B2 (en) * | 2012-01-18 | 2016-05-03 | Qualcomm Incorporated | Indication of use of wavefront parallel processing in video coding |
-
2012
- 2012-12-28 WO PCT/KR2012/011717 patent/WO2013100694A1/ko active Application Filing
- 2012-12-28 KR KR1020227022399A patent/KR102500639B1/ko active IP Right Grant
- 2012-12-28 KR KR1020217038091A patent/KR102375821B1/ko active IP Right Grant
- 2012-12-28 KR KR1020147017291A patent/KR102072165B1/ko active IP Right Grant
- 2012-12-28 KR KR1020207026685A patent/KR102238127B1/ko active IP Right Grant
- 2012-12-28 CN CN201810257434.8A patent/CN108600753B/zh active Active
- 2012-12-28 CN CN201810257779.3A patent/CN108322751B/zh active Active
- 2012-12-28 KR KR1020227008468A patent/KR102417101B1/ko active IP Right Grant
- 2012-12-28 CN CN201810257886.6A patent/CN108322756B/zh active Active
- 2012-12-28 KR KR1020217009769A patent/KR102331361B1/ko active IP Right Grant
- 2012-12-28 CN CN201280065507.4A patent/CN104041031B/zh active Active
- 2012-12-28 CN CN201810257447.5A patent/CN108337512B/zh active Active
- 2012-12-28 KR KR1020237004933A patent/KR102657113B1/ko active IP Right Grant
- 2012-12-28 KR KR1020207002499A patent/KR102158629B1/ko active IP Right Grant
- 2012-12-28 US US14/369,063 patent/US9883185B2/en active Active
-
2018
- 2018-01-02 US US15/860,412 patent/US10356414B2/en active Active
-
2019
- 2019-03-04 US US16/292,037 patent/US10742985B2/en active Active
-
2020
- 2020-07-01 US US16/918,418 patent/US11240506B2/en active Active
-
2021
- 2021-12-28 US US17/563,135 patent/US11711549B2/en active Active
-
2023
- 2023-06-02 US US18/205,372 patent/US12028556B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050078153A (ko) * | 2004-01-31 | 2005-08-04 | 주식회사 손랩 | 병렬처리 부호화기 및 그 방법 |
JP2006319943A (ja) * | 2005-04-15 | 2006-11-24 | Sony Corp | 符号化装置および方法、復号装置および方法、記録媒体、並びに、プログラム |
KR20100052945A (ko) * | 2008-11-11 | 2010-05-20 | 삼성전자주식회사 | 슬라이스 단위로 분할된 동영상을 처리하는 동영상 부호화/복호화장치 및 동영상 부호화/복호화방법 |
KR101038531B1 (ko) * | 2009-06-25 | 2011-06-02 | 한양대학교 산학협력단 | 복호화시 병렬처리가 가능한 영상 부호화 장치 및 방법, 그리고 병렬처리가 가능한 영상 복호화 장치 및 방법 |
JP2011217082A (ja) * | 2010-03-31 | 2011-10-27 | Jvc Kenwood Corp | 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法及び画像復号プログラム |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102072165B1 (ko) | 비디오 인코딩 및 디코딩 방법과 이를 이용하는 장치 | |
KR102545727B1 (ko) | 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치 | |
KR102489001B1 (ko) | 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 12864013 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 20147017291 Country of ref document: KR Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 14369063 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 12864013 Country of ref document: EP Kind code of ref document: A1 |