KR20210031666A - 양자화 행렬의 부호화 방법 및 복호화 방법과 이를 이용하는 장치 - Google Patents

양자화 행렬의 부호화 방법 및 복호화 방법과 이를 이용하는 장치 Download PDF

Info

Publication number
KR20210031666A
KR20210031666A KR1020210031529A KR20210031529A KR20210031666A KR 20210031666 A KR20210031666 A KR 20210031666A KR 1020210031529 A KR1020210031529 A KR 1020210031529A KR 20210031529 A KR20210031529 A KR 20210031529A KR 20210031666 A KR20210031666 A KR 20210031666A
Authority
KR
South Korea
Prior art keywords
quantization matrix
quantization
current
matrix
size
Prior art date
Application number
KR1020210031529A
Other languages
English (en)
Other versions
KR102349435B1 (ko
Inventor
임성창
김휘용
최진수
이진호
김진웅
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Publication of KR20210031666A publication Critical patent/KR20210031666A/ko
Priority to KR1020220001684A priority Critical patent/KR20220005623A/ko
Application granted granted Critical
Publication of KR102349435B1 publication Critical patent/KR102349435B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23DPLANING; SLOTTING; SHEARING; BROACHING; SAWING; FILING; SCRAPING; LIKE OPERATIONS FOR WORKING METAL BY REMOVING MATERIAL, NOT OTHERWISE PROVIDED FOR
    • B23D45/00Sawing machines or sawing devices with circular saw blades or with friction saw discs
    • B23D45/003Sawing machines or sawing devices with circular saw blades or with friction saw discs for particular purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23DPLANING; SLOTTING; SHEARING; BROACHING; SAWING; FILING; SCRAPING; LIKE OPERATIONS FOR WORKING METAL BY REMOVING MATERIAL, NOT OTHERWISE PROVIDED FOR
    • B23D47/00Sawing machines or sawing devices working with circular saw blades, characterised only by constructional features of particular parts
    • B23D47/12Sawing machines or sawing devices working with circular saw blades, characterised only by constructional features of particular parts of drives for circular saw blades
    • B23D47/126Angle drives
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23DPLANING; SLOTTING; SHEARING; BROACHING; SAWING; FILING; SCRAPING; LIKE OPERATIONS FOR WORKING METAL BY REMOVING MATERIAL, NOT OTHERWISE PROVIDED FOR
    • B23D45/00Sawing machines or sawing devices with circular saw blades or with friction saw discs
    • B23D45/16Hand-held sawing devices with circular saw blades
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23DPLANING; SLOTTING; SHEARING; BROACHING; SAWING; FILING; SCRAPING; LIKE OPERATIONS FOR WORKING METAL BY REMOVING MATERIAL, NOT OTHERWISE PROVIDED FOR
    • B23D47/00Sawing machines or sawing devices working with circular saw blades, characterised only by constructional features of particular parts
    • B23D47/12Sawing machines or sawing devices working with circular saw blades, characterised only by constructional features of particular parts of drives for circular saw blades
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25FCOMBINATION 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/00Details or components of portable power-driven tools not particularly related to the operations performed and not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25FCOMBINATION 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/00Details or components of portable power-driven tools not particularly related to the operations performed and not otherwise provided for
    • B25F5/001Gearings, speed selectors, clutches or the like specially adapted for rotary tools
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25FCOMBINATION 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/00Details or components of portable power-driven tools not particularly related to the operations performed and not otherwise provided for
    • B25F5/008Cooling means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25FCOMBINATION 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/00Details or components of portable power-driven tools not particularly related to the operations performed and not otherwise provided for
    • B25F5/02Construction of casings, bodies or handles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23DPLANING; SLOTTING; SHEARING; BROACHING; SAWING; FILING; SCRAPING; LIKE OPERATIONS FOR WORKING METAL BY REMOVING MATERIAL, NOT OTHERWISE PROVIDED FOR
    • B23D47/00Sawing machines or sawing devices working with circular saw blades, characterised only by constructional features of particular parts
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B28WORKING CEMENT, CLAY, OR STONE
    • B28DWORKING STONE OR STONE-LIKE MATERIALS
    • B28D1/00Working stone or stone-like materials, e.g. brick, concrete or glass, not provided for elsewhere; Machines, devices, tools therefor
    • B28D1/02Working stone or stone-like materials, e.g. brick, concrete or glass, not provided for elsewhere; Machines, devices, tools therefor by sawing
    • B28D1/04Working 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/045Sawing 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

본 발명은 양자화 행렬의 부호화 방법, 복호화 방법과 이를 이용하는 장치에 관한 것으로서, 본 발명에 따른 양자화 행렬의 복호화 방법은 양자화 행렬의 사용 여부에 대한 정보 및 존재 유무에 대한 정보를 복호화하는 단계, 양자화 행렬의 예측 방법에 관련된 정보를 복호화하는 단계, 양자화 행렬 간 예측 및 기본 행렬 사용을 위한 양자화 행렬 식별자를 복호화하는 단계, 양자화 행렬 내의 계수를 예측 복호화하는 단계와 양자화 행렬을 복원하는 단계를 포함할 수 있다.

Description

양자화 행렬의 부호화 방법 및 복호화 방법과 이를 이용하는 장치{The method of encoding and decoding of quantization matrix and the apparatus for using the same}
본 발명은 영상 부호화 및 복호화 기술에 관한 것으로서, 더 구체적으로는 양자화 행렬을 부호화/복호화하는 방법 및 장치에 관한 것이다.
최근 HD(High Definition) 해상도를 가지는 방송 서비스가 국내뿐만 아니라 세계적으로 확대되고 있다. 이에 따라서, 많은 사용자들이 고해상도, 고화질의 영상에 익숙해지고 있으며, 많은 기관들이 차세대 영상기기에 대한 개발에 박차를 가하고 있다.
HDTV와 더불어 HDTV의 4배 이상의 해상도를 갖는 UHD(Ultra High Definition)에 대한 관심이 증대되면서 보다 높은 해상도, 고화질의 영상에 대한 압축기술이 요구되고 있다.
영상 압축을 위해, 현재 픽처의 픽셀 정보를 예측에 의해 부호화할 수 있다. 예컨대, 시간적으로 이전 및/또는 이후의 픽처로부터 현재 픽처에 포함된 픽셀값을 예측하는 인터(inter) 예측 기술, 현재 픽처 내의 픽셀 정보를 이용하여 현재 픽처에 포함된 픽셀값을 예측하는 인트라(intra) 예측 기술이 적용될 수 있다.
또한, 출현 빈도가 높은 심볼(symbol)에 짧은 부호를 할당하고 출현 빈도가 낮은 심볼에 긴 부호를 할당하는 엔트로피 부호화 기술을 적용하여, 부호화 효율을 높이고 전송되는 정보량을 줄일 수 있다.
이때, 예측에 의해 생성된 잔차 블록에 대한 변환 계수의 양자화를 더 효과적으로 수행할 방법이 문제된다.
발명에서는 부호화 효율 향상, 및 양자화 행렬 예측 자유도 증가를 위해서, 부호화/복호화 시의 양자화 행렬 크기와 동일한 양자화 행렬로부터 양자화 행렬 예측을 수행하는 양자화 행렬 예측 부호화/복호화 방법 및 장치를 제공한다.
본 발명의 일 실시 형태는 양자화 행렬 사용 및 존재 유무를 복호화하는 단계, 양자화 행렬 예측 방법 정보를 복호화하는 단계, 양자화 행렬 간 예측 및 기본 행렬 사용을 위한 양자화 행렬 식별자를 복호화하는 단계, 양자화 행렬 내 계수를 예측 복호화하는 단계, 양자화 행렬을 복원하는 단계를 포함하고, 상기 양자화 행렬 간 예측 및 기본 행렬 사용을 위한 양자화 행렬 식별자를 복호화하는 단계는 복호화 시의 양자화 행렬 크기와 동일한 양자화 행렬로부터 양자화 행렬 예측을 수행하는 것을 특징으로 하는 양자화 행렬 예측 복호화 방법 및 장치이다.
본 발명에 의하면, 부호화/복호화 시의 양자화 행렬 크기와 동일한 양자화 행렬로부터 양자화 행렬 예측을 수행하는 양자화 행렬 예측 부호화/복호화 방법 및 장치를 제공하여 부호화 효율 향상 및 양자화 행렬 예측 자유도 증가가 가능하다.
도 1은 본 발명이 적용되는 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 2는 본 발명이 적용되는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 3은 하나의 유닛이 복수의 하위 유닛으로 분할되는 실시예를 개략적으로 나타내는 개념도이다.
도 4는 본 발명의 실시예에 따른 부호화 동작을 나타낸 개념도이다.
도 5는 기존의 양자화 행렬 예측 부호화/복호화 방법을 나타낸 개념도이다.
도 6은 본 발명의 실시예에 따른 부호화/복호화 시의 양자화 행렬 크기와 동일한 양자화 행렬로부터 양자화 행렬 예측을 수행하는 방법을 나타낸다.
도 7은 본 발명의 실시예에 따른 복호화 방법을 나타낸 순서도이다.
도 8은 본 발명의 실시예에 따른 양자화 행렬의 업샘플링을 나타낸 개념도이다.
도 9는 본 발명의 실시예에 따른 비정방형 변환 계수 블록에 사용하는 양자화 행렬을 생성하는 방법을 나타낸 개념도이다.
이하, 도면을 참조하여 본 발명의 실시예에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 해당 설명을 생략할 수도 있다.
본 명세서에서 어떤 구성 요소가 다른 구성 요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있는 것을 의미할 수도 있고, 중간에 다른 구성 요소가 존재하는 것을 의미할 수도 있다. 아울러, 본 명세서에서 특정 구성을 “포함”한다고 기술하는 내용은 해당 구성 이외의 구성을 배제하는 것이 아니며, 추가적인 구성이 본 발명의 실시 또는 본 발명의 기술적 사상의 범위에 포함될 수 있음을 의미한다.
제1, 제2 등의 용어는 다양한 구성들을 설명하는데 사용될 수 있지만, 상기 구성들은 상기 용어에 의해 한정되지 않는다. 상기 용어들은 하나의 구성을 다른 구성으로부터 구별하는 목적으로 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성은 제2 구성으로 명명될 수 있고, 유사하게 제2 구성도 제1 구성으로 명명될 수 있다.
또한 본 발명의 실시예에 나타나는 구성부들은 서로 다른 특징적인 기능을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성 단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두 개의 구성부가 하나의 구성부를 이루거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있다. 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리 범위에 포함된다.
또한, 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리범위에 포함된다.
우선, 설명의 편의를 도모하고 발명을 이해를 돕기 위해, 본 명세서에서 사용되는 용어들에 대하여 간략하게 설명한다.
유닛(unit)은 영상 부호화 및 복호화의 단위를 의미한다. 다시 말하면, 영상 부호화/복호화에 있어서 부호화 단위 혹은 복호화 단위라 함은, 하나의 영상을 세분화된 유닛으로 분할하여 부호화 혹은 복호화 할 때 그 분할된 단위를 말한다. 블록(block), 매크로 블록, 부호화 유닛(coding unit) 또는 예측 유닛(prediction unit) 또는 변환 유닛(transform unit) 또는 부호화 블록(coding block) 또는 예측 블록(prediction block) 또는 변환 블록(transform block) 등으로 부를 수 있다. 하나의 유닛은 크기가 더 작은 하위 유닛으로 분할될 수 있다.
변환 유닛(transform unit)은 변환, 역변환, 양자화, 역양자화, 변환 계수 부호화/복호화와 같이 잔차 블록(residual block)의 부호화/복호화를 수행함에 있어 기본 유닛 혹은 단위 유닛이며, 하나의 변환 유닛은 분할되어 크기가 다수의 작은 변환 유닛으로 분할될 수 있다. 또한, 변환 블록과 동일한 의미로 사용될 수 있으며, 휘도와 색차 신호에 대한 변환 블록에 관련된 구문 요소(syntax element)가 포함된 형태를 변환 유닛이라 지칭할 수도 있다.
양자화 행렬(quantization matrix)은 영상의 주관적 화질 혹은 객관적 화질을 향상시키기 위해서 양자화 혹은 역양자화 과정에서 이용되는 행렬을 의미한다. 양자화 행렬은 스케일링 리스트(scaling list)라고도 불린다.
양자화/역양자화에 사용되는 양자화 행렬은 비트스트림(bitstream)으로 전송될 수도 있고, 부호화기 및/혹은 복호화기가 이미 보유한 기본 행렬(default matrix)이 사용될 수도 있다. 전송되는 양자화 행렬의 정보는 시퀀스 파라미터 세트(SPS: sequence parameter set) 또는 픽처 파라미터 세트(PPS: picture parameter set)을 통해 양자화 행렬의 크기 혹은 양자화 행렬이 적용되는 변환 블록 크기 별로 일괄 전송될 수 있다. 예컨대, 예컨대, 4x4 변환 블록을 위한 4x4 양자화 행렬들이 전송되고, 8x8 변환 블록을 위한 8x8 행렬들이 전송되고, 16x16 변환 블록을 위한 16x16 행렬들이 전송되고, 32x32 변환 블록을 위한 32x32 행렬들이 전송될 수 있다.
현재 블록에 적용되는 양자화 행렬은 (1) 동일한 크기의 양자화 행렬을 복사하여 획득될 수도 있고, (2) 양자화 행렬 내 이전 행렬 계수(matrix coefficient)로부터 예측에 의해 생성될 수도 있다. 동일한 크기의 행렬은 이전에 부호화 혹은 복호화 혹은 사용된 양자화 행렬일 수도 있고, 참조 양자화 행렬일 수도 있으며 기본 양자화 행렬일 수도 있다. 혹은 이전에 부호화 혹은 복호화 혹은 사용된 양자화 행렬, 참조 양자화 행렬, 기본 양자화 행렬 중 적어도 둘을 포함하는 조합으로부터 선택적으로 결정될 수도 있다.
파라미터 세트(parameter set)는 비트스트림 내의 구조 중 헤더 정보에 해당하며, 시퀀스 파라미터 세트, 픽처 파라미터 세트, 적응 파라미터 세트(adaptation parameter set) 등을 통칭하는 의미를 가진다.
양자화 매개변수(quantization parameter)는 양자화 및 역양자화에서 사용되는 값으로서, 양자화 매개변수는 양자화 스텝 크기(step size)에 매핑된 값일 수 있다.
기본 행렬은 부호화기 및/혹은 복호화기에서 미리 정의되어 있는 소정의 양자화 행렬을 의미할 수 있으며, 본 명세서에서 후술될 기본 양자화 행렬은 기본 행렬과 동일한 의미로 사용될 수 있다. 비-기본 행렬(non-default matrix)은 부호화기 및/혹은 복호화기에서 미리 정의되지 않고, 부호화기에서 복호화기로 전송되는 즉, 사용자에 의해서 전송/수신되는 양자화 행렬을 의미할 수 있으며, 본 명세서에서 후술될 비-기본 양자화 행렬은 비-기본 행렬과 동일한 의미로 사용될 수 있다.
도 1은 본 발명이 적용되는 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 1을 참조하면, 상기 영상 부호화 장치(100)는 움직임 예측부(111), 움직임 보상부(112), 인트라 예측부(120), 스위치(115), 감산기(125), 변환부(130), 양자화부(140), 엔트로피 부호화부(150), 역양자화부(160), 역변환부(170), 가산기(175), 필터부(180) 및 참조 영상 버퍼(190)를 포함한다.
영상 부호화 장치(100)는 입력 영상에 대해 인트라(intra) 모드 또는 인터(inter) 모드로 부호화를 수행하고 비트스트림을 출력할 수 있다. 인트라 예측은 화면 내 예측, 인터 예측은 화면 간 예측을 의미한다. 인트라 모드인 경우 스위치(115)가 인트라로 전환되고, 인터 모드인 경우 스위치(115)가 인터로 전환될 수 있다. 영상 부호화 장치(100)는 입력 영상의 입력 블록에 대한 예측 블록을 생성한 후, 입력 블록과 예측 블록의 차분을 부호화할 수 있다. 이때, 입력 영상은 원 영상(original picture)를 의미할 수 있다.
인트라 모드인 경우, 인트라 예측부(120)는 현재 블록 주변의 이미 부호화된 블록의 픽셀값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다.
인터 모드인 경우, 움직임 예측부(111)는, 움직임 예측 과정에서 참조 영상 버퍼(190)에 저장되어 있는 참조 영상에서 입력 블록과 가장 매치가 잘 되는 영역을 찾아 움직임 벡터를 구할 수 있다. 움직임 보상부(112)는 움직임 벡터를 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다. 여기서, 움직임 벡터는 인터 예측에 사용되는 2차원 벡터이며, 현재 블록과 참조 영상 내 블록 사이의 오프셋을 나타낼 수 있다.
감산기(125)는 입력 블록과 생성된 예측 블록의 차분에 의해 잔차 블록을 생성할 수 있다. 변환부(130)는 잔차 블록에 대해 변환(transform)을 수행하여 변환 계수(transform coefficient)를 출력할 수 있다. 그리고 양자화부(140)는 입력된 변환 계수를 양자화 매개변수와 양자화 행렬 중 적어도 하나를 이용하여 양자화하여 양자화된 계수(quantized coefficient)를 출력할 수 있다. 이때, 양자화 행렬은 부호화기에 입력되어질 수 있으며, 입력되어진 양자화 행렬이 부호화기에서 사용되기로 결정될 수 있다.
엔트로피 부호화부(150)는, 양자화부(140)에서 산출된 값들 또는 부호화 과정에서 산출된 부호화 파라미터 값 등을 기초로 엔트로피 부호화를 수행하여 비트스트림(bit stream)을 출력할 수 있다. 엔트로피 부호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼(symbol)에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 부호화 대상 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 부호화를 통해서 영상 부호화의 압축 성능이 높아질 수 있다. 엔트로피 부호화부(150)는 엔트로피 부호화를 위해 지수-골롬 코드(Exponential-Golomb Code), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 부호화 방법을 사용할 수 있다.
도 1의 실시예에 따른 영상 부호화 장치는 인터 예측 부호화, 즉 화면 간 예측 부호화를 수행하므로, 현재 부호화된 영상은 참조 영상으로 사용되기 위해 복호화되어 저장될 필요가 있다. 따라서 양자화된 계수는 역양자화부(160)에서 역양자화되고 역변환부(170)에서 역변환된다. 역양자화 및 역변환된 계수는 복원된 잔차 블록이 되어 가산기(175)를 통해 예측 블록과 더해지고 복원 블록이 생성된다.
복원 블록은 필터부(180)를 거치고, 필터부(180)는 디블록킹 필터(deblocking filter), SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 중 적어도 하나 이상을 복원 블록 또는 복원 픽처에 적용할 수 있다. 필터부(180)는 인루프(in-loop) 필터로 불릴 수도 있다. 디블록킹 필터는 블록 간의 경계에 생긴 블록 왜곡을 제거할 수 있다. SAO는 코딩 에러를 보상하기 위해 픽셀값에 적정 오프셋(offset) 값을 더해줄 수 있다. ALF는 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. 필터부(180)를 거친 복원 블록은 참조 영상 버퍼(190)에 저장될 수 있다.
도 2는 본 발명이 적용되는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 2를 참조하면, 상기 영상 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 움직임 보상부(250), 가산기(255), 필터부(260) 및 참조 영상 버퍼(270)를 포함한다.
영상 복호화 장치(200)는 부호화기에서 출력된 비트스트림을 입력 받아 인트라 모드 또는 인터 모드로 복호화를 수행하고 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 인트라 모드인 경우 스위치가 인트라로 전환되고, 인터 모드인 경우 스위치가 인터로 전환될 수 있다. 영상 복호화 장치(200)는 입력 받은 비트스트림으로부터 복원된 잔차 블록(reconstructed residual block)을 얻고 예측 블록을 생성한 후 복원된 잔차 블록과 예측 블록을 더하여 재구성된 블록, 즉 복원 블록을 생성할 수 있다.
엔트로피 복호화부(210)는, 입력된 비트스트림을 확률 분포에 따라 엔트로피 복호화하여, 양자화된 계수(quantized coefficient) 형태의 심볼을 포함한 심볼들을 생성할 수 있다. 엔트로피 복호화 방법은 상술한 엔트로피 부호화 방법과 유사하다.
엔트로피 복호화 방법이 적용되는 경우, 높은 발생 확률을 갖는 심볼에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 각 심볼들에 대한 비트열의 크기가 감소될 수 있다.
양자화된 계수는 역양자화부(220)에서 양자화 매개변수를 이용해서 역양자화되고 역변환부(230)에서 역변환되며, 양자화된 계수가 역양자화/역변환된 결과, 복원된 잔차 블록이 생성될 수 있다.
역양자화에 사용되는 양자화 행렬은 스케일링 리스트라고도 불린다. 역양자화부(220)는 양자화된 계수에 양자화 행렬을 적용하여 역양자화된 계수를 생성할 수 있다.
이때 역양자화부(220)는 부호화기에서 적용된 양자화에 대응하여 역양자화를 수행할 수 있다. 예컨대, 역양자화부(220)는 부호화기에서 적용된 양자화 행렬을 양자화된 계수에 역으로 적용하여 역양자화를 수행할 수 있다.
영상 복호화 장치(200)에서 역양자화에 사용되는 양자화 행렬은 비트스트림으로부터 수신될 수도 있고, 부호화기 및/혹은 복호화기가 이미 보유한 기본 행렬이 사용될 수도 있다. 전송되는 양자화 행렬의 정보는 시퀀스 파라미터 세트 또는 픽처 파라미터 세트를 통해 양자화 행렬 크기 혹은 양자화 행렬이 적용되는 변환 블록 크기 별로 일괄 수신될 수 있다. 예컨대, 4x4 변환 블록을 위한 4x4 양자화 행렬들이 수신되고, 8x8 변환 블록을 위한 8x8 행렬들이 수신되고, 16x16 변환 블록을 위한 16x16 행렬들이 수신되고, 32x32 변환 블록을 위한 32x32 행렬들이 수신될 수 있다.
인트라 모드인 경우, 인트라 예측부(240)는 현재 블록 주변의 이미 복호화된 블록의 픽셀값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다. 인터 모드인 경우, 움직임 보상부(250)는 움직임 벡터 및 참조 영상 버퍼(270)에 저장되어 있는 참조 영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다.
복원된 잔차 블록과 예측 블록은 가산기(255)를 통해 더해지고, 더해진 블록은 필터부(260)를 거칠 수 있다. 필터부(260)는 디블록킹 필터, SAO, ALF 중 적어도 하나 이상을 복원 블록 또는 복원 픽처에 적용할 수 있다. 필터부(260)는 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 복원 영상은 참조 영상 버퍼(270)에 저장되어 인터 예측에 사용될 수 있다.
한편, 블록 분할 정보에는 유닛의 깊이(depth)에 관한 정보가 포함될 수 있다. 깊이 정보는 유닛이 분할되는 회수 및/또는 정도를 나타낼 수 있다.
도 3은 하나의 유닛이 복수의 하위 유닛으로 분할되는 실시예를 개략적으로 나타내는 개념도이다.
하나의 유닛 혹은 블록은 트리 구조(tree structure)를 기초로 깊이 정보를 가지고 계층적으로 분할될 수 있다. 각각의 분할된 하위 유닛은 깊이 정보를 가질 수 있다. 상기 깊이 정보는 유닛이 분할된 회수 및/또는 정도를 나타내므로, 상기 하위 유닛의 크기에 관한 정보를 포함할 수도 있다.
도 3의 310을 참조하면, 가장 상위 노드는 루트 노드(root node)로 불릴 수 있고, 가장 작은 깊이 값을 가질 수 있다. 이 때, 가장 상위 노드는 레벨 0의 깊이를 가질 수 있으며, 분할되지 않은 최초의 유닛을 나타낼 수 있다.
레벨 1의 깊이를 갖는 하위 노드는 최초 유닛이 한 번 분할된 유닛을 나타낼 수 있으며, 레벨 2의 깊이를 갖는 하위 노드는 최초의 유닛이 두 번 분할된 유닛을 나타낼 수 있다. 예를 들어, 도 3의 320에서 노드 a에 대응하는 유닛 a는 최초 유닛에서 한 번 분할된 유닛이고, 레벨 1의 깊이를 가질 수 있다.
레벨 3의 리프 노드(leaf node)는 최초 유닛이 3번 분할된 유닛을 나타낼 수 있다. 예를 들어, 도3의 320에서 노드 d에 대응하는 유닛 d는 최초 유닛에서 세 번 분할된 유닛이고, 레벨 3의 깊이를 가질 수 있다. 따라서, 가장 하위 노드인 레벨 3의 리프 노드는 가장 깊은 깊이를 가질 수 있다.
양자화 행렬(quantization matrix)은 영상의 주관적 혹은 객관적 화질을 향상시키기 위해 사용될 수 있다. 부호화기는 양자화(quantization) 과정에서 공간적 주파수(spatial frequency) 별로 다른 값을 이용해서 변환 계수를 양자화할 때 양자화 행렬을 사용할 수 있다. 복호화기에서는 역양자화(dequantization) 과정에서 공간적 주파수 별로 다른 값을 이용해서 변환 계수를 역양자화할 때 양자화 행렬을 사용할 수 있다.
양자화와 역양자화 과정에서 부호화기와 복호화기에서 미리 정의된 기본 행렬(default matrix)을 양자화 행렬로 사용할 수 있다. 또 다른 방법으로 부호화기 및 복호화기에서 개별적으로 정의한 양자화 행렬을 사용할 수도 있다. 이때, 사용자가 정의한 양자화 행렬은 비기본(non-default matrix) 행렬이라고 부를 수 있다. 부호화기는 비기본 행렬을 비트스트림(bitstream)에 부호화하여 복호화기로 전송할 수 있다.
종래의 양자화 행렬 예측 부호화/복호화 방법 및 장치는 부호화/복호화를 수행시의 양자화 행렬의 크기가 아닌 양자화 및 역양자화 시의 양자화 행렬의 크기를 기반으로 양자화 행렬 복사를 수행하였다. 따라서, 제한된 개수의 양자화 행렬들로부터 양자화 행렬을 복사하므로 양자화 행렬 부호화/복호화 시 부호화 효율 향상에 한계가 있었다.
이하에서는 이러한 문제점을 해결하기 위해 부호화/복호화 시의 양자화 행렬 크기와 동일한 양자화 행렬을 기반으로 양자화 행렬을 예측하는 방법에 대해 개시한다.
도 4는 본 발명의 실시예에 따른 부호화 동작을 나타낸 개념도이다.
도 4를 참조하면, 양자화 행렬을 결정한다(단계 S400).
양자화 행렬을 결정하는 단계에서는 양자화 과정에서 각 변환 계수 블록에 사용할 양자화 행렬을 결정할 수 있다. 부호화기와 복호화기에서 미리 정의된 기본(default) 행렬을 이용해서 양자화 과정에 필요한 양자화 행렬을 결정할 수 있다. 또는 부호화기에서 미리 정의되지 않은 비기본(non-default) 행렬을 기반으로 양자화 과정에 필요한 양자화 행렬을 결정할 수도 있다.
양자화 행렬은 다양한 변수에 의해 결정될 수 있다. 예를 들어, 양자화 행렬은 변환 계수 블록의 예측 모드(화면내 예측 모드 또는 화면간 예측 모드 등), 색 성분(휘도 또는 색차 등), 블록 크기(4x4, 8x8, 16x16, 32x32, 16x4, 4x16, 32x8, 8x32 등)를 기반으로 결정될 수 있다.
결정된 양자화 행렬이 부화될 시 다양한 포맷을 기반으로 부호화될 수 있다. 예를 들어, 16x16과 32x32 크기에 해당하는 변환 계수 블록의 양자화에 사용할 양자화 행렬은 양자화시 16x16과 32x32 크기의 양자화 행렬이 될 수 있다. 이러한 16x16과 32x32 크기의 양자화 행렬이 부호화시에는 8x8 크기의 양자화 행렬로 표현되어 부호화될 수 있다. 좀 더 구체적으로 16x16 또는 32x32 크기의 양자화 행렬을 기반으로 양자화를 수행하고, 해당 양자화 행렬에 대한 부호화를 수행할 때에는 부호화기에서 서브샘플링(subsampling), 또는 다운샘플링(downsampling) 등을 방법을 기반으로 16x16 또는 32x32 크기의 양자화 행렬을 8x8 크기의 양자화 행렬로 부호화할 수 있다.
또 다른 방법으로 작은 크기의 양자화 행렬을 기반으로 큰 크기의 양자화 행렬을 생성할 수도 있다. 예를 들어, 부호화기에서 8x8 크기의 양자화 행렬을 기반으로 8x8 크기의 양자화 행렬을 업샘플링(upsampling) 또는 인터폴레이션(interpolation) 등을 이용해 16x16 혹은 32x32 크기의 양자화 행렬로 생성하여 양자화 시 사용할 수 있다. 부호화시에는 8x8 크기의 양자화 행렬을 부호화할 수 있다.
표 1은 설정된 양자화 행렬의 일 예를 나타낸다.
<표 1>
Figure pat00001
Figure pat00002
표 1을 참조하면, 예측 방법(화면 내 예측인지 화면 간 예측인지 여부), 블록에 포함된 화소의 종류 및 블록의 크기에 따라 서로 다른 행렬을 사용할 수 있다.
표 1은 하나의 예시로서 다양한 방법에 의해 사용되는 양자화 행렬이 결정될 수 있다.
양자화 행렬 사용 여부 및 양자화 행렬의 존재 여부에 대한 정보를 부호화한다(단계 S410).
양자화 행렬 사용 및 존재 유무를 나타내는 정보를 파라미터 세트(parameter set)에 부호화할 수 있다. 파라미터 세트는 예를 들어, 시퀀스 파라미터 세트(sequence parameter set) 또는 픽쳐 파라미터 세트(picture parameter set)일 수 있다.
아래의 표 2는 시퀀스 파라미터 세트 및 픽쳐 파라미터 세트에 포함되는 양자화 행렬 사용 여부 및 양자화 행렬의 존재 여부에 대한 정보를 나타낸다.
<표 2>
Figure pat00003
Figure pat00004
표 2에서 scaling_list_enable_flag는 양자화 행렬의 사용 유무를 나타내는 정보이고, sps_scaling_list_data_present_flag는 시퀀스 파라미터 내에 양자화 행렬이 존재하는지 여부를 나타내는 정보이다. pps_ scaling_list_data_present_flag는 픽쳐 파라미터 내에 양자화 행렬이 존재하는지 여부를 나타내는 정보이다.
표 2의 구문 요소의 예와 같이, 양자화 행렬의 사용 유무를 나타내는 정보인 scaling_list_enable_flag를 시퀀스 파라미터 세트에 부호화할 수 있다. 예를 들어, scaling_list_enable_flag가 0인 경우, 양자화/역양자화 과정에서 양자화 행렬을 사용하지 않음을 지시하고, scaling_list_enable_flag가 1인 경우, 양자화/역양자화 과정에서 양자화 행렬을 사용함을 지시할 수 있다.
또한, 양자화 행렬의 시퀀스 파라미터 내 존재 유무를 나타내는 정보인 sps_scaling_list_data_present_flag를 시퀀스 파라미터 세트에 부호화할 수 있다. 예를 들어, sps_scaling_list_data_present_flag 가 0인 경우 시퀀스 파라미터 내에 양자화 행렬이 존재하지 않음을 지시할 수 있고, sps_scaling_list_data_present_flag 가 1인 경우, 시퀀스 파라미터 내에 양자화 행렬이 존재함을 지시할 수 있다.
또한, 양자화 행렬의 픽쳐 파라미터 내 존재 유무를 나타내는 정보인 pps_scaling_list_data_present_flag 를 픽쳐 파라미터 세트에 부호화할 수 있다. pps_scaling_list_data_present_flag가 0인 경우 픽쳐 파라미터 세트 내에 양자화 행렬이 존재하지 않으므로 시퀀스 파라미터 세트의 양자화 행렬을 참조하도록 지시할 수 있다. pps_scaling_list_data_present_flag가 1 경우 픽쳐 파라미터 내에 양자화 행렬을 존재시켜 시퀀스 파라미터 세트 내의 양자화 행렬을 대체함을 지시할 수 있다.
표 2에서 개시한 파라미터는 양자화 행렬 사용 및 존재 유무를 지시하기 위한 파라미터의 하나의 예로서 양자화 행렬 사용 및 존재 유무를 지시하기 위해 다른 파라미터가 사용될 수도 있다.
양자화 행렬 예측 방법 정보를 부호화한다(단계 S420).
양자화 행렬을 예측하는 방법에 대한 정보를 부호화하기 위해 양자화 행렬의 예측 부호화 방법 종류에 대해 결정하고, 결정된 양자화 행렬의 예측 부호화 방법 정보를 파라미터 세트에 부호화할 수 있다. 파라미터 세트는 예를 들어, 시퀀스 파라미터 혹은 픽쳐 파라미터 세트일 수 있다.
아래의 표 3은 양자화 행렬 예측 방법 정보를 부호화하는 방법을 나타낸 표이다.
<표 3>
Figure pat00005
표 3에 개시된 scaling_list_pred_mode_flag는 양자화 행렬 예측 방법에 대한 플래그 정보이다. scaling_list_pred_size_matrix_id_delta는 양자화 행렬의 참조 양자화 행렬에 대한 식별자 정보를 포함하는 구문요소일 수 있다.
표 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에 대해서는 이하에서 추가적으로 기술한다.
sizeID는 아래의 표 4와 같이 변환 계수 블록의 크기 또는 양자화 행렬 크기를 의미할 수 있고, matrixID 값은 아래의 표 5와 같이 예측 모드(prediction mode) 및 색 성분(color component)을 의미하는 양자화 행렬 종류를 의미할 수 있다.
<표 4>
Figure pat00006
<표 5>
Figure pat00007
양자화 행렬 간 예측 및 기본 행렬 사용을 위한 양자화 행렬 식별자를 부호화한다(단계 S430).
도 5는 기존의 양자화 행렬 예측 부호화/복호화 방법을 나타낸 개념도이다.
도 5를 참조하면, 부호화/복호화 시의 양자화 행렬 크기가 아닌 양자화와 역양자화 시의 양자화 행렬 크기를 이용하여 양자화 행렬 복사를 수행한다.
도 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)로부터 예측이 불가능하다.
즉, 양자화와 역양자화 시의 양자화 행렬 크기를 구분하는 sizeID가 서로 다른 양자화 행렬 간에는 예측이 불가능하다. 따라서 종래의 양자화 행렬 예측 부호화/복호화 방법 및 장치는 제한된 개수의 양자화 행렬들로부터 양자화 행렬을 복사하므로 양자화 행렬 복사 자유도의 한계가 있으며, 양자화 행렬 부호화/복호화 시 부호화 효율 향상에 한계가 있다.
아래에서는 기존의 양자화 행렬 예측 부호화 방법 및 장치의 문제점을 해결하기 위해 부호화 시의 양자화 행렬 크기와 동일한 양자화 행렬로부터 양자화 행렬 예측을 수행하는 방법에 대해 개시한다.
부호화 시의 크기가 4x4인 양자화 행렬은 양자화/역양자화 시에도 4x4 크기를 가지지만, 부호화 시의 크기가 8x8인 양자화 행렬은 양자화/역양자화 시에 8x8, 16x16 또는 32x32 크기를 가질 수 있다. 따라서, 양자화/역양자화 시에 8x8, 16x16 또는 32x32 크기를 가지는 양자화 행렬들은 부호화 시에는 서로 동일한 8x8 크기를 가지기 때문에 양자화 행렬 간 예측을 수행할 수 있다. 즉, 부호화시 동일한 크기 (8x8)의 양자화 행렬이 전송되지만, 양자화/역양자화시에 서로 다른 크기 (8x8, 16x16, 혹은 32x32)의 양자화 행렬로 유도되는 경우, 부호화시 같은 크기의 양자화 행렬간(부호화 시 8x8 크기간)에만 예측을 허용하고 부호화 시 다른 크기의 양자화 행렬 간(복호화 시 4x4 크기와 8x8 크기 간)의 예측은 허용하지 않을 수 있다.
양자화 행렬의 예측 부호화 방법이 양자화 행렬 간 예측을 위해 참조 양자화 행렬과 동일하게 결정하는 방법 혹은 기본 행렬을 사용하는 방법 (scaling_list_pred_mode_flag = 0)이면, 부호화 대상 양자화 행렬의 양자화 행렬 식별자인 scaling_list_pred_size_matrix_id_delta를 파라미터 세트에 부호화할 수 있다. 파라미터 세트는 예를 들어, 시퀀스 파라미터 세트 혹은 픽쳐 파라미터 세트일 수 있다.
전술한 표 3의 구문 요소를 다시 참조하면, 부호화 대상 양자화 행렬 계수값을 참조 양자화 행렬 계수값과 동일하게 결정한 경우 또는 부호화 대상 양자화 행렬 계수값을 기본 행렬 계수 값과 동일하게 결정한 경우, 부호화 대상 양자화 행렬의 참조 양자화 행렬 식별자인 scaling_list_pred_size_matrix_id_delta 를 파라미터 세트에 부호화할 수 있다.
이때, 부호화 대상 양자화 행렬의 행렬 정보인 matrixID, 참조 양자화 행렬 및 기본 행렬의 행렬 정보인 RefMatrixID, 부호화 대상 양자화 행렬의 크기 정보인 sizeID, 참조 양자화 행렬 및 기본 행렬의 크기 정보인 RefSizeID, 부호화 대상 양자화 행렬의 크기 및 행렬 정보인 Size_Matrix_ID와 아래의 식을 이용해서 양자화 행렬 식별자인 scaling_list_pred_size_matrix_id_delta 를 결정할 수 있다.
<수학식 1>
Figure pat00008
이때, RefMap은 표 6의 예와 같이 Size_Matrix_ID와 RefSizeID 및 RefMatrixID 간의 관계를 나타낸 매핑 테이블이다.
<표 6>
Figure pat00009
이때, 양자화/역양자화 시의 양자화 행렬의 크기가 다르지만 부호화 시의 양자화 행렬 크기는 동일하기 때문에 부호화시 8x8 크기의 양자화 행렬 종류에 따라 양자화 행렬 식별자는 순차적으로 할당될 수 있다.
RefMap을 이용한 방법은 부호화시 8x8 크기의 양자화 행렬에 대해서 적용될 수 있고, 부호화시 4x4 크기의 양자화 행렬에 대해서는 적용되지 않을 수 있다. 부호화시 4x4 크기의 양자화 행렬은 아래의 수학식 2를 기반으로 양자화 행렬 식별자인 scaling_list_pred_size_matrix_id_delta를 결정할 수 있다. 즉, 부호화 시의 양자화 행렬 크기에 따라 양자화 행렬 예측 방법이 서로 달라질 수 있으며, 양자화 행렬 식별자 결정 방법도 달라질 수 있다.
<수학식 2>
Figure pat00010
부호화시 8x8 크기의 양자화 행렬이며, 부호화 대상 양자화 행렬 계수 값을 부호화기/복호화기에서 미리 정해진 기본 행렬 계수 값과 동일하게 결정한 경우, scaling_list_pred_size_matrix_id_delta의 값을 0으로 부호화하여, RefMatrixID 값과 matrixID 값을 동일하게 하고, RefSizeID 값과 sizeID 값을 동일하게 할 수 있다. 이때, 기본 행렬은 sizeID와 matrixID에 해당하는 기본 행렬을 의미한다.
복호화시 4x4 크기의 양자화 행렬이며, 부호화 대상 양자화 행렬 계수 값을 부호화기/복호화기에서 미리 정해진 기본 행렬 계수 값과 동일하게 결정한 경우, scaling_list_pred_size_matrix_id_delta 값을 0으로 부호화하여, RefMatrixID 값과 matrixID 값을 동일하게 한다. 이때, 기본 행렬은 sizeID와 matrixID에 해당하는 기본 행렬을 의미한다.
부호화시 8x8 크기의 양자화 행렬이며, 부호화 대상 양자화 행렬 계수 값을 참조 양자화 행렬 계수값과 동일하게 결정한 경우, scaling_list_pred_size_matrix_id_delta의 값을 0이 아닌 값으로 부호화하여, RefMatrixID의 값과 RefSizeID의 값에 해당하는 참조 양자화 행렬로부터 행렬 간 예측을 수행하게 한다. 양자화/역양자화시 행렬 크기가 16x16 또는 32x32일 경우에는 DC 행렬 계수를 포함할 수 있다. 따라서 양자화/역양자화시 행렬 크기가 16x16 또는 32x32인 양자화 행렬로부터 예측시 DC 행렬 계수도 함께 예측할 수 있다.
부호화시 4x4 크기의 양자화 행렬이며, 부호화 대상 양자화 행렬 계수 값을 참조 양자화 행렬 계수 값과 동일하게 결정한 경우, scaling_list_pred_size_matrix_id_delta 값을 0이 아닌 값으로 부호화하여, RefMatrixID 값에 해당하는 참조 양자화 행렬로부터 행렬 간 예측을 수행하도록 할 수 있다.
또한, 부호화 대상 양자화 행렬의 Size_Matrix_ID보다 더 큰 값을 가지는 양자화 행렬로부터는 행렬 간 예측을 수행하지 못 하게 할 수 있으며, 양자화 행렬 식별자 scaling_list_pred_size_matrix_id_delta는 특정한 값(예를 들어, 0에서 13) 사이의 값을 가지도록 설정할 수 있다. 양자화 행렬 식별자의 최대값이 특정된 경우, 지수-골롬 코드 (Exponential-Golomb code)가 아닌 절삭된 1진 코드 (Truncated Unary)를 이용하여 부호화 효율을 향상시킬 수 있다.
만약, 양자화와 역양자화 시의 양자화 행렬 크기를 이용하여 양자화 행렬 복사를 수행할 경우, 양자화와 역양자화 시 4x4, 8x8 또는 16x16 크기를 가지는 양자화 행렬의 양자화 행렬 식별자는 0에서 5 사이의 값을 가지도록 제약할 수 있고, 양자화와 역양자화시 32x32의 크기를 가지는 양자화 행렬의 양자화 행렬 식별자는 0에서 1 사이의 값을 가지도록 제약할 수 있다. 양자화와 역양자화 시의 크기별로 양자화 행렬 식별자의 최대값이 제약되어 있으므로 지수-골롬 코드 (Exponential-Golomb code)가 아닌 절삭된 1진 코드 (Truncated Unary)를 이용하면 부호화 효율을 향상시킬 수 있다.
도 6은 본 발명의 실시예에 따른 부호화/복호화 시의 양자화 행렬 크기와 동일한 양자화 행렬로부터 양자화 행렬 예측을 수행하는 방법을 나타낸다.
도 6을 참조하면, 부호화/복호화 시의 양자화 행렬 크기를 이용하여 양자화 행렬 복사를 수행할 수 있다.
도 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)로부터 예측이 가능하다.
즉, 양자화와 역양자화 시의 양자화 행렬 크기를 구분하는 sizeID가 서로 다르지만 부호화/복호화 시의 양자화 행렬 크기가 동일한 경우에는 양자화 행렬 간 예측이 가능하다.
따라서 부호화/복호화 시의 양자화 행렬 크기와 동일한 양자화 행렬로부터 양자화 행렬 예측을 수행하는 방법을 기반으로 부호화/복호화 시의 양자화 행렬 크기와 동일한 양자화 행렬로부터 양자화 행렬 예측이 가능하기 때문에 부호화 효율 향상 및 양자화 행렬 예측 자유도 증가가 가능하다.
양자화 행렬 내 계수를 예측 부호화한다(단계 S440).
양자화 행렬의 예측 부호화 방법이 양자화 행렬 내 계수를 예측 부호화하기 위해 스캔과 DPCM과 지수-골롬 코드로 부호화하는 방법 (scaling_list_pred_mode_flag = 1)이면, 양자화 행렬 내에서 이전에 부호화된 양자화 행렬 계수 값과 부호화 대상 양자화 행렬 계수 값의 차분 값을 파라미터 세트에 부호화할 수 있다. 파라미터 세트는 예를 들어, 시퀀스 파라미터 세트 혹은 픽쳐 파라미터 세트일 수 있다.
표 7은 양자화 행렬에서 DC 계수를 부호화하는 방법을 나타낸다.
<표 7>
Figure pat00011
표 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)를 이용해서 부호화할 수 있다.
표 7의 구문 요소의 예와 같이, 양자화 행렬 내에서 이전에 부호화된 양자화 행렬 계수값과 부호화 대상 양자화 행렬 계수값의 차분값인 scaling_list_delta_coef를 파라미터 세트에 부호화할 수 있다. 이때, scaling_list_delta_coef는 4x4 크기의 양자화 행렬을 부호화할 때는 4x4 양자화 행렬 내 계수들의 개수인 총 16개를 부호화하며, 8x8 크기 이상의 변환 계수 블록에 사용하는 양자화 행렬을 부호화할 때는 8x8 양자화 행렬 내 계수들의 개수인 총 64개를 부호화할 수 있다.
첫번째 과정으로, 2차원 양자화 행렬 내의 계수들에 대해서 1차원 형태의 계수 배열로 정렬하기 위한 스캔을 수행할 수 있다.
두 번째 과정으로, 상기 스캔 방법에 의해서 부호화 대상 양자화 행렬 계수를 1차원 형태의 계수 배열 내에서 이전 순서 상에 위치하는 양자화 행렬 계수와의 차분 값인 scaling_list_delta_coef 을 생성할 수 있다. 이때, 차분 값은 DPCM을 이용해서 계산된 값일 수 있으며, 이전 순서상에 위치하는 양자화 행렬 계수는 부호화 대상 양자화 행렬 계수의 바로 이전에 존재하는 계수일 수 있다. 또한, 1차원 형태의 계수 배열 내의 첫번째 계수는 예측 대상이 되는 이전 순서 상에 위치하는 양자화 행렬 계수가 없으므로, 소정의 상수 값을 이용해서 차분 값을 생성할 수 있고, sizeID가 1보다 클 경우에는 DC 행렬 계수을 이용해서 차분 값을 생성할 수 있다. 이때, 소정의 상수 값은 1~255 사이의 값일 수 있으며, 특히 8 혹은 16일 수 있다.
세번째 과정으로, 상기 계산된 차분 값인 scaling_list_delta_coef을 지수-골롬 코드 (Exponential-Golomb code)로 부호화한다. 이때, 차분 값은 부호(sign) 정보를 가지므로 부호를 가진 지수-골롬 코드 (Signed Exponental-Golomb code)로 부호화될 수 있다. scaling_list_delta_coef의 값은 -254~254 사이의 값으로 한정될 수 있으며, -254~254 범위 사이의 값으로 부호화될 수 있다.
도 7은 본 발명의 실시예에 따른 복호화 방법을 나타낸 순서도이다.
도 7을 참조하면, 양자화 행렬 사용 및 존재 유무를 복호화한다(단계 S700).
양자화 행렬 사용 및 존재 유무를 복호화하는 단계에서는 비트스트림 내 양자화 행렬 사용 및 존재 유무를 나타내는 정보를 파라미터 세트에서 복호화할 수 있다. 이때, 파라미터 세트는 시퀀스 파라미터 세트 혹은 픽쳐 파라미터 세트일 수 있다.
표 2의 구문 요소의 예와 같이, 양자화 행렬의 사용 유무를 나타내는 정보인 scaling_list_enable_flag를 시퀀스 파라미터 세트에서 복호화할 수 있다. 이때, scaling_list_enable_flag가 0이면 역양자화 과정에서 양자화 행렬을 사용하지 않고, scaling_list_enable_flag가 1이면 역양자화 과정에서 양자화 행렬을 사용할 수 있다.
표 2의 구문 요소의 예와 같이, 양자화 행렬의 시퀀스 파라미터 내 존재 유무를 나타내는 정보인 sps_scaling_list_data_present_flag를 시퀀스 파라미터 세트에서 복호화할 수 있다. 이때, sps_scaling_list_data_present_flag가 0이면 시퀀스 파라미터 내에 양자화 행렬이 존재하지 않고, sps_scaling_list_data_present_flag가 1이면 시퀀스 파라미터 내에 양자화 행렬이 존재할 수 있다.
표 2의 구문 요소 예와 같이, 양자화 행렬의 픽쳐 파라미터 내 존재 유무를 나타내는 정보인 pps_scaling_list_data_present_flag 를 픽쳐 파라미터 세트에서 복호화할 수 있다. 이때, pps_scaling_list_data_present_flag가 0이면 픽쳐 파라미터 세트 내에 양자화 행렬이 존재하지 않으며 시퀀스 파라미터 세트의 양자화 행렬을 참조하고, pps_scaling_list_data_present_flag가 1이면 픽쳐 파라미터 내에 양자화 행렬이 존재하며 픽쳐 파라미터 내의 양자화 행렬로 시퀀스 파라미터 세트 내의 양자화 행렬을 대체할 수 있다.
양자화 행렬 예측 방법 정보를 복호화한다(단계 S710).
양자화 행렬의 예측 복호화 방법 정보를 파라미터 세트에서 복호화하여 양자화 행렬의 예측 복호화 방법 종류에 대해 결정할 수 있다. 파라미터 세트는 예를 들어, 시퀀스 파라미터 세트 또는 픽쳐 파라미터 세트일 수 있다.
표 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이면 양자화 행렬 간 예측을 위해 복호화 대상 양자화 행렬 계수 값을 참조 양자화 행렬 계수 값과 동일한 값을 가지도록 결정하거나 또는 복호화 대상 양자화 행렬 계수 값을 기본 행렬 계수 값과 동일하게 결정할 수 있다. 이때, 동일한 값을 가지도록 결정하는 것은 특정 양자화 행렬 계수값을 복호화 대상 양자화 행렬 계수 값으로 복사하는 양자화 행렬 예측 방법을 의미할 수 있다.
양자화 행렬 간 예측 및 기본 행렬 사용을 위한 양자화 행렬 식별자를 복호화한다(단계 S720).
기존의 양자화 행렬 예측 복호화 방법 및 장치의 문제점을 해결하기 위해 복호화 시의 양자화 행렬 크기와 동일한 양자화 행렬로부터 양자화 행렬 예측을 수행할 수 있다.
복호화 시의 크기가 4x4인 양자화 행렬은 역양자화시에도 4x4 크기를 가지지만, 복호화 시의 크기가 8x8인 양자화 행렬은 역양자화시에 8x8, 16x16, 또는 32x32 크기를 가질 수 있다. 따라서, 역양자화시에 8x8, 16x16, 또는 32x32 크기를 가지는 양자화 행렬들은 복호화시에는 서로 동일한 8x8 크기를 가지기 때문에 양자화 행렬간 예측을 수행할 수 있다. 즉, 동일한 크기 (8x8)의 양자화 행렬이 복호화되지만, 양자화/역양자화시에 서로 다른 크기 (8x8, 16x16 또는 32x32)의 양자화 행렬로 유도되는 경우, 복호화시 같은 크기의 양자화 행렬간(복호화시 8x8 크기간)에만 예측을 허용하고 복호화시 다른 크기의 양자화 행렬간(복호화시 4x4 크기와 8x8 크기간)의 예측은 허용하지 않을 수 있다.
양자화 행렬의 예측 복호화 방법이 양자화 행렬 간 예측을 위해 참조 양자화 행렬과 동일하게 결정하는 방법 또는 기본 행렬을 사용하는 방법 (scaling_list_pred_mode_flag=0)이면, 복호화 대상 양자화 행렬의 양자화 행렬 식별자 scaling_list_pred_size_matrix_id_delta를 파라미터 세트에서 복호화할 수 있다. 이때, 파라미터 세트는 시퀀스 파라미터 세트 혹은 픽쳐 파라미터 세트일 수 있다.
표 3의 구문 요소 예와 같이, 복호화 대상 양자화 행렬 계수 값을 참조 양자화 행렬 계수값과 동일하게 결정한 경우 또는 복호화 대상 양자화 행렬 계수 값을 기본 행렬 계수값과 동일하게 결정한 경우, 복호화 대상 양자화 행렬의 참조 양자화 행렬 식별자인 scaling_list_pred_size_matrix_id_delta를 파라미터 세트에서 복호화할 수 있다.
이때, 양자화 행렬 식별자인 scaling_list_pred_size_matrix_id_delta와 복호화 대상 양자화 행렬의 크기 및 행렬 정보인 Size_Matrix_ID와 아래의 식을 이용해서 참조 양자화 행렬 및 기본 행렬의 행렬 정보인 RefMatrixID와 참조 양자화 행렬 및 기본 행렬의 크기 정보인 RefSizeID를 결정할 수 있다.
<수학식 3>
Figure pat00012
<수학식 4>
Figure pat00013
이때, RefMap은 표 6의 예와 같이 Size_Matrix_ID와 RefSizeID 및 RefMatrixID 간의 관계를 나타낸 매핑 테이블이다. 이때, 역양자화 시의 양자화 행렬의 크기가 다르지만 복호화 시의 양자화 행렬 크기는 동일하기 때문에 복호화 시 8x8 크기의 양자화 행렬 종류에 따라 양자화 행렬 식별자는 순차적으로 할당될 수 있다.
상기 RefMap을 이용한 방법은 복호화시 8x8 크기의 양자화 행렬에 대해서 적용될 수 있고, 복호화시 4x4 크기의 양자화 행렬에 대해서는 적용되지 않을 수 있다. 복호화시 4x4 크기의 양자화 행렬은 아래의 식을 이용해서 참조 양자화 행렬 및 기본 행렬의 행렬 정보인 RefMatrixID를 결정할 수 있다. 즉, 복호화 시의 양자화 행렬 크기에 따라 양자화 행렬 예측 방법이 서로 달라질 수 있으며, 참조 양자화 행렬 결정 방법도 달라질 수 있다.
<수학식 5>
Figure pat00014
복호화시 8x8 크기의 양자화 행렬의 경우, RefMatrixID값이 matrixID값과 동일하고 RefSizeID 값이 sizeID 값과 동일하면, sizeID와 matrixID에 해당하는 복호화 대상 양자화 행렬 계수 값은 부호화기/복호화기에서 미리 정해진 기본 행렬 계수 값과 동일하게 결정한다. 이때, 기본 행렬은 sizeID와 matrixID에 해당하는 기본 행렬을 의미한다. 그리고, scaling_list_pred_matrix_id_delta 값이 0이면, RefMatrixID 값과 matrixID 값은 동일하고 RefSizeID 값이 sizeID 값과 동일한 것을 의미한다.
복호화시 4x4 크기의 양자화 행렬의 경우, RefMatrixID 값이 matrixID 값과 동일하면, sizeID와 matrixID에 해당하는 복호화 대상 양자화 행렬 계수값은 부호화기/복호화기에서 미리 정해진 기본 행렬 계수 값과 동일하게 결정한다. 이때, 기본 행렬은 sizeID와 matrixID에 해당하는 기본 행렬을 의미한다. 그리고, scaling_list_pred_matrix_id_delta 값이 0이면, RefMatrixID 값과 matrixID 값은 동일한 것을 의미한다.
복호화 시 8x8 크기의 양자화 행렬의 경우, RefMatrixID 값이 matrixID 값과 동일하지 않고 RefSizeID 값이 sizeID 값과 동일하지 않으면, RefMatrixID와 RefSizeID에 해당하는 양자화 행렬을 복호화 대상 양자화 행렬의 참조 양자화 행렬로 결정하고, 복호화 대상 양자화 행렬 계수 값을 참조 양자화 행렬 계수 값과 동일하게 결정한다. 복호화 대상 양자화 행렬 계수 값을 참조 양자화 행렬 계수 값과 동일하게 결정하는 것은 RefMatrixID와 RefSizeID 에 해당하는 참조 양자화 행렬을 복호화 대상 양자화 행렬의 참조 양자화 행렬로 결정하고, 참조 양자화 행렬 계수 값을 복호화 대상 양자화 행렬 계수 값으로 복사하는 양자화 행렬 예측 방법을 의미할 수 있다. 역양자화 시 행렬 크기가 16x16 혹은 32x32일 경우에는 DC 행렬 계수를 포함할 수 있다. 따라서 역양자화 시 행렬 크기가 16x16 혹은 32x32인 양자화 행렬로부터 예측 시 DC 행렬 계수도 함께 예측할 수 있다.
복호화시 4x4 크기의 양자화 행렬의 경우, RefMatrixID 값이 matrixID 값과 동일하지 않으면, RefMatrixID에 해당하는 양자화 행렬을 복호화 대상 양자화 행렬의 참조 양자화 행렬로 결정하고, 복호화 대상 양자화 행렬 계수 값을 참조 양자화 행렬 계수 값과 동일하게 결정한다.
또한, 복호화 대상 양자화 행렬의 Size_Matrix_ID보다 더 큰 값을 가지는 양자화 행렬로부터는 행렬 간 예측을 수행하지 못 하게 제약할 수 있으며, 양자화 행렬 식별자 scaling_list_pred_size_matrix_id_delta가 0에서 13 사이의 값을 가질 때 양자화 행렬 간 예측 및 기본 행렬을 사용할 수 있다. 양자화 행렬 식별자의 최대값이 제약되어 있으므로 지수-골롬 코드 (Exponential-Golomb code)가 아닌 절삭된 1진 코드 (Truncated Unary)를 이용할 수 있다.
만약, 역양자화 시의 양자화 행렬 크기를 이용하여 양자화 행렬 복사를 수행할 경우, 역양자화 시 4x4, 8x8 혹은 16x16 크기를 가지는 양자화 행렬의 양자화 행렬 식별자가 0에서 5 사이의 값을 가질 때 양자화 행렬 간 예측 및 기본 행렬을 사용할 수 있고, 역양자화 시 32x32 크기를 가지는 양자화 행렬의 양자화 행렬 식별자가 0에서 1 사이의 값을 가질 때 양자화 행렬 간 예측 및 기본 행렬을 사용할 수 있다. 역양자화 시의 크기 별로 양자화 행렬 식별자의 최대값이 제약되어 있으므로 지수-골롬 코드 (Exponential-Golomb code)가 아닌 절삭된 1진 코드 (Truncated Unary)를 이용할 수 있다.
양자화 행렬 내 계수를 예측 복호화한다(단계S730).
양자화 행렬의 예측 복호화 방법이 양자화 행렬 내 계수를 예측 복호화하기 위해 지수-골롬 코드와 역DPCM과 스캔을 이용하여 복호화하는 방법 (scaling_list_pred_mode_flag=1)이면, 양자화 행렬 내에서 이전에 복호화된 양자화 행렬 계수 값과 복호화 대상 양자화 행렬 계수 값의 차분값을 파라미터 세트에서 복호화할 수 있다. 이때, 파라미터 세트는 시퀀스 파라미터 세트 또는 픽쳐 파라미터 세트일 수 있다.
표 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 사이의 값일 수 있다.
표 7의 구문 요소의 예와 같이, 양자화 행렬 내에서 이전에 복호화된 양자화 행렬 계수값과 복호화 대상 양자화 행렬 계수값의 차분값인 scaling_list_delta_coef를 파라미터 세트에서 복호화할 수 있다. 이때, scaling_list_delta_coef는 4x4 크기의 양자화 행렬을 복호화할 때는 4x4 양자화 행렬 내 계수들의 개수인 총 16개를 복호화하며, 8x8 크기 이상의 변환 계수 블록에 사용하는 양자화 행렬을 복호화할 때는 8x8 양자화 행렬 내 계수들의 개수인 총 64개를 복호화한다. 아래는 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차원 형태의 계수 배열에 복호화된 순서대로 저장될 수 있다.
두 번째 과정으로, 상기 복호화된 차분 값을 1차원 형태의 계수 배열 내에서 이전 순서 상에 위치하는 양자화 행렬 계수와 합을 계산하여 복호화 대상 양자화 행렬 계수인 nextCoef 혹은 scalingList[i] 를 복원한다. 이때, i는 1차원 형태의 계수 배열 내에서 순서를 의미한다. 복호화 대상 양자화 행렬 계수는 역 DPCM (inverse DPCM)을 이용해서 계산된 값일 수 있으며, 이전 순서 상에 위치하는 양자화 행렬 계수는 복호화 대상 양자화 행렬 계수의 바로 이전에 존재하는 계수일 수 있다. 또한, 1차원 형태의 계수 배열 내의 첫 번째 계수는 예측 대상이 되는 이전 순서 상에 위치하는 양자화 행렬 계수가 없으므로, 소정의 상수 값을 이용해서 복원될 수 있고, sizeID가 1보다 클 경우에는 DC 행렬 계수을 이용해서 복원될 수 있다. 이때, 소정의 상수 값은 1~255 사이의 값일 수 있으며, 특히 8 혹은 16일 수 있다. 복원된 양자화 행렬 계수는 1~255 사이의 값일 수 있다.
세 번째 과정으로, 1차원 형태의 복원된 양자화 행렬 계수 배열을 2차원 양자화 행렬로 정렬하기 위한 스캔을 수행한다.
양자화 행렬을 복원한다(단계 S740).
2차원 양자화 행렬로 정렬된 복원된 양자화 행렬 계수들은 역양자화 시에 사용될 2차원 양자화 행렬로 복원된다. 이때, 업샘플링(upsampling), 인터폴레이션(interpolation), DC 행렬 계수 대체, 또는 서브샘플링(subsampling) 등을 이용하여 2차원 양자화 행렬을 복원할 수 있으며, 양자화 행렬을 복원하는 실시예는 아래와 같다.
예를 들어, 4x4, 8x8, 16x16, 32x32 등의 정방형 변환 계수 블록의 역양자화에 사용하는 양자화 행렬은 아래와 같은 방법으로 복원할 수 있다.
수학식 6과 같이 4x4 크기의 변환 계수 블록의 역양자화에 사용하는 양자화 행렬은 상기 정렬된 2차원 4x4 크기의 양자화 행렬을 그대로 이용할 수 있다.
<수학식 6>
Figure pat00015
수학식 7과 같이 8x8 크기의 변환 계수 블록의 역양자화에 사용하는 양자화 행렬은 상기 정렬된 2차원 8x8 크기의 양자화 행렬을 그대로 이용할 수 있다.
<수학식 7>
Figure pat00016
도 8은 본 발명의 실시예에 따른 양자화 행렬의 업샘플링을 나타낸 개념도이다.
도 8을 참조하면, 수학식 8과 같이 16x16 크기의 변환 계수 블록의 역양자화에 사용하는 양자화 행렬은 도 8과 같이 상기 정렬된 2차원 8x8 크기의 양자화 행렬을 가장 가까운 이웃 계수로부터 복사하는 업샘플링을 수행하여 16x16 크기의 양자화 행렬로 복원할 수 있다. 그리고, 양자화 행렬 내 DC 위치, 즉 (0, 0) 위치에 존재하는 양자화 행렬 계수는 DC 행렬 계수 값인 scaling_list_dc_coef_minus8 + 8의 값으로 대체될 수 있다.
<수학식 8>
Figure pat00017
수학식 9와 같이 32x32 크기의 변환 계수 블록의 역양자화에 사용하는 양자화 행렬은 도 8과 같은 방법으로 상기 정렬된 2차원 8x8 크기의 양자화 행렬을 가장 가까운 이웃 계수로부터 복사하는 업샘플링을 수행하여 32x32 크기의 양자화 행렬로 복원할 수 있다. 그리고, 양자화 행렬 내 DC 위치, 즉 (0, 0) 위치에 존재하는 양자화 행렬 계수는 DC 행렬 계수 값인 scaling_list_dc_coef_minus8 + 8의 값으로 대체될 수 있다.
<수학식 9>
Figure pat00018
도 9는 본 발명의 실시예에 따른 비정방형 변환 계수 블록에 사용하는 양자화 행렬을 생성하는 방법을 나타낸 개념도이다.
도 9를 참조하면, 16x4, 4x16, 32x8, 8x32 등의 비정방형 변환 계수 블록에 사용하는 양자화 행렬은 아래와 같은 방법으로 복원할 수 있다.
수학식 10과 같이 16x4 크기의 변환 계수 블록에 사용하는 양자화 행렬은 도 9의 (A)와 같이 상기 16x16 크기의 복원된 양자화 행렬을 y 위치 (행, 수직 방향)에 대해 서브샘플링을 수행하여 16x4 크기의 양자화 행렬로 복원할 수 있다.
<수학식 10>
Figure pat00019
수학식 11과 같이 4x16 크기의 변환 계수 블록에 사용하는 양자화 행렬은 도 9의 (B)와 같이 상기 16x16 크기의 복원된 양자화 행렬을 x 위치 (열, 수평 방향)에 대해 서브샘플링을 수행하여 4x16 크기의 양자화 행렬로 복원할 수 있다.
<수학식 11>
Figure pat00020
수학식 12와 같이 32x8 크기의 변환 계수 블록에 사용하는 양자화 행렬은 도 9의 (A)와 같은 방법으로 상기 32x32 크기의 복원된 양자화 행렬을 y 위치 (행, 수직 방향)에 대해 서브샘플링을 수행하여 32x8 크기의 양자화 행렬로 복원할 수 있다.
<수학식 12>
Figure pat00021
수학식 13과 같이 8x32 크기의 변환 계수 블록에 사용하는 양자화 행렬은 도 9의 (B)와 같은 방법으로 상기 32x32 크기의 복원된 양자화 행렬을 x 위치 (열, 수평 방향)에 대해 서브샘플링을 수행하여 8x32 크기의 양자화 행렬로 복원할 수 있다.
<수학식 13>
Figure pat00022
만약, 부호화기와 복호화기에서 미리 정의된 기본 행렬이 메모리 저장 공간 감소를 위해서 16x16/32x32 크기 변환 계수 블록의 역양자화에 사용되는 기본 행렬이 8x8 크기의 기본 행렬로 존재한다면, 아래의 식과 같이 가장 가까운 이웃 계수로부터 복사하는 업샘플링을 수행하여 16x16/32x32 크기의 양자화 행렬로 복원될 수 있다.
수학식 14와 같이 16x16 크기의 변환 계수 블록의 역양자화에 사용하는 기본 행렬은 도 8과 같은 방법으로 8x8 크기의 기본 행렬을 가장 가까운 이웃 계수로부터 복사하는 업샘플링을 수행하여 16x16 크기의 양자화 행렬로 복원할 수 있다.
<수학식 14>
Figure pat00023
수학식 15와 같이 32x32 크기의 변환 계수 블록의 역양자화에 사용하는 기본 행렬은 도 8과 같은 방법으로 8x8 크기의 기본 행렬을 가장 가까운 이웃 계수로부터 복사하는 업샘플링을 수행하여 32x32 크기의 양자화 행렬로 복원할 수 있다.
<수학식 15>
Figure pat00024
위의 수학식들에서 QM(x, y)은 정렬된 2차원 4x4 크기의 양자화 행렬을 의미하며, RQM(x, y)는 복원된 양자화 행렬을 의미하며, DQM(x, y)는 기본 행렬을 의미한다.
가장 가까운 이웃 계수로부터 복사하는 업샘플링 방법은 최근접 이웃 보간법(nearest neighbor interpolation) 혹은 0차 인터폴레이션 (zeroth order interpolation)의 방법이라고 부를 수 있다.
상술한 실시예에서, 양자화/역양자화시 비정방형 16x4 또는 4x16크기의 양자화 행렬은 정방형 16x16 크기의 양자화 행렬로부터 유도되기 때문에 양자화/역양자화 시의 16x16 크기의 양자화 행렬로 표현된 것은 정방형 16x16 크기의 양자화 행렬뿐만 아니라 비정방형 16x4 혹은 4x16 크기의 양자화 행렬을 의미할 수 있고, 양자화/역양자화시 비정방형 32x8 혹은 8x32크기의 양자화 행렬은 정방형 32x32 크기의 양자화 행렬로부터 유도되기 때문에 양자화/역양자화 시의 32x32 크기의 양자화 행렬로 표현된 것은 정방형 32x32 크기의 양자화 행렬뿐만 아니라 비정방형 32x8 혹은 8x32 크기의 양자화 행렬을 의미할 수 있다.
양자화 행렬 정보란 양자화 행렬 혹은 양자화 행렬을 유도할 수 있는 정보를 의미한다. 이때, 양자화 행렬을 유도할 수 있는 정보는 기본 행렬 사용 여부 혹은 예측 부호화/복호화 방법 종류 혹은 참조 양자화 행렬 식별자 혹은 참조 양자화 행렬 등을 의미할 수 있다.
상술한 실시예들에서, 방법들은 일련의 단계 또는 유닛으로서 순서도를 기초로 설명되고 있으나, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당해 기술 분야에서 통상의 지식을 가진 자라면 순서도에 나타난 단계들이 배타적이지 않고, 다른 단계가 포함되거나, 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.
상술한 실시예는 다양한 양태의 예시들을 포함한다. 다양한 양태들을 나타내기 위한 모든 가능한 조합을 기술할 수는 없지만, 해당 기술 분야의 통상의 지식을 가진 자는 다른 조합이 가능함을 인식할 수 있을 것이다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.

