KR102453953B1 - Encoding method and apparatus for transformming hierarchical variable block and decoding method and apparatus - Google Patents
Encoding method and apparatus for transformming hierarchical variable block and decoding method and apparatus Download PDFInfo
- Publication number
- KR102453953B1 KR102453953B1 KR1020210168055A KR20210168055A KR102453953B1 KR 102453953 B1 KR102453953 B1 KR 102453953B1 KR 1020210168055 A KR1020210168055 A KR 1020210168055A KR 20210168055 A KR20210168055 A KR 20210168055A KR 102453953 B1 KR102453953 B1 KR 102453953B1
- Authority
- KR
- South Korea
- Prior art keywords
- block
- transform
- prediction
- residual
- coding
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive 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/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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding 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/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
-
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
-
- 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/176—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 block, e.g. a macroblock
-
- 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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
변환 부호화 방법 및 장치 그리고, 복호화 방법 및 장치가 제공된다. 변환 부호화 방법은, 미리 정의되거나 또는 적응적으로 결정된 변환 타입 정보에 따라 차분 블록을 변환할 수 있다. 그리고, 변환된 차분 블록들 중 어느 하나를 최종 블록으로 결정할 수 있다.A transcoding method and apparatus, and a decoding method and apparatus are provided. The transform encoding method may transform the residual block according to predefined or adaptively determined transform type information. And, any one of the transformed residual blocks may be determined as a final block.
Description
본 발명은 입력 영상을 복수의 블록으로 분할하고, 분할된 블록들 중 부호화 블록을 계층적으로 분할하여 변환 부호화하는 기술에 관한 것이다. The present invention relates to a technique for transcoding by dividing an input image into a plurality of blocks and hierarchically dividing a coding block among the divided blocks.
일반적으로, 화면간 예측 부호화를 수행하는 경우, 변환 부호화 방법은 예측 분할 블록에 모두 동일한 4×4 또는 8×8 변환 블록을 적용하여 변환 부호화한다.In general, in the case of performing inter prediction encoding, the transform encoding method applies the same 4×4 or 8×8 transform blocks to all prediction split blocks to perform transform encoding.
예를 들어, 종래의 변환 부화화 방법은 16×16, 16×8, 8×16, 8×8, 4×8, 4×4 블록 모드에 대해 움직임 예측을 수행하여 차분 블록을 생성할 수 있다. 그리고, 4×4 또는 8×8 변환 블록을 이용하여 차분 블록을 변환 부호화할 수 있다. 이처럼, 종래의 변환 부호화 방법은 예측 모드에 관계없이 차분 블록에 모두 동일하게 변환 부호화를 수행함에 따라, 부호화 효율을 감소시킬 수 있다.For example, the conventional transform encoding method may generate residual blocks by performing motion prediction on 16×16, 16×8, 8×16, 8×8, 4×8, and 4×4 block modes. . In addition, the residual block may be transcoded using a 4×4 or 8×8 transform block. As described above, in the conventional transcoding method, since transcoding is performed equally on all residual blocks regardless of the prediction mode, encoding efficiency may be reduced.
특히, 8×8 변환 블록을 이용하는 경우, 종래의 변환 부화화 방법은 예측 모드가 16×16, 16×8, 8×16, 8×8인 경우에만 변환 부호화를 수행할 수 있다는 한계가 존재한다.In particular, when using an 8×8 transform block, the conventional transform encoding method has a limitation that transform encoding can be performed only when the prediction modes are 16×16, 16×8, 8×16, or 8×8. .
이에 따라, 영상의 특성에 따라 변환 부호화를 다르게 적용하여 부호화 효율을 향상시킬 수 있는 기술이 요구된다.Accordingly, there is a need for a technology capable of improving encoding efficiency by applying transcoding differently according to characteristics of an image.
본 발명은 부호화 블록의 크기에 맞는 변환 타입 정보를 생성하고, 변환 타입 정보에 기초하여 차분 블록을 변환 부호화하는 방법 및 장치, 복호화 방법 및 장치를 제공한다.The present invention provides a method and apparatus for generating transform type information suitable for a size of a coding block, and a method and apparatus for transform encoding a residual block based on the transform type information, and a decoding method and apparatus.
본 발명의 일실시예에 따른 부호화 방법은, 부호화 블록을 복수의 예측 모드 정보에 따라 예측 부호화하여 복수의 예측 블록들을 생성하는 단계, 상기 부호화 블록과 상기 복수의 예측 블록들을 이용하여 복수의 차분 블록들을 생성하는 단계, 미리 정의된 변환 타입 정보 또는 적응적으로 결정된 변환 타입 정보에 따라 상기 차분 블록들을 각각 변환하는 단계 상기 변환된 차분 블록들 중 어느 하나를 최종 블록으로 결정하는 단계를 포함할 수 있다.A coding method according to an embodiment of the present invention includes generating a plurality of prediction blocks by predictively encoding a coding block according to a plurality of prediction mode information, and a plurality of residual blocks using the coding block and the plurality of prediction blocks. generating , transforming each of the residual blocks according to predefined transform type information or adaptively determined transform type information, and determining any one of the transformed residual blocks as a final block. .
또한, 상기 최종 블록으로 결정하는 단계는, 상기 변환된 차분 블록들 중 부호화 성능이 가장 좋은 어느 하나를 최종 블록으로 결정할 수 있다.In the determining of the final block, any one of the transformed residual blocks having the best encoding performance may be determined as the final block.
또한, 상기 변환된 차분 블록들의 율-왜곡 비용을 각각 계산하는 단계를 더 포함할 수 있다. 그러면, 상기 최종 블록으로 결정하는 단계는, 상기 계산된 율-왜곡 비용에 기초하여 상기 최종 블록을 결정할 수 있다.The method may further include calculating rate-distortion costs of the transformed residual blocks, respectively. Then, in the determining of the final block, the final block may be determined based on the calculated rate-distortion cost.
또한, 상기 최종 블록으로 결정하는 단계는, 상기 계산된 율-왜곡 비용이 최소인 차분 블록을 최종 블록으로 결정하는 단계, 및 상기 최종 블록에 적용된 변환 타입 정보 및 예측 모드 정보의 전송 여부를 결정하는 단계를 포함할 수 있다.In addition, the determining of the final block includes determining the residual block having the minimum calculated rate-distortion cost as the final block, and determining whether to transmit transform type information and prediction mode information applied to the final block may include steps.
또한, 상기 최종 블록에 적용된 변환 타입 정보 및 예측 모드 정보의 전송 여부를 결정하는 단계는, 상기 최종 블록에 적용된 변환 타입 정보 및 예측 모드 정보와, 부호화 블록에 인접한 주변 블록의 변환 타입 정보 및 예측 모드 정보에 기초하여 상기 최종 블록에 적용된 변환 타입 정보 및 예측 모드 정보를 전송할지 여부를 결정할 수 있다.In addition, the step of determining whether to transmit transform type information and prediction mode information applied to the final block includes: transform type information and prediction mode information applied to the final block, and transform type information and prediction mode of neighboring blocks adjacent to the coding block Based on the information, it may be determined whether to transmit transform type information and prediction mode information applied to the final block.
또한, 상기 최종 블록으로 결정하는 단계는, 상기 최종 블록에 적용된 변환 타입 정보 및 예측 모드 정보와, 부호화 블록의 패턴 정보(Coded Block Pattern: CBP)를 결합하여 부가 정보를 생성할 수 있다.In addition, the determining of the final block may generate additional information by combining transform type information and prediction mode information applied to the final block with coded block pattern information (CBP).
또한, 상기 차분 블록들을 각각 변환하는 단계는, 단위 블록의 크기, 부호화 블록의 크기, 및 주변 블록의 양자화 정보 중 적어도 하나를 이용하여 적응적으로 변환 깊이를 결정하는 단계, 및 상기 부호화 블록의 크기를 기준으로 상기 변환 깊이 마다 변환 블록의 크기를 결정하는 단계를 포함할 수 있다.In addition, the transforming of each of the residual blocks may include adaptively determining a transform depth using at least one of a size of a unit block, a size of a coding block, and quantization information of a neighboring block, and a size of the coding block. The method may include determining a size of a transform block for each transform depth based on .
또한, 상기 최종 블록에 적용된 예측 모드 정보에 기초하여 상기 부호화 블록을 예측 부호화하여 최종 예측 블록을 생성하는 단계, 상기 최종 예측 블록과 상기 부호화 블록을 이용하여 최종 차분 블록을 생성하는 단계, 상기 최종 블록에 적용된 변환 타입 정보에 기초하여 상기 최종 차분 블록을 변환하는 단계, 및 상기 변환된 최종 차분 블록을 양자화 및 엔트로피 부호화하는 단계를 더 포함할 수 있다.In addition, generating a final prediction block by predictive encoding the coding block based on the prediction mode information applied to the final block, generating a final residual block using the final prediction block and the coding block, the final block The method may further include transforming the final residual block based on transform type information applied to , and quantizing and entropy encoding the transformed final residual block.
본 발명에 따르면, 부호화 블록의 크기에 맞는 변환 타입 정보에 기초하여 차분 블록을 변환 부호화 함에 따라 부호화 효율을 향상시킬 수 있다.According to the present invention, encoding efficiency can be improved by transform-coding a residual block based on transform type information suitable for the size of the coding block.
본 발명에 따르면, 부호화 블록에 대해 미리 정의된 변환 타입 정보에 따라 차분 블록을 고정적으로 변환 부호화할 수 있다.According to the present invention, it is possible to statically transform-code a residual block according to transform type information predefined for a coding block.
본 발명에 따르면, 부호화 블록에 따라 적응적으로 생성된 변환 타입 정보에 따라 차분 블록을 적응적으로 변환 부호화 할 수 있다.According to the present invention, it is possible to adaptively transform and encode a residual block according to transform type information adaptively generated according to the coding block.
도 1은 본 발명의 일실시예에 따른 변환 부호화 방법을 설명하기 위해 제공되는 흐름도이다.
도 2는 본 발명의 일실시예에 따른 부호화 장치에서 최종 블록을 결정하는 구성을 설명하기 위해 제공되는 흐름도이다.
도 3은 본 발명의 일실시예에 따른 부호화 장치에서 최종 블록의 변환 타입 정보에 기초하여 변환된 최종 차분 블록을 부호화하는 구성을 설명하기 위해 제공되는 흐름도이다.
도 4는 본 발명의 일실시예에 따른 부호화 장치에서 부호화 블록에 적용 가능한 변환 타입 정보를 도시한 도면이다.
도 5는 본 발명의 일실시예에 따른 부호화 장치에서 변환 블록의 크기가 예측 블록의 크기보다 큰 변환 블록을 적용하는 경우의 변환 타입 정보를 도시한 도면이다.
도 6은 본 발명의 일실시예에 따른 부호화 장치의 세부 구성을 도시한 블록도이다.
도 7은 본 발명의 일실시예에 따른 변환 복호화 방법을 설명하기 위해 제공되는 흐름도이다.
도 8은 본 발명의 일시시예에 따른 복호화 장치의 세부 구성을 도시한 블록도이다.
도 9는 본 발명의 일시시예에 따른 부호화 블록의 패턴 정보(CBP)를 이용하는 구성을 설명하기 위해 제공되는 도면이다.1 is a flowchart provided to explain a transcoding method according to an embodiment of the present invention.
2 is a flowchart provided to explain a configuration for determining a final block in an encoding apparatus according to an embodiment of the present invention.
3 is a flowchart provided to explain a configuration of encoding a transformed final residual block based on transform type information of the final block in the encoding apparatus according to an embodiment of the present invention.
4 is a diagram illustrating transform type information applicable to a coding block in an encoding apparatus according to an embodiment of the present invention.
5 is a diagram illustrating transform type information when a transform block having a size of a transform block larger than a size of a prediction block is applied in the encoding apparatus according to an embodiment of the present invention.
6 is a block diagram illustrating a detailed configuration of an encoding apparatus according to an embodiment of the present invention.
7 is a flowchart provided to explain a transform decoding method according to an embodiment of the present invention.
8 is a block diagram illustrating a detailed configuration of a decoding apparatus according to an exemplary embodiment of the present invention.
9 is a diagram provided to explain a configuration using pattern information (CBP) of a coding block according to an exemplary embodiment of the present invention.
이하에서, 첨부된 도면을 참조하여 본 발명에 따른 실시예들을 상세히 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings. However, the present invention is not limited or limited by the examples. Also, like reference numerals in each figure denote like members.
도 1은 본 발명의 일실시예에 따른 변환 부호화 방법을 설명하기 위해 제공되는 흐름도이다.1 is a flowchart provided to explain a transcoding method according to an embodiment of the present invention.
도 1에 따르면, 101 단계에서, 부호화 장치는, 입력 영상을 복수의 블록들로 분할할 수 있다. 예를 들어, 부호화 장치는, 입력 영상을 복수의 단위 블록으로 분할할 수 있다. 여기서, 단위 블록은 부호화 블록 들 중 최대 크기를 갖는 블록으로서, 최상위 부호화 블록을 의미할 수 있다.Referring to FIG. 1 , in
이어, 102 단계에서, 부호화 장치는, 최대 변환 크기 및 분할 깊이를 결정할 수 있다.Next, in
일례로, 부호화 장치는 단위 블록과 단위 블록의 예측 블록을 이용하여 생성한 차분 블록에 적용할 부호화 블록의 최대 변환 크기 및 분할 깊이를 결정할 수 있다. 이때, 부호화 장치는, 단위 블록의 크기에 기초하여 최대 변환 크기와 분할 깊이를 결정할 수 있다. 또한, 부호화 장치는, 주변 블록의 양자화 정보를 이용하여 최대 변환 크기와 분할 깊이를 결정할 수도 있다.For example, the encoding apparatus may determine a maximum transform size and a split depth of a coding block to be applied to a residual block generated by using a unit block and a prediction block of the unit block. In this case, the encoding apparatus may determine the maximum transform size and the division depth based on the size of the unit block. Also, the encoding apparatus may determine the maximum transform size and the split depth by using the quantization information of the neighboring blocks.
그리고, 103 단계에서, 부호화 장치는, 단위 블록을 복수의 부호화 블록으로 분할 할 수 있다. 이때, 부호화 장치는, 최대 변환 크기 및 분할 깊이에 기초하여 단위 블록을 복수의 부호화 블록들로 분할할 수 있다.Then, in
이어, 104 단계에서, 부호화 장치는, 부호화 블록에 대한 복수의 예측 블록을 생성할 수 있다. 이때, 부호화 장치는, 복수의 예측 모드에 따라 부호화 블록을 예측 부호화하여 복수의 예측 블록을 생성할 수 있다.Next, in
일례로, 부호화 장치는, 화면간 예측 모드 또는 화면내 예측 모드를 이용하여 부호화 블록을 예측 부호화하여 예측 블록을 생성할 수 있다. 여기서, 화면간 예측 모드는, 32×32, 16×16, 16×8, 8×16, 8×8, 8×4, 4×8 및 4×4 등의 예측 모드를 포함할 수 있다. 그리고, 화면내 예측 모드는 DC 예측 모드, 수직(Vertical) 예측 모드, 수평(Horizontal) 예측 모드 등 다양한 방향성 예측 모드들을 포함할 수 있다.As an example, the encoding apparatus may generate the prediction block by predictively encoding the coding block using the inter prediction mode or the intra prediction mode. Here, the inter prediction mode may include prediction modes such as 32×32, 16×16, 16×8, 8×16, 8×8, 8×4, 4×8, and 4×4. In addition, the intra prediction mode may include various directional prediction modes such as a DC prediction mode, a vertical prediction mode, and a horizontal prediction mode.
먼저, 화면간 예측 모드를 이용하는 경우, 부호화 장치는 16×16 예측 모드를 적용한 경우의 예측 블록, 16×8 예측 모드를 이용한 경우의 예측 블록, … , 4×4 예측 모드를 이용한 경우의 예측 블록을 생성할 수 있다. 그리고, 화면내 예측 모드를 이용하는 경우, 부호화 장치는 DC 예측 모드를 이용한 경우의 예측 블록, 수직 예측 모드를 이용한 경우의 예측 블록, 수평 예측 모드를 이용한 경우의 예측 블록 등을 생성할 수 있다.First, in the case of using the inter prediction mode, the encoding apparatus provides a prediction block when the 16×16 prediction mode is applied, a prediction block when the 16×8 prediction mode is used, ... , a prediction block in the case of using the 4×4 prediction mode may be generated. In addition, when the intra prediction mode is used, the encoding apparatus may generate a prediction block when the DC prediction mode is used, a prediction block when the vertical prediction mode is used, and a prediction block when the horizontal prediction mode is used.
그리고, 105 단계에서, 부호화 장치는 예측 블록과 부호화 블록을 이용하여 차분 블록을 생성할 수 있다. 이때, 부호화 장치는 각 예측 블록과 부호화 블록의 차를 통해 차분 블록을 생성할 수 있다.In
일례로, 5개의 예측 모드가 이용되어 5개의 예측 블록이 생성된 경우, 부호화 장치는, 부호화 블록에서 예측 블록 1을 감산하여 차분 블록 1을 생성하고, 부호화 블록에서 예측 블록 2를 감산하여 차분 블록 2를 생성하고, … 부호화 블록에서 예측 블록 5를 감산하여 차분 블록 5를 생성할 수 있다.For example, when 5 prediction modes are used to generate 5 prediction blocks, the encoding apparatus generates a residual block 1 by subtracting the prediction block 1 from the coding block, and subtracts the prediction block 2 from the coding block to generate a residual block. Create 2, … A residual block 5 may be generated by subtracting the prediction block 5 from the coding block.
이어, 106 단계에서, 부호화 장치는 미리 정의된 변환 타입 정보 또는 적응적으로 결정된 변환 타입 정보에 따라 복수의 차분 블록들을 각각 변환할 수 있다. 여기서, 변환 타입 정보는 변환 블록의 크기 및 변환 깊이를 포함할 수 있다. 이때, 변환 타입 정보는 단위 블록의 크기, 부호화 블록의 크기, 및 주변 블록의 양자화 정보 중 적어도 하나에 기초하여 미리 정의될 수도 있고, 적응적으로 결정될 수도 있다. 여기서, 주변 블록은 부호화 블록과 인접하게 위치하는 블록을 의미한다.Next, in
또한, 변환 타입 정보는 단일 변환 타입으로 미리 정의되거나, 적응적으로 결정될 수도 있고, 복수의 변환 타입으로 미리 정의되거나, 적응적으로 결정될 수도 있다. 이때, 변환 타입은 트리 구조 또는 계층적 구조를 가질 수 있다.In addition, the transform type information may be predefined or adaptively determined as a single transform type, or may be predefined or adaptively determined as a plurality of transform types. In this case, the transformation type may have a tree structure or a hierarchical structure.
일례로, 단일 변환 타입으로 미리 정의된 변환 타입 정보를 이용하는 경우, 16×16 예측 모드에 대응하는 변환 블록의 크기가 16×16, 변환 깊이가 1로 미리 정의될 수 있다. 그러면, 부호화 장치는 차분 블록을 16×16 변환 블록을 이용하여 변환할 수 있다.For example, when transform type information predefined as a single transform type is used, a size of a transform block corresponding to a 16×16 prediction mode may be predefined as 16×16 and a transform depth of 1 may be predefined. Then, the encoding apparatus may transform the residual block using a 16×16 transform block.
다른 예로, 복수의 변환 타입으로 미리 정의된 변환 타입 정보를 이용하는 경우, 16×16 예측 모드에 대응하는 변환 블록의 크기가 16×16, 16×8, 8×16, 8×8, 변환 깊이가 2로 미리 정의될 수 있다. 그러면, 부호화 장치는, 차분 블록을 16×16 변환 블록을 이용하여 변환하고, 차분 블록을 16×8 변환 블록을 이용하여 변환하고, 차분 블록을 8×16 변환 블록을 이용하여 변환할 수 있다. 이외에, 부호화 블록이 64×64인 경우, 변환 블록의 크기가 64×64, 변환 깊이가 3 또는 변환 블록의 크기가 32×32, 변환 깊이가 2, 등으로 미리 정의될 수 있다. 그리고, 부호화 블록이 32×32인 경우, 변환 블록의 크기가 16×16, 변환 깊이가 2 또는 변환 블록의 크기가 8×8, 변환 깊이가 1, 등으로 미리 정의될 수 있다.As another example, when transform type information predefined as a plurality of transform types is used, the size of the transform block corresponding to the 16×16 prediction mode is 16×16, 16×8, 8×16, 8×8, and the transform depth is 2 may be predefined. Then, the encoding apparatus may transform the residual block using the 16×16 transform block, transform the residual block using the 16×8 transform block, and transform the residual block using the 8×16 transform block. In addition, when the coding block is 64×64, the size of the transform block may be 64×64, the transform depth is 3, or the size of the transform block is 32×32, the transform depth is 2, and the like may be predefined. And, when the coding block is 32×32, the size of the transform block may be 16×16, the transform depth is 2, or the size of the transform block is 8×8, the transform depth is 1, and the like may be predefined.
또 다른 예로, 부호화 장치는, 단위 블록의 크기, 부호화 블록의 크기, 및 주변 블록의 양자화 정보 중 적어도 하나에 기초하여 변환 깊이를 적응적으로 결정할 수 있다. 그리고, 부호화 장치는 부호화 블록의 크기를 기준으로 변환 깊이마다 변환 블록의 크기를 결정할 수 있다. 이때, 부호화 장치는 부호화 블록 내의 화소값 변화 또는 움직임 정보에 기초하여 적응적으로 변환 깊이 및 변환 블록의 크기를 결정할 수 있다. 예를 들어, 부호화 장치는, 부호화 블록내의 화소값 변화가 크거나, 또는 움직임이 많을수록 작은 블록 사이즈를 변환 블록의 크기로 결정할 수 있다. 그리고, 부호화 장치는, 부호화 블록내의 화소값 변화가 작거나, 또는 움직임이 적을수록 큰 블록 사이즈를 변환 블록의 크기로 결정할 수 있다. 이처럼, 부호화 장치는, 영상의 특성에 따라 적응적으로 변환 블록의 크기를 결정할 수 있다. 이어, 결정된 변환 블록을 이용하여 차분 블록을 변환할 수 있다.As another example, the encoding apparatus may adaptively determine the transform depth based on at least one of a size of a unit block, a size of a coding block, and quantization information of a neighboring block. In addition, the encoding apparatus may determine the size of the transform block for each transform depth based on the size of the coding block. In this case, the encoding apparatus may adaptively determine the transform depth and the size of the transform block based on the pixel value change or motion information in the coding block. For example, the encoding apparatus may determine a smaller block size as the size of the transform block as the change in pixel values in the coding block increases or the movement increases. In addition, the encoding apparatus may determine a larger block size as the size of the transform block as the change in the pixel value in the encoding block or the movement decreases. As such, the encoding apparatus may adaptively determine the size of the transform block according to the characteristics of the image. Then, the residual block may be transformed using the determined transform block.
그리고, 107 단계에서, 부호화 장치는, 복수의 차분 블록들 중에서 어느 하나를 최종 블록으로 결정할 수 있다. 이때, 부호화 장치는 차분 블록의 부호화 성능에 기초하여 복수의 차분블록들 중 어느 하나를 최종 블록으로 결정할 수 있다.And, in
예를 들어, 부호화 장치는, 차분 블록의 율-왜곡 비용, 차분 블록의 차분값, 및 차분 블록의 변환 계수값 중 적어도 하나를 이용하여 최종 블록을 결정할 수 있다.For example, the encoding apparatus may determine the final block by using at least one of a rate-distortion cost of the residual block, a difference value of the residual block, and a transform coefficient value of the residual block.
이어, 108 단계에서, 부호화 장치는, 최종 블록에 적용된 예측 모드 정보 및 변환 타입 정보를 전송할지 여부를 결정할 수 있다.Next, in
이때, 부호화 장치는, 주변 블록의 변환 타입 정보와, 최종 블록의 변환 타입 정보에 기초하여 최종 블록의 변환 타입 정보를 복호화 장치로 전송할지 여부를 결정할 수 있다. 마찬가지로, 부호화 장치는, 주변 블록의 예측 모드 정보와 최종 블록의 예측 모드 정보에 기초하여 최종 블록의 예측 모드 정보를 복호화 장치로 전송할지 여부를 결정할 수 있다. 여기서, 최종 블록은, 부호화 블록이다.In this case, the encoding apparatus may determine whether to transmit the transformation type information of the final block to the decoding apparatus based on the transformation type information of the neighboring block and the transformation type information of the final block. Similarly, the encoding apparatus may determine whether to transmit the prediction mode information of the last block to the decoding apparatus based on the prediction mode information of the neighboring block and the prediction mode information of the last block. Here, the final block is a coding block.
일례로, 부호화 장치는, 부호화 블록의 변환 타입 정보와 주변 블록의 변환 타입 정보를 비교하여 일치 여부를 판단할 수 있다. 이때, 일치하는 경우, 부호화 장치는, 부호화 블록의 변환 타입 정보를 복호화 장치로 전송하지 않을 수 있다. 마찬가지로, 부호화 장치는 부호화 블록의 예측 모드 정보와 주변 블록의 예측 모드 정보를 비교하여 일치 여부를 판단할 수 있다. 이때, 일치하는 경우, 부호화 장치는 부호화 블록의 예측 모드 정보를 복호화 장치로 전송하지 않을 수 있다. 그러면, 복호화 장치는 주변 블록의 변환 타입 정보 및 예측 모드 정보를 이용하여 부호화 블록을 복원할 수 있다.As an example, the encoding apparatus may determine whether the encoding block matches with the transformation type information of the neighboring block by comparing the transformation type information. In this case, if they match, the encoding apparatus may not transmit transform type information of the encoding block to the decoding apparatus. Similarly, the encoding apparatus may compare the prediction mode information of the coding block with the prediction mode information of the neighboring blocks to determine whether they match. In this case, if they match, the encoding apparatus may not transmit the prediction mode information of the encoding block to the decoding apparatus. Then, the decoding apparatus may reconstruct the coding block by using the transform type information and the prediction mode information of the neighboring blocks.
이때, 부호화 블록의 변환 타입 정보 및 예측 모드 정보와 주변 블록의 변환 타입 정보 및 예측 모드 정보가 일치하지 않는 경우, 부호화 장치는, 부호화 블록의 변환 타입 정보 및 예측 모드 정보를 복호화 장치로 전송할 수 있다.In this case, when the transform type information and the prediction mode information of the coding block do not match the transform type information and the prediction mode information of the neighboring blocks, the encoding device may transmit the transform type information and the prediction mode information of the coding block to the decoding device. .
이어, 109 단계에서, 부호화 장치는, 부가 정보(Side Information)를 생성하여 전송할 수 있다. Next, in
일례로, 부호화 블록의 변환 타입 정보 및 예측 모드 정보와 주변 블록의 변환 타입 정보 및 예측 모드 정보가 일치하지 않는 경우, 부호화 장치는, 부호화 블록의 패턴 정보(Coded Block Pattern: CBP)와, 최종 블록에 적용된 변환 타입 정보 및 예측 모드 정보를 결합하여 부가 정보를 생성할 수 있다. 그리고, 부호화 장치는, 생성된 부가 정보를 복호화 장치로 전송할 수 있다. For example, when transform type information and prediction mode information of a coding block and transform type information and prediction mode information of a neighboring block do not match, the coding apparatus may include coded block pattern information (CBP) of the coding block and the final block. Additional information may be generated by combining transform type information and prediction mode information applied to . Then, the encoding apparatus may transmit the generated additional information to the decoding apparatus.
이처럼, 부호화 장치는, CBP 정보와, 변환 타입 정보 및 예측 모드 정보를 결합함으로써 부가 정보의 양을 감소시킬 수 있다. 이때, 단일 변환 타입을 이용하는 경우, 부호화 장치는, 번호나 타입을 나타내는 부가 정보를 복호화 장치로 전송하지 않을 수 있다. 예를 들어, 변환 블록의 크기가 N×N이고, 변환 깊이가 1인 경우, 단일 변환 타입만을 사용하므로 부호화 장치는 부호화 블록의 변환 타입 정보 및 부호화 블록의 예측 모드 정보를 포함하는 부가 정보를 복호화 장치로 전송하지 않아도 된다.As such, the encoding apparatus may reduce the amount of additional information by combining CBP information, transform type information, and prediction mode information. In this case, when a single transform type is used, the encoding apparatus may not transmit additional information indicating the number or type to the decoding apparatus. For example, when the size of the transform block is N×N and the transform depth is 1, since only a single transform type is used, the encoding apparatus decodes additional information including transform type information of the coding block and prediction mode information of the coding block. You don't have to send it to your device.
도 2는 본 발명의 일실시예에 따른 부호화 장치에서 최종 블록을 결정하는 구성을 설명하기 위해 제공되는 흐름도이다.2 is a flowchart provided to explain a configuration for determining a final block in an encoding apparatus according to an embodiment of the present invention.
도 2에 따르면, 201 단계에서, 부호화 장치는 차분 블록들 각각의 부호화 성능을 결정할 수 있다. 이때, 부호화 장치는, 부호화 성능을 결정하기 위해, 율-왜곡 비용, 차분값, 변환 계수값 등을 이용할 수 있다.Referring to FIG. 2 , in
그리고, 202 단계에서, 부호화 장치는, 결정된 부호화 성능에 기초하여 변환된 복수의 차분 블록들 중 어느 하나를 최종 블록으로 결정할 수 있다.In
일례로, 율-왜곡 비용을 이용하는 경우, 부호화 장치는 변환된 복수의 차분 블록들 각각의 율-왜곡 비용을 계산할 수 있다. 그리고, 부호화 장치는, 율-왜곡 비용이 최소인 차분 블록을 최종 블록으로 결정할 수 있다.For example, when the rate-distortion cost is used, the encoding apparatus may calculate the rate-distortion cost of each of the plurality of transformed residual blocks. Then, the encoding apparatus may determine the residual block having the minimum rate-distortion cost as the final block.
예를 들어, 변환된 차분 블록이 3개인 경우, 부호화 장치는 변환된 차분 블록 1의 율-왜곡 비용 1을 계산하고, 변환된 차분 블록 2의 율-왜곡 비용 2를 계산하고, 변환된 차분 블록 3의 율-왜곡 비용 3을 계산할 수 있다. 이어, 부호화 장치는 율-왜곡 비용 1 내지 3 중에서 최소인 율-왜곡 비용을 선택할 수 있다. 그리고, 부호화 장치는, 선택된 율-왜곡 비용에 해당하는 변환된 차분 블록을 최종 블록으로 결정할 수 있다.For example, when there are three transformed residual blocks, the encoding apparatus calculates a rate-distortion cost 1 of the transformed residual block 1, calculates a rate-distortion cost 2 of the transformed residual block 2, and the transformed residual block A rate-distortion cost of 3 can be calculated. Next, the encoding apparatus may select the minimum rate-distortion cost from among rate-distortion costs 1 to 3. Then, the encoding apparatus may determine the transformed residual block corresponding to the selected rate-distortion cost as the final block.
다른 예로, 차분값을 이용하는 경우, 부호화 장치는, 변환된 복수의 차분 블록들 각각의 차분값을 계산할 수 있다. 그리고, 부호화 장치는, 계산된 차분값에 기초하여 최종 블록을 결정할 수 있다.As another example, when using a difference value, the encoding apparatus may calculate a difference value of each of the plurality of transformed residual blocks. Then, the encoding apparatus may determine the final block based on the calculated difference value.
또 다른 예를, 변환 계수값을 이용하는 경우, 부호화 장치는, 변환된 복수의 차분 블록들 각각의 변환 계수값을 계산할 수 있다. 그리고, 부호화 장치는, 계산된 변환 계수값에 기초하여 최종 블록을 결정할 수 있다.As another example, when a transform coefficient value is used, the encoding apparatus may calculate a transform coefficient value of each of the plurality of transformed residual blocks. Then, the encoding apparatus may determine the final block based on the calculated transform coefficient value.
도 3은 본 발명의 일실시예에 따른 부호화 장치에서 최종 블록의 변환 타입 정보에 기초하여 변환된 최종 차분 블록을 부호화하는 구성을 설명하기 위해 제공되는 흐름도이다.3 is a flowchart provided to explain a configuration of encoding a transformed final residual block based on transform type information of the final block in the encoding apparatus according to an embodiment of the present invention.
도 3에 따르면, 먼저, 301 단계에서, 부호화 장치는, 최종 블록에 적용된 예측 모드 정보에 기초하여 예측 블록을 생성할 수 있다.Referring to FIG. 3 , first, in
이어, 302 단계에서, 부호화 장치는 상기 생성된 예측 블록과 부호화 블록을 이용하여 최종 차분 블록을 생성할 수 있다. Next, in
그리고, 303 단계에서, 부호화 장치는, 최종 블록에 적용된 변환 타입 정보에 기초하여 최종 차분 블록을 변환할 수 있다.In
이어, 304 단계에서, 부호화 장치는, 변환된 최종 차분 블록을 양자화하고, 양자화된 최종 차분 블록을 엔트로피 부호화할 수 있다. 그리고, 부호화 장치는, 엔트로피 부호화를 통해 생성된 비트스트림을 복호화 장치로 전송할 수 있다.Next, in
도 3에서는, 최종 블록에 적용된 예측 모드 정보에 기초하여 최종 예측 블록을 생성하고, 최종 블록에 적용된 변환 타입 정보에 기초하여 최종 차분 블록을 변환하고, 변환된 최종 차분 블록을 양자화 및 엔트로피 부호화하는 구성에 대해 설명하였으나, 이는 실시예에 해당되며, 부호화 장치는 최종 예측 블록을 생성 및 최종 차분 블록을 변환하는 구성을 생략하고, 최종 블록을 바로 양자화 및 엔트로피 부호화할 수도 있다. 다시 말해, 부호화 성능 결정을 위해 율-왜곡 비용을 이용하는 경우, 변환된 차분 블록들의 율-왜곡 비용을 비교하는 과정에서, 부호화 장치는, 율-왜곡 비용이 최소인 차분 블록을 최종 블록으로 결정하고, 결정된 최종 블록을 양자화하고, 양자화된 최종 블록을 엔트로피 부호화할 수 있다.In FIG. 3, the final prediction block is generated based on the prediction mode information applied to the final block, the final residual block is transformed based on the transform type information applied to the final block, and the transformed final residual block is quantized and entropy-encoded. has been described, but this corresponds to an embodiment, and the encoding apparatus may omit the configuration of generating the final prediction block and transforming the final residual block, and may directly quantize and entropy encode the final block. In other words, when rate-distortion cost is used to determine encoding performance, in the process of comparing rate-distortion costs of transformed residual blocks, the encoding apparatus determines the residual block having the minimum rate-distortion cost as the final block, , the determined final block may be quantized, and the quantized final block may be entropy-encoded.
도 4는 본 발명의 일실시예에 따른 부호화 장치에서 부호화 블록에 적용 가능한 변환 타입 정보를 도시한 도면이다. 도 4에서, 단위 블록의 크기는 8N×8N이고, 분할 깊이가 3이다.4 is a diagram illustrating transform type information applicable to a coding block in an encoding apparatus according to an embodiment of the present invention. In FIG. 4 , the size of the unit block is 8N×8N, and the division depth is 3 .
도 4에 따르면, 분할 깊이가 3인 경우, 단위 블록(410)은 4N×4N 부호화 블록들로 분할되고, 4N×4N 부호화 블록은 2N×2N 부호화 블록들로 분할되고, 2N×2N 부호화 블록은 N×N 부호화 블록들로 분할될 수 있다.According to FIG. 4 , when the splitting depth is 3, the
먼저, 4N×4N 부호화 블록(430)에 대해 최대 변환 크기가 4N×4N, 변환 깊이가 3으로 미리 정의된 경우, 4N×4N 부호화 블록(430)에 적용 가능한 변환 타입은 431과 같을 수 있다. 이때, 4N×4N 부호화 블록(430)에 대해 최대 변환 크기가 2N×2N, 변환 깊이가 2로 미리 정의된 경우, 4N×4N 부호화 블록(430)에 적용 가능한 변환 타입은 432와 같을 수 있다.First, when a maximum transform size of 4N×4N and a transform depth of 3 are predefined for the 4N×
그리고, 2N×2N 부호화 블록(440)에 대해 최대 변환 크기가 2N×2N, 변환 깊이가 2로 미리 정의된 경우, 2N×2N 부호화 블록(440)에 적용 가능한 변환 타입은 441과 같을 수 있다. In addition, when the maximum transform size of the 2N×
그리고, N×N 부호화 블록(450)에 대해 최대 변환 크기가 N×N, 변환 깊이가 1로 미리 정의된 경우, N×N 부호화 블록(450)에 적용 가능한 변환 타입은 451과 같을 수 있다. 다시 말해, N×N 부호화 블록(450)에 적용 가능한 변환 블록의 크기가 4개일 수 있다.In addition, when the maximum transform size of the N×
도 5는 본 발명의 일실시예에 따른 부호화 장치에서 변환 블록의 크기가 예측 블록의 크기보다 큰 변환 블록을 적용하는 경우의 변환 타입 정보를 도시한 도면이다.5 is a diagram illustrating transform type information when a transform block having a size of a transform block larger than a size of a prediction block is applied in the encoding apparatus according to an embodiment of the present invention.
도 5에 따르면, 4N×4N 부호화 블록(510)은 3개의 2N×2N 블록들과 4개의 N×N 블록들로 분할될 수 있다. 이때, 4N×4N 부호화 블록(510)에 대해 최대 변환 크기가 4N×4N, 변환 깊이가 3으로 미리 정의된 경우, 4N×4N 부호화 블록(510)에 적용 가능한 변환 타입은 520과 같을 수 있다.According to FIG. 5 , a 4N×
도 6은 본 발명의 일실시예에 따른 부호화 장치의 세부 구성을 도시한 블록도이다.6 is a block diagram illustrating a detailed configuration of an encoding apparatus according to an embodiment of the present invention.
도 6에 따르면, 부호화 장치(600)는 예측 블록 생성부(610), 차분 블록 생성부(620), 변환부(630), 최종 블록 결정부(640), 양자화부(650), 및 엔트로피 부호화부(660)를 포함할 수 있다.Referring to FIG. 6 , the
먼저, 예측 블록 생성부(610)는 부호화 블록을 복수의 예측 모드 정보에 따라 예측 부호화하여 복수의 예측 블록들을 생성할 수 있다. First, the
여기서, 예측 모드 정보는 화면간 예측 모드, 화면내 예측 모드를 포함할 수 있다. 그리고, 화면간 예측 모드는 16×16, 16×8, 8×16, 8×8, 8×4, 4×8 및 4×4 등의 예측 모드를 포함할 수 있다. 그리고, 화면내 예측 모드는 DC 예측 모드, 수직(Vertical) 예측 모드, 수평(Horizontal) 예측 모드 등을 포함할 수 있다.Here, the prediction mode information may include an inter prediction mode and an intra prediction mode. And, the inter prediction mode may include prediction modes such as 16×16, 16×8, 8×16, 8×8, 8×4, 4×8, and 4×4. And, the intra prediction mode may include a DC prediction mode, a vertical prediction mode, a horizontal prediction mode, and the like.
차분 블록 생성부(620)는 부호화 블록과 복수의 예측블록들을 이용하여 복수의 차분 블록들을 생성할 수 있다. 예를 들어, 차분 블록 생성부(620)는 부호화 블록과 복수의 예측블록들 각각을 감산하여 복수의 차분 블록들을 생성할 수 있다.The
변환부(630)는 미리 정의된 변환 타입 정보 또는 적응적으로 결정된 변환 타입 정보에 따라 차분 블록들을 각각 변환할 수 있다. 이때, 변환부(630)는 단위 블록의 크기, 부호화 블록의 크기, 및 주변 블록의 양자화 정보 중 적어도 하나를 이용하여 미리 정의되거나 결정된 변환 타입 정보에 따라 차분 블록들을 각각 변환할 수 있다.The
여기서, 변환 타입 정보는 변환 블록의 크기 및 변환 깊이를 포함할 수 있다. 그리고, 변환 타입 정보는 단일 변환 타입 또는 복수의 변환 타입으로 미리 정의되거나, 결정될 수 있다. 이때, 복수의 변환 타입을 이용하는 경우, 변환 타입 정보는 트리 구조 또는 계층적 구조를 가질 수 있다.Here, the transform type information may include a size of a transform block and a transform depth. In addition, the transform type information may be predefined or determined as a single transform type or a plurality of transform types. In this case, when a plurality of transform types are used, the transform type information may have a tree structure or a hierarchical structure.
일례로, 변환부(630)는 단위 블록의 크기, 부호화 블록의 크기, 및 주변 블록의 양자화 정보 중 적어도 하나를 이용하여 변환 깊이를 결정할 수 있다. 그리고, 변환부(630)는 부호화 블록의 크기를 기준으로 변환 깊이마다 변환 블록의 크기를 결정할 수 있다. 이어, 변환부(630)는 결정된 변환 블록의 크기를 이용하여 부호화 블록을 변환할 수 있다.For example, the
최종 블록 결정부(640)는 변환된 차분 블록들 각각의 부호화 성능을 결정할 수 있다. 예를 들어, 최종 블록 결정부(640)는 율-왜곡 비용, 차분값, 변환 계수값 등을 이용하여 부호화 성능을 결정할 수 있다. 그리고, 최종 블록 결정부(640)는 부호화 성능이 가장 좋은 차분 블록을 최종 블록으로 결정할 수 있다.The
일례로, 율-왜곡 비용을 이용하는 경우, 최종 블록 결정부(640)는 변환된 차분 블록들 각각의 율-왜곡 비용을 계산할 수 있다. 이때, 최종 블록 결정부(640)는 율-왜곡 비용이 작을수록 부호화 성능이 좋은 것으로 결정할 수 있다. 그러면, 최종 블록 결정부(640)는 율-왜곡 비용이 최소인 차분 블록을 최종 블록으로 결정할 수 있다.As an example, when the rate-distortion cost is used, the
그러면, 최종 블록이 결정된 경우, 예측 블록 생성부(610)는 최종 블록에 적용된 예측 모드 정보에 따라 부호화 블록을 예측 부호화하여 최종 예측 블록을 생성할 수 있다. 그리고, 차분 블록 생성부(620)는 생성된 예측 블록과 부호화 블록을 감산하여 최종 차분 블록을 생성할 수 있다. 그러면, 변환부(630)는 최종 차분 블록을 최종 블록에 적용된 변환 타입 정보에 따라 변환할 수 있다.Then, when the final block is determined, the
이어, 양자화부(650)는 변환된 최종 차분 블록을 양자화할 수 있다. 그리고, 엔트로피 부호화부(650)는 양자화된 최종 차분 블록을 엔트로피 부호화하여 비트스트림을 출력할 수 있다.Next, the
한편, 최종 블록 결정부(640)는 부호화 블록의 예측 모드 정보 및 부호화 블록의 변환 타입 정보를 복호화 장치로 전송할지 여부를 결정할 수 있다.Meanwhile, the
예를 들어, 최종 블록 결정부(640)는 부호화 블록의 변환 타입 정보 및 예측 모드 정보와, 주변 블록의 변환 타입 정보 및 예측 모드 정보가 일치하는지 여부를 비교할 수 있다. 그리고, 일치하는 경우, 최종 블록 결정부(640)는 부호화 블록의 변환 타입 정보 및 예측 모드 정보를 복호화 장치로 전송하지 않을 수 있다. 그리고, 일치하지 않는 경우, 최종 블록 결정부(640)는 부호화 블록의 변환 타입 정보 및 예측 모드 정보를 복호화 장치로 전송할 수 있다. 이때, 복호화 장치로 전송되는 부가 정보의 비트량을 감소시키기 위해, 부호화 장치는 부호화 블록의 변환 타입 정보 및 예측 모드 정보와, 부호화 블록의 패턴 정보(CBP)를 결합하여 부가 정보를 생성할 수 있다. 이어, 부호화 장치는 생성된 부가 정보를 복호화 장치로 전송할 수 있다.For example, the
이처럼, 변환 타입은 예측 블록의 크기에 따라 고정된 것이 아니라, 차분 블록을 계층적으로 가변 블록 변환함에 따라 영상의 변환에 유연하게 적응할 수 있다. 예를 들어, 도 10을 참조하면, 16×16 부호화 블록 내에서 4×4, 8×8 변환 타입이 혼합되어 적용되거나, 8×16 변환 타입이 적용되는 등과 같이 가변 블록 변환(1020)이 가능하다. 다시 말해, 16×16 부호화 블록 내에서 변환 타입이 4×4, 8×8 두 종류로만 고정되어 분할 변환(1010)하지 않고, 영상의 특성에 따라 다양한 크기로 가변 블록 변환할 수 있다.As such, the transform type is not fixed according to the size of the prediction block, but can be flexibly adapted to the image transformation by hierarchically variable block transformation of the residual block. For example, referring to FIG. 10 , a
도 7은 본 발명의 일실시예에 따른 변환 복호화 방법을 설명하기 위해 제공되는 흐름도이다.7 is a flowchart provided to explain a transform decoding method according to an embodiment of the present invention.
도 7에 따르면, 먼저, 701단계에서, 복호화 장치는 부호화 장치로부터 비트스트림을 수신할 수 있다.Referring to FIG. 7 , first, in
이어, 702 단계에서, 복호화 장치는 부호화 블록의 변환 타입 정보 및 예측 모드 정보를 획득할 수 있다. 여기서, 부호화 블록의 변환 타입 정보는, 최종 블록에 적용된 변환 타입 정보이고, 부호화 블록의 예측 모드 정보는, 최종 블록에 적용된 예측 모드 정보일 수 있다.. 그리고, 변환 타입 정보는 변환 블록의 크기 및 변환 깊이를 포함할 수 있다. Next, in
일례로, 복호화 장치는 부호화 장치로부터 부가 정보를 수신할 수 있다. 여기서, 부가 정보는 부호화 블록의 변환 타입 정보 및 부호화 블록의 예측 모드 정보와, 부호화 블록의 패턴 정보가 결합된 형태일 수 있다. 그러면, 복호화 장치는 부가 정보로부터 부호화 블록의 변환 타입 정보 및 부호화 블록의 예측 모드 정보를 획득할 수 있다. For example, the decoding apparatus may receive additional information from the encoding apparatus. Here, the additional information may be a combination of transform type information of the coding block, prediction mode information of the coding block, and pattern information of the coding block. Then, the decoding apparatus may obtain transform type information of the coding block and prediction mode information of the coding block from the additional information.
다른 예로, 부호화 블록의 변환 타입 정보 및 예측 모드 정보와, 주변 블록의 변환 타입 정보 및 예측 모드 정보가 일치하여, 부호화 장치로부터 부호화 블록의 변환 타입 정보 및 예측 모드 정보가 수신되지 않은 경우, 복호화 장치는 주변 블록의 변환 타입 정보 및 예측 모드 정보를 획득할 수 있다.As another example, when transform type information and prediction mode information of a coding block match with transform type information and prediction mode information of a neighboring block, and thus transform type information and prediction mode information of a coding block are not received from the encoding device, the decoding apparatus may obtain transform type information and prediction mode information of a neighboring block.
이어, 703 단계에서, 복호화 장치는, 획득된 변환 타입 정보 및 예측 모드 정보를 이용하여 차분 블록을 복원할 수 있다. 이때, 복호화 장치는, 최종 블록의 변환 타입 정보 및 예측 모드 정보를 이용하여 차분 블록을 복원할 수 있다. 또한, 복호화 장치는, 주변 블록의 변환 타입 정보 및 예측 모드 정보를 이용하여 차분 블록을 복원할 수도 있다.Next, in
일례로, 복호화 장치는 엔트로피 복호화된 블록을 역양자화할 수 있다. 그리고, 복호화 장치는, 역양자화된 블록을 상기 획득된 변환 타입 정보에 따라 역변환하여 차분 블록을 복원할 수 있다.For example, the decoding apparatus may inverse quantize the entropy-decoded block. Then, the decoding apparatus may inverse transform the inverse quantized block according to the obtained transform type information to reconstruct the residual block.
그리고, 704 단계에서, 복호화 장치는, 상기 획득된 예측 모드 정보를 이용하여 엔트로피 복호화된 블록의 예측 블록을 생성할 수 있다. And, in
이어, 705 단계에서, 복호화 장치는 복호화 블록의 예측 블록과, 역변환을 통해 생성된 차분 블록을 더하여 부호화 블록을 복원할 수 있다.Next, in
도 8은 본 발명의 일시시예에 따른 복호화 장치의 세부 구성을 도시한 블록도이다.8 is a block diagram illustrating a detailed configuration of a decoding apparatus according to an exemplary embodiment of the present invention.
도 8에 따르면, 복호화 장치는, 엔트로피 복호화부(810), 정보 획득부(820), 역양자화 및 역 변환부(830), 예측 블록 생성부(840), 및 복원부(850)를 포함할 수 있다.Referring to FIG. 8 , the decoding apparatus may include an
엔트로피 복호화부(810)는 부호화 장치로부터 수신한 비트스트림을 엔트로피 복호화할 수 있다.The
그러면, 정보 획득부(820)는 엔트로피 복호화된 블럭으로부터 최종 블록의 변환 타입 정보 및 최종 블록의 예측 모드 정보를 획득할 수 있다. 여기서, 변환 타입 정보는 변환 블록의 크기 및 변환 깊이를 포함할 수 있다. Then, the
역양자화 및 역변환부(830)는 엔트로피 복호화된 블록을 역양자화할 수 있다. 그리고, 역양자화 및 역변환부(830)는 역양자화된 블록을 최종 블록의 변환 타입 정보에 따라 역변환하여 차분 블록을 복원할 수 있다.The inverse quantization and
그리고, 예측 블록 생성부(840)는 최종 블록의 예측 모드 정보에 기초하여 엔트로피 복호화된 블록의 예측 블록을 생성할 수 있다.And, the
그러면, 복원부(850)는 생성된 예측 블록과 복원된 차분 블록을 더하여 부호화 블록을 복원할 수 있다.Then, the
한편, 정보 획득부(820)는 단위 블록의 크기, 부호화 블록의 크기, 및 주변 블록의 양자화 정보 중 적어도 하나에 기초하여 변환 타입 정보를 적응적으로 결정할 수도 있다. 이때, 변환 타입 정보는 단위 블록의 크기, 부호화 블록의 크기, 및 주변 블록의 양자화 정보 중 적어도 하나에 기초하여 미리 정의될 수도 있다. 그러면, 정보 획득부(820)는 미리 정의되거나, 또는 적응적으로 결정된 변환 타입 정보에 기초하여 최종 블록의 변환 타입 정보와 최종 블록의 예측 모드 정보를 획득할 수 있다.Meanwhile, the
이때, 부호화 장치에서 최종 블록의 변환 타입 정보 및 예측 모드 정보와, 부호화 블록의 패턴 정보(CBP)를 결합하여 생성한 부가 정보를 전송한 경우, 정보 획득부(820)는 부가 정보에서 부호화 블록의 패턴 정보(CBP)를 분리하여 최종 블록의 변환 타입 정보 및 예측 모드 정보를 획득할 수도 있다. 예를 들어, 정보 획득부(820)는 아래의 표 1과 같이 부호화 블록의 패턴 정보를 추출함에 따라 최종 블록의 변환 타입 정보 및 예측 모드 정보를 획득할 수 있다.In this case, when the encoding apparatus transmits additional information generated by combining transform type information and prediction mode information of the final block and pattern information (CBP) of the encoding block, the
{
if(cbp&(1<<j))
{
T8_flag[j] = T8_flag;
}else{
T8_flag[j] = 0;
}
}for(j=0; j<4; j++)
{
if(cbp&(1<<j))
{
T8_flag[j] = T8_flag;
}else{
T8_flag[j] = 0;
}
}
표 1에서, j는 변환 블록의 번호(0: 도 9의 좌측 위쪽, 3: 도 9의 우측 아래쪽 블록), T8_flag는 부호화 장치에서 전송된 부가 정보에 포함된 변환 타입 정보, T8_flag[]는 부호화 블록의 패턴 정보(CBP)를 이용하여 각 8×8 블록에 해당하는 변환 타입 정보이다.In Table 1, j is the number of the transform block (0: upper left block of FIG. 9, 3: lower right block of FIG. 9), T8_flag is transform type information included in side information transmitted from the encoding apparatus, and T8_flag[] is encoding Transform type information corresponding to each 8×8 block using the block pattern information (CBP).
표 1에 따르면, 전송된 2비트 부가 정보가 부호화 블록의 패턴 정보를 이용하여 각 변환 블록에 대해 총 4비트로 복원될 수 있다. According to Table 1, the transmitted 2-bit additional information may be restored to a total of 4 bits for each transform block using pattern information of the coding block.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, although the present invention has been described with reference to limited embodiments and drawings, the present invention is not limited to the above-described embodiments, and those skilled in the art to which the present invention pertains can make various modifications and variations from these descriptions. This is possible.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined by the following claims as well as the claims and equivalents.
610: 예측 블록 생성부
620: 차분 블록 생성부
630: 변환부
640: 최종 블록 결정부
650: 양자화부
660: 엔트로피 부호화부610: prediction block generator
620: difference block generating unit
630: conversion unit
640: final block decision unit
650: quantization unit
660: entropy encoding unit
Claims (3)
상기 부호화 블록과 상기 예측 블록에 기초하여 상기 부호화 블록에 대한 차분 블록을 생성하는 차분 블록 생성부; 및
상기 차분 블록을 부호화하는 부호화부를 포함하고,
상기 부호화부는,
상기 예측 블록의 생성 및 상기 차분 블록에 대한 변환을 생략하지 않는 경우, 상기 변환을 수행하기 위한 변환 타입 정보 및 최대 변환 크기에 기초하여 상기 변환을 수행하고, 상기 차분 블록에 대해 양자화를 수행하고, 상기 차분 블록에 대해 엔트로피 부호화를 수행하며,
상기 변환 타입 정보는 변환 블록의 크기를 포함하고,
상기 최대 변환 크기는 상기 변환 블록에 허용되는 최대 크기로, 상기 부호화 블록에 허용되는 최대 크기와 같거나, 상기 부호화 블록에 허용되는 최대 크기보다 작도록 결정된 것을 특징으로 하는 영상 부호화 장치.
a prediction block generator generating a prediction block by performing prediction on the coding block;
a residual block generator for generating a residual block for the coding block based on the coding block and the prediction block; and
an encoder for encoding the residual block;
The encoding unit,
When the generation of the prediction block and the transform on the residual block are not omitted, the transform is performed based on transform type information for performing the transform and the maximum transform size, and quantization is performed on the residual block, Entropy encoding is performed on the residual block,
The transform type information includes a size of a transform block,
The maximum transform size is a maximum size allowed for the transform block and is determined to be equal to a maximum size allowed for the coding block or smaller than a maximum size allowed for the coding block.
상기 부호화 블록에 대해 예측을 수행하여 예측 블록을 생성하는 예측 블록 생성부; 및
상기 복호화된 차분 블록과 상기 생성된 예측 블록에 기초하여 상기 부호화 블록을 복원하는 복원부를 포함하고,
상기 차분 블록에 대해 엔트로피 복호화를 수행하고, 상기 차분 블록에 대해 역양자화를 수행하고, 상기 예측 블록의 생성 및 상기 차분 블록에 대한 역변환을 생략하지 않는 경우, 변환 타입 정보 및 최대 변환 크기에 기초하여 상기 역변환을 수행하며,
상기 변환 타입 정보는 변환 블록의 크기를 포함하고,
상기 최대 변환 크기는 상기 변환 블록에 허용되는 최대 크기로, 상기 부호화 블록에 허용되는 최대 크기와 같거나, 상기 부호화 블록에 허용되는 최대 크기보다 작도록 결정된 것을 특징으로 하는 영상 복호화 장치.
a decoding unit that obtains a coded residual block with respect to the coded block from the bitstream and decodes the coded residual block;
a prediction block generator configured to generate a prediction block by performing prediction on the coding block; and
and a reconstruction unit for reconstructing the coding block based on the decoded residual block and the generated prediction block;
When entropy decoding is performed on the residual block, inverse quantization is performed on the residual block, and generation of the prediction block and inverse transform on the residual block are not omitted, based on the transform type information and the maximum transform size performing the inverse transformation,
The transform type information includes a size of a transform block,
The maximum transform size is a maximum size allowed for the transform block and is determined to be equal to a maximum size allowed for the coding block or smaller than a maximum size allowed for the coding block.
부호화 블록에 대해 예측을 수행하여 예측 블록을 생성하는 예측 블록 생성부;
상기 부호화 블록과 상기 예측 블록에 기초하여 상기 부호화 블록에 대한 차분 블록을 생성하는 차분 블록 생성부; 및
상기 차분 블록을 부호화하는 부호화부를 포함하고,
상기 부호화부는,
상기 예측 블록의 생성 및 상기 차분 블록에 대한 변환을 생략하지 않는 경우, 상기 변환을 수행하기 위한 변환 타입 정보 및 최대 변환 크기에 기초하여 상기 변환을 수행하고, 상기 차분 블록에 대해 양자화를 수행하고, 상기 차분 블록에 대해 엔트로피 부호화를 수행하며,
상기 변환 타입 정보는 변환 블록의 크기를 포함하고,
상기 최대 변환 크기는 상기 변환 블록에 허용되는 최대 크기로, 상기 부호화 블록에 허용되는 최대 크기와 같거나, 상기 부호화 블록에 허용되는 최대 크기보다 작도록 결정된 것을 특징으로 하는 컴퓨터 판독 가능한 기록 매체.A computer-readable recording medium for storing a bitstream generated by a video encoding apparatus, the video encoding apparatus comprising:
a prediction block generator generating a prediction block by performing prediction on the coding block;
a residual block generator for generating a residual block for the coding block based on the coding block and the prediction block; and
an encoder for encoding the residual block;
The encoding unit,
When the generation of the prediction block and the transform on the residual block are not omitted, the transform is performed based on transform type information for performing the transform and the maximum transform size, and quantization is performed on the residual block, Entropy encoding is performed on the residual block,
The transform type information includes a size of a transform block,
The maximum transform size is a maximum size allowed for the transform block, and is determined to be the same as the maximum size allowed for the coding block or smaller than the maximum size allowed for the coding block.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20100069214 | 2010-07-16 | ||
KR1020100069214 | 2010-07-16 | ||
KR1020200098329A KR20200096474A (en) | 2010-07-16 | 2020-08-06 | Encoding method and apparatus for transformming hierarchical variable block and decoding method and apparatus |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200098329A Division KR20200096474A (en) | 2010-07-16 | 2020-08-06 | Encoding method and apparatus for transformming hierarchical variable block and decoding method and apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210150337A KR20210150337A (en) | 2021-12-10 |
KR102453953B1 true KR102453953B1 (en) | 2022-10-12 |
Family
ID=45613445
Family Applications (8)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110048082A KR101791158B1 (en) | 2010-07-16 | 2011-05-20 | Encoding method and apparatus for transformming hierarchical variable block and decoding method and apparatus |
KR1020170137412A KR101820348B1 (en) | 2010-07-16 | 2017-10-23 | Encoding method and apparatus for transformming hierarchical variable block and decoding method and apparatus |
KR1020180004902A KR101918958B1 (en) | 2010-07-16 | 2018-01-15 | Encoding method and apparatus for transformming hierarchical variable block and decoding method and apparatus |
KR1020180004901A KR101918957B1 (en) | 2010-07-16 | 2018-01-15 | Encoding method and apparatus for transformming hierarchical variable block and decoding method and apparatus |
KR1020180004900A KR101918956B1 (en) | 2010-07-16 | 2018-01-15 | Encoding method and apparatus for transformming hierarchical variable block and decoding method and apparatus |
KR1020180137027A KR20180123466A (en) | 2010-07-16 | 2018-11-09 | Encoding method and apparatus for transformming hierarchical variable block and decoding method and apparatus |
KR1020200098329A KR20200096474A (en) | 2010-07-16 | 2020-08-06 | Encoding method and apparatus for transformming hierarchical variable block and decoding method and apparatus |
KR1020210168055A KR102453953B1 (en) | 2010-07-16 | 2021-11-30 | Encoding method and apparatus for transformming hierarchical variable block and decoding method and apparatus |
Family Applications Before (7)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110048082A KR101791158B1 (en) | 2010-07-16 | 2011-05-20 | Encoding method and apparatus for transformming hierarchical variable block and decoding method and apparatus |
KR1020170137412A KR101820348B1 (en) | 2010-07-16 | 2017-10-23 | Encoding method and apparatus for transformming hierarchical variable block and decoding method and apparatus |
KR1020180004902A KR101918958B1 (en) | 2010-07-16 | 2018-01-15 | Encoding method and apparatus for transformming hierarchical variable block and decoding method and apparatus |
KR1020180004901A KR101918957B1 (en) | 2010-07-16 | 2018-01-15 | Encoding method and apparatus for transformming hierarchical variable block and decoding method and apparatus |
KR1020180004900A KR101918956B1 (en) | 2010-07-16 | 2018-01-15 | Encoding method and apparatus for transformming hierarchical variable block and decoding method and apparatus |
KR1020180137027A KR20180123466A (en) | 2010-07-16 | 2018-11-09 | Encoding method and apparatus for transformming hierarchical variable block and decoding method and apparatus |
KR1020200098329A KR20200096474A (en) | 2010-07-16 | 2020-08-06 | Encoding method and apparatus for transformming hierarchical variable block and decoding method and apparatus |
Country Status (1)
Country | Link |
---|---|
KR (8) | KR101791158B1 (en) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102599446B1 (en) * | 2018-06-06 | 2023-11-08 | 엘지전자 주식회사 | Method and device for performing transform index coding based on intra prediction mode |
CN108881913B (en) * | 2018-08-03 | 2020-09-22 | 西安万像电子科技有限公司 | Method and apparatus for image encoding |
CN113302942B (en) | 2019-02-01 | 2024-02-13 | Lg电子株式会社 | Image coding method and device based on secondary transformation |
KR20220019257A (en) * | 2019-07-10 | 2022-02-16 | 엘지전자 주식회사 | Video decoding method and apparatus for residual coding |
KR20210158396A (en) | 2019-08-31 | 2021-12-30 | 엘지전자 주식회사 | Video or video coding method and apparatus |
CN118714317A (en) * | 2019-08-31 | 2024-09-27 | Lg 电子株式会社 | Method for coding and decoding video using simplified residual data in video coding system and apparatus therefor |
CN114467310B (en) | 2019-08-31 | 2024-10-29 | Lg电子株式会社 | Image decoding method and device for residual data compiling in image compiling system |
KR20220038166A (en) | 2019-08-31 | 2022-03-25 | 엘지전자 주식회사 | Video decoding method and apparatus using simplified residual data coding in video coding system |
KR20220048478A (en) | 2019-09-25 | 2022-04-19 | 엘지전자 주식회사 | An image encoding/decoding method and apparatus for signaling a residual coding method used in a coding block to which BDPCM is applied, and a method of transmitting a bitstream |
BR112022008304A2 (en) * | 2019-11-01 | 2022-08-09 | Lg Electronics Inc | METHOD BASED ON TRANSFORMED TO CODING IMAGE, AND DEVICE FOR THE SAME |
WO2021086149A1 (en) * | 2019-11-01 | 2021-05-06 | 엘지전자 주식회사 | Image coding method based on transform, and device therefor |
JP2023500298A (en) * | 2019-11-01 | 2023-01-05 | エルジー エレクトロニクス インコーポレイティド | Transform-based image coding method and apparatus |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004361420A (en) | 2004-09-27 | 2004-12-24 | Kazuhiro Okada | Angular velocity sensor |
KR100846769B1 (en) * | 2002-02-19 | 2008-07-16 | 삼성전자주식회사 | Method for encoding motion image having fixed computational complexity and apparatus thereof |
JP2011075418A (en) | 2009-09-30 | 2011-04-14 | Yamaha Corp | Vibration type physical quantity sensor |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004129055A (en) | 2002-10-04 | 2004-04-22 | Rohm Co Ltd | Data compression device and data expansion device |
KR100703770B1 (en) * | 2005-03-25 | 2007-04-06 | 삼성전자주식회사 | Video coding and decoding using weighted prediction, and apparatus for the same |
-
2011
- 2011-05-20 KR KR1020110048082A patent/KR101791158B1/en active IP Right Grant
-
2017
- 2017-10-23 KR KR1020170137412A patent/KR101820348B1/en active IP Right Grant
-
2018
- 2018-01-15 KR KR1020180004902A patent/KR101918958B1/en active IP Right Grant
- 2018-01-15 KR KR1020180004901A patent/KR101918957B1/en active IP Right Grant
- 2018-01-15 KR KR1020180004900A patent/KR101918956B1/en active IP Right Grant
- 2018-11-09 KR KR1020180137027A patent/KR20180123466A/en active Application Filing
-
2020
- 2020-08-06 KR KR1020200098329A patent/KR20200096474A/en not_active IP Right Cessation
-
2021
- 2021-11-30 KR KR1020210168055A patent/KR102453953B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100846769B1 (en) * | 2002-02-19 | 2008-07-16 | 삼성전자주식회사 | Method for encoding motion image having fixed computational complexity and apparatus thereof |
JP2004361420A (en) | 2004-09-27 | 2004-12-24 | Kazuhiro Okada | Angular velocity sensor |
JP2011075418A (en) | 2009-09-30 | 2011-04-14 | Yamaha Corp | Vibration type physical quantity sensor |
Also Published As
Publication number | Publication date |
---|---|
KR101791158B1 (en) | 2017-10-27 |
KR20200096474A (en) | 2020-08-12 |
KR20180008845A (en) | 2018-01-24 |
KR20180008843A (en) | 2018-01-24 |
KR101918957B1 (en) | 2018-11-15 |
KR20120008436A (en) | 2012-01-30 |
KR20210150337A (en) | 2021-12-10 |
KR20170122158A (en) | 2017-11-03 |
KR101918956B1 (en) | 2018-11-15 |
KR101820348B1 (en) | 2018-01-19 |
KR101918958B1 (en) | 2018-11-15 |
KR20180008844A (en) | 2018-01-24 |
KR20180123466A (en) | 2018-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102453953B1 (en) | Encoding method and apparatus for transformming hierarchical variable block and decoding method and apparatus | |
RU2673392C1 (en) | Method and device for entropy video encoding and entropy video decoding method and device | |
CN108293113B (en) | Modeling-based image decoding method and apparatus in image encoding system | |
US8792741B2 (en) | Method and apparatus for encoding and decoding image by using large transformation unit | |
US20130016789A1 (en) | Context modeling techniques for transform coefficient level coding | |
CN103650496A (en) | Pixel-based intra prediction for coding in HEVC | |
JP2013150323A (en) | Multiple sign bit hiding within transform unit | |
KR20110090781A (en) | Method for encoding/decoding video for rate-distortion optimization and apparatus for performing the same | |
KR20110112168A (en) | Method and apparatus for video encoding based on internal bitdepth increment, method and apparatus for video decoding based on internal bitdepth increment | |
KR20110065092A (en) | Method and apparatus for encoding and decoding image by using rotational transform | |
KR20130025853A (en) | Method for encoding/decoding video for rate-distortion optimization and apparatus for performing the same | |
KR101596085B1 (en) | Apparatus and method for video coding/decoding using adaptive intra prediction | |
KR101377529B1 (en) | Video Coding and Decoding Method and Apparatus Using Adaptive Motion Vector Coding/Encoding | |
KR101911587B1 (en) | Apparatus and method for video coding/decoding using adaptive intra prediction | |
KR20170113724A (en) | Cabac encoding method and apparatus using adaptive initialization for context model, and cabac decoding method and apparatus | |
KR101436949B1 (en) | Method and apparatus for encoding picture, and apparatus for processing picture | |
JP2022111285A (en) | Image encoding device, image decoding device, and program | |
KR20130107414A (en) | Video coding method using adaptive division transform | |
KR20130041038A (en) | Method and apparatus for encoding and decoding image using large transform unit | |
KR20130097958A (en) | Device and method for encoding/decoding motion information | |
KR20130041039A (en) | Method and apparatus for encoding and decoding image using large transform unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |