KR102349435B1 - The method of encoding and decoding of quantization matrix and the apparatus for using the same - Google Patents
The method of encoding and decoding of quantization matrix and the apparatus for using the same Download PDFInfo
- Publication number
- KR102349435B1 KR102349435B1 KR1020210031529A KR20210031529A KR102349435B1 KR 102349435 B1 KR102349435 B1 KR 102349435B1 KR 1020210031529 A KR1020210031529 A KR 1020210031529A KR 20210031529 A KR20210031529 A KR 20210031529A KR 102349435 B1 KR102349435 B1 KR 102349435B1
- Authority
- KR
- South Korea
- Prior art keywords
- quantization matrix
- quantization
- matrix
- current
- size
- 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/124—Quantisation
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B23—MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
- B23D—PLANING; SLOTTING; SHEARING; BROACHING; SAWING; FILING; SCRAPING; LIKE OPERATIONS FOR WORKING METAL BY REMOVING MATERIAL, NOT OTHERWISE PROVIDED FOR
- B23D45/00—Sawing machines or sawing devices with circular saw blades or with friction saw discs
- B23D45/003—Sawing machines or sawing devices with circular saw blades or with friction saw discs for particular purposes
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B23—MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
- B23D—PLANING; SLOTTING; SHEARING; BROACHING; SAWING; FILING; SCRAPING; LIKE OPERATIONS FOR WORKING METAL BY REMOVING MATERIAL, NOT OTHERWISE PROVIDED FOR
- B23D47/00—Sawing machines or sawing devices working with circular saw blades, characterised only by constructional features of particular parts
- B23D47/12—Sawing machines or sawing devices working with circular saw blades, characterised only by constructional features of particular parts of drives for circular saw blades
- B23D47/126—Angle drives
-
- 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
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B23—MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
- B23D—PLANING; SLOTTING; SHEARING; BROACHING; SAWING; FILING; SCRAPING; LIKE OPERATIONS FOR WORKING METAL BY REMOVING MATERIAL, NOT OTHERWISE PROVIDED FOR
- B23D45/00—Sawing machines or sawing devices with circular saw blades or with friction saw discs
- B23D45/16—Hand-held sawing devices with circular saw blades
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B23—MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
- B23D—PLANING; SLOTTING; SHEARING; BROACHING; SAWING; FILING; SCRAPING; LIKE OPERATIONS FOR WORKING METAL BY REMOVING MATERIAL, NOT OTHERWISE PROVIDED FOR
- B23D47/00—Sawing machines or sawing devices working with circular saw blades, characterised only by constructional features of particular parts
- B23D47/12—Sawing machines or sawing devices working with circular saw blades, characterised only by constructional features of particular parts of drives for circular saw blades
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25F—COMBINATION OR MULTI-PURPOSE TOOLS NOT OTHERWISE PROVIDED FOR; DETAILS OR COMPONENTS OF PORTABLE POWER-DRIVEN TOOLS NOT PARTICULARLY RELATED TO THE OPERATIONS PERFORMED AND NOT OTHERWISE PROVIDED FOR
- B25F5/00—Details or components of portable power-driven tools not particularly related to the operations performed and not otherwise provided for
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25F—COMBINATION OR MULTI-PURPOSE TOOLS NOT OTHERWISE PROVIDED FOR; DETAILS OR COMPONENTS OF PORTABLE POWER-DRIVEN TOOLS NOT PARTICULARLY RELATED TO THE OPERATIONS PERFORMED AND NOT OTHERWISE PROVIDED FOR
- B25F5/00—Details or components of portable power-driven tools not particularly related to the operations performed and not otherwise provided for
- B25F5/001—Gearings, speed selectors, clutches or the like specially adapted for rotary tools
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25F—COMBINATION OR MULTI-PURPOSE TOOLS NOT OTHERWISE PROVIDED FOR; DETAILS OR COMPONENTS OF PORTABLE POWER-DRIVEN TOOLS NOT PARTICULARLY RELATED TO THE OPERATIONS PERFORMED AND NOT OTHERWISE PROVIDED FOR
- B25F5/00—Details or components of portable power-driven tools not particularly related to the operations performed and not otherwise provided for
- B25F5/008—Cooling means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25F—COMBINATION OR MULTI-PURPOSE TOOLS NOT OTHERWISE PROVIDED FOR; DETAILS OR COMPONENTS OF PORTABLE POWER-DRIVEN TOOLS NOT PARTICULARLY RELATED TO THE OPERATIONS PERFORMED AND NOT OTHERWISE PROVIDED FOR
- B25F5/00—Details or components of portable power-driven tools not particularly related to the operations performed and not otherwise provided for
- B25F5/02—Construction of casings, bodies or handles
-
- 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- 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/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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B23—MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
- B23D—PLANING; SLOTTING; SHEARING; BROACHING; SAWING; FILING; SCRAPING; LIKE OPERATIONS FOR WORKING METAL BY REMOVING MATERIAL, NOT OTHERWISE PROVIDED FOR
- B23D47/00—Sawing machines or sawing devices working with circular saw blades, characterised only by constructional features of particular parts
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B28—WORKING CEMENT, CLAY, OR STONE
- B28D—WORKING STONE OR STONE-LIKE MATERIALS
- B28D1/00—Working stone or stone-like materials, e.g. brick, concrete or glass, not provided for elsewhere; Machines, devices, tools therefor
- B28D1/02—Working stone or stone-like materials, e.g. brick, concrete or glass, not provided for elsewhere; Machines, devices, tools therefor by sawing
- B28D1/04—Working stone or stone-like materials, e.g. brick, concrete or glass, not provided for elsewhere; Machines, devices, tools therefor by sawing with circular or cylindrical saw-blades or saw-discs
- B28D1/045—Sawing grooves in walls; sawing stones from rocks; sawing machines movable on the stones to be cut
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Harvester Elements (AREA)
Abstract
본 발명은 양자화 행렬의 부호화 방법, 복호화 방법과 이를 이용하는 장치에 관한 것으로서, 본 발명에 따른 양자화 행렬의 복호화 방법은 양자화 행렬의 사용 여부에 대한 정보 및 존재 유무에 대한 정보를 복호화하는 단계, 양자화 행렬의 예측 방법에 관련된 정보를 복호화하는 단계, 양자화 행렬 간 예측 및 기본 행렬 사용을 위한 양자화 행렬 식별자를 복호화하는 단계, 양자화 행렬 내의 계수를 예측 복호화하는 단계와 양자화 행렬을 복원하는 단계를 포함할 수 있다.The present invention relates to a method for encoding and decoding a quantization matrix and an apparatus using the same, and the method for decoding a quantization matrix according to the present invention includes decoding information on whether a quantization matrix is used and information on whether or not there is a quantization matrix. Decoding information related to a prediction method of , decoding a quantization matrix identifier for prediction between quantization matrices and using a base matrix, predicting and decoding coefficients in a quantization matrix, and restoring a quantization matrix. .
Description
본 발명은 영상 부호화 및 복호화 기술에 관한 것으로서, 더 구체적으로는 양자화 행렬을 부호화/복호화하는 방법 및 장치에 관한 것이다.The present invention relates to image encoding and decoding technology, and more particularly, to a method and apparatus for encoding/decoding a quantization matrix.
최근 HD(High Definition) 해상도를 가지는 방송 서비스가 국내뿐만 아니라 세계적으로 확대되고 있다. 이에 따라서, 많은 사용자들이 고해상도, 고화질의 영상에 익숙해지고 있으며, 많은 기관들이 차세대 영상기기에 대한 개발에 박차를 가하고 있다. Recently, a broadcasting service having a high definition (HD) resolution is expanding not only in Korea but also worldwide. Accordingly, many users are accustomed to high-resolution and high-definition images, and many organizations are spurring the development of next-generation imaging devices.
HDTV와 더불어 HDTV의 4배 이상의 해상도를 갖는 UHD(Ultra High Definition)에 대한 관심이 증대되면서 보다 높은 해상도, 고화질의 영상에 대한 압축기술이 요구되고 있다.Along with HDTV, as interest in Ultra High Definition (UHD) having a resolution four times higher than that of HDTV increases, a compression technology for higher resolution and high-definition images is required.
영상 압축을 위해, 현재 픽처의 픽셀 정보를 예측에 의해 부호화할 수 있다. 예컨대, 시간적으로 이전 및/또는 이후의 픽처로부터 현재 픽처에 포함된 픽셀값을 예측하는 인터(inter) 예측 기술, 현재 픽처 내의 픽셀 정보를 이용하여 현재 픽처에 포함된 픽셀값을 예측하는 인트라(intra) 예측 기술이 적용될 수 있다. For image compression, pixel information of a current picture may be encoded by prediction. For example, an inter prediction technique that predicts a pixel value included in the current picture from temporally previous and/or later pictures, an intra prediction technique that predicts a pixel value included in the current picture using pixel information in the current picture ) prediction techniques can be applied.
또한, 출현 빈도가 높은 심볼(symbol)에 짧은 부호를 할당하고 출현 빈도가 낮은 심볼에 긴 부호를 할당하는 엔트로피 부호화 기술을 적용하여, 부호화 효율을 높이고 전송되는 정보량을 줄일 수 있다. In addition, by applying an entropy encoding technique in which a short code is assigned to a symbol having a high frequency of occurrence and a long code is assigned to a symbol having a low frequency of occurrence, it is possible to increase the encoding efficiency and reduce the amount of transmitted information.
이때, 예측에 의해 생성된 잔차 블록에 대한 변환 계수의 양자화를 더 효과적으로 수행할 방법이 문제된다.In this case, there is a problem in how to more effectively quantize the transform coefficients for the residual block generated by prediction.
발명에서는 부호화 효율 향상, 및 양자화 행렬 예측 자유도 증가를 위해서, 부호화/복호화 시의 양자화 행렬 크기와 동일한 양자화 행렬로부터 양자화 행렬 예측을 수행하는 양자화 행렬 예측 부호화/복호화 방법 및 장치를 제공한다.The present invention provides a quantization matrix prediction encoding/decoding method and apparatus for performing quantization matrix prediction from a quantization matrix having the same size as the quantization matrix during encoding/decoding in order to improve encoding efficiency and increase the degree of freedom in prediction of a quantization matrix.
본 발명의 일 실시 형태는 양자화 행렬 사용 및 존재 유무를 복호화하는 단계, 양자화 행렬 예측 방법 정보를 복호화하는 단계, 양자화 행렬 간 예측 및 기본 행렬 사용을 위한 양자화 행렬 식별자를 복호화하는 단계, 양자화 행렬 내 계수를 예측 복호화하는 단계, 양자화 행렬을 복원하는 단계를 포함하고, 상기 양자화 행렬 간 예측 및 기본 행렬 사용을 위한 양자화 행렬 식별자를 복호화하는 단계는 복호화 시의 양자화 행렬 크기와 동일한 양자화 행렬로부터 양자화 행렬 예측을 수행하는 것을 특징으로 하는 양자화 행렬 예측 복호화 방법 및 장치이다.An embodiment of the present invention includes the steps of decoding the use and presence or absence of a quantization matrix, decoding quantization matrix prediction method information, decoding a quantization matrix identifier for prediction between quantization matrices and using a base matrix, coefficients in a quantization matrix Predictive decoding of , and restoring a quantization matrix, wherein the decoding of the quantization matrix identifier for prediction between quantization matrices and the use of the base matrix includes the quantization matrix prediction from the quantization matrix equal to the size of the quantization matrix at the time of decoding. A quantization matrix prediction decoding method and apparatus characterized in that it performs.
본 발명에 의하면, 부호화/복호화 시의 양자화 행렬 크기와 동일한 양자화 행렬로부터 양자화 행렬 예측을 수행하는 양자화 행렬 예측 부호화/복호화 방법 및 장치를 제공하여 부호화 효율 향상 및 양자화 행렬 예측 자유도 증가가 가능하다.According to the present invention, it is possible to improve encoding efficiency and increase the degree of freedom in quantization matrix prediction by providing a quantization matrix prediction encoding/decoding method and apparatus for performing prediction of a quantization matrix from a quantization matrix having the same size as the quantization matrix at the time of encoding/decoding.
도 1은 본 발명이 적용되는 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 2는 본 발명이 적용되는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 3은 하나의 유닛이 복수의 하위 유닛으로 분할되는 실시예를 개략적으로 나타내는 개념도이다.
도 4는 본 발명의 실시예에 따른 부호화 동작을 나타낸 개념도이다.
도 5는 기존의 양자화 행렬 예측 부호화/복호화 방법을 나타낸 개념도이다.
도 6은 본 발명의 실시예에 따른 부호화/복호화 시의 양자화 행렬 크기와 동일한 양자화 행렬로부터 양자화 행렬 예측을 수행하는 방법을 나타낸다.
도 7은 본 발명의 실시예에 따른 복호화 방법을 나타낸 순서도이다.
도 8은 본 발명의 실시예에 따른 양자화 행렬의 업샘플링을 나타낸 개념도이다.
도 9는 본 발명의 실시예에 따른 비정방형 변환 계수 블록에 사용하는 양자화 행렬을 생성하는 방법을 나타낸 개념도이다.1 is a block diagram illustrating a configuration of an image encoding apparatus to which the present invention is applied according to an embodiment.
2 is a block diagram illustrating a configuration of an image decoding apparatus to which the present invention is applied according to an embodiment.
3 is a conceptual diagram schematically illustrating an embodiment in which one unit is divided into a plurality of sub-units.
4 is a conceptual diagram illustrating an encoding operation according to an embodiment of the present invention.
5 is a conceptual diagram illustrating a conventional quantization matrix prediction encoding/decoding method.
6 illustrates a method of performing quantization matrix prediction from a quantization matrix having the same size as the quantization matrix during encoding/decoding according to an embodiment of the present invention.
7 is a flowchart illustrating a decoding method according to an embodiment of the present invention.
8 is a conceptual diagram illustrating upsampling of a quantization matrix according to an embodiment of the present invention.
9 is a conceptual diagram illustrating a method of generating a quantization matrix used for a non-square transform coefficient block according to an embodiment of the present invention.
이하, 도면을 참조하여 본 발명의 실시예에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 해당 설명을 생략할 수도 있다.Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In describing the embodiments of the present specification, if it is determined that a detailed description of a related known configuration or function may obscure the gist of the present specification, the corresponding description may be omitted.
본 명세서에서 어떤 구성 요소가 다른 구성 요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있는 것을 의미할 수도 있고, 중간에 다른 구성 요소가 존재하는 것을 의미할 수도 있다. 아울러, 본 명세서에서 특정 구성을 “포함”한다고 기술하는 내용은 해당 구성 이외의 구성을 배제하는 것이 아니며, 추가적인 구성이 본 발명의 실시 또는 본 발명의 기술적 사상의 범위에 포함될 수 있음을 의미한다. In this specification, when a component is referred to as being “connected” or “connected” to another component, it may mean that it is directly connected or connected to the other component, or another component in the middle. It can also mean that the element is present. In addition, the description of “including” a specific configuration in the present specification does not exclude configurations other than the corresponding configuration, and it means that additional configurations may be included in the practice of the present invention or the scope of the technical spirit of the present invention.
제1, 제2 등의 용어는 다양한 구성들을 설명하는데 사용될 수 있지만, 상기 구성들은 상기 용어에 의해 한정되지 않는다. 상기 용어들은 하나의 구성을 다른 구성으로부터 구별하는 목적으로 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성은 제2 구성으로 명명될 수 있고, 유사하게 제2 구성도 제1 구성으로 명명될 수 있다.Terms such as first, second, etc. may be used to describe various components, but the components are not limited by the terms. The terms are used for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first configuration may be named as a second configuration, and similarly, a second configuration may also be called a first configuration.
또한 본 발명의 실시예에 나타나는 구성부들은 서로 다른 특징적인 기능을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성 단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두 개의 구성부가 하나의 구성부를 이루거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있다. 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리 범위에 포함된다.In addition, the components shown in the embodiment of the present invention are shown independently to represent different characteristic functions, and it does not mean that each component is formed of separate hardware or a single software component. That is, each component is listed as each component for convenience of description, and at least two components among each component may form one component, or one component may be divided into a plurality of components to perform a function. Integrated embodiments and separate embodiments of each component are also included in the scope of the present invention without departing from the essence of the present invention.
또한, 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리범위에 포함된다.In addition, some of the components are not essential components for performing essential functions in the present invention, but may be optional components for merely improving performance. The present invention can be implemented by including only essential components to implement the essence of the present invention, except for components used for performance improvement, and a structure including only essential components excluding optional components used for performance improvement Also included in the scope of the present invention.
우선, 설명의 편의를 도모하고 발명을 이해를 돕기 위해, 본 명세서에서 사용되는 용어들에 대하여 간략하게 설명한다. First, for convenience of description and understanding of the invention, terms used herein will be briefly described.
유닛(unit)은 영상 부호화 및 복호화의 단위를 의미한다. 다시 말하면, 영상 부호화/복호화에 있어서 부호화 단위 혹은 복호화 단위라 함은, 하나의 영상을 세분화된 유닛으로 분할하여 부호화 혹은 복호화 할 때 그 분할된 단위를 말한다. 블록(block), 매크로 블록, 부호화 유닛(coding unit) 또는 예측 유닛(prediction unit) 또는 변환 유닛(transform unit) 또는 부호화 블록(coding block) 또는 예측 블록(prediction block) 또는 변환 블록(transform block) 등으로 부를 수 있다. 하나의 유닛은 크기가 더 작은 하위 유닛으로 분할될 수 있다.A unit means a unit of video encoding and decoding. In other words, in image encoding/decoding, a coding unit or a decoding unit refers to a divided unit when an image is divided into subdivided units for encoding or decoding. A block, a macro block, a coding unit or a prediction unit or a transform unit or a coding block or a prediction block or a transform block, etc. can be called as One unit may be divided into smaller sub-units.
변환 유닛(transform unit)은 변환, 역변환, 양자화, 역양자화, 변환 계수 부호화/복호화와 같이 잔차 블록(residual block)의 부호화/복호화를 수행함에 있어 기본 유닛 혹은 단위 유닛이며, 하나의 변환 유닛은 분할되어 크기가 다수의 작은 변환 유닛으로 분할될 수 있다. 또한, 변환 블록과 동일한 의미로 사용될 수 있으며, 휘도와 색차 신호에 대한 변환 블록에 관련된 구문 요소(syntax element)가 포함된 형태를 변환 유닛이라 지칭할 수도 있다.A transform unit is a basic unit or unit unit in performing encoding/decoding of a residual block such as transform, inverse transform, quantization, inverse quantization, and transform coefficient encoding/decoding, and one transform unit is divided It can be divided into a number of small transformation units in size. In addition, it can be used in the same meaning as the transform block, and a form in which a syntax element related to a transform block for luminance and chrominance signals is included may be referred to as a transform unit.
양자화 행렬(quantization matrix)은 영상의 주관적 화질 혹은 객관적 화질을 향상시키기 위해서 양자화 혹은 역양자화 과정에서 이용되는 행렬을 의미한다. 양자화 행렬은 스케일링 리스트(scaling list)라고도 불린다. A quantization matrix refers to a matrix used in a quantization or inverse quantization process to improve subjective or objective image quality of an image. The quantization matrix is also called a scaling list.
양자화/역양자화에 사용되는 양자화 행렬은 비트스트림(bitstream)으로 전송될 수도 있고, 부호화기 및/혹은 복호화기가 이미 보유한 기본 행렬(default matrix)이 사용될 수도 있다. 전송되는 양자화 행렬의 정보는 시퀀스 파라미터 세트(SPS: sequence parameter set) 또는 픽처 파라미터 세트(PPS: picture parameter set)을 통해 양자화 행렬의 크기 혹은 양자화 행렬이 적용되는 변환 블록 크기 별로 일괄 전송될 수 있다. 예컨대, 예컨대, 4x4 변환 블록을 위한 4x4 양자화 행렬들이 전송되고, 8x8 변환 블록을 위한 8x8 행렬들이 전송되고, 16x16 변환 블록을 위한 16x16 행렬들이 전송되고, 32x32 변환 블록을 위한 32x32 행렬들이 전송될 수 있다.A quantization matrix used for quantization/dequantization may be transmitted as a bitstream, or a default matrix already possessed by the encoder and/or decoder may be used. The transmitted quantization matrix information may be transmitted collectively for each size of a quantization matrix or a transform block size to which the quantization matrix is applied through a sequence parameter set (SPS) or a picture parameter set (PPS). For example, 4x4 quantization matrices for a 4x4 transform block may be transmitted, 8x8 matrices for an 8x8 transform block may be transmitted, 16x16 matrices may be transmitted for a 16x16 transform block, and 32x32 matrices may be transmitted for a 32x32 transform block. .
현재 블록에 적용되는 양자화 행렬은 (1) 동일한 크기의 양자화 행렬을 복사하여 획득될 수도 있고, (2) 양자화 행렬 내 이전 행렬 계수(matrix coefficient)로부터 예측에 의해 생성될 수도 있다. 동일한 크기의 행렬은 이전에 부호화 혹은 복호화 혹은 사용된 양자화 행렬일 수도 있고, 참조 양자화 행렬일 수도 있으며 기본 양자화 행렬일 수도 있다. 혹은 이전에 부호화 혹은 복호화 혹은 사용된 양자화 행렬, 참조 양자화 행렬, 기본 양자화 행렬 중 적어도 둘을 포함하는 조합으로부터 선택적으로 결정될 수도 있다. The quantization matrix applied to the current block may (1) be obtained by copying a quantization matrix of the same size, or (2) may be generated by prediction from a previous matrix coefficient in the quantization matrix. The matrix of the same size may be a quantization matrix previously encoded, decoded, or used, may be a reference quantization matrix, or may be a basic quantization matrix. Alternatively, it may be selectively determined from a combination including at least two of a quantization matrix, a reference quantization matrix, and a basic quantization matrix previously encoded or decoded or used.
파라미터 세트(parameter set)는 비트스트림 내의 구조 중 헤더 정보에 해당하며, 시퀀스 파라미터 세트, 픽처 파라미터 세트, 적응 파라미터 세트(adaptation parameter set) 등을 통칭하는 의미를 가진다.A parameter set corresponds to header information in a structure in a bitstream, and has the meaning of collectively calling a sequence parameter set, a picture parameter set, an adaptation parameter set, and the like.
양자화 매개변수(quantization parameter)는 양자화 및 역양자화에서 사용되는 값으로서, 양자화 매개변수는 양자화 스텝 크기(step size)에 매핑된 값일 수 있다.A quantization parameter is a value used in quantization and inverse quantization, and the quantization parameter may be a value mapped to a quantization step size.
기본 행렬은 부호화기 및/혹은 복호화기에서 미리 정의되어 있는 소정의 양자화 행렬을 의미할 수 있으며, 본 명세서에서 후술될 기본 양자화 행렬은 기본 행렬과 동일한 의미로 사용될 수 있다. 비-기본 행렬(non-default matrix)은 부호화기 및/혹은 복호화기에서 미리 정의되지 않고, 부호화기에서 복호화기로 전송되는 즉, 사용자에 의해서 전송/수신되는 양자화 행렬을 의미할 수 있으며, 본 명세서에서 후술될 비-기본 양자화 행렬은 비-기본 행렬과 동일한 의미로 사용될 수 있다.The default matrix may mean a predetermined quantization matrix predefined in the encoder and/or decoder, and the default quantization matrix to be described later in this specification may be used in the same meaning as the default matrix. A non-default matrix may mean a quantization matrix that is not predefined in the encoder and/or decoder, and is transmitted from the encoder to the decoder, that is, transmitted/received by the user, which will be described later in this specification. A non-basic quantization matrix to be used may be used in the same sense as a non-basic matrix.
도 1은 본 발명이 적용되는 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.1 is a block diagram illustrating a configuration of an image encoding apparatus to which the present invention is applied according to an embodiment.
도 1을 참조하면, 상기 영상 부호화 장치(100)는 움직임 예측부(111), 움직임 보상부(112), 인트라 예측부(120), 스위치(115), 감산기(125), 변환부(130), 양자화부(140), 엔트로피 부호화부(150), 역양자화부(160), 역변환부(170), 가산기(175), 필터부(180) 및 참조 영상 버퍼(190)를 포함한다. Referring to FIG. 1 , the
영상 부호화 장치(100)는 입력 영상에 대해 인트라(intra) 모드 또는 인터(inter) 모드로 부호화를 수행하고 비트스트림을 출력할 수 있다. 인트라 예측은 화면 내 예측, 인터 예측은 화면 간 예측을 의미한다. 인트라 모드인 경우 스위치(115)가 인트라로 전환되고, 인터 모드인 경우 스위치(115)가 인터로 전환될 수 있다. 영상 부호화 장치(100)는 입력 영상의 입력 블록에 대한 예측 블록을 생성한 후, 입력 블록과 예측 블록의 차분을 부호화할 수 있다. 이때, 입력 영상은 원 영상(original picture)를 의미할 수 있다.The image encoding
인트라 모드인 경우, 인트라 예측부(120)는 현재 블록 주변의 이미 부호화된 블록의 픽셀값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다.In the intra mode, the
인터 모드인 경우, 움직임 예측부(111)는, 움직임 예측 과정에서 참조 영상 버퍼(190)에 저장되어 있는 참조 영상에서 입력 블록과 가장 매치가 잘 되는 영역을 찾아 움직임 벡터를 구할 수 있다. 움직임 보상부(112)는 움직임 벡터를 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다. 여기서, 움직임 벡터는 인터 예측에 사용되는 2차원 벡터이며, 현재 블록과 참조 영상 내 블록 사이의 오프셋을 나타낼 수 있다. In the inter mode, the
감산기(125)는 입력 블록과 생성된 예측 블록의 차분에 의해 잔차 블록을 생성할 수 있다. 변환부(130)는 잔차 블록에 대해 변환(transform)을 수행하여 변환 계수(transform coefficient)를 출력할 수 있다. 그리고 양자화부(140)는 입력된 변환 계수를 양자화 매개변수와 양자화 행렬 중 적어도 하나를 이용하여 양자화하여 양자화된 계수(quantized coefficient)를 출력할 수 있다. 이때, 양자화 행렬은 부호화기에 입력되어질 수 있으며, 입력되어진 양자화 행렬이 부호화기에서 사용되기로 결정될 수 있다.The
엔트로피 부호화부(150)는, 양자화부(140)에서 산출된 값들 또는 부호화 과정에서 산출된 부호화 파라미터 값 등을 기초로 엔트로피 부호화를 수행하여 비트스트림(bit stream)을 출력할 수 있다. 엔트로피 부호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼(symbol)에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 부호화 대상 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 부호화를 통해서 영상 부호화의 압축 성능이 높아질 수 있다. 엔트로피 부호화부(150)는 엔트로피 부호화를 위해 지수-골롬 코드(Exponential-Golomb Code), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 부호화 방법을 사용할 수 있다. The
도 1의 실시예에 따른 영상 부호화 장치는 인터 예측 부호화, 즉 화면 간 예측 부호화를 수행하므로, 현재 부호화된 영상은 참조 영상으로 사용되기 위해 복호화되어 저장될 필요가 있다. 따라서 양자화된 계수는 역양자화부(160)에서 역양자화되고 역변환부(170)에서 역변환된다. 역양자화 및 역변환된 계수는 복원된 잔차 블록이 되어 가산기(175)를 통해 예측 블록과 더해지고 복원 블록이 생성된다. Since the image encoding apparatus according to the embodiment of FIG. 1 performs inter prediction encoding, that is, inter prediction encoding, the currently encoded image needs to be decoded and stored to be used as a reference image. Accordingly, the quantized coefficients are inverse quantized by the
복원 블록은 필터부(180)를 거치고, 필터부(180)는 디블록킹 필터(deblocking filter), SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 중 적어도 하나 이상을 복원 블록 또는 복원 픽처에 적용할 수 있다. 필터부(180)는 인루프(in-loop) 필터로 불릴 수도 있다. 디블록킹 필터는 블록 간의 경계에 생긴 블록 왜곡을 제거할 수 있다. SAO는 코딩 에러를 보상하기 위해 픽셀값에 적정 오프셋(offset) 값을 더해줄 수 있다. ALF는 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. 필터부(180)를 거친 복원 블록은 참조 영상 버퍼(190)에 저장될 수 있다.The reconstructed block passes through the
도 2는 본 발명이 적용되는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.2 is a block diagram illustrating a configuration of an image decoding apparatus to which the present invention is applied according to an embodiment.
도 2를 참조하면, 상기 영상 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 움직임 보상부(250), 가산기(255), 필터부(260) 및 참조 영상 버퍼(270)를 포함한다.2, the
영상 복호화 장치(200)는 부호화기에서 출력된 비트스트림을 입력 받아 인트라 모드 또는 인터 모드로 복호화를 수행하고 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 인트라 모드인 경우 스위치가 인트라로 전환되고, 인터 모드인 경우 스위치가 인터로 전환될 수 있다. 영상 복호화 장치(200)는 입력 받은 비트스트림으로부터 복원된 잔차 블록(reconstructed residual block)을 얻고 예측 블록을 생성한 후 복원된 잔차 블록과 예측 블록을 더하여 재구성된 블록, 즉 복원 블록을 생성할 수 있다.The
엔트로피 복호화부(210)는, 입력된 비트스트림을 확률 분포에 따라 엔트로피 복호화하여, 양자화된 계수(quantized coefficient) 형태의 심볼을 포함한 심볼들을 생성할 수 있다. 엔트로피 복호화 방법은 상술한 엔트로피 부호화 방법과 유사하다.The
엔트로피 복호화 방법이 적용되는 경우, 높은 발생 확률을 갖는 심볼에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 각 심볼들에 대한 비트열의 크기가 감소될 수 있다.When the entropy decoding method is applied, a small number of bits are allocated to a symbol having a high occurrence probability and a large number of bits are allocated to a symbol having a low occurrence probability to represent the symbol, so that the size of the bit stream for each symbol is can be reduced.
양자화된 계수는 역양자화부(220)에서 양자화 매개변수를 이용해서 역양자화되고 역변환부(230)에서 역변환되며, 양자화된 계수가 역양자화/역변환된 결과, 복원된 잔차 블록이 생성될 수 있다. The quantized coefficient is inverse quantized using the quantization parameter in the
역양자화에 사용되는 양자화 행렬은 스케일링 리스트라고도 불린다. 역양자화부(220)는 양자화된 계수에 양자화 행렬을 적용하여 역양자화된 계수를 생성할 수 있다. A quantization matrix used for inverse quantization is also called a scaling list. The
이때 역양자화부(220)는 부호화기에서 적용된 양자화에 대응하여 역양자화를 수행할 수 있다. 예컨대, 역양자화부(220)는 부호화기에서 적용된 양자화 행렬을 양자화된 계수에 역으로 적용하여 역양자화를 수행할 수 있다. In this case, the
영상 복호화 장치(200)에서 역양자화에 사용되는 양자화 행렬은 비트스트림으로부터 수신될 수도 있고, 부호화기 및/혹은 복호화기가 이미 보유한 기본 행렬이 사용될 수도 있다. 전송되는 양자화 행렬의 정보는 시퀀스 파라미터 세트 또는 픽처 파라미터 세트를 통해 양자화 행렬 크기 혹은 양자화 행렬이 적용되는 변환 블록 크기 별로 일괄 수신될 수 있다. 예컨대, 4x4 변환 블록을 위한 4x4 양자화 행렬들이 수신되고, 8x8 변환 블록을 위한 8x8 행렬들이 수신되고, 16x16 변환 블록을 위한 16x16 행렬들이 수신되고, 32x32 변환 블록을 위한 32x32 행렬들이 수신될 수 있다.The quantization matrix used for inverse quantization in the
인트라 모드인 경우, 인트라 예측부(240)는 현재 블록 주변의 이미 복호화된 블록의 픽셀값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다. 인터 모드인 경우, 움직임 보상부(250)는 움직임 벡터 및 참조 영상 버퍼(270)에 저장되어 있는 참조 영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다. In the intra mode, the
복원된 잔차 블록과 예측 블록은 가산기(255)를 통해 더해지고, 더해진 블록은 필터부(260)를 거칠 수 있다. 필터부(260)는 디블록킹 필터, SAO, ALF 중 적어도 하나 이상을 복원 블록 또는 복원 픽처에 적용할 수 있다. 필터부(260)는 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 복원 영상은 참조 영상 버퍼(270)에 저장되어 인터 예측에 사용될 수 있다.The reconstructed residual block and the prediction block may be added through the
한편, 블록 분할 정보에는 유닛의 깊이(depth)에 관한 정보가 포함될 수 있다. 깊이 정보는 유닛이 분할되는 회수 및/또는 정도를 나타낼 수 있다.Meanwhile, the block division information may include information about the depth of the unit. The depth information may indicate the number and/or degree to which a unit is divided.
도 3은 하나의 유닛이 복수의 하위 유닛으로 분할되는 실시예를 개략적으로 나타내는 개념도이다.3 is a conceptual diagram schematically illustrating an embodiment in which one unit is divided into a plurality of sub-units.
하나의 유닛 혹은 블록은 트리 구조(tree structure)를 기초로 깊이 정보를 가지고 계층적으로 분할될 수 있다. 각각의 분할된 하위 유닛은 깊이 정보를 가질 수 있다. 상기 깊이 정보는 유닛이 분할된 회수 및/또는 정도를 나타내므로, 상기 하위 유닛의 크기에 관한 정보를 포함할 수도 있다.One unit or block may be hierarchically divided with depth information based on a tree structure. Each divided sub-unit may have depth information. Since the depth information indicates the number and/or degree of division of the unit, it may include information on the size of the sub-unit.
도 3의 310을 참조하면, 가장 상위 노드는 루트 노드(root node)로 불릴 수 있고, 가장 작은 깊이 값을 가질 수 있다. 이 때, 가장 상위 노드는 레벨 0의 깊이를 가질 수 있으며, 분할되지 않은 최초의 유닛을 나타낼 수 있다. Referring to 310 of FIG. 3 , the highest node may be referred to as a root node and may have the smallest depth value. In this case, the highest node may have a depth of
레벨 1의 깊이를 갖는 하위 노드는 최초 유닛이 한 번 분할된 유닛을 나타낼 수 있으며, 레벨 2의 깊이를 갖는 하위 노드는 최초의 유닛이 두 번 분할된 유닛을 나타낼 수 있다. 예를 들어, 도 3의 320에서 노드 a에 대응하는 유닛 a는 최초 유닛에서 한 번 분할된 유닛이고, 레벨 1의 깊이를 가질 수 있다.A lower node having a depth of
레벨 3의 리프 노드(leaf node)는 최초 유닛이 3번 분할된 유닛을 나타낼 수 있다. 예를 들어, 도3의 320에서 노드 d에 대응하는 유닛 d는 최초 유닛에서 세 번 분할된 유닛이고, 레벨 3의 깊이를 가질 수 있다. 따라서, 가장 하위 노드인 레벨 3의 리프 노드는 가장 깊은 깊이를 가질 수 있다.A leaf node of
양자화 행렬(quantization matrix)은 영상의 주관적 혹은 객관적 화질을 향상시키기 위해 사용될 수 있다. 부호화기는 양자화(quantization) 과정에서 공간적 주파수(spatial frequency) 별로 다른 값을 이용해서 변환 계수를 양자화할 때 양자화 행렬을 사용할 수 있다. 복호화기에서는 역양자화(dequantization) 과정에서 공간적 주파수 별로 다른 값을 이용해서 변환 계수를 역양자화할 때 양자화 행렬을 사용할 수 있다. A quantization matrix may be used to improve the subjective or objective image quality of an image. The encoder may use the quantization matrix when quantizing the transform coefficients using different values for each spatial frequency in the quantization process. The decoder may use a quantization matrix when dequantizing transform coefficients by using different values for each spatial frequency in the dequantization process.
양자화와 역양자화 과정에서 부호화기와 복호화기에서 미리 정의된 기본 행렬(default matrix)을 양자화 행렬로 사용할 수 있다. 또 다른 방법으로 부호화기 및 복호화기에서 개별적으로 정의한 양자화 행렬을 사용할 수도 있다. 이때, 사용자가 정의한 양자화 행렬은 비기본(non-default matrix) 행렬이라고 부를 수 있다. 부호화기는 비기본 행렬을 비트스트림(bitstream)에 부호화하여 복호화기로 전송할 수 있다.In the quantization and dequantization process, a default matrix predefined in the encoder and the decoder may be used as the quantization matrix. As another method, a quantization matrix individually defined by the encoder and the decoder may be used. In this case, the quantization matrix defined by the user may be referred to as a non-default matrix. The encoder may encode the non-basic matrix into a bitstream and transmit it to the decoder.
종래의 양자화 행렬 예측 부호화/복호화 방법 및 장치는 부호화/복호화를 수행시의 양자화 행렬의 크기가 아닌 양자화 및 역양자화 시의 양자화 행렬의 크기를 기반으로 양자화 행렬 복사를 수행하였다. 따라서, 제한된 개수의 양자화 행렬들로부터 양자화 행렬을 복사하므로 양자화 행렬 부호화/복호화 시 부호화 효율 향상에 한계가 있었다.The conventional quantization matrix prediction encoding/decoding method and apparatus performed quantization matrix copying based on the size of the quantization matrix during quantization and dequantization, rather than the size of the quantization matrix during encoding/decoding. Accordingly, since the quantization matrix is copied from a limited number of quantization matrices, there is a limit to improving encoding efficiency when encoding/decoding a quantization matrix.
이하에서는 이러한 문제점을 해결하기 위해 부호화/복호화 시의 양자화 행렬 크기와 동일한 양자화 행렬을 기반으로 양자화 행렬을 예측하는 방법에 대해 개시한다.Hereinafter, in order to solve this problem, a method of predicting a quantization matrix based on a quantization matrix equal to the size of the quantization matrix during encoding/decoding is disclosed.
도 4는 본 발명의 실시예에 따른 부호화 동작을 나타낸 개념도이다.4 is a conceptual diagram illustrating an encoding operation according to an embodiment of the present invention.
도 4를 참조하면, 양자화 행렬을 결정한다(단계 S400).Referring to FIG. 4 , a quantization matrix is determined (step S400 ).
양자화 행렬을 결정하는 단계에서는 양자화 과정에서 각 변환 계수 블록에 사용할 양자화 행렬을 결정할 수 있다. 부호화기와 복호화기에서 미리 정의된 기본(default) 행렬을 이용해서 양자화 과정에 필요한 양자화 행렬을 결정할 수 있다. 또는 부호화기에서 미리 정의되지 않은 비기본(non-default) 행렬을 기반으로 양자화 과정에 필요한 양자화 행렬을 결정할 수도 있다.In the step of determining the quantization matrix, a quantization matrix to be used for each transform coefficient block in the quantization process may be determined. A quantization matrix required for a quantization process may be determined by using a default matrix predefined in the encoder and decoder. Alternatively, a quantization matrix necessary for a quantization process may be determined based on a non-default matrix that is not predefined in the encoder.
양자화 행렬은 다양한 변수에 의해 결정될 수 있다. 예를 들어, 양자화 행렬은 변환 계수 블록의 예측 모드(화면내 예측 모드 또는 화면간 예측 모드 등), 색 성분(휘도 또는 색차 등), 블록 크기(4x4, 8x8, 16x16, 32x32, 16x4, 4x16, 32x8, 8x32 등)를 기반으로 결정될 수 있다. The quantization matrix may be determined by various variables. For example, the quantization matrix may include a prediction mode (such as an intra prediction mode or an inter prediction mode) of a transform coefficient block, a color component (such as a luminance or chrominance), and a block size (4x4, 8x8, 16x16, 32x32, 16x4, 4x16, 32x8, 8x32, etc.).
결정된 양자화 행렬이 부화될 시 다양한 포맷을 기반으로 부호화될 수 있다. 예를 들어, 16x16과 32x32 크기에 해당하는 변환 계수 블록의 양자화에 사용할 양자화 행렬은 양자화시 16x16과 32x32 크기의 양자화 행렬이 될 수 있다. 이러한 16x16과 32x32 크기의 양자화 행렬이 부호화시에는 8x8 크기의 양자화 행렬로 표현되어 부호화될 수 있다. 좀 더 구체적으로 16x16 또는 32x32 크기의 양자화 행렬을 기반으로 양자화를 수행하고, 해당 양자화 행렬에 대한 부호화를 수행할 때에는 부호화기에서 서브샘플링(subsampling), 또는 다운샘플링(downsampling) 등을 방법을 기반으로 16x16 또는 32x32 크기의 양자화 행렬을 8x8 크기의 양자화 행렬로 부호화할 수 있다.When the determined quantization matrix is encoded, it may be encoded based on various formats. For example, a quantization matrix to be used for quantization of a transform coefficient block corresponding to 16x16 and 32x32 sizes may be a quantization matrix of 16x16 and 32x32 sizes during quantization. The 16x16 and 32x32 quantization matrices can be encoded and expressed as an 8x8 quantization matrix during encoding. More specifically, quantization is performed based on a quantization matrix having a size of 16x16 or 32x32, and when encoding is performed on the quantization matrix, the encoder performs subsampling or downsampling based on a 16x16 method. Alternatively, a quantization matrix having a size of 32x32 may be encoded as a quantization matrix having a size of 8x8.
또 다른 방법으로 작은 크기의 양자화 행렬을 기반으로 큰 크기의 양자화 행렬을 생성할 수도 있다. 예를 들어, 부호화기에서 8x8 크기의 양자화 행렬을 기반으로 8x8 크기의 양자화 행렬을 업샘플링(upsampling) 또는 인터폴레이션(interpolation) 등을 이용해 16x16 혹은 32x32 크기의 양자화 행렬로 생성하여 양자화 시 사용할 수 있다. 부호화시에는 8x8 크기의 양자화 행렬을 부호화할 수 있다. As another method, a quantization matrix of a large size may be generated based on a quantization matrix of a small size. For example, the encoder may generate a quantization matrix of a size of 16x16 or 32x32 by using upsampling or interpolation, etc. based on a quantization matrix of size 8x8 in the encoder, and may be used for quantization. During encoding, an 8x8 quantization matrix may be encoded.
표 1은 설정된 양자화 행렬의 일 예를 나타낸다.Table 1 shows an example of a set quantization matrix.
<표 1><Table 1>
표 1을 참조하면, 예측 방법(화면 내 예측인지 화면 간 예측인지 여부), 블록에 포함된 화소의 종류 및 블록의 크기에 따라 서로 다른 행렬을 사용할 수 있다. Referring to Table 1, different matrices may be used according to the prediction method (whether intra prediction or inter prediction), the type of pixel included in the block, and the size of the block.
표 1은 하나의 예시로서 다양한 방법에 의해 사용되는 양자화 행렬이 결정될 수 있다. Table 1 is an example, and quantization matrices used by various methods may be determined.
양자화 행렬 사용 여부 및 양자화 행렬의 존재 여부에 대한 정보를 부호화한다(단계 S410).Information on whether or not a quantization matrix is used and whether a quantization matrix exists is encoded (step S410).
양자화 행렬 사용 및 존재 유무를 나타내는 정보를 파라미터 세트(parameter set)에 부호화할 수 있다. 파라미터 세트는 예를 들어, 시퀀스 파라미터 세트(sequence parameter set) 또는 픽쳐 파라미터 세트(picture parameter set)일 수 있다.Information indicating the use and existence of the quantization matrix may be encoded in a parameter set. The parameter set may be, for example, a sequence parameter set or a picture parameter set.
아래의 표 2는 시퀀스 파라미터 세트 및 픽쳐 파라미터 세트에 포함되는 양자화 행렬 사용 여부 및 양자화 행렬의 존재 여부에 대한 정보를 나타낸다. Table 2 below shows information on whether a quantization matrix included in a sequence parameter set and a picture parameter set is used and whether a quantization matrix exists.
<표 2><Table 2>
표 2에서 scaling_list_enable_flag는 양자화 행렬의 사용 유무를 나타내는 정보이고, sps_scaling_list_data_present_flag는 시퀀스 파라미터 내에 양자화 행렬이 존재하는지 여부를 나타내는 정보이다. pps_ scaling_list_data_present_flag는 픽쳐 파라미터 내에 양자화 행렬이 존재하는지 여부를 나타내는 정보이다.In Table 2, scaling_list_enable_flag is information indicating whether a quantization matrix is used, and sps_scaling_list_data_present_flag is information indicating whether a quantization matrix is present in a sequence parameter. pps_scaling_list_data_present_flag is information indicating whether a quantization matrix exists in a picture parameter.
표 2의 구문 요소의 예와 같이, 양자화 행렬의 사용 유무를 나타내는 정보인 scaling_list_enable_flag를 시퀀스 파라미터 세트에 부호화할 수 있다. 예를 들어, scaling_list_enable_flag가 0인 경우, 양자화/역양자화 과정에서 양자화 행렬을 사용하지 않음을 지시하고, scaling_list_enable_flag가 1인 경우, 양자화/역양자화 과정에서 양자화 행렬을 사용함을 지시할 수 있다. As in the example of the syntax element in Table 2, scaling_list_enable_flag, which is information indicating whether a quantization matrix is used or not, can be coded into a sequence parameter set. For example, when scaling_list_enable_flag is 0, it may indicate that the quantization matrix is not used in the quantization/dequantization process, and when scaling_list_enable_flag is 1, it may indicate that the quantization matrix is used in the quantization/dequantization process.
또한, 양자화 행렬의 시퀀스 파라미터 내 존재 유무를 나타내는 정보인 sps_scaling_list_data_present_flag를 시퀀스 파라미터 세트에 부호화할 수 있다. 예를 들어, sps_scaling_list_data_present_flag 가 0인 경우 시퀀스 파라미터 내에 양자화 행렬이 존재하지 않음을 지시할 수 있고, sps_scaling_list_data_present_flag 가 1인 경우, 시퀀스 파라미터 내에 양자화 행렬이 존재함을 지시할 수 있다. In addition, sps_scaling_list_data_present_flag, which is information indicating whether the quantization matrix exists in the sequence parameter, may be coded into the sequence parameter set. For example, when sps_scaling_list_data_present_flag is 0, it may indicate that the quantization matrix does not exist in the sequence parameter, and when sps_scaling_list_data_present_flag is 1, it may indicate that the quantization matrix exists in the sequence parameter.
또한, 양자화 행렬의 픽쳐 파라미터 내 존재 유무를 나타내는 정보인 pps_scaling_list_data_present_flag 를 픽쳐 파라미터 세트에 부호화할 수 있다. pps_scaling_list_data_present_flag가 0인 경우 픽쳐 파라미터 세트 내에 양자화 행렬이 존재하지 않으므로 시퀀스 파라미터 세트의 양자화 행렬을 참조하도록 지시할 수 있다. pps_scaling_list_data_present_flag가 1 경우 픽쳐 파라미터 내에 양자화 행렬을 존재시켜 시퀀스 파라미터 세트 내의 양자화 행렬을 대체함을 지시할 수 있다. In addition, pps_scaling_list_data_present_flag, which is information indicating whether the quantization matrix exists in the picture parameter, may be coded into the picture parameter set. When pps_scaling_list_data_present_flag is 0, since the quantization matrix does not exist in the picture parameter set, it may be indicated to refer to the quantization matrix of the sequence parameter set. When pps_scaling_list_data_present_flag is 1, it may indicate that the quantization matrix is present in the picture parameter to replace the quantization matrix in the sequence parameter set.
표 2에서 개시한 파라미터는 양자화 행렬 사용 및 존재 유무를 지시하기 위한 파라미터의 하나의 예로서 양자화 행렬 사용 및 존재 유무를 지시하기 위해 다른 파라미터가 사용될 수도 있다. The parameter disclosed in Table 2 is an example of a parameter for indicating use and presence of a quantization matrix, and other parameters may be used to indicate use and presence of a quantization matrix.
양자화 행렬 예측 방법 정보를 부호화한다(단계 S420).The quantization matrix prediction method information is encoded (step S420).
양자화 행렬을 예측하는 방법에 대한 정보를 부호화하기 위해 양자화 행렬의 예측 부호화 방법 종류에 대해 결정하고, 결정된 양자화 행렬의 예측 부호화 방법 정보를 파라미터 세트에 부호화할 수 있다. 파라미터 세트는 예를 들어, 시퀀스 파라미터 혹은 픽쳐 파라미터 세트일 수 있다.In order to encode information on a method of predicting a quantization matrix, a type of a prediction encoding method of a quantization matrix may be determined, and the determined prediction encoding method information of the quantization matrix may be encoded in a parameter set. The parameter set may be, for example, a sequence parameter or a picture parameter set.
아래의 표 3은 양자화 행렬 예측 방법 정보를 부호화하는 방법을 나타낸 표이다. Table 3 below is a table showing a method of encoding quantization matrix prediction method information.
<표 3><Table 3>
표 3에 개시된 scaling_list_pred_mode_flag는 양자화 행렬 예측 방법에 대한 플래그 정보이다. scaling_list_pred_size_matrix_id_delta는 양자화 행렬의 참조 양자화 행렬에 대한 식별자 정보를 포함하는 구문요소일 수 있다.The scaling_list_pred_mode_flag disclosed in Table 3 is flag information for a quantization matrix prediction method. scaling_list_pred_size_matrix_id_delta may be a syntax element including identifier information on a reference quantization matrix of a quantization matrix.
표 3을 참조하면, 양자화 행렬의 예측 부호화 방법 정보인 scaling_list_pred_mode_flag를 파라미터 세트에 부호화할 수 있다. scaling_list_pred_mode_flag가 1인 경우, 양자화 행렬 내 계수를 예측 부호화하기 위해 양자화 행렬을 스캔하여 DPCM(Differential Pulse Code Modulation)과 지수-골롬(Exponential-Golomb) 코드로 부호화한 경우를 지시할 수 있다. scaling_list_pred_mode_flag 가 0인 경우, 양자화 행렬 간 예측을 위해 사용되는 참조 양자화 행렬과 부호화 대상인 양자화 행렬이 동일한 값을 가진 경우 또는 양자화 행렬로 기본 행렬을 사용하는 경우를 지시할 수 있다. 참조 양자화 행렬과 부호화 대상인 양자화 행렬이 동일한 값을 가지도록 결정하는 것은 참조 양자화 행렬의 계수값을 부호화 대상 양자화 행렬 계수값으로 복사하는 양자화 행렬 예측 방법일 수도 있다. scailing_list_pred_size_matrix_id_data에 대해서는 이하에서 추가적으로 기술한다. Referring to Table 3, scaling_list_pred_mode_flag, which is information on a method of predicting and encoding a quantization matrix, can be coded into a parameter set. When scaling_list_pred_mode_flag is 1, it may indicate a case in which the quantization matrix is scanned for predictive encoding of the coefficients in the quantization matrix and encoded using DPCM (Differential Pulse Code Modulation) and Exponential-Golomb codes. When scaling_list_pred_mode_flag is 0, it may indicate a case in which a reference quantization matrix used for prediction between quantization matrices and a quantization matrix to be coded have the same value or a case in which a default matrix is used as the quantization matrix. Determining that the reference quantization matrix and the quantization matrix to be encoded have the same value may be a quantization matrix prediction method in which a coefficient value of the reference quantization matrix is copied to a quantization matrix coefficient value to be encoded. Scaling_list_pred_size_matrix_id_data will be additionally described below.
sizeID는 아래의 표 4와 같이 변환 계수 블록의 크기 또는 양자화 행렬 크기를 의미할 수 있고, matrixID 값은 아래의 표 5와 같이 예측 모드(prediction mode) 및 색 성분(color component)을 의미하는 양자화 행렬 종류를 의미할 수 있다.sizeID may mean the size of the transform coefficient block or the size of a quantization matrix as shown in Table 4 below, and the matrixID value is a quantization matrix that means a prediction mode and a color component as shown in Table 5 below. It can mean kind.
<표 4><Table 4>
<표 5><Table 5>
양자화 행렬 간 예측 및 기본 행렬 사용을 위한 양자화 행렬 식별자를 부호화한다(단계 S430).A quantization matrix identifier for inter-quantization matrix prediction and use of a base matrix is encoded (step S430).
도 5는 기존의 양자화 행렬 예측 부호화/복호화 방법을 나타낸 개념도이다. 5 is a conceptual diagram illustrating a conventional quantization matrix prediction encoding/decoding method.
도 5를 참조하면, 부호화/복호화 시의 양자화 행렬 크기가 아닌 양자화와 역양자화 시의 양자화 행렬 크기를 이용하여 양자화 행렬 복사를 수행한다.Referring to FIG. 5 , the quantization matrix copy is performed using the quantization matrix size during quantization and inverse quantization, not the size of the quantization matrix during encoding/decoding.
도 5의 예와 같이, 8x8 화면간 색차 Cb 양자화 행렬(sizeID == 1, matrixID == 5)은 8x8 화면간 색차 Cr 양자화 행렬(sizeID == 1, matrixID == 4)로부터 예측이 가능하지만, 32x32 화면간 휘도 Y 양자화 행렬(sizeID == 3, matrixID == 1) 은 8x8 화면내 휘도 Y 양자화 행렬(sizeID == 1, matrixID == 0)로부터 예측이 불가능하며, 16x16 화면간 색차 Cr 양자화 행렬(sizeID == 2, matrixID == 4)는 8x8 화면내 색차 Cr 양자화 행렬(sizeID == 1, matrixID == 1)로부터 예측이 불가능하다.As in the example of Figure 5, the 8x8 inter-screen color difference Cb quantization matrix (sizeID == 1, matrixID == 5) can be predicted from the 8x8 inter-screen color difference Cr quantization matrix (sizeID == 1, matrixID == 4), but The 32x32 inter-screen luminance Y quantization matrix (sizeID == 3, matrixID == 1) cannot be predicted from the 8x8 intra-screen luminance Y quantization matrix (sizeID == 1, matrixID == 0), and the 16x16 inter-screen chrominance Cr quantization matrix (sizeID == 2, matrixID == 4) cannot be predicted from the color difference Cr quantization matrix (sizeID == 1, matrixID == 1) in the 8x8 screen.
즉, 양자화와 역양자화 시의 양자화 행렬 크기를 구분하는 sizeID가 서로 다른 양자화 행렬 간에는 예측이 불가능하다. 따라서 종래의 양자화 행렬 예측 부호화/복호화 방법 및 장치는 제한된 개수의 양자화 행렬들로부터 양자화 행렬을 복사하므로 양자화 행렬 복사 자유도의 한계가 있으며, 양자화 행렬 부호화/복호화 시 부호화 효율 향상에 한계가 있다.That is, it is impossible to predict between quantization matrices having different sizeIDs that distinguish sizes of quantization matrices during quantization and dequantization. Therefore, the conventional quantization matrix prediction encoding/decoding method and apparatus copy the quantization matrix from a limited number of quantization matrices, so there is a limit in the degree of freedom of copying the quantization matrix, and there is a limit in improving the encoding efficiency when encoding/decoding the quantization matrix.
아래에서는 기존의 양자화 행렬 예측 부호화 방법 및 장치의 문제점을 해결하기 위해 부호화 시의 양자화 행렬 크기와 동일한 양자화 행렬로부터 양자화 행렬 예측을 수행하는 방법에 대해 개시한다.Hereinafter, a method of performing quantization matrix prediction from a quantization matrix having the same size as the quantization matrix size during encoding in order to solve the problems of the existing quantization matrix prediction encoding method and apparatus is disclosed.
부호화 시의 크기가 4x4인 양자화 행렬은 양자화/역양자화 시에도 4x4 크기를 가지지만, 부호화 시의 크기가 8x8인 양자화 행렬은 양자화/역양자화 시에 8x8, 16x16 또는 32x32 크기를 가질 수 있다. 따라서, 양자화/역양자화 시에 8x8, 16x16 또는 32x32 크기를 가지는 양자화 행렬들은 부호화 시에는 서로 동일한 8x8 크기를 가지기 때문에 양자화 행렬 간 예측을 수행할 수 있다. 즉, 부호화시 동일한 크기 (8x8)의 양자화 행렬이 전송되지만, 양자화/역양자화시에 서로 다른 크기 (8x8, 16x16, 혹은 32x32)의 양자화 행렬로 유도되는 경우, 부호화시 같은 크기의 양자화 행렬간(부호화 시 8x8 크기간)에만 예측을 허용하고 부호화 시 다른 크기의 양자화 행렬 간(복호화 시 4x4 크기와 8x8 크기 간)의 예측은 허용하지 않을 수 있다.A quantization matrix having a size of 4x4 during encoding has a size of 4x4 even during quantization/inverse quantization, but a quantization matrix having a size of 8x8 during encoding may have a size of 8x8, 16x16, or 32x32 during quantization/inverse quantization. Accordingly, since quantization matrices having a size of 8x8, 16x16, or 32x32 during quantization/dequantization have the same size as 8x8 during encoding, inter-quantization matrix prediction can be performed. That is, when quantization matrices of the same size (8x8) are transmitted during encoding, but quantization matrices of different sizes (8x8, 16x16, or 32x32) are induced during quantization/dequantization, when encoding, between quantization matrices of the same size ( Prediction between quantization matrices of different sizes during encoding (between sizes of 4x4 and size of 8x8 during decoding) may not be allowed while prediction is allowed only between sizes of 8x8 during encoding.
양자화 행렬의 예측 부호화 방법이 양자화 행렬 간 예측을 위해 참조 양자화 행렬과 동일하게 결정하는 방법 혹은 기본 행렬을 사용하는 방법 (scaling_list_pred_mode_flag = 0)이면, 부호화 대상 양자화 행렬의 양자화 행렬 식별자인 scaling_list_pred_size_matrix_id_delta를 파라미터 세트에 부호화할 수 있다. 파라미터 세트는 예를 들어, 시퀀스 파라미터 세트 혹은 픽쳐 파라미터 세트일 수 있다.If the prediction encoding method of the quantization matrix is the same as the reference quantization matrix for inter-quantization matrix prediction or the method using the default matrix (scaling_list_pred_mode_flag = 0), scaling_list_pred_size_matrix_id_delta, which is the quantization matrix identifier of the quantization matrix to be encoded, is added to the parameter set. can be coded. The parameter set may be, for example, a sequence parameter set or a picture parameter set.
전술한 표 3의 구문 요소를 다시 참조하면, 부호화 대상 양자화 행렬 계수값을 참조 양자화 행렬 계수값과 동일하게 결정한 경우 또는 부호화 대상 양자화 행렬 계수값을 기본 행렬 계수 값과 동일하게 결정한 경우, 부호화 대상 양자화 행렬의 참조 양자화 행렬 식별자인 scaling_list_pred_size_matrix_id_delta 를 파라미터 세트에 부호화할 수 있다. Referring back to the syntax elements of Table 3 above, when the encoding target quantization matrix coefficient value is determined to be the same as the reference quantization matrix coefficient value or when the encoding target quantization matrix coefficient value is determined to be the same as the basic matrix coefficient value, the encoding target quantization Scaling_list_pred_size_matrix_id_delta, which is a reference quantization matrix identifier of a matrix, can be coded in the parameter set.
이때, 부호화 대상 양자화 행렬의 행렬 정보인 matrixID, 참조 양자화 행렬 및 기본 행렬의 행렬 정보인 RefMatrixID, 부호화 대상 양자화 행렬의 크기 정보인 sizeID, 참조 양자화 행렬 및 기본 행렬의 크기 정보인 RefSizeID, 부호화 대상 양자화 행렬의 크기 및 행렬 정보인 Size_Matrix_ID와 아래의 식을 이용해서 양자화 행렬 식별자인 scaling_list_pred_size_matrix_id_delta 를 결정할 수 있다.In this case, matrixID, which is matrix information of a quantization matrix to be coded, RefMatrixID, which is matrix information of a reference quantization matrix and a base matrix, sizeID, which is size information of a quantization matrix to be coded, RefSizeID, which is size information of a reference quantization matrix and a base matrix, to be quantized matrix to be coded It is possible to determine the quantization matrix identifier, scaling_list_pred_size_matrix_id_delta, by using Size_Matrix_ID, which is the size and matrix information of , and the following equation.
<수학식 1><
이때, RefMap은 표 6의 예와 같이 Size_Matrix_ID와 RefSizeID 및 RefMatrixID 간의 관계를 나타낸 매핑 테이블이다. In this case, RefMap is a mapping table indicating the relationship between Size_Matrix_ID and RefSizeID and RefMatrixID as in the example of Table 6.
<표 6><Table 6>
이때, 양자화/역양자화 시의 양자화 행렬의 크기가 다르지만 부호화 시의 양자화 행렬 크기는 동일하기 때문에 부호화시 8x8 크기의 양자화 행렬 종류에 따라 양자화 행렬 식별자는 순차적으로 할당될 수 있다. In this case, although the sizes of the quantization matrices during quantization/dequantization are different, the sizes of the quantization matrices during encoding are the same.
RefMap을 이용한 방법은 부호화시 8x8 크기의 양자화 행렬에 대해서 적용될 수 있고, 부호화시 4x4 크기의 양자화 행렬에 대해서는 적용되지 않을 수 있다. 부호화시 4x4 크기의 양자화 행렬은 아래의 수학식 2를 기반으로 양자화 행렬 식별자인 scaling_list_pred_size_matrix_id_delta를 결정할 수 있다. 즉, 부호화 시의 양자화 행렬 크기에 따라 양자화 행렬 예측 방법이 서로 달라질 수 있으며, 양자화 행렬 식별자 결정 방법도 달라질 수 있다.The method using RefMap may be applied to a quantization matrix having a size of 8x8 during encoding, and may not be applied to a quantization matrix having a size of 4x4 during encoding. For a quantization matrix having a size of 4x4 during encoding, scaling_list_pred_size_matrix_id_delta, which is a quantization matrix identifier, may be determined based on
<수학식 2><
부호화시 8x8 크기의 양자화 행렬이며, 부호화 대상 양자화 행렬 계수 값을 부호화기/복호화기에서 미리 정해진 기본 행렬 계수 값과 동일하게 결정한 경우, scaling_list_pred_size_matrix_id_delta의 값을 0으로 부호화하여, RefMatrixID 값과 matrixID 값을 동일하게 하고, RefSizeID 값과 sizeID 값을 동일하게 할 수 있다. 이때, 기본 행렬은 sizeID와 matrixID에 해당하는 기본 행렬을 의미한다.It is a quantization matrix with a size of 8x8 during encoding, and when the quantization matrix coefficient value to be encoded is determined to be the same as the default matrix coefficient value predetermined in the encoder/decoder, the value of scaling_list_pred_size_matrix_id_delta is encoded as 0, so that the RefMatrixID value and the matrixID value are the same. and make the RefSizeID value and sizeID value the same. In this case, the basic matrix means a basic matrix corresponding to sizeID and matrixID.
복호화시 4x4 크기의 양자화 행렬이며, 부호화 대상 양자화 행렬 계수 값을 부호화기/복호화기에서 미리 정해진 기본 행렬 계수 값과 동일하게 결정한 경우, scaling_list_pred_size_matrix_id_delta 값을 0으로 부호화하여, RefMatrixID 값과 matrixID 값을 동일하게 한다. 이때, 기본 행렬은 sizeID와 matrixID에 해당하는 기본 행렬을 의미한다.When decoding, it is a quantization matrix with a size of 4x4, and when the quantization matrix coefficient value to be encoded is determined to be the same as the default matrix coefficient value predetermined in the encoder/decoder, the scaling_list_pred_size_matrix_id_delta value is encoded as 0, so that the RefMatrixID value and the matrixID value are the same . In this case, the basic matrix means a basic matrix corresponding to sizeID and matrixID.
부호화시 8x8 크기의 양자화 행렬이며, 부호화 대상 양자화 행렬 계수 값을 참조 양자화 행렬 계수값과 동일하게 결정한 경우, scaling_list_pred_size_matrix_id_delta의 값을 0이 아닌 값으로 부호화하여, RefMatrixID의 값과 RefSizeID의 값에 해당하는 참조 양자화 행렬로부터 행렬 간 예측을 수행하게 한다. 양자화/역양자화시 행렬 크기가 16x16 또는 32x32일 경우에는 DC 행렬 계수를 포함할 수 있다. 따라서 양자화/역양자화시 행렬 크기가 16x16 또는 32x32인 양자화 행렬로부터 예측시 DC 행렬 계수도 함께 예측할 수 있다.When encoding, it is a quantization matrix with a size of 8x8, and if the quantization matrix coefficient value to be encoded is determined to be the same as the reference quantization matrix coefficient value, the value of scaling_list_pred_size_matrix_id_delta is encoded as a non-zero value and a reference corresponding to the value of RefMatrixID and RefSizeID Allows to perform inter-matrix prediction from a quantization matrix. When the matrix size is 16x16 or 32x32 during quantization/inverse quantization, DC matrix coefficients may be included. Accordingly, when predicting from a quantization matrix having a matrix size of 16x16 or 32x32 during quantization/inverse quantization, DC matrix coefficients can also be predicted.
부호화시 4x4 크기의 양자화 행렬이며, 부호화 대상 양자화 행렬 계수 값을 참조 양자화 행렬 계수 값과 동일하게 결정한 경우, scaling_list_pred_size_matrix_id_delta 값을 0이 아닌 값으로 부호화하여, RefMatrixID 값에 해당하는 참조 양자화 행렬로부터 행렬 간 예측을 수행하도록 할 수 있다. When encoding, it is a quantization matrix with a size of 4x4, and if the quantization matrix coefficient value to be encoded is determined to be the same as the reference quantization matrix coefficient value, the scaling_list_pred_size_matrix_id_delta value is encoded as a non-zero value, and inter-matrix prediction from the reference quantization matrix corresponding to the RefMatrixID value can be made to perform
또한, 부호화 대상 양자화 행렬의 Size_Matrix_ID보다 더 큰 값을 가지는 양자화 행렬로부터는 행렬 간 예측을 수행하지 못 하게 할 수 있으며, 양자화 행렬 식별자 scaling_list_pred_size_matrix_id_delta는 특정한 값(예를 들어, 0에서 13) 사이의 값을 가지도록 설정할 수 있다. 양자화 행렬 식별자의 최대값이 특정된 경우, 지수-골롬 코드 (Exponential-Golomb code)가 아닌 절삭된 1진 코드 (Truncated Unary)를 이용하여 부호화 효율을 향상시킬 수 있다.In addition, inter-matrix prediction may not be performed from a quantization matrix having a larger value than Size_Matrix_ID of the quantization matrix to be coded, and the quantization matrix identifier scaling_list_pred_size_matrix_id_delta is a specific value (eg, 0 to 13). can be set to have. When the maximum value of the quantization matrix identifier is specified, encoding efficiency may be improved by using a truncated unary rather than an exponential-Golomb code.
만약, 양자화와 역양자화 시의 양자화 행렬 크기를 이용하여 양자화 행렬 복사를 수행할 경우, 양자화와 역양자화 시 4x4, 8x8 또는 16x16 크기를 가지는 양자화 행렬의 양자화 행렬 식별자는 0에서 5 사이의 값을 가지도록 제약할 수 있고, 양자화와 역양자화시 32x32의 크기를 가지는 양자화 행렬의 양자화 행렬 식별자는 0에서 1 사이의 값을 가지도록 제약할 수 있다. 양자화와 역양자화 시의 크기별로 양자화 행렬 식별자의 최대값이 제약되어 있으므로 지수-골롬 코드 (Exponential-Golomb code)가 아닌 절삭된 1진 코드 (Truncated Unary)를 이용하면 부호화 효율을 향상시킬 수 있다.If the quantization matrix copy is performed using the quantization matrix size during quantization and inverse quantization, the quantization matrix identifier of the quantization matrix having a size of 4x4, 8x8, or 16x16 during quantization and inverse quantization has a value between 0 and 5. In the case of quantization and dequantization, the quantization matrix identifier of a quantization matrix having a size of 32x32 may be constrained to have a value between 0 and 1. Since the maximum value of the quantization matrix identifier is limited by size during quantization and inverse quantization, encoding efficiency can be improved by using a truncated unary rather than an Exponential-Golomb code.
도 6은 본 발명의 실시예에 따른 부호화/복호화 시의 양자화 행렬 크기와 동일한 양자화 행렬로부터 양자화 행렬 예측을 수행하는 방법을 나타낸다. 6 illustrates a method of performing quantization matrix prediction from a quantization matrix having the same size as the quantization matrix during encoding/decoding according to an embodiment of the present invention.
도 6을 참조하면, 부호화/복호화 시의 양자화 행렬 크기를 이용하여 양자화 행렬 복사를 수행할 수 있다. Referring to FIG. 6 , quantization matrix copying may be performed using the size of the quantization matrix during encoding/decoding.
도 6의 예와 같이, 8x8 화면간 색차 Cb 양자화 행렬(sizeID == 1, matrixID == 5)은 8x8 화면간 색차 Cr 양자화 행렬(sizeID == 1, matrixID == 4) 로부터 예측이 가능하며, 32x32 화면간 휘도 Y 양자화 행렬(sizeID == 3, matrixID == 1) 은 8x8 화면내 휘도 Y 양자화 행렬(sizeID == 1, matrixID == 0)로부터 예측이 가능하며, 16x16 화면간 색차 Cr 양자화 행렬(sizeID == 2, matrixID == 4)는 8x8 화면내 색차 Cr 양자화 행렬(sizeID == 1, matrixID == 1)로부터 예측이 가능하다.As in the example of Figure 6, the 8x8 inter-screen color difference Cb quantization matrix (sizeID == 1, matrixID == 5) can be predicted from the 8x8 inter-screen color difference Cr quantization matrix (sizeID == 1, matrixID == 4), A 32x32 inter-screen luminance Y quantization matrix (sizeID == 3, matrixID == 1) can be predicted from an 8x8 intra-screen luminance Y quantization matrix (sizeID == 1, matrixID == 0), and a 16x16 inter-screen chrominance Cr quantization matrix (sizeID == 2, matrixID == 4) can be predicted from the color difference Cr quantization matrix (sizeID == 1, matrixID == 1) in the 8x8 screen.
즉, 양자화와 역양자화 시의 양자화 행렬 크기를 구분하는 sizeID가 서로 다르지만 부호화/복호화 시의 양자화 행렬 크기가 동일한 경우에는 양자화 행렬 간 예측이 가능하다. That is, when the sizeID that distinguishes the size of the quantization matrix during quantization and dequantization is different, but the size of the quantization matrix during encoding/decoding is the same, prediction between quantization matrices is possible.
따라서 부호화/복호화 시의 양자화 행렬 크기와 동일한 양자화 행렬로부터 양자화 행렬 예측을 수행하는 방법을 기반으로 부호화/복호화 시의 양자화 행렬 크기와 동일한 양자화 행렬로부터 양자화 행렬 예측이 가능하기 때문에 부호화 효율 향상 및 양자화 행렬 예측 자유도 증가가 가능하다.Therefore, based on a method of performing quantization matrix prediction from a quantization matrix having the same size as the quantization matrix at the time of coding/decoding, it is possible to predict the quantization matrix from the quantization matrix having the same size as the quantization matrix at the time of coding/decoding. It is possible to increase the degree of freedom of prediction.
양자화 행렬 내 계수를 예측 부호화한다(단계 S440).The coefficients in the quantization matrix are predictively encoded (step S440).
양자화 행렬의 예측 부호화 방법이 양자화 행렬 내 계수를 예측 부호화하기 위해 스캔과 DPCM과 지수-골롬 코드로 부호화하는 방법 (scaling_list_pred_mode_flag = 1)이면, 양자화 행렬 내에서 이전에 부호화된 양자화 행렬 계수 값과 부호화 대상 양자화 행렬 계수 값의 차분 값을 파라미터 세트에 부호화할 수 있다. 파라미터 세트는 예를 들어, 시퀀스 파라미터 세트 혹은 픽쳐 파라미터 세트일 수 있다.If the predictive encoding method of the quantization matrix is a method of encoding the coefficients in the quantization matrix with scan, DPCM, and exponential-Golomb codes for predictive encoding (scaling_list_pred_mode_flag = 1), the previously encoded quantization matrix coefficient values in the quantization matrix and the encoding target A difference value of a quantization matrix coefficient value may be encoded in a parameter set. The parameter set may be, for example, a sequence parameter set or a picture parameter set.
표 7은 양자화 행렬에서 DC 계수를 부호화하는 방법을 나타낸다. Table 7 shows a method of encoding DC coefficients in a quantization matrix.
<표 7><Table 7>
표 7의 구문 요소 예와 같이, 부호화 대상 양자화 행렬의 크기가 16x16(sizeID=2) 또는 32x32(sizeID=3)일 경우, DC 행렬 계수인 scaling_list_dc_coef_minus8를 파라미터 세트에 부호화할 수 있다. scaling_list_dc_coef_minus8 의 값은 -8~247 사이의 값으로 한정될 수 있으며, -8~247 사이의 값으로 부호를 가진 지수-골롬 코드 (Signed Exponental-Golomb code)를 이용해서 부호화할 수 있다.As in the syntax element example of Table 7, when the size of the quantization matrix to be encoded is 16x16 (sizeID=2) or 32x32 (sizeID=3), the DC matrix coefficient scaling_list_dc_coef_minus8 can be coded into the parameter set. The value of scaling_list_dc_coef_minus8 can be limited to a value between -8 and 247, and can be coded using a Signed Exponental-Golomb code with a value between -8 and 247.
표 7의 구문 요소의 예와 같이, 양자화 행렬 내에서 이전에 부호화된 양자화 행렬 계수값과 부호화 대상 양자화 행렬 계수값의 차분값인 scaling_list_delta_coef를 파라미터 세트에 부호화할 수 있다. 이때, scaling_list_delta_coef는 4x4 크기의 양자화 행렬을 부호화할 때는 4x4 양자화 행렬 내 계수들의 개수인 총 16개를 부호화하며, 8x8 크기 이상의 변환 계수 블록에 사용하는 양자화 행렬을 부호화할 때는 8x8 양자화 행렬 내 계수들의 개수인 총 64개를 부호화할 수 있다. As in the example of the syntax element in Table 7, scaling_list_delta_coef, which is a difference value between a quantization matrix coefficient value previously encoded in a quantization matrix and a quantization matrix coefficient value to be encoded, can be encoded in the parameter set. At this time, scaling_list_delta_coef encodes a total of 16 coefficients, which is the number of coefficients in a 4x4 quantization matrix when encoding a 4x4 quantization matrix, and when encoding a quantization matrix used for a transform coefficient block of 8x8 or larger size, the number of coefficients in the 8x8 quantization matrix A total of 64 phosphors can be encoded.
첫번째 과정으로, 2차원 양자화 행렬 내의 계수들에 대해서 1차원 형태의 계수 배열로 정렬하기 위한 스캔을 수행할 수 있다. As a first process, a scan for aligning coefficients in a two-dimensional quantization matrix into a one-dimensional coefficient array may be performed.
두 번째 과정으로, 상기 스캔 방법에 의해서 부호화 대상 양자화 행렬 계수를 1차원 형태의 계수 배열 내에서 이전 순서 상에 위치하는 양자화 행렬 계수와의 차분 값인 scaling_list_delta_coef 을 생성할 수 있다. 이때, 차분 값은 DPCM을 이용해서 계산된 값일 수 있으며, 이전 순서상에 위치하는 양자화 행렬 계수는 부호화 대상 양자화 행렬 계수의 바로 이전에 존재하는 계수일 수 있다. 또한, 1차원 형태의 계수 배열 내의 첫번째 계수는 예측 대상이 되는 이전 순서 상에 위치하는 양자화 행렬 계수가 없으므로, 소정의 상수 값을 이용해서 차분 값을 생성할 수 있고, sizeID가 1보다 클 경우에는 DC 행렬 계수을 이용해서 차분 값을 생성할 수 있다. 이때, 소정의 상수 값은 1~255 사이의 값일 수 있으며, 특히 8 혹은 16일 수 있다.As a second process, scaling_list_delta_coef, which is a difference value between a quantization matrix coefficient to be encoded and a quantization matrix coefficient positioned in a previous order in a one-dimensional coefficient array, can be generated by the scan method. In this case, the difference value may be a value calculated using DPCM, and the quantization matrix coefficient located in the previous order may be a coefficient that exists immediately before the quantization matrix coefficient to be encoded. In addition, since the first coefficient in the one-dimensional coefficient array does not have a quantization matrix coefficient positioned in the previous order to be predicted, a difference value can be generated using a predetermined constant value, and when sizeID is greater than 1, A difference value can be generated using the DC matrix coefficients. In this case, the predetermined constant value may be a value between 1 and 255, in particular 8 or 16.
세번째 과정으로, 상기 계산된 차분 값인 scaling_list_delta_coef을 지수-골롬 코드 (Exponential-Golomb code)로 부호화한다. 이때, 차분 값은 부호(sign) 정보를 가지므로 부호를 가진 지수-골롬 코드 (Signed Exponental-Golomb code)로 부호화될 수 있다. scaling_list_delta_coef의 값은 -254~254 사이의 값으로 한정될 수 있으며, -254~254 범위 사이의 값으로 부호화될 수 있다.As a third process, scaling_list_delta_coef, which is the calculated difference value, is encoded into an Exponential-Golomb code. In this case, since the difference value has sign information, it may be encoded as a signed Exponental-Golomb code. The value of scaling_list_delta_coef can be limited to a value between -254 and 254, and can be coded as a value between -254 and 254.
도 7은 본 발명의 실시예에 따른 복호화 방법을 나타낸 순서도이다. 7 is a flowchart illustrating a decoding method according to an embodiment of the present invention.
도 7을 참조하면, 양자화 행렬 사용 및 존재 유무를 복호화한다(단계 S700).Referring to FIG. 7 , the use and existence of a quantization matrix are decoded (step S700).
양자화 행렬 사용 및 존재 유무를 복호화하는 단계에서는 비트스트림 내 양자화 행렬 사용 및 존재 유무를 나타내는 정보를 파라미터 세트에서 복호화할 수 있다. 이때, 파라미터 세트는 시퀀스 파라미터 세트 혹은 픽쳐 파라미터 세트일 수 있다.In the step of decoding the use and presence of the quantization matrix, information indicating the use and presence of the quantization matrix in the bitstream may be decoded from the parameter set. In this case, the parameter set may be a sequence parameter set or a picture parameter set.
표 2의 구문 요소의 예와 같이, 양자화 행렬의 사용 유무를 나타내는 정보인 scaling_list_enable_flag를 시퀀스 파라미터 세트에서 복호화할 수 있다. 이때, scaling_list_enable_flag가 0이면 역양자화 과정에서 양자화 행렬을 사용하지 않고, scaling_list_enable_flag가 1이면 역양자화 과정에서 양자화 행렬을 사용할 수 있다. As in the example of the syntax element in Table 2, scaling_list_enable_flag, which is information indicating whether a quantization matrix is used or not, can be decoded from the sequence parameter set. In this case, when scaling_list_enable_flag is 0, the quantization matrix is not used in the inverse quantization process, and when scaling_list_enable_flag is 1, the quantization matrix can be used in the inverse quantization process.
표 2의 구문 요소의 예와 같이, 양자화 행렬의 시퀀스 파라미터 내 존재 유무를 나타내는 정보인 sps_scaling_list_data_present_flag를 시퀀스 파라미터 세트에서 복호화할 수 있다. 이때, sps_scaling_list_data_present_flag가 0이면 시퀀스 파라미터 내에 양자화 행렬이 존재하지 않고, sps_scaling_list_data_present_flag가 1이면 시퀀스 파라미터 내에 양자화 행렬이 존재할 수 있다. As in the example of the syntax element of Table 2, sps_scaling_list_data_present_flag, which is information indicating whether the quantization matrix exists in the sequence parameter, can be decoded from the sequence parameter set. In this case, when sps_scaling_list_data_present_flag is 0, the quantization matrix does not exist in the sequence parameter, and when sps_scaling_list_data_present_flag is 1, the quantization matrix may exist in the sequence parameter.
표 2의 구문 요소 예와 같이, 양자화 행렬의 픽쳐 파라미터 내 존재 유무를 나타내는 정보인 pps_scaling_list_data_present_flag 를 픽쳐 파라미터 세트에서 복호화할 수 있다. 이때, pps_scaling_list_data_present_flag가 0이면 픽쳐 파라미터 세트 내에 양자화 행렬이 존재하지 않으며 시퀀스 파라미터 세트의 양자화 행렬을 참조하고, pps_scaling_list_data_present_flag가 1이면 픽쳐 파라미터 내에 양자화 행렬이 존재하며 픽쳐 파라미터 내의 양자화 행렬로 시퀀스 파라미터 세트 내의 양자화 행렬을 대체할 수 있다. As in the example syntax element of Table 2, pps_scaling_list_data_present_flag, which is information indicating whether a quantization matrix exists in a picture parameter, can be decoded from the picture parameter set. At this time, if pps_scaling_list_data_present_flag is 0, the quantization matrix does not exist in the picture parameter set and the quantization matrix of the sequence parameter set is referred to. can be substituted for
양자화 행렬 예측 방법 정보를 복호화한다(단계 S710).The quantization matrix prediction method information is decoded (step S710).
양자화 행렬의 예측 복호화 방법 정보를 파라미터 세트에서 복호화하여 양자화 행렬의 예측 복호화 방법 종류에 대해 결정할 수 있다. 파라미터 세트는 예를 들어, 시퀀스 파라미터 세트 또는 픽쳐 파라미터 세트일 수 있다.By decoding the prediction decoding method information of the quantization matrix from the parameter set, the type of the prediction decoding method of the quantization matrix may be determined. The parameter set may be, for example, a sequence parameter set or a picture parameter set.
표 3의 구문 요소 예와 같이, 양자화 행렬의 예측 복호화 방법 정보인 scaling_list_pred_mode_flag를 파라미터 세트에서 복호화할 수 있다. 이때, scaling_list_pred_mode_flag가 1이면 양자화 행렬 내 계수를 예측 복호화하기 위해 양자화 행렬 계수를 지수-골롬(Exponential-Golomb) 코드와 역 DPCM (Inverse Differential Pulse Code Modulation)과 스캔을 이용하여 복호화할 수 있다. scaling_list_pred_mode_flag가 0이면 양자화 행렬 간 예측을 위해 복호화 대상 양자화 행렬 계수 값을 참조 양자화 행렬 계수 값과 동일한 값을 가지도록 결정하거나 또는 복호화 대상 양자화 행렬 계수 값을 기본 행렬 계수 값과 동일하게 결정할 수 있다. 이때, 동일한 값을 가지도록 결정하는 것은 특정 양자화 행렬 계수값을 복호화 대상 양자화 행렬 계수 값으로 복사하는 양자화 행렬 예측 방법을 의미할 수 있다.As in the example of the syntax element of Table 3, scaling_list_pred_mode_flag, which is information on the prediction decoding method of the quantization matrix, can be decoded from the parameter set. In this case, if scaling_list_pred_mode_flag is 1, the quantization matrix coefficients can be decoded using an Exponential-Golomb code, Inverse Differential Pulse Code Modulation (DPCM) and scan to predict and decode the coefficients in the quantization matrix. If scaling_list_pred_mode_flag is 0, the quantization matrix coefficient value to be decoded may be determined to have the same value as the reference quantization matrix coefficient value for inter-quantization matrix prediction, or the quantization matrix coefficient value to be decoded may be determined to be the same as the default matrix coefficient value. In this case, determining to have the same value may mean a quantization matrix prediction method of copying a specific quantization matrix coefficient value to a quantization matrix coefficient value to be decoded.
양자화 행렬 간 예측 및 기본 행렬 사용을 위한 양자화 행렬 식별자를 복호화한다(단계 S720).A quantization matrix identifier for inter-quantization matrix prediction and use of a base matrix is decoded (step S720).
기존의 양자화 행렬 예측 복호화 방법 및 장치의 문제점을 해결하기 위해 복호화 시의 양자화 행렬 크기와 동일한 양자화 행렬로부터 양자화 행렬 예측을 수행할 수 있다. In order to solve the problems of the existing quantization matrix prediction decoding method and apparatus, quantization matrix prediction may be performed from a quantization matrix having the same size as the quantization matrix during decoding.
복호화 시의 크기가 4x4인 양자화 행렬은 역양자화시에도 4x4 크기를 가지지만, 복호화 시의 크기가 8x8인 양자화 행렬은 역양자화시에 8x8, 16x16, 또는 32x32 크기를 가질 수 있다. 따라서, 역양자화시에 8x8, 16x16, 또는 32x32 크기를 가지는 양자화 행렬들은 복호화시에는 서로 동일한 8x8 크기를 가지기 때문에 양자화 행렬간 예측을 수행할 수 있다. 즉, 동일한 크기 (8x8)의 양자화 행렬이 복호화되지만, 양자화/역양자화시에 서로 다른 크기 (8x8, 16x16 또는 32x32)의 양자화 행렬로 유도되는 경우, 복호화시 같은 크기의 양자화 행렬간(복호화시 8x8 크기간)에만 예측을 허용하고 복호화시 다른 크기의 양자화 행렬간(복호화시 4x4 크기와 8x8 크기간)의 예측은 허용하지 않을 수 있다.A quantization matrix having a size of 4x4 during decoding has a size of 4x4 even during inverse quantization, but a quantization matrix having a size of 8x8 during decoding may have a size of 8x8, 16x16, or 32x32 during inverse quantization. Accordingly, since quantization matrices having a size of 8x8, 16x16, or 32x32 during inverse quantization have the same 8x8 size during decoding, inter-quantization matrix prediction can be performed. That is, when quantization matrices of the same size (8x8) are decoded, but quantization matrices of different sizes (8x8, 16x16, or 32x32) are derived during quantization/dequantization, between quantization matrices of the same size (8x8 in decoding) Prediction is allowed only between sizes), and prediction between quantization matrices of different sizes (between 4x4 and 8x8 sizes during decoding) may not be allowed during decoding.
양자화 행렬의 예측 복호화 방법이 양자화 행렬 간 예측을 위해 참조 양자화 행렬과 동일하게 결정하는 방법 또는 기본 행렬을 사용하는 방법 (scaling_list_pred_mode_flag=0)이면, 복호화 대상 양자화 행렬의 양자화 행렬 식별자 scaling_list_pred_size_matrix_id_delta를 파라미터 세트에서 복호화할 수 있다. 이때, 파라미터 세트는 시퀀스 파라미터 세트 혹은 픽쳐 파라미터 세트일 수 있다.If the prediction decoding method of the quantization matrix is a method of determining the same as the reference quantization matrix for prediction between quantization matrices or a method using a default matrix (scaling_list_pred_mode_flag=0), the quantization matrix identifier scaling_list_pred_size_matrix_id_delta of the quantization matrix to be decoded is decoded from the parameter set. can do. In this case, the parameter set may be a sequence parameter set or a picture parameter set.
표 3의 구문 요소 예와 같이, 복호화 대상 양자화 행렬 계수 값을 참조 양자화 행렬 계수값과 동일하게 결정한 경우 또는 복호화 대상 양자화 행렬 계수 값을 기본 행렬 계수값과 동일하게 결정한 경우, 복호화 대상 양자화 행렬의 참조 양자화 행렬 식별자인 scaling_list_pred_size_matrix_id_delta를 파라미터 세트에서 복호화할 수 있다. As in the syntax element example of Table 3, when the quantization matrix coefficient value to be decoded is determined to be the same as the reference quantization matrix coefficient value or when the quantization matrix coefficient value to be decoded is determined to be the same as the default matrix coefficient value, the reference of the quantization matrix to be decoded The quantization matrix identifier scaling_list_pred_size_matrix_id_delta can be decoded from the parameter set.
이때, 양자화 행렬 식별자인 scaling_list_pred_size_matrix_id_delta와 복호화 대상 양자화 행렬의 크기 및 행렬 정보인 Size_Matrix_ID와 아래의 식을 이용해서 참조 양자화 행렬 및 기본 행렬의 행렬 정보인 RefMatrixID와 참조 양자화 행렬 및 기본 행렬의 크기 정보인 RefSizeID를 결정할 수 있다.At this time, using the quantization matrix identifier scaling_list_pred_size_matrix_id_delta, Size_Matrix_ID, which is the size and matrix information of the quantization matrix to be decoded, and the following equations, RefMatrixID, which is matrix information of the reference quantization matrix and base matrix, and RefSizeID, which is size information of the reference quantization matrix and default matrix, are obtained. can decide
<수학식 3><
<수학식 4><
이때, RefMap은 표 6의 예와 같이 Size_Matrix_ID와 RefSizeID 및 RefMatrixID 간의 관계를 나타낸 매핑 테이블이다. 이때, 역양자화 시의 양자화 행렬의 크기가 다르지만 복호화 시의 양자화 행렬 크기는 동일하기 때문에 복호화 시 8x8 크기의 양자화 행렬 종류에 따라 양자화 행렬 식별자는 순차적으로 할당될 수 있다. In this case, RefMap is a mapping table indicating the relationship between Size_Matrix_ID and RefSizeID and RefMatrixID as in the example of Table 6. In this case, since the size of the quantization matrix during inverse quantization is different, but the size of the quantization matrix during decoding is the same, quantization matrix identifiers may be sequentially assigned according to the type of the quantization matrix having an 8x8 size during decoding.
상기 RefMap을 이용한 방법은 복호화시 8x8 크기의 양자화 행렬에 대해서 적용될 수 있고, 복호화시 4x4 크기의 양자화 행렬에 대해서는 적용되지 않을 수 있다. 복호화시 4x4 크기의 양자화 행렬은 아래의 식을 이용해서 참조 양자화 행렬 및 기본 행렬의 행렬 정보인 RefMatrixID를 결정할 수 있다. 즉, 복호화 시의 양자화 행렬 크기에 따라 양자화 행렬 예측 방법이 서로 달라질 수 있으며, 참조 양자화 행렬 결정 방법도 달라질 수 있다.The method using the RefMap may be applied to a quantization matrix having a size of 8x8 during decoding, and may not be applied to a quantization matrix having a size of 4x4 during decoding. During decoding, RefMatrixID, which is matrix information of a reference quantization matrix and a base matrix, can be determined for a quantization matrix having a size of 4x4 by using the following equation. That is, a method of predicting a quantization matrix may be different depending on a size of a quantization matrix during decoding, and a method of determining a reference quantization matrix may also be different.
<수학식 5><
복호화시 8x8 크기의 양자화 행렬의 경우, RefMatrixID값이 matrixID값과 동일하고 RefSizeID 값이 sizeID 값과 동일하면, sizeID와 matrixID에 해당하는 복호화 대상 양자화 행렬 계수 값은 부호화기/복호화기에서 미리 정해진 기본 행렬 계수 값과 동일하게 결정한다. 이때, 기본 행렬은 sizeID와 matrixID에 해당하는 기본 행렬을 의미한다. 그리고, scaling_list_pred_matrix_id_delta 값이 0이면, RefMatrixID 값과 matrixID 값은 동일하고 RefSizeID 값이 sizeID 값과 동일한 것을 의미한다.In the case of a quantization matrix having a size of 8x8 during decoding, if the RefMatrixID value is the same as the matrixID value and the RefSizeID value is the same as the sizeID value, the quantization matrix coefficient value to be decoded corresponding to sizeID and matrixID is a default matrix coefficient predetermined in the encoder/decoder determined to be the same as the value. In this case, the basic matrix means a basic matrix corresponding to sizeID and matrixID. And, if the scaling_list_pred_matrix_id_delta value is 0, it means that the RefMatrixID value and the matrixID value are the same, and the RefSizeID value is the same as the sizeID value.
복호화시 4x4 크기의 양자화 행렬의 경우, RefMatrixID 값이 matrixID 값과 동일하면, sizeID와 matrixID에 해당하는 복호화 대상 양자화 행렬 계수값은 부호화기/복호화기에서 미리 정해진 기본 행렬 계수 값과 동일하게 결정한다. 이때, 기본 행렬은 sizeID와 matrixID에 해당하는 기본 행렬을 의미한다. 그리고, scaling_list_pred_matrix_id_delta 값이 0이면, RefMatrixID 값과 matrixID 값은 동일한 것을 의미한다.In the case of a quantization matrix having a size of 4x4 during decoding, if the RefMatrixID value is the same as the matrixID value, the quantization matrix coefficient values to be decoded corresponding to the sizeID and matrixID are determined to be the same as the default matrix coefficient values predetermined in the encoder/decoder. In this case, the basic matrix means a basic matrix corresponding to sizeID and matrixID. And, if the scaling_list_pred_matrix_id_delta value is 0, it means that the RefMatrixID value and the matrixID value are the same.
복호화 시 8x8 크기의 양자화 행렬의 경우, RefMatrixID 값이 matrixID 값과 동일하지 않고 RefSizeID 값이 sizeID 값과 동일하지 않으면, RefMatrixID와 RefSizeID에 해당하는 양자화 행렬을 복호화 대상 양자화 행렬의 참조 양자화 행렬로 결정하고, 복호화 대상 양자화 행렬 계수 값을 참조 양자화 행렬 계수 값과 동일하게 결정한다. 복호화 대상 양자화 행렬 계수 값을 참조 양자화 행렬 계수 값과 동일하게 결정하는 것은 RefMatrixID와 RefSizeID 에 해당하는 참조 양자화 행렬을 복호화 대상 양자화 행렬의 참조 양자화 행렬로 결정하고, 참조 양자화 행렬 계수 값을 복호화 대상 양자화 행렬 계수 값으로 복사하는 양자화 행렬 예측 방법을 의미할 수 있다. 역양자화 시 행렬 크기가 16x16 혹은 32x32일 경우에는 DC 행렬 계수를 포함할 수 있다. 따라서 역양자화 시 행렬 크기가 16x16 혹은 32x32인 양자화 행렬로부터 예측 시 DC 행렬 계수도 함께 예측할 수 있다.In the case of a quantization matrix having a size of 8x8 during decoding, if the RefMatrixID value is not the same as the matrixID value and the RefSizeID value is not the same as the sizeID value, the quantization matrices corresponding to RefMatrixID and RefSizeID are determined as the reference quantization matrix of the quantization matrix to be decoded; A quantization matrix coefficient value to be decoded is determined to be the same as a reference quantization matrix coefficient value. Determining the quantization matrix coefficient value to be decoded to be the same as the reference quantization matrix coefficient value is determining the reference quantization matrix corresponding to RefMatrixID and RefSizeID as the reference quantization matrix of the quantization matrix to be decoded, and determining the reference quantization matrix coefficient value to the quantization matrix to be decoded It may refer to a method of predicting a quantization matrix that is copied as a coefficient value. When the matrix size is 16x16 or 32x32 during inverse quantization, DC matrix coefficients may be included. Accordingly, when predicting from a quantization matrix having a matrix size of 16x16 or 32x32 during inverse quantization, DC matrix coefficients can also be predicted.
복호화시 4x4 크기의 양자화 행렬의 경우, RefMatrixID 값이 matrixID 값과 동일하지 않으면, RefMatrixID에 해당하는 양자화 행렬을 복호화 대상 양자화 행렬의 참조 양자화 행렬로 결정하고, 복호화 대상 양자화 행렬 계수 값을 참조 양자화 행렬 계수 값과 동일하게 결정한다.In the case of a quantization matrix having a size of 4x4 during decoding, if the RefMatrixID value is not the same as the matrixID value, the quantization matrix corresponding to RefMatrixID is determined as the reference quantization matrix of the quantization matrix to be decoded, and the quantization matrix coefficient value to be decoded is the reference quantization matrix coefficient determined to be the same as the value.
또한, 복호화 대상 양자화 행렬의 Size_Matrix_ID보다 더 큰 값을 가지는 양자화 행렬로부터는 행렬 간 예측을 수행하지 못 하게 제약할 수 있으며, 양자화 행렬 식별자 scaling_list_pred_size_matrix_id_delta가 0에서 13 사이의 값을 가질 때 양자화 행렬 간 예측 및 기본 행렬을 사용할 수 있다. 양자화 행렬 식별자의 최대값이 제약되어 있으므로 지수-골롬 코드 (Exponential-Golomb code)가 아닌 절삭된 1진 코드 (Truncated Unary)를 이용할 수 있다.In addition, inter-matrix prediction can be restricted from a quantization matrix having a larger value than Size_Matrix_ID of the quantization matrix to be decoded, and when the quantization matrix identifier scaling_list_pred_size_matrix_id_delta has a value between 0 and 13, inter-quantization matrix prediction and You can use the default matrix. Since the maximum value of the quantization matrix identifier is limited, it is possible to use a truncated unary code rather than an Exponential-Golomb code.
만약, 역양자화 시의 양자화 행렬 크기를 이용하여 양자화 행렬 복사를 수행할 경우, 역양자화 시 4x4, 8x8 혹은 16x16 크기를 가지는 양자화 행렬의 양자화 행렬 식별자가 0에서 5 사이의 값을 가질 때 양자화 행렬 간 예측 및 기본 행렬을 사용할 수 있고, 역양자화 시 32x32 크기를 가지는 양자화 행렬의 양자화 행렬 식별자가 0에서 1 사이의 값을 가질 때 양자화 행렬 간 예측 및 기본 행렬을 사용할 수 있다. 역양자화 시의 크기 별로 양자화 행렬 식별자의 최대값이 제약되어 있으므로 지수-골롬 코드 (Exponential-Golomb code)가 아닌 절삭된 1진 코드 (Truncated Unary)를 이용할 수 있다.If the quantization matrix copy is performed using the quantization matrix size during inverse quantization, when the quantization matrix identifier of a quantization matrix having a size of 4x4, 8x8, or 16x16 during inverse quantization has a value between 0 and 5, between quantization matrices Prediction and default matrices can be used, and when the quantization matrix identifier of a quantization matrix having a size of 32x32 has a value between 0 and 1 during inverse quantization, the prediction and default matrix between quantization matrices can be used. Since the maximum value of the quantization matrix identifier is limited by size during inverse quantization, a truncated unary code can be used instead of an Exponential-Golomb code.
양자화 행렬 내 계수를 예측 복호화한다(단계S730).The coefficients in the quantization matrix are predicted and decoded (step S730).
양자화 행렬의 예측 복호화 방법이 양자화 행렬 내 계수를 예측 복호화하기 위해 지수-골롬 코드와 역DPCM과 스캔을 이용하여 복호화하는 방법 (scaling_list_pred_mode_flag=1)이면, 양자화 행렬 내에서 이전에 복호화된 양자화 행렬 계수 값과 복호화 대상 양자화 행렬 계수 값의 차분값을 파라미터 세트에서 복호화할 수 있다. 이때, 파라미터 세트는 시퀀스 파라미터 세트 또는 픽쳐 파라미터 세트일 수 있다.If the predictive decoding method of the quantization matrix is a method of decoding the coefficients in the quantization matrix using the exponential-Golomb code, inverse DPCM, and scan (scaling_list_pred_mode_flag=1) to predictively decode the coefficients in the quantization matrix, the quantization matrix coefficient values previously decoded in the quantization matrix A difference value between a coefficient value of a quantization matrix to be decoded and a value of a quantization matrix to be decoded may be decoded from the parameter set. In this case, the parameter set may be a sequence parameter set or a picture parameter set.
표 7의 구문 요소 예와 같이, 복호화 대상 양자화 행렬의 크기가 16x16(sizeID=2) 또는 32x32(sizeID=3)일 경우, DC 행렬 계수인 scaling_list_dc_coef_minus8를 파라미터 세트에서 복호화할 수 있다. scaling_list_dc_coef_minus8의 값은 -8~247 사이로 한정된 값일 수 있으며, 부호를 가진 지수-골롬 코드 (Signed Exponental-Golomb code)를 이용해서 -8~247 범위 사이의 값으로 복호화할 수 있다. DC 행렬 계수 값은 차후 scaling_list_dc_coef_minus8 + 8의 값으로 계산하며, 계산된 값은 1~255 사이의 값일 수 있다.As in the syntax element example of Table 7, when the size of the quantization matrix to be decoded is 16x16 (sizeID=2) or 32x32 (sizeID=3), the DC matrix coefficient scaling_list_dc_coef_minus8 can be decoded from the parameter set. The value of scaling_list_dc_coef_minus8 may be a value limited to between -8 and 247, and it can be decoded into a value between -8 and 247 using a Signed Exponental-Golomb code. The DC matrix coefficient value is calculated as a value of scaling_list_dc_coef_minus8 + 8 later, and the calculated value may be a value between 1 and 255.
표 7의 구문 요소의 예와 같이, 양자화 행렬 내에서 이전에 복호화된 양자화 행렬 계수값과 복호화 대상 양자화 행렬 계수값의 차분값인 scaling_list_delta_coef를 파라미터 세트에서 복호화할 수 있다. 이때, scaling_list_delta_coef는 4x4 크기의 양자화 행렬을 복호화할 때는 4x4 양자화 행렬 내 계수들의 개수인 총 16개를 복호화하며, 8x8 크기 이상의 변환 계수 블록에 사용하는 양자화 행렬을 복호화할 때는 8x8 양자화 행렬 내 계수들의 개수인 총 64개를 복호화한다. 아래는 scaling_list_delta_coef를 복호화하는 상세한 과정을 나타낸다.As in the example of the syntax element of Table 7, scaling_list_delta_coef, which is a difference value between the quantization matrix coefficient value previously decoded in the quantization matrix and the quantization matrix coefficient value to be decoded, can be decoded from the parameter set. At this time, scaling_list_delta_coef decodes a total of 16 coefficients in a 4x4 quantization matrix when decoding a 4x4 quantization matrix, and when decoding a quantization matrix used for a transform coefficient block of 8x8 or larger size, the number of coefficients in an 8x8 quantization matrix Decrypt a total of 64 phosphors. The following shows the detailed process of decoding scaling_list_delta_coef.
첫 번째 과정으로, scaling_list_delta_coef을 지수-골롬 코드 (Exponential-Golomb code)를 이용해서 복호화한다. scaling_list_delta_coef의 값은 -254~254 사이로 한정된 값일 수 있으며, 차분 값은 부호(sign) 정보를 가지므로 부호를 가진 지수-골롬 코드 (Signed Exponental-Golomb code)를 이용해서 -254~254 범위 사이의 값으로 복호화될 수 있다. 복호화된 차분 값은 1차원 형태의 계수 배열에 복호화된 순서대로 저장될 수 있다.As the first process, scaling_list_delta_coef is decoded using Exponential-Golomb code. The value of scaling_list_delta_coef can be a value limited to -254 to 254, and since the difference value has sign information, a value between -254 and 254 using a signed Exponental-Golomb code. can be decrypted as The decoded difference values may be stored in the order of decoding in a one-dimensional coefficient array.
두 번째 과정으로, 상기 복호화된 차분 값을 1차원 형태의 계수 배열 내에서 이전 순서 상에 위치하는 양자화 행렬 계수와 합을 계산하여 복호화 대상 양자화 행렬 계수인 nextCoef 혹은 scalingList[i] 를 복원한다. 이때, i는 1차원 형태의 계수 배열 내에서 순서를 의미한다. 복호화 대상 양자화 행렬 계수는 역 DPCM (inverse DPCM)을 이용해서 계산된 값일 수 있으며, 이전 순서 상에 위치하는 양자화 행렬 계수는 복호화 대상 양자화 행렬 계수의 바로 이전에 존재하는 계수일 수 있다. 또한, 1차원 형태의 계수 배열 내의 첫 번째 계수는 예측 대상이 되는 이전 순서 상에 위치하는 양자화 행렬 계수가 없으므로, 소정의 상수 값을 이용해서 복원될 수 있고, sizeID가 1보다 클 경우에는 DC 행렬 계수을 이용해서 복원될 수 있다. 이때, 소정의 상수 값은 1~255 사이의 값일 수 있으며, 특히 8 혹은 16일 수 있다. 복원된 양자화 행렬 계수는 1~255 사이의 값일 수 있다.As a second process, nextCoef or scalingList[i], which is a quantization matrix coefficient to be decoded, is restored by calculating the sum of the decoded difference value with the quantization matrix coefficient located in the previous order in the one-dimensional coefficient array. In this case, i means an order in the one-dimensional coefficient array. The quantization matrix coefficient to be decoded may be a value calculated using inverse DPCM (inverse DPCM), and the quantization matrix coefficient positioned in the previous order may be a coefficient that exists immediately before the quantization matrix coefficient to be decoded. Also, since the first coefficient in the one-dimensional coefficient array does not have a quantization matrix coefficient positioned in the previous order to be predicted, it can be restored using a predetermined constant value, and when sizeID is greater than 1, the DC matrix It can be restored using coefficients. In this case, the predetermined constant value may be a value between 1 and 255, in particular 8 or 16. The reconstructed quantization matrix coefficient may be a value between 1 and 255.
세 번째 과정으로, 1차원 형태의 복원된 양자화 행렬 계수 배열을 2차원 양자화 행렬로 정렬하기 위한 스캔을 수행한다. As a third process, a scan is performed to align the one-dimensional reconstructed quantization matrix coefficient array into a two-dimensional quantization matrix.
양자화 행렬을 복원한다(단계 S740).The quantization matrix is restored (step S740).
2차원 양자화 행렬로 정렬된 복원된 양자화 행렬 계수들은 역양자화 시에 사용될 2차원 양자화 행렬로 복원된다. 이때, 업샘플링(upsampling), 인터폴레이션(interpolation), DC 행렬 계수 대체, 또는 서브샘플링(subsampling) 등을 이용하여 2차원 양자화 행렬을 복원할 수 있으며, 양자화 행렬을 복원하는 실시예는 아래와 같다.The reconstructed quantization matrix coefficients arranged in the 2D quantization matrix are reconstructed into a 2D quantization matrix to be used in inverse quantization. In this case, the two-dimensional quantization matrix may be restored using upsampling, interpolation, DC matrix coefficient replacement, subsampling, or the like, and an embodiment of restoring the quantization matrix is as follows.
예를 들어, 4x4, 8x8, 16x16, 32x32 등의 정방형 변환 계수 블록의 역양자화에 사용하는 양자화 행렬은 아래와 같은 방법으로 복원할 수 있다.For example, a quantization matrix used for inverse quantization of a square transform coefficient block such as 4x4, 8x8, 16x16, or 32x32 can be restored in the following way.
수학식 6과 같이 4x4 크기의 변환 계수 블록의 역양자화에 사용하는 양자화 행렬은 상기 정렬된 2차원 4x4 크기의 양자화 행렬을 그대로 이용할 수 있다.As shown in
<수학식 6><
수학식 7과 같이 8x8 크기의 변환 계수 블록의 역양자화에 사용하는 양자화 행렬은 상기 정렬된 2차원 8x8 크기의 양자화 행렬을 그대로 이용할 수 있다.As shown in
<수학식 7><
도 8은 본 발명의 실시예에 따른 양자화 행렬의 업샘플링을 나타낸 개념도이다. 8 is a conceptual diagram illustrating upsampling of a quantization matrix according to an embodiment of the present invention.
도 8을 참조하면, 수학식 8과 같이 16x16 크기의 변환 계수 블록의 역양자화에 사용하는 양자화 행렬은 도 8과 같이 상기 정렬된 2차원 8x8 크기의 양자화 행렬을 가장 가까운 이웃 계수로부터 복사하는 업샘플링을 수행하여 16x16 크기의 양자화 행렬로 복원할 수 있다. 그리고, 양자화 행렬 내 DC 위치, 즉 (0, 0) 위치에 존재하는 양자화 행렬 계수는 DC 행렬 계수 값인 scaling_list_dc_coef_minus8 + 8의 값으로 대체될 수 있다.Referring to FIG. 8, as shown in
<수학식 8><
수학식 9와 같이 32x32 크기의 변환 계수 블록의 역양자화에 사용하는 양자화 행렬은 도 8과 같은 방법으로 상기 정렬된 2차원 8x8 크기의 양자화 행렬을 가장 가까운 이웃 계수로부터 복사하는 업샘플링을 수행하여 32x32 크기의 양자화 행렬로 복원할 수 있다. 그리고, 양자화 행렬 내 DC 위치, 즉 (0, 0) 위치에 존재하는 양자화 행렬 계수는 DC 행렬 계수 값인 scaling_list_dc_coef_minus8 + 8의 값으로 대체될 수 있다.As shown in
<수학식 9><
도 9는 본 발명의 실시예에 따른 비정방형 변환 계수 블록에 사용하는 양자화 행렬을 생성하는 방법을 나타낸 개념도이다. 9 is a conceptual diagram illustrating a method of generating a quantization matrix used for a non-square transform coefficient block according to an embodiment of the present invention.
도 9를 참조하면, 16x4, 4x16, 32x8, 8x32 등의 비정방형 변환 계수 블록에 사용하는 양자화 행렬은 아래와 같은 방법으로 복원할 수 있다.Referring to FIG. 9 , a quantization matrix used for a non-square transform coefficient block such as 16x4, 4x16, 32x8, or 8x32 may be restored by the following method.
수학식 10과 같이 16x4 크기의 변환 계수 블록에 사용하는 양자화 행렬은 도 9의 (A)와 같이 상기 16x16 크기의 복원된 양자화 행렬을 y 위치 (행, 수직 방향)에 대해 서브샘플링을 수행하여 16x4 크기의 양자화 행렬로 복원할 수 있다.As shown in Equation 10, the quantization matrix used for the 16x4 transform coefficient block is 16x4 by subsampling the 16x16 reconstructed quantization matrix at the y position (row, vertical direction) as shown in FIG. 9(A). It can be restored to a quantization matrix of size.
<수학식 10><Equation 10>
수학식 11과 같이 4x16 크기의 변환 계수 블록에 사용하는 양자화 행렬은 도 9의 (B)와 같이 상기 16x16 크기의 복원된 양자화 행렬을 x 위치 (열, 수평 방향)에 대해 서브샘플링을 수행하여 4x16 크기의 양자화 행렬로 복원할 수 있다.As shown in Equation 11, the quantization matrix used for the 4x16 transform coefficient block is 4x16 by subsampling the 16x16 reconstructed quantization matrix at the x position (column, horizontal direction) as shown in FIG. 9B. It can be restored to a quantization matrix of size.
<수학식 11><Equation 11>
수학식 12와 같이 32x8 크기의 변환 계수 블록에 사용하는 양자화 행렬은 도 9의 (A)와 같은 방법으로 상기 32x32 크기의 복원된 양자화 행렬을 y 위치 (행, 수직 방향)에 대해 서브샘플링을 수행하여 32x8 크기의 양자화 행렬로 복원할 수 있다.As shown in Equation 12, the quantization matrix used for the transform coefficient block of size 32x8 subsampling the reconstructed quantization matrix of size 32x32 with respect to the y position (row, vertical direction) in the same manner as in FIG. 9(A). Thus, it can be restored to a quantization matrix having a size of 32x8.
<수학식 12><Equation 12>
수학식 13과 같이 8x32 크기의 변환 계수 블록에 사용하는 양자화 행렬은 도 9의 (B)와 같은 방법으로 상기 32x32 크기의 복원된 양자화 행렬을 x 위치 (열, 수평 방향)에 대해 서브샘플링을 수행하여 8x32 크기의 양자화 행렬로 복원할 수 있다.As shown in Equation 13, the quantization matrix used for the transform coefficient block of size 8x32 subsampling the reconstructed quantization matrix of size 32x32 with respect to the x position (column, horizontal direction) in the same manner as in FIG. 9B. Thus, it can be restored to a quantization matrix having a size of 8x32.
<수학식 13><Equation 13>
만약, 부호화기와 복호화기에서 미리 정의된 기본 행렬이 메모리 저장 공간 감소를 위해서 16x16/32x32 크기 변환 계수 블록의 역양자화에 사용되는 기본 행렬이 8x8 크기의 기본 행렬로 존재한다면, 아래의 식과 같이 가장 가까운 이웃 계수로부터 복사하는 업샘플링을 수행하여 16x16/32x32 크기의 양자화 행렬로 복원될 수 있다.If the default matrix predefined in the encoder and decoder is used for inverse quantization of the 16x16/32x32 size transform coefficient block in order to reduce the memory storage space, the 8x8 size basic matrix exists as the closest It can be restored to a quantization matrix having a size of 16x16/32x32 by performing upsampling that is copied from the neighboring coefficients.
수학식 14와 같이 16x16 크기의 변환 계수 블록의 역양자화에 사용하는 기본 행렬은 도 8과 같은 방법으로 8x8 크기의 기본 행렬을 가장 가까운 이웃 계수로부터 복사하는 업샘플링을 수행하여 16x16 크기의 양자화 행렬로 복원할 수 있다.As shown in Equation 14, the base matrix used for inverse quantization of the transform coefficient block of 16x16 size is converted to a quantization matrix of size 16x16 by performing upsampling by copying the base matrix of size 8x8 from the nearest neighbor coefficient in the same way as in FIG. can be restored
<수학식 14><Equation 14>
수학식 15와 같이 32x32 크기의 변환 계수 블록의 역양자화에 사용하는 기본 행렬은 도 8과 같은 방법으로 8x8 크기의 기본 행렬을 가장 가까운 이웃 계수로부터 복사하는 업샘플링을 수행하여 32x32 크기의 양자화 행렬로 복원할 수 있다.As shown in Equation 15, the default matrix used for inverse quantization of a transform coefficient block of 32x32 size is a quantization matrix of 32x32 size by performing upsampling by copying the base matrix of size 8x8 from the nearest neighbor coefficient in the same way as in FIG. can be restored
<수학식 15><Equation 15>
위의 수학식들에서 QM(x, y)은 정렬된 2차원 4x4 크기의 양자화 행렬을 의미하며, RQM(x, y)는 복원된 양자화 행렬을 의미하며, DQM(x, y)는 기본 행렬을 의미한다.In the above equations, QM(x, y) denotes an aligned two-dimensional 4x4 quantization matrix, RQM(x, y) denotes a reconstructed quantization matrix, and DQM(x, y) denotes a basic matrix means
가장 가까운 이웃 계수로부터 복사하는 업샘플링 방법은 최근접 이웃 보간법(nearest neighbor interpolation) 혹은 0차 인터폴레이션 (zeroth order interpolation)의 방법이라고 부를 수 있다.The upsampling method of copying from the nearest neighbor coefficients may be called a method of nearest neighbor interpolation or zeroth order interpolation.
상술한 실시예에서, 양자화/역양자화시 비정방형 16x4 또는 4x16크기의 양자화 행렬은 정방형 16x16 크기의 양자화 행렬로부터 유도되기 때문에 양자화/역양자화 시의 16x16 크기의 양자화 행렬로 표현된 것은 정방형 16x16 크기의 양자화 행렬뿐만 아니라 비정방형 16x4 혹은 4x16 크기의 양자화 행렬을 의미할 수 있고, 양자화/역양자화시 비정방형 32x8 혹은 8x32크기의 양자화 행렬은 정방형 32x32 크기의 양자화 행렬로부터 유도되기 때문에 양자화/역양자화 시의 32x32 크기의 양자화 행렬로 표현된 것은 정방형 32x32 크기의 양자화 행렬뿐만 아니라 비정방형 32x8 혹은 8x32 크기의 양자화 행렬을 의미할 수 있다.In the above-described embodiment, when quantization/inverse quantization, the non-square 16x4 or 4x16 quantization matrix is derived from the square 16x16 quantization matrix. In addition to the quantization matrix, it can mean a non-square 16x4 or 4x16 quantization matrix. During quantization/inverse quantization, the non-square 32x8 or 8x32 quantization matrix is derived from a square 32x32 quantization matrix. A quantization matrix having a size of 32x32 may mean not only a quantization matrix having a size of a square 32x32, but also a quantization matrix having a size of a non-square 32x8 or 8x32.
양자화 행렬 정보란 양자화 행렬 혹은 양자화 행렬을 유도할 수 있는 정보를 의미한다. 이때, 양자화 행렬을 유도할 수 있는 정보는 기본 행렬 사용 여부 혹은 예측 부호화/복호화 방법 종류 혹은 참조 양자화 행렬 식별자 혹은 참조 양자화 행렬 등을 의미할 수 있다.The quantization matrix information refers to a quantization matrix or information from which a quantization matrix can be derived. In this case, the information capable of deriving the quantization matrix may mean whether a default matrix is used, a type of prediction encoding/decoding method, a reference quantization matrix identifier, a reference quantization matrix, or the like.
상술한 실시예들에서, 방법들은 일련의 단계 또는 유닛으로서 순서도를 기초로 설명되고 있으나, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당해 기술 분야에서 통상의 지식을 가진 자라면 순서도에 나타난 단계들이 배타적이지 않고, 다른 단계가 포함되거나, 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.In the above-described embodiments, the methods are described on the basis of a flowchart as a series of steps or units, but the present invention is not limited to the order of steps, and some steps may occur in a different order or concurrently with other steps as described above. can In addition, those of ordinary skill in the art will recognize that the steps shown in the flowchart are not exclusive, other steps may be included, or that one or more steps in the flowchart may be deleted without affecting the scope of the present invention. you will understand
상술한 실시예는 다양한 양태의 예시들을 포함한다. 다양한 양태들을 나타내기 위한 모든 가능한 조합을 기술할 수는 없지만, 해당 기술 분야의 통상의 지식을 가진 자는 다른 조합이 가능함을 인식할 수 있을 것이다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.The above-described embodiments include examples of various aspects. It is not possible to describe every possible combination for representing the various aspects, but one of ordinary skill in the art will recognize that other combinations are possible. Accordingly, it is intended that the present invention cover all other substitutions, modifications and variations falling within the scope of the following claims.
Claims (3)
상기 현재 양자화 행렬의 정보를 기초로 현재 양자화 행렬을 복원하는 단계;
상기 복원된 현재 양자화 행렬을 기반으로 현재 블록에 대한 역양자화를 수행하는 단계; 및
상기 역양자화된 현재 블록을 역변환하는 단계를 포함하고,
상기 현재 양자화 행렬의 정보는 현재 양자화 행렬 예측 방법 정보 및 상기 현재 양자화 행렬의 참조 양자화 행렬을 나타내는 정보 중 적어도 하나를 포함하고,
상기 현재 양자화 행렬을 복원하는 단계는,
상기 양자화 행렬 예측 방법 정보가 현재 양자화 행렬이 참조 양자화 행렬과 동일한 계수 값을 가지도록 결정됨을 나타낼 때, 상기 참조 양자화 행렬을 나타내는 정보에 따라 참조 양자화 행렬을 결정하는 단계; 및
상기 참조 양자화 행렬에 따라, 상기 현재 양자화 행렬을 복원하는 단계를 포함하고,
상기 복원된 현재 양자화 행렬은 정방형인 것을 특징으로 하고,
상기 복원된 현재 양자화 행렬을 기반으로 상기 현재 블록에 대한 역양자화를 수행하는 단계는,
상기 현재 블록이 비정방형 블록일 때, 상기 현재 양자화 행렬을 상기 현재 블록의 높이 및 너비와 상기 현재 양자화 행렬의 높이 및 너비에 따라 서브샘플링함으로써, 상기 현재 블록의 높이 및 너비에 대응되는 비정방형 양자화 행렬을 생성하는 단계; 및
상기 비정방형 양자화 행렬을 기반으로 상기 현재 블록에 대한 역양자화를 수행하는 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법.
decoding information of a current quantization matrix;
reconstructing a current quantization matrix based on information on the current quantization matrix;
performing inverse quantization on the current block based on the restored current quantization matrix; and
Inverse transforming the inverse quantized current block,
The information on the current quantization matrix includes at least one of current quantization matrix prediction method information and information indicating a reference quantization matrix of the current quantization matrix,
Restoring the current quantization matrix comprises:
determining a reference quantization matrix according to the information indicating the reference quantization matrix when the quantization matrix prediction method information indicates that a current quantization matrix is determined to have the same coefficient value as a reference quantization matrix; and
Restoring the current quantization matrix according to the reference quantization matrix,
The restored current quantization matrix is characterized in that it is a square,
Performing inverse quantization on the current block based on the restored current quantization matrix comprises:
When the current block is a non-square block, non-square quantization corresponding to the height and width of the current block is performed by subsampling the current quantization matrix according to the height and width of the current block and the height and width of the current quantization matrix. generating a matrix; and
and performing inverse quantization on the current block based on the non-square quantization matrix.
상기 현재 양자화 행렬에 기초하여 현재 양자화 행렬의 정보를 결정하고, 상기 결정된 현재 양자화 행렬의 정보를 부호화하는 단계;
현재 블록에 대한 변환을 수행하는 단계; 및
상기 현재 양자화 행렬을 기반으로 상기 변환된 현재 블록에 대한 양자화를 수행하는 단계를 포함하고,
상기 현재 양자화 행렬의 정보는 현재 양자화 행렬 예측 방법 정보 및 상기 현재 양자화 행렬의 참조 양자화 행렬을 나타내는 정보 중 적어도 하나를 포함하고,
상기 현재 양자화 행렬의 정보를 부호화하는 단계는,
현재 양자화 행렬이 참조 양자화 행렬과 동일한 계수 값을 가지도록 결정될 때, 상기 현재 양자화 행렬의 참조 양자화 행렬에 따라 상기 참조 양자화 행렬을 나타내는 정보를 결정하는 단계를 포함하고,
상기 현재 양자화 행렬은 정방형인 것을 특징으로 하고,
상기 현재 양자화 행렬을 기반으로 상기 현재 블록에 대한 양자화를 수행하는 단계는,
상기 현재 블록이 비정방형 블록일 때, 상기 현재 양자화 행렬을 상기 현재 블록의 높이 및 너비와 상기 현재 양자화 행렬의 높이 및 너비에 따라 서브샘플링함으로써, 상기 현재 블록의 높이 및 너비에 대응되는 비정방형 양자화 행렬을 생성하는 단계; 및
상기 비정방형 양자화 행렬을 기반으로 상기 현재 블록에 대한 양자화를 수행하는 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법.
determining a current quantization matrix;
determining information on a current quantization matrix based on the current quantization matrix, and encoding the determined information on the current quantization matrix;
performing transformation on the current block; and
performing quantization on the transformed current block based on the current quantization matrix,
The information on the current quantization matrix includes at least one of current quantization matrix prediction method information and information indicating a reference quantization matrix of the current quantization matrix,
The step of encoding the information of the current quantization matrix comprises:
When the current quantization matrix is determined to have the same coefficient values as the reference quantization matrix, determining information indicating the reference quantization matrix according to a reference quantization matrix of the current quantization matrix,
The current quantization matrix is characterized in that the square,
Performing quantization on the current block based on the current quantization matrix comprises:
When the current block is a non-square block, non-square quantization corresponding to the height and width of the current block is performed by subsampling the current quantization matrix according to the height and width of the current block and the height and width of the current quantization matrix. generating a matrix; and
and performing quantization on the current block based on the non-square quantization matrix.
현재 양자화 행렬을 결정하는 단계;
상기 현재 양자화 행렬에 기초하여 현재 양자화 행렬의 정보를 결정하고, 상기 결정된 현재 양자화 행렬의 정보를 부호화하는 단계;
현재 블록에 대한 변환을 수행하는 단계; 및
상기 현재 양자화 행렬을 기반으로 상기 변환된 현재 블록에 대한 양자화를 수행하는 단계를 포함하고,
상기 현재 양자화 행렬의 정보는 현재 양자화 행렬 예측 방법 정보 및 상기 현재 양자화 행렬의 참조 양자화 행렬을 나타내는 정보 중 적어도 하나를 포함하고,
상기 현재 양자화 행렬의 정보를 부호화하는 단계는,
현재 양자화 행렬이 참조 양자화 행렬과 동일한 계수 값을 가지도록 결정될 때, 상기 현재 양자화 행렬의 참조 양자화 행렬에 따라 상기 참조 양자화 행렬을 나타내는 정보를 결정하는 단계를 포함하고,
상기 현재 양자화 행렬은 정방형인 것을 특징으로 하고,
상기 현재 양자화 행렬을 기반으로 상기 현재 블록에 대한 양자화를 수행하는 단계는,
상기 현재 블록이 비정방형 블록일 때, 상기 현재 양자화 행렬을 상기 현재 블록의 높이 및 너비와 상기 현재 양자화 행렬의 높이 및 너비에 따라 서브샘플링함으로써, 상기 현재 블록의 높이 및 너비에 대응되는 비정방형 양자화 행렬을 생성하는 단계; 및
상기 비정방형 양자화 행렬을 기반으로 상기 현재 블록에 대한 양자화를 수행하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 판독 가능한 기록 매체.A computer-readable recording medium storing a bitstream generated by a video encoding method, the video encoding method comprising:
determining a current quantization matrix;
determining information on a current quantization matrix based on the current quantization matrix, and encoding the determined information on the current quantization matrix;
performing transformation on the current block; and
performing quantization on the transformed current block based on the current quantization matrix,
The information on the current quantization matrix includes at least one of current quantization matrix prediction method information and information indicating a reference quantization matrix of the current quantization matrix,
The step of encoding the information of the current quantization matrix comprises:
When the current quantization matrix is determined to have the same coefficient values as the reference quantization matrix, determining information indicating the reference quantization matrix according to a reference quantization matrix of the current quantization matrix,
The current quantization matrix is characterized in that the square,
Performing quantization on the current block based on the current quantization matrix comprises:
When the current block is a non-square block, non-square quantization corresponding to the height and width of the current block is performed by subsampling the current quantization matrix according to the height and width of the current block and the height and width of the current quantization matrix. generating a matrix; and
and performing quantization on the current block based on the non-square quantization matrix.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220001684A KR20220005623A (en) | 2012-06-28 | 2022-01-05 | The method of encoding and decoding of quantization matrix and the apparatus for using the same |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120070212 | 2012-06-28 | ||
KR20120070212 | 2012-06-28 | ||
KR1020130075276A KR102228577B1 (en) | 2012-06-28 | 2013-06-28 | The method of encoding and decoding of quantization matrix and the apparatus for using the same |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130075276A Division KR102228577B1 (en) | 2012-06-28 | 2013-06-28 | The method of encoding and decoding of quantization matrix and the apparatus for using the same |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220001684A Division KR20220005623A (en) | 2012-06-28 | 2022-01-05 | The method of encoding and decoding of quantization matrix and the apparatus for using the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210031666A KR20210031666A (en) | 2021-03-22 |
KR102349435B1 true KR102349435B1 (en) | 2022-01-11 |
Family
ID=50140258
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130075276A KR102228577B1 (en) | 2012-06-28 | 2013-06-28 | The method of encoding and decoding of quantization matrix and the apparatus for using the same |
KR1020210031529A KR102349435B1 (en) | 2012-06-28 | 2021-03-10 | The method of encoding and decoding of quantization matrix and the apparatus for using the same |
KR1020220001684A KR20220005623A (en) | 2012-06-28 | 2022-01-05 | The method of encoding and decoding of quantization matrix and the apparatus for using the same |
KR1020230026092A KR102711772B1 (en) | 2012-06-28 | 2023-02-27 | The method of encoding and decoding of quantization matrix and the apparatus for using the same |
KR1020240129308A KR20240147967A (en) | 2012-06-28 | 2024-09-24 | The method of encoding and decoding of quantization matrix and the apparatus for using the same |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130075276A KR102228577B1 (en) | 2012-06-28 | 2013-06-28 | The method of encoding and decoding of quantization matrix and the apparatus for using the same |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220001684A KR20220005623A (en) | 2012-06-28 | 2022-01-05 | The method of encoding and decoding of quantization matrix and the apparatus for using the same |
KR1020230026092A KR102711772B1 (en) | 2012-06-28 | 2023-02-27 | The method of encoding and decoding of quantization matrix and the apparatus for using the same |
KR1020240129308A KR20240147967A (en) | 2012-06-28 | 2024-09-24 | The method of encoding and decoding of quantization matrix and the apparatus for using the same |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230219151A1 (en) |
KR (5) | KR102228577B1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112771864B (en) * | 2018-09-19 | 2023-08-29 | 寰发股份有限公司 | Method and device for quantization scaling of transform coefficients in video coding and decoding system |
WO2020138933A1 (en) * | 2018-12-26 | 2020-07-02 | 한국전자통신연구원 | Quantization matrix encoding/decoding method and device, and recording medium in which bitstream is stored |
EP4008491A1 (en) * | 2020-12-04 | 2022-06-08 | Hilti Aktiengesellschaft | Machine tool with a first handle, a second handle and a main body |
-
2013
- 2013-06-28 KR KR1020130075276A patent/KR102228577B1/en active IP Right Grant
-
2021
- 2021-03-10 KR KR1020210031529A patent/KR102349435B1/en active IP Right Grant
-
2022
- 2022-01-05 KR KR1020220001684A patent/KR20220005623A/en not_active IP Right Cessation
-
2023
- 2023-01-05 US US18/093,372 patent/US20230219151A1/en active Pending
- 2023-02-27 KR KR1020230026092A patent/KR102711772B1/en active IP Right Grant
-
2024
- 2024-09-24 KR KR1020240129308A patent/KR20240147967A/en active Application Filing
Non-Patent Citations (2)
Title |
---|
Bross, Benjamin, "High efficiency video coding (HEVC) text specification draft 6", 7th JCT-VC meeting, JCTVC-H1003, 2011. |
SC Lim, "Simplication on default quantization matrix signaling", JCT-VC 9th Meeting, JCTVC-I0101, 2012. |
Also Published As
Publication number | Publication date |
---|---|
KR20140004018A (en) | 2014-01-10 |
KR20210031666A (en) | 2021-03-22 |
KR102228577B1 (en) | 2021-03-16 |
KR20230035009A (en) | 2023-03-10 |
US20230219151A1 (en) | 2023-07-13 |
KR20240147967A (en) | 2024-10-10 |
KR20220005623A (en) | 2022-01-13 |
KR102711772B1 (en) | 2024-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102462009B1 (en) | Method for image encoding and computer readable redording meduim thereof | |
KR102313195B1 (en) | Methods And Apparatuses For Encoding and Decoding Quantization marix | |
KR102640542B1 (en) | Methods of determination for chroma quantization parameter and apparatuses for using the same | |
KR102443959B1 (en) | In-loop filtering method according to adaptive pixel classification criteria | |
KR102711772B1 (en) | The method of encoding and decoding of quantization matrix and the apparatus for using the same | |
US11949865B2 (en) | Image encoding/decoding method using pixel value range constituting image |
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 |