Claims (3)

  1. 현재 양자화 행렬의 정보를 복호화하는 단계;
    상기 현재 양자화 행렬의 정보를 기초로 현재 양자화 행렬을 복원하는 단계;
    상기 복원된 현재 양자화 행렬을 기반으로 현재 블록에 대한 역양자화를 수행하는 단계; 및
    상기 역양자화된 현재 블록을 역변환하는 단계를 포함하고,
    상기 현재 양자화 행렬의 정보는 현재 양자화 행렬 예측 방법 정보 및 상기 현재 양자화 행렬의 참조 양자화 행렬을 나타내는 정보 중 적어도 하나를 포함하고,
    상기 현재 양자화 행렬을 복원하는 단계는,
    상기 양자화 행렬 예측 방법 정보가 현재 양자화 행렬이 참조 양자화 행렬과 동일한 계수 값을 가지도록 결정됨을 나타낼 때, 상기 참조 양자화 행렬을 나타내는 정보에 따라 참조 양자화 행렬을 결정하는 단계; 및
    상기 참조 양자화 행렬에 따라, 상기 현재 양자화 행렬을 복원하는 단계를 포함하고,
    상기 복원된 현재 양자화 행렬은 정방형인 것을 특징으로 하고,
    상기 복원된 현재 양자화 행렬을 기반으로 상기 현재 블록에 대한 역양자화를 수행하는 단계는,
    상기 현재 블록이 비정방형 블록일 때, 상기 현재 양자화 행렬을 상기 현재 블록의 크기에 따라 서브샘플링함으로써, 상기 현재 블록의 크기와 동일한 비정방형 양자화 행렬을 생성하는 단계; 및
    상기 비정방형 양자화 행렬을 기반으로 상기 현재 블록에 대한 역양자화를 수행하는 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법.
  2. 현재 양자화 행렬을 결정하는 단계;
    상기 현재 양자화 행렬에 기초하여 현재 양자화 행렬의 정보를 결정하고, 상기 결정된 현재 양자화 행렬의 정보를 부호화하는 단계;
    현재 블록에 대한 변환을 수행하는 단계; 및
    상기 현재 양자화 행렬을 기반으로 상기 변환된 현재 블록에 대한 양자화를 수행하는 단계를 포함하고,
    상기 현재 양자화 행렬의 정보는 현재 양자화 행렬 예측 방법 정보 및 상기 현재 양자화 행렬의 참조 양자화 행렬을 나타내는 정보 중 적어도 하나를 포함하고,
    상기 현재 양자화 행렬의 정보를 부호화하는 단계는,
    현재 양자화 행렬이 참조 양자화 행렬과 동일한 계수 값을 가지도록 결정될 때, 상기 현재 양자화 행렬의 참조 양자화 행렬에 따라 상기 참조 양자화 행렬을 나타내는 정보를 결정하는 단계를 포함하고,
    상기 현재 양자화 행렬은 정방형인 것을 특징으로 하고,
    상기 현재 양자화 행렬을 기반으로 상기 현재 블록에 대한 양자화를 수행하는 단계는,
    상기 현재 블록이 비정방형 블록일 때, 상기 현재 양자화 행렬을 상기 현재 블록의 크기에 따라 서브샘플링함으로써, 상기 현재 블록의 크기와 동일한 비정방형 양자화 행렬을 생성하는 단계; 및
    상기 비정방형 양자화 행렬을 기반으로 상기 현재 블록에 대한 양자화를 수행하는 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법.
  3. 영상 부호화 방법에 의해 생성된 비트스트림을 저장한 컴퓨터 판독 가능한 기록 매체로서, 상기 영상 부호화 방법은,
    현재 양자화 행렬을 결정하는 단계;
    상기 현재 양자화 행렬에 기초하여 현재 양자화 행렬의 정보를 결정하고, 상기 결정된 현재 양자화 행렬의 정보를 부호화하는 단계;
    현재 블록에 대한 변환을 수행하는 단계; 및
    상기 현재 양자화 행렬을 기반으로 상기 변환된 현재 블록에 대한 양자화를 수행하는 단계를 포함하고,
    상기 현재 양자화 행렬의 정보는 현재 양자화 행렬 예측 방법 정보 및 상기 현재 양자화 행렬의 참조 양자화 행렬을 나타내는 정보 중 적어도 하나를 포함하고,
    상기 현재 양자화 행렬의 정보를 부호화하는 단계는,
    현재 양자화 행렬이 참조 양자화 행렬과 동일한 계수 값을 가지도록 결정될 때, 상기 현재 양자화 행렬의 참조 양자화 행렬에 따라 상기 참조 양자화 행렬을 나타내는 정보를 결정하는 단계를 포함하고,
    상기 현재 양자화 행렬은 정방형인 것을 특징으로 하고,
    상기 현재 양자화 행렬을 기반으로 상기 현재 블록에 대한 양자화를 수행하는 단계는,
    상기 현재 블록이 비정방형 블록일 때, 상기 현재 양자화 행렬을 상기 현재 블록의 크기에 따라 서브샘플링함으로써, 상기 현재 블록의 크기와 동일한 비정방형 양자화 행렬을 생성하는 단계; 및
    상기 비정방형 양자화 행렬을 기반으로 상기 현재 블록에 대한 양자화를 수행하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 판독 가능한 기록 매체.
KR1020210031529A 2012-06-28 2021-03-10 양자화 행렬의 부호화 방법 및 복호화 방법과 이를 이용하는 장치 KR102349435B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220001684A KR20220005623A (ko) 2012-06-28 2022-01-05 양자화 행렬의 부호화 방법 및 복호화 방법과 이를 이용하는 장치

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR20120070212 2012-06-28
KR1020120070212 2012-06-28
KR1020130075276A KR102228577B1 (ko) 2012-06-28 2013-06-28 양자화 행렬의 부호화 방법 및 복호화 방법과 이를 이용하는 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020130075276A Division KR102228577B1 (ko) 2012-06-28 2013-06-28 양자화 행렬의 부호화 방법 및 복호화 방법과 이를 이용하는 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020220001684A Division KR20220005623A (ko) 2012-06-28 2022-01-05 양자화 행렬의 부호화 방법 및 복호화 방법과 이를 이용하는 장치

Publications (2)

Publication Number Publication Date
KR20210031666A true KR20210031666A (ko) 2021-03-22
KR102349435B1 KR102349435B1 (ko) 2022-01-11

Family

ID=50140258

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020130075276A KR102228577B1 (ko) 2012-06-28 2013-06-28 양자화 행렬의 부호화 방법 및 복호화 방법과 이를 이용하는 장치
KR1020210031529A KR102349435B1 (ko) 2012-06-28 2021-03-10 양자화 행렬의 부호화 방법 및 복호화 방법과 이를 이용하는 장치
KR1020220001684A KR20220005623A (ko) 2012-06-28 2022-01-05 양자화 행렬의 부호화 방법 및 복호화 방법과 이를 이용하는 장치
KR1020230026092A KR20230035009A (ko) 2012-06-28 2023-02-27 양자화 행렬의 부호화 방법 및 복호화 방법과 이를 이용하는 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020130075276A KR102228577B1 (ko) 2012-06-28 2013-06-28 양자화 행렬의 부호화 방법 및 복호화 방법과 이를 이용하는 장치

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020220001684A KR20220005623A (ko) 2012-06-28 2022-01-05 양자화 행렬의 부호화 방법 및 복호화 방법과 이를 이용하는 장치
KR1020230026092A KR20230035009A (ko) 2012-06-28 2023-02-27 양자화 행렬의 부호화 방법 및 복호화 방법과 이를 이용하는 장치

Country Status (2)

Country Link
US (1) US20230219151A1 (ko)
KR (4) KR102228577B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11202073B2 (en) 2018-09-19 2021-12-14 Mediatek Inc. Methods and apparatuses of quantization scaling of transform coefficients in video coding system
EP3917142A4 (en) * 2018-12-26 2022-11-09 Electronics and Telecommunications Research Institute METHOD AND DEVICE FOR ENCODING/DECODING QUANTIFICATION MATRIX AND RECORDING MEDIUM WITH BITSTREAM STORED THEREON

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
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
KR20220005623A (ko) 2022-01-13
KR102349435B1 (ko) 2022-01-11
US20230219151A1 (en) 2023-07-13
KR102228577B1 (ko) 2021-03-16
KR20230035009A (ko) 2023-03-10
KR20140004018A (ko) 2014-01-10

Similar Documents

Publication Publication Date Title
KR102462009B1 (ko) 영상 부호화 방법 및 컴퓨터로 읽을 수 있는 기록 매체
KR102129352B1 (ko) 색차 성분 양자화 매개 변수 결정 방법 및 이러한 방법을 사용하는 장치
KR102313195B1 (ko) 양자화 행렬의 부호화 방법 및 복호화 방법과 이를 이용하는 장치
JP7422913B2 (ja) 変換に基づく映像コーディング方法及びその装置
KR20220127948A (ko) 적응적인 화소 분류 기준에 따른 인루프 필터링 방법
KR20230035009A (ko) 양자화 행렬의 부호화 방법 및 복호화 방법과 이를 이용하는 장치

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