KR102646890B1 - 영상을 부호화 또는 복호화하는 방법 및 장치 - Google Patents
영상을 부호화 또는 복호화하는 방법 및 장치 Download PDFInfo
- Publication number
- KR102646890B1 KR102646890B1 KR1020227040175A KR20227040175A KR102646890B1 KR 102646890 B1 KR102646890 B1 KR 102646890B1 KR 1020227040175 A KR1020227040175 A KR 1020227040175A KR 20227040175 A KR20227040175 A KR 20227040175A KR 102646890 B1 KR102646890 B1 KR 102646890B1
- Authority
- KR
- South Korea
- Prior art keywords
- pixel
- value
- probability
- unit
- probability model
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 230000009466 transformation Effects 0.000 abstract description 81
- 238000013139 quantization Methods 0.000 abstract description 60
- 239000000284 extract Substances 0.000 abstract description 3
- 230000033001 locomotion Effects 0.000 description 156
- 239000013598 vector Substances 0.000 description 77
- 238000006073 displacement reaction Methods 0.000 description 59
- 238000010586 diagram Methods 0.000 description 42
- 230000008569 process Effects 0.000 description 33
- 230000002457 bidirectional effect Effects 0.000 description 32
- 238000012805 post-processing Methods 0.000 description 32
- 230000008859 change Effects 0.000 description 17
- 238000006243 chemical reaction Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 11
- 230000002123 temporal effect Effects 0.000 description 7
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000005286 illumination Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 230000004069 differentiation Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
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/103—Selection of coding mode or of prediction mode
- H04N19/109—Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/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/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- 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/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
- H04N19/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- 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/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/18—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 a set of transform coefficients
-
- 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/182—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 a pixel
-
- 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/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/192—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
- H04N19/194—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/436—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
- H04N19/45—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder performing compensation of the inverse transform mismatch, e.g. Inverse Discrete Cosine Transform [IDCT] mismatch
-
- 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/46—Embedding additional information in the video signal during the compression process
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/537—Motion estimation other than block-based
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/57—Motion estimation characterised by a search window with variable size or shape
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
개시된 일 실시예에 따른 영상 복호화 방법 및 장치는 비트스트림으로부터 코어 변환, 세컨더리 변환 및 양자화를 통해 생성된 양자화 계수를 추출하고, 양자화 계수에 대해 역양자화를 수행하여 역양자화 계수를 생성하고, 역양자화 계수의 저주파수 성분에 대해 세컨더리 변환에 대응하는 세컨더리 역변환을 수행하여 세컨더리 역변환된 계수를 생성하고, 세컨더리 역변환된 계수에 대해 코어 변환에 대응하는 코어 역변환을 수행한다.
Description
영상의 부호화 및 복호화 방법 및 장치에 관한 것으로, 보다 구체적으로는 예측, 움직임 보상, 변환 및 엔트로피 코딩을 보다 효율적으로 수행하는 영상 부호화, 복호화 방법 및 장치에 관한 것이다.
영상 데이터는 소정의 데이터 압축 표준, 예를 들면 MPEG(Moving Picture Expert Group) 표준에 따른 코덱에 의하여 부호화된 후 비트스트림의 형태로 기록매체에 저장되거나 통신 채널을 통해 전송된다.
고해상도 또는 고화질 영상 컨텐트를 재생, 저장할 수 있는 하드웨어의 개발 및 보급에 따라, 고해상도 또는 고화질 영상 컨텐트를 효과적으로 부호화 또는 복호화 하는 코덱(codec)의 필요성이 증대하고 있다. 부호화된 영상 컨텐트는 복호화됨으로써 재생될 수 있다. 최근에는 이러한 고해상도 또는 고화질 영상 컨텐트를 효과적으로 압축하기 위한 방법들이 실시되고 있다. 예를 들면, 부호화 하려는 영상을 임의적 방법으로 처리하는 과정을 통한 효율적 영상 압축 방법이 실시되고 있다.
해결하고자 하는 기술적 과제는 영상 압축 효율을 증대시키는 영상 부호화 또는 영상 복호화 방법과 영상 부호화 장치 또는 영상 복호화 장치를 제공하는데 있다.
상기 기술적 과제를 해결하기 위한 일 실시예에 따른 영상 복호화 방법은 비트스트림으로부터 코어 변환, 세컨더리 변환 및 양자화를 통해 생성된 양자화 계수를 추출하는 단계; 상기 양자화 계수에 대해 역양자화를 수행하여 역양자화 계수를 생성하는 단계; 상기 역양자화 계수의 저주파수 성분에 대해 상기 세컨더리 변환에 대응하는 세컨더리 역변환을 수행하여 세컨더리 역변환된 계수를 생성하는 단계; 및 상기 세컨더리 역변환된 계수에 대해 상기 코어 변환에 대응하는 코어 역변환을 수행하는 단계를 포함한다.
또한, 일 실시예에 따른 영상 복호화 방법에서, 상기 비트스트림으로부터 상기 세컨더리 역변환 수행 여부에 관한 정보를 획득하는 단계를 더 포함하고, 상기 세컨더리 역변환은 상기 세컨더리 역변환 수행 여부에 관한 정보에 기초하여 수행될 수 있다.
또한, 일 실시예에 따른 영상 복호화 방법에서, 상기 세컨더리 역변환은 변환 블록 내의 서브 그룹 단위로 수행되고, 상기 서브 그룹의 크기는 상기 변환 블록의 크기 또는 양자화 파라미터에 기초하여 결정될 수 있다.
또한, 일 실시예에 따른 영상 복호화 방법에서, 상기 서브 그룹의 위치에 기초하여 상기 서브 그룹에 대해 수행되는 상기 세컨더리 역변환의 타입이 결정될 수 있다.
일 실시예에 따른 엔트로피 복호화 방법은 수신된 비트스트림으로부터, 제 1 확률 모델 및 제 2 확률 모델을 이용하여 이전 빈의 산술 복호화에 이용된 이전 확률 정보를 업데이트하여 현재 빈의 산술 복호화에 이용되는 확률 정보를 획득하는 단계; 상기 획득된 확률 정보에 기초하여 산술 복호화를 수행하여 상기 빈을 획득하는 단계; 및 상기 획득된 빈을 역 이진화하여 구문 요소를 획득하는 단계를 포함하고, 상기 제 1 확률 모델 및 상기 제 2 확률 모델은 상기 현재 빈의 이전에 복호화된 빈의 개수를 나타내는 윈도우의 크기를 이용하며, 상기 제 1 확률 모델의 윈도우의 크기는 상기 제 2 확률 모델의 윈도우의 크기보다 작다.
또한, 일 실시예에 따른 엔트로피 복호화 방법에서, 상기 제 1 확률 모델의 윈도우의 크기 및 상기 제 2 확률 모델의 윈도우의 크기는 상기 비트스트림으로부터 획득될 수 있다.
또한, 일 실시예에 따른 엔트로피 복호화 방법에서, 상기 제 1 확률 모델의 윈도우의 크기 또는 상기 제 2 확률 모델의 윈도우의 크기 중 하나는 고정된 값을 가질 수 있다.
일 실시예에 따른 영상 복호화 방법은 수신된 비트스트림으로부터 복호화되는 현재 블록의 예측 모드 정보를 추출하는 단계; 상기 추출된 예측 모드 정보에 따라서 상기 현재 블록에 대한 제 1 예측 블록을 생성하는 단계; 상기 비트스트림으로부터 상기 제 1 예측 블록을 구성하는 각 픽셀과 상기 각 픽셀의 주변 픽셀들을 이용한 연산 정보를 추출하는 단계; 상기 추출된 연산 정보에 따라서 상기 제 1 예측 블록을 구성하는 각 픽셀과 상기 각 픽셀의 상측 및 좌측에 위치한 픽셀들의 연산을 통해 상기 각 픽셀의 픽셀값을 변경하여 제 2 예측 블록을 생성하는 단계; 상기 비트스트림으로부터 상기 현재 블록과 상기 제 2 예측 블록의 차이값에 해당하는 레지듀얼을 추출하여 복원하는 단계; 및 상기 레지듀얼과 상기 제 2 예측 블록을 가산하여 상기 현재 블록을 복호화하는 단계를 포함하고, 상기 연산 정보는 파라미터 인덱스 정보를 포함하고, 상기 파라미터 인덱스 정보는 상기 제 1 예측 블록을 구성하는 각 픽셀에 적용되는 제 1 가중치 파라미터, 상기 각 픽셀의 상측에 위치한 픽셀에 적용되는 제 2 가중치 파라미터 및 상기 각 픽셀의 좌측에 위치한 픽셀에 적용되는 제 3 가중치 파라미터를 포함한다.
또한, 일 실시예에 따른 영상 복호화 방법에서, 상기 파라미터 인덱스 정보는 2Nx2N 및 NxN 크기의 부호화 단위에 대해 정의될 수 있다.
또한, 일 실시예에 따른 영상 복호화 방법에서, 상기 파라미터 인덱스 정보는 상기 예측 모드 정보에 포함될 수 있다.
또한, 일 실시예에 따른 영상 복호화 방법에서, 상기 파라미터 인덱스 정보는 부호화 단위 또는 예측 단위 레벨에서 상기 비트스트림으로부터 획득될 수 있다.
일 실시예에 따른 영상 복호화 방법은 비트스트림을 수신하는 단계; 상기 비트스트림으로부터 추출된 픽셀 단위 움직임 보상의 제한 여부에 관한 정보에 기초하여 현재 블록에 대해 픽셀 단위 움직임 보상을 수행할지 여부를 결정하는 단계; 상기 픽셀 단위 움직임 보상을 수행하는 경우, 상기 비트스트림으로부터 제 1 참조 픽처 및 제 2 참조 픽처에서 현재 블록과 가장 유사한 제 1 대응 영역 및 제 2 대응 영역을 가리키는 제 1 움직임 벡터 및 제 2 움직임 벡터에 관한 정보를 추출하는 단계; 상기 제 1 움직임 벡터 및 상기 제 2 움직임 벡터를 이용하여 상기 현재 블록에 대한 블록 단위 양방향 움직임 보상을 수행하는 단계; 상기 제 1 참조 픽처 및 상기 제 2 참조 픽처의 픽셀들을 이용하여 상기 현재 블록의 각 픽셀에 대한 픽셀 단위 움직임 보상을 수행하는 단계; 및 상기 블록 단위 양방향 움직임 보상 결과와 상기 픽셀 단위 움직임 보상 결과를 이용하여 상기 현재 블록에 대한 양방향 움직임 예측값을 생성하는 단계를 포함한다.
또한, 일 실시예에 따른 영상 복호화 방법에서, 상기 픽셀 단위 움직임 보상의 제한 여부에 관한 정보는, CBF(Coded Block Flag), 유도된 움직임 정보를 사용하여 움직임 보상을 수행할지 여부를 나타내는 정보, 로컬 조도 보상을 수행할지 여부를 나타내는 정보 및 어파인 움직임 보상을 수행할지 여부를 나타내는 정보 중 적어도 하나를 포함하고, 상기 CBF가 0이 아니거나, 상기 유도된 움직임 정보를 사용하여 움직임 보상을 수행하거나, 상기 로컬 조도 보상을 수행하거나, 상기 어파인 움직임 보상을 수행하는 경우, 상기 픽셀 단위 움직임 보상을 수행하는 단계는 수행되지 않을 수 있다.
또한, 일 실시예에 따른 영상 복호화 방법에서, 상기 픽셀 단위 움직임 보상을 수행하는 단계는, 상기 현재 블록의 각 픽셀과 대응되는 상기 제 1 참조 픽처의 제 1 대응 픽셀의 수평 및 수직 방향 경사도값, 상기 현재 블록의 각 픽셀과 대응되는 제 2 참조 픽처의 제 2 대응 픽셀의 수평 및 수직 방향 경사도값, 및 상기 제 1 참조 픽처 및 제 2 참조 픽처의 픽셀들을 이용하여 결정된 수평 방향 변위 벡터 및 수직 방향 변위 벡터를 이용하여 상기 현재 블록의 각 픽셀의 픽셀 단위 움직임 보정값을 생성할 수 있다.
또한, 일 실시예에 따른 영상 복호화 방법에서, 상기 수평 방향 변위 벡터 및 수직 방향 변위 벡터는, 소정 크기의 윈도우 영역 내의 상기 제 1 참조 픽처의 제 1 대응 픽셀을 상기 수평 방향 변위 벡터 및 수직 방향 변위 벡터와 상기 제 1 대응 픽셀의 수평 및 수직 방향 경사도값을 이용하여 변위시킨 제 1 변위값과, 상기 제 2 참조 픽처의 제 2 대응 픽셀을 상기 수평 방향 변위 벡터 및 수직 방향 변위 벡터와 상기 제 2 대응 픽셀의 수평 및 수직 방향 경사도값을 이용하여 변위시킨 제 2 변위값 사이의 차이값이 최소가 되도록 하는 수평 및 수직 방향 변위 벡터로 결정될 수 있다.
본 개시에 따라 다양한 실시예에 따라 제공되는 영상 부호화 방법 및 장치, 그에 상응하는 영상 복호화 방법 및 장치는, 예측, 움직임 보상, 변환 및 엔트로피 코딩을 보다 효율적으로 수행하는 효과를 제공할 수 있다.
도 1은 일 실시예에 따른 영상 부호화 장치의 구성을 나타낸 블록도이다.
도 2는 일 실시예에 따른 영상 복호화 장치의 구성을 나타낸 블록도이다.
도 3은 일 실시예에 따른 코어 변환 및 세컨더리 역변환을 수행하는 영상 부호화 및 복호화 장치의 개략적인 구성을 나타낸 블록도이다.
도 4는 일 실시예에 따른 세컨더리 역변환의 수행 단위인 서브 그룹을 나타내기 위한 도면이다.
도 5는 일 실시예에 따른 세컨더리 역변환이 수행되는 범위를 나타내기 위한 도면이다.
도 6은 일 실시예에 따른 영상 복호화 방법을 나타낸 플로우 차트이다.
도 7은 일 실시예에 따른 엔트로피 부호화부의 구성을 나타낸 블록도이다.
도 8은 확률 모델의 업데이트 과정을 간략하게 나타낸 도면이다.
도 9는 일 실시예에 따라 제 1 확률 모델 및 제 2 확률 모델 각각에 대해 업데이트된 확률을 비교하기 위한 도면이다.
도 10은 일 실시예에 따른 엔트로피 복호화부의 구성을 나타낸 블록도이다.
도 11은 일 실시예에 따른 엔트로피 복호화 방법을 나타낸 플로우 차트이다.
도 12는 일 실시예에 따른 후처리부를 포함하는 영상 부호화 장치의 구성을 나타낸 블록도이다.
도 13은 16×16 인트라 예측 모드의 일 예를 나타낸 도면이다.
도 14는 4×4 인트라 예측 모드의 일 예를 나타낸 도면이다.
도 15는 일 실시예에 따른 제 1 예측 블록의 후처리 동작을 설명하기 위한 참조도이다.
도 16은 일 실시예에 따른 후처리부의 동작을 설명하기 위한 다른 참조도이다.
도 17은 일 실시예에 따른 후처리부를 포함하는 영상 복호화 장치의 구성을 나타낸 블록도이다.
도 18은 일 실시예에 따른 영상 부호화 방법을 나타낸 플로우 차트이다.
도 19는 일 실시예에 따른 영상 복호화 방법을 나타낸 플로우 차트이다.
도 20은 일 실시예에 따른 움직임 보상부의 구성을 나타낸 블록도이다.
도 21은 일 실시예에 따른 블록 기반 양방향 움직임 예측 및 보상 과정을 설명하기 위한 참조도이다.
도 22는 일 실시예에 따른 픽셀 단위 움직임 보상을 수행하는 과정을 설명하기 위한 참조도이다.
도 23은 일 실시예에 따라서 수평 방향 변위 벡터 및 수직 방향 변이 벡터를 결정하는 과정을 설명하기 위한 참조도이다.
도 24는 일 실시예에 따라서 수평 및 수직 방향 경사도값을 계산하는 과정을 설명하기 위한 참조도이다.
도 25는 다른 실시예에 따라서 수평 및 수직 방향 경사도값을 계산하는 과정을 설명하기 위한 참조도이다.
도 26은 다른 실시예에 따른 경사도값 계산 필터의 필터 계수를 나타낸 표이다.
도 27은 일 실시예에 따른 영상 부호화 방법을 나타낸 플로우 차트이다.
도 28은 일 실시예에 따른 영상 복호화 방법을 나타낸 플로우 차트이다.
도 2는 일 실시예에 따른 영상 복호화 장치의 구성을 나타낸 블록도이다.
도 3은 일 실시예에 따른 코어 변환 및 세컨더리 역변환을 수행하는 영상 부호화 및 복호화 장치의 개략적인 구성을 나타낸 블록도이다.
도 4는 일 실시예에 따른 세컨더리 역변환의 수행 단위인 서브 그룹을 나타내기 위한 도면이다.
도 5는 일 실시예에 따른 세컨더리 역변환이 수행되는 범위를 나타내기 위한 도면이다.
도 6은 일 실시예에 따른 영상 복호화 방법을 나타낸 플로우 차트이다.
도 7은 일 실시예에 따른 엔트로피 부호화부의 구성을 나타낸 블록도이다.
도 8은 확률 모델의 업데이트 과정을 간략하게 나타낸 도면이다.
도 9는 일 실시예에 따라 제 1 확률 모델 및 제 2 확률 모델 각각에 대해 업데이트된 확률을 비교하기 위한 도면이다.
도 10은 일 실시예에 따른 엔트로피 복호화부의 구성을 나타낸 블록도이다.
도 11은 일 실시예에 따른 엔트로피 복호화 방법을 나타낸 플로우 차트이다.
도 12는 일 실시예에 따른 후처리부를 포함하는 영상 부호화 장치의 구성을 나타낸 블록도이다.
도 13은 16×16 인트라 예측 모드의 일 예를 나타낸 도면이다.
도 14는 4×4 인트라 예측 모드의 일 예를 나타낸 도면이다.
도 15는 일 실시예에 따른 제 1 예측 블록의 후처리 동작을 설명하기 위한 참조도이다.
도 16은 일 실시예에 따른 후처리부의 동작을 설명하기 위한 다른 참조도이다.
도 17은 일 실시예에 따른 후처리부를 포함하는 영상 복호화 장치의 구성을 나타낸 블록도이다.
도 18은 일 실시예에 따른 영상 부호화 방법을 나타낸 플로우 차트이다.
도 19는 일 실시예에 따른 영상 복호화 방법을 나타낸 플로우 차트이다.
도 20은 일 실시예에 따른 움직임 보상부의 구성을 나타낸 블록도이다.
도 21은 일 실시예에 따른 블록 기반 양방향 움직임 예측 및 보상 과정을 설명하기 위한 참조도이다.
도 22는 일 실시예에 따른 픽셀 단위 움직임 보상을 수행하는 과정을 설명하기 위한 참조도이다.
도 23은 일 실시예에 따라서 수평 방향 변위 벡터 및 수직 방향 변이 벡터를 결정하는 과정을 설명하기 위한 참조도이다.
도 24는 일 실시예에 따라서 수평 및 수직 방향 경사도값을 계산하는 과정을 설명하기 위한 참조도이다.
도 25는 다른 실시예에 따라서 수평 및 수직 방향 경사도값을 계산하는 과정을 설명하기 위한 참조도이다.
도 26은 다른 실시예에 따른 경사도값 계산 필터의 필터 계수를 나타낸 표이다.
도 27은 일 실시예에 따른 영상 부호화 방법을 나타낸 플로우 차트이다.
도 28은 일 실시예에 따른 영상 복호화 방법을 나타낸 플로우 차트이다.
개시된 실시예의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 개시된 실시예에 대해 구체적으로 설명하기로 한다.
본 명세서에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에서 사용되는 "부"라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부"는 어떤 역할들을 수행한다. 그렇지만 "부"는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부"들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부"들로 결합되거나 추가적인 구성요소들과 "부"들로 더 분리될 수 있다.
이하, "영상"은 비디오의 정지영상와 같은 정적 이미지이거나 동영상, 즉 비디오 그 자체와 같은 동적 이미지를 나타낼 수 있다.
아래에서는 첨부한 도면을 참고하여 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략한다.
이하 도 1 내지 도 28을 참조하여 일 실시예에 따른 영상 부호화 장치 및 영상 복호화 장치, 영상 부호화 방법 및 영상 복호화 방법이 상술된다.
구체적으로, 도 1 내지 도 2를 참조하여 일 실시예에 따른 영상 부호화 장치 및 영상 복호화 장치의 개략적인 구성이 후술된다. 또한, 도 3 내지 도 6을 참조하여 일 실시예에 따른 코어 변환 및 세컨더리 역변환을 이용하여 영상을 부호화 및 복호화하는 방법이 후술된다. 또한, 도 7 내지 도 11을 참조하여 일 실시예에 따라 제 1 확률 모델 및 제 2 확률 모델을 이용한 엔트로피 부호화 및 복호화 방법이 후술된다. 또한, 도 12 내지 도 19를 참조하여 일 실시예에 따른 예측 블록의 후처리 방법이 후술된다. 또한, 20 내지 도 28을 참조하여 일 실시예에 따른 블록 단위 및 픽셀 단위 움직임 보상을 수행하는 방법이 후술된다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들에 대하여 설명한다.
도 1은 일 실시예에 따른 영상 부호화 장치의 구성을 나타낸 블록도이다.
일 실시예에 다른 영상 부호화 장치(100)는 변환부(125), 양자화부(130), 엔트로피 복호화부(135), 역 양자화부(145), 역변환부(150), 디블록킹부(155), SAO 수행부(160), 인트라 예측부(120), 복원 픽쳐 버퍼(110) 및 인터 예측부(115)를 포함할 수 있다.
일 실시예에 따른 영상 부호화 장치(100)는, 영상 데이터를 부호화하는데 거치는 작업들을 수행한다. 즉, 인트라 예측부(120)는 현재 영상(105) 중 인트라 모드의 부호화 단위에 대해 예측 단위별로 인트라 예측을 수행하고, 인터 예측부(115)는 인터 모드의 부호화 단위에 대해 예측단위별로 현재 영상(105) 및 복원 픽처 버퍼(110)에서 획득된 참조 영상을 이용하여 인터 예측을 수행한다. 현재 영상(105)은 최대부호화 단위로 분할된 후 순차적으로 인코딩이 수행될 수 있다. 이때, 최대 부호화 단위가 트리 구조로 분할될 부호화 단위에 대해 인코딩을 수행될 수 있다.
인트라 예측부(120) 또는 인터 예측부(115)로부터 출력된 각 모드의 부호화 단위에 대한 예측 데이터를 현재 영상(105)의 인코딩되는 부호화 단위에 대한 데이터로부터 빼줌으로써 레지듀얼 데이터를 생성하고, 레지듀얼 데이터는 변환부(125) 및 양자화부(130)를 거쳐 변환 단위별로 양자화된 변환 계수로 출력된다. 양자화된 변환 계수는 역양자화부(145), 역변환부(150)을 통해 공간 영역의 레지듀얼 데이터로 복원된다. 복원된 공간 영역의 레지듀얼 데이터는 인트라 예측부(120) 또는 인터 예측부(115)로부터 출력된 각 모드의 부호화 단위에 대한 예측 데이터와 더해짐으로써 현재 영상(105)의 부호화 단위에 대한 공간 영역의 데이터로 복원된다. 복원된 공간 영역의 데이터는 디블로킹부(155) 및 SAO 수행부(160)를 거쳐 복원 영상으로 생성된다. 생성된 복원 영상은 복원 픽처 버퍼(110)에 저장된다. 복원 픽처 버퍼(410)에 저장된 복원 영상들은 다른 영상의 인터예측을 위한 참조 영상으로 이용될 수 있다. 변환부(125) 및 양자화부(130)에서 양자화된 변환 계수는 엔트로피 부호화부(135)를 거쳐 비트스트림(140)으로 출력될 수 있다.
일 실시예에 따른 영상 부호화 장치(100)의 구성 요소들인 인터 예측부(115), 인트라 예측부(120), 변환부(125), 양자화부(130), 엔트로피 부호화부(135), 역양자화부(145), 역변환부(150), 디블로킹부(155) 및 SAO 수행부(160)가 최대 부호화 단위마다 트리 구조에 따른 부호화 단위들 중 각각의 부호화 단위에 기반한 작업을 수행할 수 있다.
특히, 인트라 예측부(120)및 인터예측부(115) 는 현재 최대 부호화 단위의 최대 크기 및 최대 심도를 고려하여 트리 구조에 따른 부호화 단위들 중 각각의 부호화 단위의 파티션 모드 및 예측 모드를 결정하며, 변환부(125)는 트리 구조에 따른 부호화 단위들 중 각각의 부호화 단위 내의 쿼드 트리에 따른 변환 단위의 분할 여부를 결정할 수 있다.
도 2는 일 실시예에 따른 영상 복호화 장치의 구성을 나타낸 블록도이다.
일 실시예에 다른 영상 복호화 장치(200)는 엔트로피 복호화부(215), 역 양자화부(220), 역변환부(225), 디블록킹부(245), SAO 수행부(250), 인트라 예측부(240), 복원 픽쳐 버퍼(230) 및 인터 예측부(235)를 포함할 수 있다.
엔트로피 복호화부(215)는 비트스트림(205)으로부터 복호화 대상인 부호화된 영상 데이터 및 복호화를 위해 필요한 부호화 정보를 획득한다. 부호화된 영상 데이터는 양자화된 변환계수로서, 역양자화부(220) 및 역변환부(225)는 양자화된 변환 계수로부터 레지듀얼 데이터를 복원한다.
인트라 예측부(240)는 인트라 모드의 부호화 단위에 대해 인트라 예측을 수행한다. 인터 예측부(235)는 현재 영상 중 인터 모드의 부호화 단위에 대해 복원 픽처 버퍼(230)에서 획득된 참조 영상을 이용하여 인터 예측을 수행한다.
인트라 예측부(240) 또는 인터 예측부(235)를 거친 각 모드의 부호화 단위에 대한 예측 데이터와 레지듀얼 데이터가 더해짐으로써 현재 영상(205)의 부호화 단위에 대한 공간 영역의 데이터가 복원되고, 복원된 공간 영역의 데이터는 디블로킹부(245) 및 SAO 수행부(250)를 거쳐 복원 영상(260)으로 출력될 수 있다. 또한, 복원 픽처 버퍼(230)에 저장된 복원 영상들은 참조 영상으로서 출력될 수 있다.
일 실시예에 따라 영상 복호화 장치(200)의 구성 요소들인 엔트로피 복호화부(215), 역양자화부(220), 역변환부(225), 인트라 예측부(240), 인터 예측부(235), 디블로킹부(245) 및 SAO 수행부(250)가 최대 부호화 단위마다 트리 구조에 따른 부호화 단위들 중 각각의 부호화 단위에 기반하여 작업을 수행할 수 있다.
특히, 인트라 예측부(240)및 인터 예측부(235)는 트리 구조에 따른 부호화 단위들 중 각각의 부호화 단위마다 파티션 모드 및 예측 모드를 결정하며, 역변환부(225)는 부호화 단위마다 쿼드 트리구조에 따른 변환단위의 분할 여부를 결정할 수 있다.
이하, 도 3 내지 도 6을 참조하여 일 실시예에 따른 세컨더리 변환/역변환을 이용하여 영상을 부호화 및 복호화하는 방법을 설명한다.
도 3은 일 실시예에 따른 세컨더리 변환/역변환을 수행하는 영상 부호화 및 복호화 장치의 개략적인 구성을 나타낸 블록도이다.
도 3을 참조하면 영상 부호화 장치는 코어 변환부(310), 세컨더리 변환부(320) 및 양자화부(330)를 포함하고, 영상 복호화 장치는 역양자화부(340), 세컨더리 역변환부(350) 및 코어 역변환부(360)를 포함한다. 도 3의 코어 변환부(310) 및 세컨더리 변환부(320)는 도 1의 변환부(125)에 포함될 수 있으며, 양자화부(330)는 도 1의 양자화부(130)에 대응될 수 있다. 또한, 도 3의 역양자화부(340)는 도 2의 역양자화부(220)에 대응되며, 세컨더리 역변환부(350) 및 코어 역변환부(360)는 도 2의 역변환부(225)에 포함될 수 있다.
영상을 효율적으로 압축하기 위하여, 영상 부호화 장치는 각각의 프레임을 블록으로 분할하고 코어 변환부(310)는 프레임 내의 각각의 블록에 대하여 코어 변환(core transform)을 수행한다. 코어 변환부(310)는 변환 단위 별로 레지듀얼 블록에 대해 변환을 수행하여 코어 변환 계수를 생성할 수 있다. 이 때, 변환 단위는 최대 크기와 최소 크기의 범위 내에서 트리 구조(tree structure)를 가질 수 있으며, 변환 단위 별로 현재 블록이 서브 블록(sub-block)으로 나누어지는지는 플래그(flag)를 통해 지시될 수 있다. 코어 변환부(310)는 DCT(Discrete Cosine Transform) 및/또는 DST(Discrete Sine Transform) 등을 기반으로 변환을 수행할 수 있다. 일 실시예에 따른 코어 변환은 블록 내의 모든 계수들에 대해 적용된다. 이러한 처리 과정을 통해 각 블록 내의 에너지가 소수의 큰 변환 계수 및 몇몇 작은 변환 계수로 압축될 수 있다.
코어 변환부(310)에서 코어 변환을 통해 생성된 코어 변환 계수는 소수의 큰 변환 계수를 갖는 저주파수 성분 영역과 몇몇 작은 변환 계수를 갖는 고주파수 성분 영역으로 분류될 수 있다. 일 실시예에 따른 세컨더리 변환부(320)는 저주파수 성분 영역에 대해 세컨더리 변환(secondary transform)을 수행함으로써 양자화 성능을 향상시킬 수 있다.
일 실시예에 따른 세컨더리 변환은 코어 변환과 마찬가지로 DCT 및/또는 DST 등을 기반으로 수행될 수 있으며, 직교 변환(orthogonal transform), 회전 변환(rotational transform) 등 임의의 타입일 수도 있다. 그러나, 세컨더리 변환은 블록 내의 계수 전체를 대상으로 수행되는 코어 변환과 달리, 저주파수 성분 영역을 대상으로 수행된다. 따라서, 코어 변환부(310)에서 생성된 코어 변환 계수 중에서 고주파수 성분 영역의 계수에 대해서는 세컨더리 변환이 수행되지 않는다.
일 실시예에 따른 세컨더리 변환부(320)는 변환 단위의 크기 보다 작은 서브 그룹 단위로 세컨더리 변환을 수행할 수 있다. 예를 들어, 세컨더리 변환부(320)는 변환 단위의 일부인 좌상측 8x8 크기의 서브 그룹에 포함되는 저주파수 성분의 변환 계수들에 대해 세컨더리 변환을 수행할 수 있다.
일 실시예에 따른 양자화부(330)는 코어 변환부(310) 및 세컨더리 변환부(320)을 통해 변환된 계수들을 양자화할 수 있다. 양자화된 계수는 역양자화부(340)에 제공되며, 일 실시예에 따른 역양자화부(340)는 양자화된 계수에 대해 역양자화를 수행햐여 역양자화 계수를 생성한다. 일 실시예에 따른 역양자화부(340)는 변환 단위의 크기 보다 작은 서브 그룹(Q_sub-groups) 단위로 역양자화를 수행할 수 있다.
일 실시예에 따른 세컨더리 역양자화부(350)는 역양자화 계수의 저주파수 성분에 대해 세컨더리 변환에 대응하는 세컨더리 역변환을 수행하여 세컨더리 역변환된 계수를 생성한다. 그리고, 일 실시예에 따른 코어 역변환부(360)는 세컨더리 역변환된 계수에 대해 상기 코어 변환에 대응하는 코어 역변환을 수행한다.
일 실시예에 따른 세컨더리 역변환부(350)는 역 DCT 및/또는 역 DST 등을 기반으로 세컨더리 역변환을 수행할 수 있다. 세컨더리 역변환은 역양자화 계수의 저주파수 성분을 대상으로 수행되므로, 역양자화 계수의 고주파수 성분에 대해서는 세컨더리 역변환이 수행되지 않는다.
일 실시예에 따른 세컨더리 역변환부(350)는 변환 단위의 크기 보다 작은 서브 그룹(2nd_tr_sub-group) 단위로 세컨더리 역변환을 수행할 수 있다. 예를 들어, 세컨더리 역변환부(350)는 변환 단위의 일부인 좌상측 8x8 크기의 서브 그룹에 포함되는 저주파수 성분의 역양자화 계수들에 대해 세컨더리 역변환을 수행할 수 있다.
일 실시예에 따른 코어 역변환부(360)는 세컨더리 역변환부(350)와 마찬가지로 역 DCT 및/또는 역 DST 등을 기반으로 역변환을 수행하지만, 세컨더리 역변환과 달리 변환 단위 내의 모든 계수들을 대상으로 역변환을 수행한다.
도 4는 일 실시예에 따른 세컨더리 역변환의 수행 단위인 서브 그룹을 나타내기 위한 도면이다.
도 4를 참조하면, 세컨더리 역변환은 변환 단위(410, 420) 내의 좌상측에 위치한 서브 그룹 단위(412, 422)로 수행될 수 있다. 세컨더리 역변환이 서브 그룹 단위(412, 422)로 수행됨으로써 복호화 동작의 높은 병렬성(parallelism)이 유지될 수 있다. 다만, 이러한 병렬성을 유지하기 위하여 세컨더리 역변환이 수행되는 서브 그룹 단위의 크기에 제약조건이 부가될 수도 있다. 일 실시예에 따라 세컨더리 역변환이 수행되는 서브 그룹 단위(412)는 비트스트림으로부터 양자화 계수가 획득되는 그룹 단위(coeff_coding_sub_group; 414) 또는 역양자화가 수행되는 그룹 단위(Q_sub-group; 414)보다 작아야 한다는 제약조건이 부가될 수 있다. 한편, 일 실시예에 따라 세컨더리 역변환이 수행되는 서브 그룹 단위(422)는 비트스트림으로부터 양자화 계수가 획득되는 그룹 단위(coeff_coding_sub_group) 또는 역양자화가 수행되는 그룹 단위(Q_sub-group)와 그 크기가 동일할 수도 있다.
도 5는 일 실시예에 따른 세컨더리 역변환이 수행되는 범위를 나타내기 위한 도면이다.
도 5를 참조하면, 일 실시예에 따른 세컨더리 역변환은 변환 단위(510) 내의 좌상측에 위치한 서브 그룹 단위들(512)에 대해 수행될 수 있다. 서브 그룹 단위들(512)은 역양자화 계수의 저주파수 성분에 해당하는 영역일 수 있다. 한편, 일 실시예에 따른 세컨더리 역변환은 변환 단위(520) 내의 서브 그룹 단위들(522, 524)에 대해 수행될 수 있는데, 각각의 서브 그룹의 위치에 기초하여 각 서브 그룹에 대해 수행되는 세컨더리 역변환의 타입이 결정될 수 있다. 예를 들어, 서브 그룹 단위들(522)에 대해서는 역 DCT 가 수행될 수 있고, 서브 그룹 단위들(524)에 대해서는 역 DST 가 수행될 수 있다. 서브 그룹 단위의 크기는 고정된 크기를 가져야 하는 것은 아니다. 서브 그룹 단위의 크기는 변환 단위 내에서 서로 상이할 수도 있으며, 변환 단위 내의 서브 그룹 단위의 위치에 따라 결정될 수도 있다. 일 실시예에 따른 세컨더리 역변환이 수행되는 서브 그룹 단위의 위치, 크기 등에 대한 정보는 서브 그룹 단위 별로 비트스트림을 통해 시그널링될 수 있다.
일 실시예에 따라, 영상 부호화 장치(100)에서 모든 변환 단위에 대해 세컨더리 변환을 적용하는 경우, 세컨더리 역변환의 수행 여부에 대한 정보를 영상 복호화 장치(200)로 시그널링할 필요가 없다. 그러나, 영상 부호화 장치(100)는 세컨더리 변환을 적용하여 생성된 변환 계수를 부호화한 비트스트림의 코스트를 비교하고, 최소 코스트를 갖도록 세컨더리 변환을 적응적으로 적용할 수 있다. 따라서, 세컨더리 변환이 일부 변환 단위에 대해 적용되는 경우 영상 복호화 장치(200)에 세컨더리 역변환의 수행 여부에 대한 정보가 시그널링될 필요가 있다.
일 실시예에 따른 세컨더리 역변환의 수행 여부에 대한 정보는 다른 구문 요소들(syntax elements)에 내재될 수 있다. 예를 들어, 세컨더리 역변환의 수행 여부에 대한 정보는 예측 모드, 분할 심도, 인트라 예측 방향, 변환 스킵 모드 등에 관한 정보에 내재될 수 있다. 또한, 세컨더리 역변환의 수행 여부에 대한 정보는 부호화 단위, 변환 단위, 예측 단위 또는 변환 단위 내의 서브 그룹 단위 별로 명시적으로 시그널링될 수도 있다. 한편, 변환 단위 내의 모든 계수가 0이거나 계수들이 소정 임계값 이하인 경우에는 세컨더리 역변환이 수행되지 않도록 결정될 수 있으므로, 이 경우 세컨더리 역변환의 수행 여부에 대한 정보의 시그널링이 생략될 수 있다.
일 실시예에 따라 영상 복호화 장치(200)는 세컨더리 역변환의 수행 여부에 대한 정보를 비트스트림으로부터 획득하여 이용할 수 있다. 세컨더리 역변환의 수행 여부에 대한 정보는 다양한 데이터 단위와 관련된 비트스트림에 포함될 수 있다. 예를 들면, 영상 복호화 장치(200)는 시퀀스 파라미터 세트(sequence parameter set), 픽쳐 파라미터 세트(picture parameter set), 비디오 파라미터 세트(video parameter set), 슬라이스 헤더(slice header), 슬라이스 세그먼트 헤더(slice segment header)에 포함된 파라미터 인덱스 정보를 이용할 수 있다. 나아가, 영상 복호화 장치(200)는 최대 부호화 단위, 기준 부호화 단위, 예측 단위, 변환 단위 또는 변환 단위 내의 서브 그룹 단위마다 비트스트림으로부터 세컨더리 역변환의 수행 여부에 대한 정보에 대응하는 신택스를 획득하여 이용할 수 있다.
도 6은 일 실시예에 따른 영상 복호화 방법을 나타낸 플로우 차트이다.
도 6을 참조하면, 단계 S610에서, 영상 복호화 장치(200)는 비트스트림으로부터 코어 변환 및 세컨더리 변환을 통해 생성된 변환 계수가 양자화된 양자화 계수를 추출한다.
단계 S620에서, 영상 복호화 장치(200)는 양자화 계수에 대해 역양자화를 수행하여 역양자화 계수를 생성한다.
단계 S630에서, 영상 복호화 장치(200)는 역양자화 계수의 저주파수 성분에 대해 세컨더리 변환에 대응하는 세컨더리 역변환을 수행하여 세컨더리 역변환된 계수를 생성한다.
단계 S610에서, 영상 복호화 장치(200)는 세컨더리 역변환된 계수에 대해 코어 변환에 대응하는 코어 역변환을 수행한다.
이하, 도 7 내지 도 11을 참조하여 일 실시예에 따라 제 1 확률 모델 및 제 2 확률 모델을 이용한 엔트로피 부호화 및 복호화 방법을 설명한다.
도 1 및 도 2를 통해 전술한 바와 같이, 일 실시예에 따른 영상 부호화 장치(100)의 엔트로피 부호화부(135)는 각 부호화 단위에 대하여 생성된 부호화 정보들, 예를 들어 양자화된 변환 계수, 예측 단위의 예측 모드, 양자화 파라미터, 움직임 벡터 등의 구문 요소들을 엔트로피 부호화한다. 구체적으로, 엔트로피 부호화부(135)는 구문 요소들에 대해서 컨텍스트 기반 이진 산술 부호화(Context-Based Binary Arithmetic Coding, 이하 "CABAC"이라 한다)를 수행한다. 또한, 일 실시예에 따른 영상 복호화 장치(200)의 엔트로피 복호화부(215)는 복호화 대상이 되는 정보들의 구문 요소들을 획득하기 위해 엔트로피 복호화를 수행한다.
도 7은 일 실시예에 따른 엔트로피 부호화부의 구성을 나타낸 블록도이다. 도 7의 엔트로피 부호화부(700)는 도 1의 엔트로피 부호화부(135)에 대응한다.
도 7을 참조하면, 일 실시예에 따른 엔트로피 부호화부(700)는 이진화부(Binarizer)(710), 컨텍스트 모델러(Context modeler)(720), 이진 산술 부호화부(Binary arithmetic coder)(730)를 포함한다. 또한, 이진 산술 부호화부(730)는 레귤러 코딩부(Regular coding engine)(732)와 바이패스 코딩부(Bypass coding engine)(734)를 포함한다.
엔트로피 부호화 장치(700)로 입력되는 구문 요소들은 이진값이 아닐 수 있기 때문에, 구문 요소들이 이진값이 아닌 경우 이진화부(710)은 구문 요소들을 이진화하여 0 또는 1의 이진값들로 구성된 빈(Bin) 스트링을 출력한다. 빈(Bin)은 0 또는 1로 구성된 스트림의 각 비트를 나타내는 것으로, 각 빈(Bin)은 CABAC을 통해 부호화된다. 구문 요소가 0과 1의 빈도가 동일한 데이터라면, 확률값을 이용하지 않는 바이패스 코딩부(734)로 출력되어 부호화된다.
컨텍스트 모델러(720)는 레귤러 코딩부(732)로 현재 부호화 심볼에 대한 확률 모델을 제공한다. 구체적으로, 컨텍스트 모델러(720)는 이전에 부호화된 심볼들에 기초하여 소정 이진값의 확률을 결정하고, 현재 부호화 심볼의 이진값을 부호화하기 위한 이진값의 발생 확률을 이진 산술 부호화부(730)로 출력한다. 종래 컨텍스트 모델러는 MPS(Most Probable Symbol)의 발생 확률과, 0과 1중 어떤 이진값이 MPS에 해당되는지에 대한 정보를 나타내는 컨텍스트 인덱스(ctxIdx)를 통해 부호화 심볼에 대한 확률 모델을 제공하였다. 이에 반하여, 일 실시예에 따른 컨텍스트 모델러(720)는 MPS와 LPS(Least Probable Symbol)을 구별하지 않고 미리 결정된 소정 이진값, 예를 들어 "1"의 발생 확률을 나타내는 P(1)을 이전에 부호화된 심볼에 기초하여 결정하고 결정된 소정 이진값의 확률을 이진 산술 부호화부(730)으로 제공한다.
또한, 컨텍스트 모델러(720)는 현재 부호화 심볼의 이진값이 무엇인지에 따라서 소정 이진값의 확률을 복수 개의 확률 모델을 이용하여 업데이트한다. 구체적인 소정 이진값의 확률을 업데이트하는 과정에 대해서는 후술한다.
레귤러 코딩부(732)는 컨텍스트 모델러(720)으로부터 제공된 소정 이진값의 확률 및 현재 부호화 심볼이 갖는 이진값에 기초하여 이진 산술 부호화를 수행한다. 즉, 레귤러 코딩부(732)는 컨텍스트 모델러(720)로부터 제공된 소정 이진값의 확률에 기초하여 "1"의 발생 확률 P(1) 및 "0"의 발생 확률 P(0)를 결정할 수 있으며, 결정된 0과 1의 발생 확률들 P(0) 및 P(1)에 기초하여 현재 부호화 심볼의 이진값에 따라 확률 구간을 나타내는 Range의 구간을 변경함으로써 이진 산술 부호화를 수행한다.
도 8은 확률 모델의 업데이트 과정을 간략하게 나타낸 도면이다.
도 8을 참조하면, 종래 확률함수에서의 확률상태 인덱스(pStateIdx)가 결정되면, 부호화 심볼의 값이 MPS로 지정된 값이면 현재의 확률상태(state σ)에서 LPS 확률이 낮아지는 전방향 상태(state σ+1)로 확률 상태가 천이되도록 확률상태 인덱스(pStateIdx)를 갱신하며, 만약 부호화 심볼의 값이 MPS가 아닌 경우, 즉 LPS로 지정된 값이면 현재의 확률상태(state σ)에서 LPS 확률이 높아지는 후방향 상태(state σ-k(k>0))로 확률 상태가 천이되도록 확률상태 인덱스(pStateIdx)를 갱신한다. 예를 들어, 현재 확률상태 인덱스(pStateIdx)가 C라고 할 때, 현재 부호화 심볼의 값이 LPS로 지정된 값이면 현재 부호화 심볼을 부호화한 다음 확률상태 인덱스(pStateIdx)는 A로 갱신된다. 다음 부호화 심볼의 값이 MPS로 지정된 값이면 확률상태 인덱스(pStateIdx)는 A로부터 B로 다시 갱신된다.
확률함수는 도시된 바와 같이 지수승(exponential) 형태를 가질 수 있다. 이와 같은 지수승 형태의 확률함수에 있어서, 0에 가까운 LPS의 확률분포는 매우 조밀하고, 1/2에 가까운 LPS의 확률분포는 매우 희박하다. 따라서, 이러한 지수승 형태의 확률함수에 기초한 경우 0과 1의 이진값의 발생 확률이 유사한 경우, 즉 0과 1의 이진값의 발생 확률이 1/2에 가까운 경우에는 확률이 희박하게 분포되므로 확률의 예측 에러가 증가할 수 있다. 또한, 지수승 형태의 확률함수를 이용하는 경우 0에 가까운 확률값을 세밀하게 표현해야 되므로 이러한 확률값을 나타내기 위한 비트뎁스가 증가될 수 있다. 따라서, 지수승 형태의 확률함수를 갖는 확률모델을 저장하기 위한 룩업(look-up) 테이블의 크기가 증가될 수 있다. 또한, 종래 기술에 의하면 확률 갱신시나 확률 구간을 분할할 때, 조밀한 확률값을 이용하는 경우 곱셈 연산량이 증가하여 하드웨어적으로 부담이 될 수 있다.
따라서, 일 실시예에 따른 컨텍스트 모델러(720)는 균일한(uniform) 분포를 갖는 확률함수에 기초하여 0과 1의 이진값이 발생 확률을 결정한다. 또한, 일 실시예에 따른 컨텍스트 모델러(720)는 복수 개의 확률 모델을 이용하여 소정 이진값의 확률을 업데이트할 수 있다.
이하, 컨텍스트 모델러(720)에서 수행되는 확률 모델의 업데이트 과정에 대하여 구체적으로 설명한다.
CABAC에 있어서, 확률 업데이트는 다음의 수학식 1에 따라 수행된다.
수학식 1에서 P_new는 업데이트된 LPS의 확률, P_old는 현재 부호화 심볼의 산술 부호화에 이용된 LPS의 확률, W(W는 정수)는 이전에 부호화된 심볼의 개수이며 윈도우 크기(window size)로 지칭된다. 1/W는 스케일링 팩터이며, y는 현재 부호화 심볼이 MPS의 값에 해당하는 이진값을 갖는 경우 0의 값을 갖고 현재 부호화 심볼이 LPS의 값에 해당하는 이진값을 갖는 경우 1의 값을 갖는다.
이러한 수학식 1에 기초한 확률의 업데이트 과정에서 중요한 파라미터는 스케일링 팩터 1/W이다. 스케일링 팩터 1/W의 값에 따라서 전체 CABAC 부호화 과정이 얼마만큼 민감하게 반응하고 노이즈나 에러에 반응하지 않는 안정성 여부가 결정된다. 적절한 스케일링 팩터 1/W의 값을 결정하는 과정은 어렵고 소모적인 과정이다.
따라서, 일 실시예에 따른 컨텍스트 모델러(720)는 확률 업데이트시에 서로 상이한 스케일링 팩터를 갖는 제 1 확률 모델 및 제 2 확률 모델을 이용하여 복수 개의 업데이트된 확률을 생성하고, 제 1 확률 모델 및 제 2 확률 모델을 통해 업데이트된 각각의 확률을 이용하여 최종적으로 업데이트된 확률을 결정한다. 다시 말해, 제 1 확률 모델 및 제 2 확률 모델은 서로 상이한 윈도우 크기를 가질 수 있다.
구체적으로, 일 실시예에 따른 컨텍스트 모델러(720)에서 이용되는 제 1 확률 모델 및 제 2 확률 모델은 다음의 수학식 2 및 수학식 3과 같다.
수학식 2에서 P0_new는 윈도우 크기 W0을 이용한 제 1 확률 모델을 통해 업데이트된 소정 이진값의 확률, P0_old는 현재 부호화 심볼의 산술 부호화에 이용된 소정 이진값의 확률이다. 수학식 3에서 P1_new는 윈도우 크기 W1을 이용한 제 2 확률 모델을 통해 업데이트된 소정 이진값의 확률, P1_old는 현재 부호화 심볼의 산술 부호화에 이용된 소정 이진값의 확률이다. 일 실시예에 따라 제 1 확률 모델의 W0의 크기와 제 2 확률 모델의 W1의 크기는 서로 상이할 수 있다. 예를 들어, W0는 W1보다 작을 수 있다. 수학식 2 및 수학식 3에서 P0_new, P0_old, P1_new 또는 P1_old는 사전에 설정된 소정 이진값, 즉 0 또는 1의 발생 확률을 나타낸다. 즉, 일 실시예에서 이용되는 확률은 MPS와 LPS가 아닌 특정한 이진값, 예를 들어 "1"의 발생 확률을 나타낸다. 이하의 설명에서는 소정 이진값이 1인 경우, 즉 P_new나 P_old가 "1"의 발생 확률을 가리키는 경우를 가정한다. 다만, 이에 한정되지 않고, P_new나 P_old가 "0"의 발생 확률을 가리키는 것으로 설정된 경우에도 실시예에 따른 확률 업데이트 과정이 유사하게 적용될 수 있을 것이다.
컨텍스트 모델러(720)는 수학식 2에 기초하여 확률 P0_new 및 P1_new가 획득되면, 다음의 수학식 4를 이용하여 최종 업데이트 확률 P_new를 계산한다.
한편, CABAC 부호화 과정에서는 각 슬라이스 단위로 엔트로피 리셋(entropy reset)이 수행된다. 엔트로피 리셋은 이진 산술 부호화가 현재 확률값을 폐기하고, 미리 정해진 확률값에 기초하여 새롭게 CABAC 부호화를 수행하는 것을 의미한다. 이러한 리셋 과정 이후에 수행되는 확률 업데이트 과정에 있어서 초기값으로 설정되는 확률값은 최적의 값이 아니며 여러 번의 업데이트 과정을 거칠수록 일정 확률값에 수렴하게 된다.
도 9는 일 실시예에 따라 제 1 확률 모델 및 제 2 확률 모델 각각에 대해 업데이트된 확률을 비교하기 위한 도면이다.
도 9에 예시된 그래프에서는, 제 1 확률 모델(910)의 윈도우의 크기(W0)가 제 2 확률 모델(920)의 윈도우의 크기(W1)에 비해 작은 것으로 설정된다. 예를 들어, 제 1 확률 모델(910)의 윈도우의 크기는 16이고, 제 2 확률 모델(920)의 윈도우의 크기는 256일 수 있다.
도 9를 참조하면 상대적으로 작은 윈도우의 크기를 갖는 제 1 확률 모델(910)을 이용하는 경우, 확률 업데이트가 수행될수록 확률이 빠르게 변화하여 일정한 범위에 빠르게 수렴하지만 업데이트가 반복될수록 변동(fluctuation)이 발생되기 쉽다. 한편, 상대적으로 큰 윈도우의 크기를 갖는 제 2 확률 모델(920)을 이용하는 경우, 확률이 빠르게 변화되지는 않지만 업데이트된 확률이 일정한 범위에 수렴하기 시작하면 변동이 적게 발생하여 에러나 잡음 등에 민감하게 반응하지 않고 안정적으로 동작한다.
따라서, 컨텍스트 모델러(720)는 제 1 확률 모델 및 제 2 확률 모델의 확률 업데이트 과정을 고려하여, W0 및 W1 의 크기를 적응적으로 조정할 수 있다. 예를 들어, 컨텍스트 모델러(720)는 엔트로피 리셋 후 소정 횟수(threshold) 동안에는 W1의 크기를 큰 값(예를 들어, W1=∞)으로 설정하고, 소정 횟수 이후에는 시스템 안정을 위하여 W1의 크기를 조정하여 확률 업데이트 과정을 수행할 수 있다.
도 10은 일 실시예에 따른 엔트로피 복호화부의 구성을 나타낸 블록도이다. 도 10의 엔트로피 복호화부(1000)는 전술한 도 2의 엔트로피 복호화부(215)와 대응할 수 있다.
도 10을 참조하면, 엔트로피 복호화부(1000)는 컨텍스트 모델러(1010), 레귤러 디코딩부(1020), 바이패스 디코딩부(1030), 역이진화부(1040)를 포함한다. 엔트로피 복호화 장치(1000)는 전술한 엔트로피 부호화부(700)에서 수행되는 엔트로피 부호화 과정의 역과정을 수행한다.
바이패스 코딩에 의하여 부호화된 심볼은 바이패스 디코딩부(1030)로 출력되어 복호화되고, 레귤러 코딩에 의하여 부호화된 심볼은 레귤러 디코딩부(1020)에 의하여 디코딩된다. 레귤러 디코딩부(1020)는 컨텍스트 모델러(1010)에서 제공되는 현재 부호화 심볼보다 앞서 복호화된 이전 부호화 심볼들에 기초하여 결정된 소정 이진값의 확률을 이용하여, 상기 현재 부호화 심볼의 이진값을 산술 복호화한다. 전술한 바와 같이 이진 산술 부호화 결과에 따라 부호화된 심볼로써, 소정 확률 구간의 대표값을 나타내는 이진값이 전송되므로, 레귤러 디코딩부(1020)는 0 및 1의 발생 확률을 이용하여 부호화된 심볼들을 복호화할 수 있다.
컨텍스트 모델러(1010)는 복호화되는 부호화 심볼의 이진값에 따라서 소정 이진값의 확률을 복수 개의 스케일링 팩터를 이용하여 업데이트한다. 전술한 바와 같이, 컨텍스트 모델러(1010)는 MPS와 LPS(Least Probable Symbol)을 구별하지 않고 미리 결정된 소정 이진값, 예를 들어 "1"의 발생 확률을 나타내는 P(1)을 이전에 부호화된 심볼에 기초하여 결정하고 결정된 소정 이진값의 확률을 레귤러 디코딩부(1020)으로 제공한다. 역이진화부(1040)는 레귤러 디코딩부(1020) 또는 바이패스 디코딩부(1030)에서 복원된 빈(bin) 스트링들을 다시 구문 요소로 복원한다.
전술한 바와 같이, 일 실시예에 따른 제 1 확률 모델 및 제 2 확률 모델은 컨텐트에 기초하여 적응적으로 선택될 수 있다. 예를 들어, 제 1 확률 모델 및 제 2 확률 모델은 슬라이스 또는 픽처에 기초하여 결정될 수 있다. 또한, 제 1 확률 모델의 윈도우의 크기(W0) 및 제 2 확률 모델의 윈도우의 크기(W1)는 적응적으로 결정되어 비트스트림을 통해 영상 부호화 장치(100)로부터 영상 복호화 장치(200)로 시그널링될 수 있다. 이 때, W0 및 W1의 값은 픽처, GOP(Group of Pictures), 슬라이스, 최대 부호화 단위 등의 단위로 시그널링 될 수 있다.
일 실시예에 따라, W0 및 W1 중 하나의 값은 고정된 값으로 설정되고 나머지 하나의 값만 비트스트림을 통해 시그널링될 수도 있다. 이 때, 고정된 윈도우 크기의 값은 픽처 또는 슬라이스 타입에 따라 종속적일 수 있다.
일 실시예에 따라, W0 및 W1은 모두 고정된 값을 가질 수도 있는데, 이 경우 W0 및 W1의 값을 나타내기 위한 별도의 구문 요소가 시그널링될 필요가 없다. 반면에, W0 및 W1의 값이 가변하는 경우에는, W0 및 W1의 값은 비트스트림으로부터 획득되는 값이거나, 슬라이스 또는 픽처 타입에 기초하여 결정되는 값일 수 있다.
도 11은 일 실시예에 따른 엔트로피 복호화 방법을 나타낸 플로우 차트이다.
도 11을 참조하면, 단계 S1110에서, 엔트로피 복호화부(1000)는 수신된 비트스트림으로부터, 제 1 확률 예측 모델 및 제 2 확률 예측 모델을 이용하여 이전 빈의 산술 복호화에 이용된 이전 확률 정보를 업데이트하여 현재 빈의 산술 복호화에 이용되는 확률 정보를 획득한다.
단계 S1120에서, 엔트로피 복호화부(1000)는 획득된 확률 정보에 기초하여 산술 복호화를 수행하여 빈을 획득한다.
단계 S1120에서, 엔트로피 복호화부(1000)는 획득된 빈을 역 이진화하여 구문 요소를 획득한다.
이하, 도 12 내지 도 19를 참조하여 일 실시예에 따른 예측 블록의 후처리 방법을 설명한다.
도 12는 일 실시예에 따른 후처리부를 포함하는 영상 부호화 장치의 구성을 나타낸 블록도이다.
도 12를 참조하면, 영상 부호화 장치(1200)는 예측부(1210), 변환 및 양자화부(1220), 엔트로피 코딩부(1230) 및 후처리부(1240)를 포함한다.
예측부(1210)는 인터 예측과 인트라 예측을 수행한다. 인터 예측은 이전에 부호화되고 복원되어 저장된 참조 픽쳐를 이용하여, 현재 블록을 예측하는 것을 말한다. 이러한 인터 예측은 움직임 추정부(1211) 및 움직임 보상부(1212)에서 수행된다. 인트라 예측은 예측하고자 하는 블록에 인접한 블록의 픽셀을 이용하여 현재 블록을 예측하는 것을 말한다. 이러한 인트라 예측은 인트라 예측부(1213)에서 수행된다.
도 13은 16×16 인트라 예측 모드의 일 예를 나타낸 도면이고, 도 14는 4×4 인트라 예측 모드의 일 예를 나타낸 도면이다.
도 13을 참조하면, 16×16 인트라 예측 모드에는 수직(Vertical) 모드, 수평(Horizontal) 모드, DC(Direct Current) 모드, 플레인(plane) 모드의 총 4개의 모드가 존재한다. 또한, 도 14를 참조하면, 4×4 인트라 예측 모드에는 수직(Vertical) 모드, 수평(Horizontal) 모드, DC(Direct Current) 모드, 대각선 왼쪽(Diagonal Down-left) 모드, 대각선 오른쪽(Diagonal Down-right) 모드, 수직 오른쪽(Vertical right) 모드, 수직 왼쪽(Vertical left) 모드, 수평 위쪽(Horizontal-up) 모드 및 수평 아래쪽(Horizontal-down) 모드의 총 9개의 모드가 존재한다.
예를 들어, 도 14의 모드 0, 즉 수직 모드에 따라, 4×4 크기의 현재 블록을 예측 부호화하는 동작을 설명한다. 먼저 4×4 크기의 현재 블록의 위쪽에 인접한 픽셀 A 내지 D의 픽셀값을 4×4 현재 블록의 픽셀값으로 예측한다. 즉, 픽셀 A의 값을 4×4 현재 블록의 첫 번째 열에 포함된 4개의 픽셀값으로, 픽셀 B의 값을 4×4 현재 블록의 두 번째 열에 포함된 4개의 픽셀값으로, 픽셀 C의 값을 4×4 현재 블록의 세 번째 열에 포함된 4개의 픽셀값으로, 픽셀 D의 값을 4×4 현재 블록의 네 번째 열에 포함된 4개의 픽셀값으로 예측한다. 이와 같이 소정 방향으로 주변 픽셀의 값을 확장하는 인트라 예측을 통해 생성된 예측 블록은 예측 모드에 따라서 일정한 방향성을 갖는다. 이러한 예측 블록 내부의 방향성은 부호화되는 현재 블록의 픽셀들이 일정한 방향성을 갖는 경우에는 예측 효율이 향상될 수 있지만 현재 블록의 픽셀들이 방향성을 갖지 않는 경우에는 예측 효율이 떨어질 수 있다. 따라서, 후술되는 바와 같이 본 발명에 따른 영상 부호화 장치의 후처리부(940)는 인트라 예측을 통해 생성된 예측 블록에 대한 후처리 동작으로서, 예측 블록 내부의 각 픽셀과 적어도 하나의 주변 픽셀을 이용한 연산을 통해 예측 블록 내부의 각 픽셀의 픽셀값을 변경하여 새로운 예측 블록을 생성함으로써 영상의 예측 효율을 향상시킨다.
다시 도 12를 참조하면, 변환 및 양자화부(1220)는 예측부(1210) 및 후처리부(1240)에서 출력되는 예측 블록과 원 영상 블록의 차이값인 레지듀얼을 변환 및 양자화하고, 엔트로피 코딩부(1230)는 양자화된 레지듀얼 정보를 가변 길이 부호화하여 압축을 수행한다. 부호화된 레지듀얼은 역양자화부(1214) 및 역변환부(1215)를 통해 복원되고, 가산부(1216)는 복원된 레지듀얼과 예측 블록을 가산하여 현재 블록을 복원한다. 복원된 블록은 미도시된 저장부에 저장되어서 다음 블록의 부호화시에 참조 데이터로서 이용된다.
이하, 도 12의 후처리부(1240)에서 수행되는 예측 블록의 후처리 동작에 대하여 설명한다.
후처리부(1240)는 인트라 예측부(1213)에서 생성된 제 1 예측 블록을 구성하는 각 픽셀과 적어도 하나의 주변 픽셀을 이용한 연산을 통해 제 1 예측 블록을 구성하는 각 픽셀의 픽셀값을 변경하여 제 2 예측 블록을 생성한다. 여기서, 인트라 예측부(1213)는 일반적인 인트라 예측 방식을 적용하여 제 1 예측 블록을 생성한다.
도 15는 일 실시예에 따른 제 1 예측 블록의 후처리 동작을 설명하기 위한 참조도이다. 도 15에서 도면 부호 1510 내지 1560은 후처리부(1240)에 의하여 처리되는 제 1 예측 블록의 내부의 각 픽셀값이 변경되는 과정을 시간 순서로 나타낸 것이다.
도 15를 참조하면, 일 실시예에 따른 후처리부(1240)는 제 1 예측 블록 내부의 변경하고자 하는 픽셀과 그 상측 및 좌측에 위치한 주변 픽셀들의 픽셀값들에 각각 가중치를 부여하여 평균값을 계산하여 제 1 예측 블록의 각 픽셀의 픽셀값을 변경한다. 예를 들어, 도 15에서 제 1 예측 블록(1510)의 변경하고자 하는 픽셀(1521)의 픽셀값을 P[1][1], 상측에 위치한 픽셀(1522)의 픽셀값을 P[0][1], 좌측에 위치한 픽셀(1523)의 픽셀값을 P[1][0]이라고 하면, 픽셀(1521)의 픽셀값 P[1][1]을 변경한 값을 P'[1][1]이라고 하면, P'[1][1]은 다음의 수학식 5와 같이 계산될 수 있다.
상기 수학식 5에서 α는 P[1][1]에 부여되는 제 1 가중치 파라미터이고, β는 P[1][1]의 상측에 위치한 픽셀의 픽셀값인 P[0][1]에 부여되는 제 2 가중치 파라미터이며, γ는 P[1][1]의 좌측에 위치한 픽셀의 픽셀값인 P[1][0]에 부여되는 제 3 가중치 파라미터이다.
도 15에 도시된 바와 같이, 일 실시예에 따른 후처리부(1240)는 제 1 예측 블록 내부의 각 픽셀들에 대해서 최좌상측으로부터 최우하측 방향으로 변경하고자 하는 픽셀과 그 상측 및 좌측에 위치한 픽셀들의 픽셀값들에 각각 가중치를 부여하여 제 1 예측 블록의 각 픽셀의 픽셀값을 변경한다. 그러나, 예측 블록의 후처리 동작은 최좌상측으로부터 최우하측 방향으로 한정되는 것이 아니라, 최우상측으로부터 최좌하측 방향으로, 또는 최우하측으로부터 최좌상측 방향으로, 또는 최좌하측으로부터 최우상측 방향으로 제 1 예측 블록의 각 픽셀들에 대하여 순차적으로 수행될 수 있다. 예를 들어 도 15에 도시된 처리 순서와 반대로 최우하측으로부터 최좌상측 방향으로 제 1 예측 블록의 픽셀들을 변경하는 경우에는 변경하고자 하는 픽셀과 그 하측 및 우측에 위치한 픽셀들을 이용한 연산을 통해 제 1 예측 블록의 각 픽셀의 픽셀값을 변경한다.
도 16은 일 실시예에 따른 후처리부(1240)의 동작을 설명하기 위한 다른 참조도이다. 도 16에서 도면 부호 1610은 현재 변경하고자 하는 제 1 예측 블록의 제 1 픽셀을 나타내며, 도면 부호 1611은 제 1 픽셀(1610)의 상측에 위치한 제 2 픽셀을 나타내며, 도면 부호 1612는 제 1 픽셀(1610)의 좌측에 위치한 제 3 픽셀을 나타낸다.
도 16을 참조하여, 일 실시예에 따른 후처리부(1240)의 동작을 일반화하면 다음과 같다. 제 1 예측 블록의 크기를 mxn(m 및 n은 양의 정수), 제 1 예측 블록 내부의 변경하고자 하는 i(i는 0부터 m-1까지의 정수)번째 열 및 j(j는 0부터 n-1까지의 정수)번째 행에 위치한 제 1 픽셀(1610)의 픽셀값을 P[i][j], 제 1 픽셀(1610)의 좌측에 위치한 제 2 픽셀(1612)의 픽셀값을 P[i][j-1], 제 1 픽셀(1610)의 상측에 위치한 제 3 픽셀(16311)의 픽셀값을 P[i-1][j]라고 할 때, 다음의 수학식 6을 통해 제 1 픽셀(1610)의 픽셀값을 P'[i][j]로 변경한다.
상기 수학식 6에서 α는 P[i][j]에 부여되는 제 1 가중치 파라미터이고, β는 P[i][j]의 상측에 위치한 픽셀의 픽셀값인 P[i-1][j]에 부여되는 제 2 가중치 파라미터이며, γ는 P[i][j]의 좌측에 위치한 픽셀의 픽셀값인 P[i][j-1]에 부여되는 제 3 가중치 파라미터이다. 일 실시예에 따라 변경하고자 하는 픽셀의 위치가 제 1 예측 블록의 경계로부터 멀어질수록 가중치 파라미터 β 또는 γ의 값은 작아질 수 있다. 또한, 일 실시예에 따른 가중치 파라미터 α, β 및 γ의 관계는 다음 수학식 7의 관계에 기초하여 결정될 수 있다.
상기 수학식 7에서 P는 0 이상의 정수를 나타낸다.
후처리부(1240)는 제 1 예측 블록(1600) 내부의 모든 픽셀들에 대하여 최좌상측에서 최우하측 방향으로 전술한 수학식 2를 적용하여 픽셀값을 변경함으로써 제 2 예측 블록을 생성한다.
한편, 일 실시예에 따른 영상 부호화 장치(1200)는 다양한 가중치를 적용하여 생성된 제 2 예측 블록들을 부호화한 비트스트림의 코스트를 비교하고, 최소 코스트를 갖는 제 2 예측 블록을 생성하는데 이용된 가중치 정보(즉, 제 1 내지 제 3 가중치 파라미터)를 비트스트림의 헤더 영역에 부가할 수 있다. 이 때, 제 1 내지 제 3 가중치 파라미터에 관한 정보는 다음의 표 1과 같이 파라미터 인덱스 정보로서 기술될 수 있다.
파라미터 인덱스 | 2Nx2N 인트라 부호화 단위 | NxN 인트라 부호화 단위 | ||||
α | β | γ | α | β | γ | |
0 | 8 | 0 | 0 | 8 | 0 | 0 |
1 | 4 | 2 | 2 | 6 | 1 | 1 |
2 | 4 | 4 | 0 | 6 | 2 | 0 |
3 | 4 | 0 | 4 | 6 | 0 | 2 |
상기 표 1에서 파라미터 인덱스 정보는 2Nx2N 및 NxN 크기의 부호화 단위 각각에 대해 정의될 수 있다. 일 실시예에 따른 파라미터 인덱스 정보는 다양한 방식으로 영상 부호화 장치로부터 영상 복호화 장치로 시그널링될 수 있다. 예를 들어, 파라미터 인덱스 정보는 예측 모드에 관한 정보에 내재될 수 있다. 또한, 파라미터 인덱스 정보는 블록 크기를 나타내는 정보, 블록의 파티션 형태를 나타내는 정보, 휘도 또는 색차 성분을 나타내는 정보 등에 포함되어 시그널링될 수도 있다. 일 실시예에 따라, 파라미터 인덱스 정보는 부호화 단위 또는 예측 단위의 레벨에서 명시적으로 시그널링될 수도 있다.일 실시예에 따른 영상 부호화 장치(1200)는 부호화 단위를 더 작은 블록들로 나누어 예측을 수행하는 경우, 각 블록 별로 서로 다른 가중치를 적용하여 제 2 예측 블록을 생성할 수도 있고, 계산을 간소화하고 오버 헤드의 비율을 낮추기 위해서 동일한 부호화 단위에 포함되는 블록들에는 동일한 가중치 정보가 적용되도록 할 수 있다.
도 17은 일 실시예에 따른 후처리부를 포함하는 영상 복호화 장치의 구성을 나타낸 블록도이다.
도 17을 참조하면, 영상 복호화 장치(1700)는 엔트로피 디코더(1710), 재정렬부(1720), 역양자화부(1730), 역변환부(1740), 가산부(1745), 움직임 보상부(1750), 인트라 예측부(1760), 필터(1770) 및 후처리부(1780)를 포함할 수 있다.
엔트로피 디코더(1710)는 압축된 비트스트림을 수신하고 엔트로피 복호화를 수행하여 현재 블록의 예측 모드 정보 및 제 2 예측 블록의 생성을 위해서 이용된 후처리 연산 모드 정보를 추출한다.
일 실시예에 따라 영상 복호화 장치(1700)는 제 2 예측 블록의 생성을 위해 이용된 가중치 파라미터에 관한 정보를 비트스트림으로부터 획득하여 이용할 수 있다. 가중치 파라미터에 관한 정보(또는 파라미터 인덱스 정보)는 다양한 데이터 단위와 관련된 비트스트림에 포함될 수 있다. 예를 들면, 영상 복호화 장치(1700)는 시퀀스 파라미터 세트, 픽쳐 파라미터 세트, 비디오 파라미터 세트, 슬라이스 헤더, 슬라이스 세그먼트 헤더에 포함된 파라미터 인덱스 정보를 이용할 수 있다. 나아가, 영상 복호화 장치(1700)는 최대 부호화 단위, 기준 부호화 단위, 예측 단위마다 파라미터 인덱스 정보에 대응하는 신택스를 비트스트림으로부터 획득하여 이용할 수 있다.
일 실시예에 따른 엔트로피 디코더(1710)는 텍스쳐 데이터에 대한 엔트로피 복호화를 수행하여 현재 블록의 양자화된 변환 계수를 추출한다. 역양자화부(1730) 및 역변환부(1740)는 양자화된 변환 계수에 대한 역양자화 및 역변환을 수행하여 부호화시에 현재 블록과 제 2 예측 블록의 차이에 해당하는 레지듀얼을 복원한다. 움직임 보상부(1750) 및 인트라 예측부(1760)은 현재 블록의 예측 모드에 따라서 예측 블록을 생성하여 출력한다. 후처리부(1780)는 현재 블록이 도 12의 후처리부(1240)에서 생성된 제 2 예측 블록을 이용하여 부호화된 경우, 비트스트림으로부터 추출된 후처리 연산 정보에 따라서 인트라 예측부(1760)에서 생성된 제 1 예측 블록의 각 픽셀값을 변경함으로써 제 2 예측 블록을 생성한다. 복호화 장치(1700)의 후처리부(1780)의 동작은 비트스트림으로부터 추출된 후처리 연산 정보에 따라서 제 2 예측 블록을 생성한다는 점을 제외하고는 도 12의 후처리부(1240)의 동작과 동일하다.
가산부(1745)는 움직임 보상부(1750), 인트라 예측부(1760)에서 생성된 예측 블록과 복원된 레지듀얼을 더하여 현재 블록을 복호화한다. 특히 복호화되는 현재 블록이 일 실시예들에 따른 제 2 예측 블록에 기초하여 부호화된 경우, 가산부(1745)는 후처리부(1780)에서 생성된 제 2 예측 블록과 복원된 레지듀얼을 가산하여 현재 블록을 복호화한다. 복호화된 블록은 필터(1770)를 거쳐 소정의 메모리에 저장된 후 다음 블록의 복호화시에 참조 데이터로 이용된다.
도 18은 일 실시예에 따른 영상 부호화 방법을 나타낸 플로우 차트이다.
도 18을 참조하면, 단계 S1810에서 부호화되는 현재 블록에 대한 제 1 예측 블록을 생성한다. 여기서, 제 1 예측 블록은 일반적인 인트라 예측 방식을 적용하여 생성된 인트라 예측 블록이다.
단계 S1820에서, 제 1 예측 블록을 구성하는 각 픽셀과 각 픽셀의 상측 및 좌측에 위치한 픽셀들을 이용한 연산을 통해 제 1 예측 블록의 각 픽셀의 픽셀값을 변경하여 제 2 예측 블록을 생성한다. 전술한 후처리부(1240)의 실시예에서 설명한 바와 같이, 제 1 예측 블록의 변경하고자 하는 픽셀을 중심으로 상측 및 좌측 픽셀들에 가중치가 부여된 연산을 적용하여 제 1 예측 블록의 각 픽셀들의 픽셀값을 변경함으로써 제 2 예측 블록을 생성한다.
단계 S1830에서, 현재 블록과 제 2 예측 블록의 차이값인 레지듀얼을 변환, 양자화 및 엔트로피 부호화하여 비트스트림을 생성한다. 생성된 비트스트림의 소정 영역에는 제 2 예측 블록을 생성하는데 이용된 연산 정보를 부가함으로써 복호화 장치에서 현재 블록에 대한 제 2 예측 블록을 생성할 수 있도록 한다.
도 19는 일 실시예에 따른 영상 복호화 방법을 나타낸 플로우 차트이다.
도 19를 참조하면, 단계 S1910에서 수신된 비트스트림으로부터 복호화되는 현재 블록의 예측 모드 정보를 추출한다.
단계 S1920에서, 추출된 예측 모드 정보에 따라서 현재 블록에 대한 제 1 예측 블록을 생성한다.
단계 S1930에서, 비트스트림으로부터 제 1 예측 블록을 구성하는 각 픽셀과 각 픽셀의 주변 픽셀들을 이용한 연산 정보를 추출한다.
단계 S1940에서, 추출된 연산 정보에 따라서 제 1 예측 블록을 구성하는 각 픽셀과 각 픽셀의 상측 및 좌측에 위치한 픽셀들의 연산을 통해 각 픽셀의 픽셀값을 변경하여 제 2 예측 블록을 생성한다.
단계 S1950에서, 비트스트림으로부터 현재 블록과 제 2 예측 블록의 차이값에 해당하는 레지듀얼을 추출하여 복원한다.
단계 S1960에서, 레지듀얼과 제 2 예측 블록을 가산하여 현재 블록을 복호화한다.
이하, 20 내지 도 28을 참조하여 일 실시예에 따른 블록 단위 및 픽셀 단위 움직임 보상을 수행하는 방법을 설명한다.
도 20은 일 실시예에 따른 움직임 보상부의 구성을 나타낸 블록도이다. 도 20의 움직임 보상부(2000)는 도 1의 인터 예측부(115)에 포함될 수 있다. 또한, 도 20의 움직임 보상부(2000)는 도 2의 인터 예측부(235)에 포함될 수도 있다.
도 20을 참조하면, 일 실시예에 따른 움직임 보상부(2000)는 블록 단위 움직임 보상부(2010), 픽셀 단위 움직임 보상부(2020) 및 예측값 생성부(2030)를 포함한다.
블록 단위 움직임 보상부(2010)는 도 1의 인터 예측부(115) 또는 도 2의 인터 예측부(235)에 포함된 움직임 추정부(미도시)에서 결정된 양방향 움직임 벡터들을 이용하여 부호화되는 현재 블록에 대한 블록 단위 양방향 움직임 보상을 수행한다.
픽셀 단위 움직임 보상부(2020)는 양방향 움직임 벡터들이 가리키는 참조 픽처들의 픽셀들을 이용하여 블록 단위로 양방향 움직임 보상된 현재 블록의 각 픽셀에 대한 픽셀 단위 움직임 보상을 부가적으로 수행한다.
예측값 생성부(2030)는 블록 단위 양방향 움직임 보상 결과와 픽셀 단위 움직임 보상 결과를 이용하여 현재 블록에 대한 최종적인 양방향 움직임 예측값을 생성한다. 이하, 일 실시예에 따른 블록 단위 양방향 움직임 예측 및 보상 과정과 픽셀 단위 양방향 움직임 보상 과정에 대하여 구체적으로 설명한다.
도 21은 일 실시예에 따른 블록 기반 양방향 움직임 예측 및 보상 과정을 설명하기 위한 참조도이다.
도 21을 참조하면, 인터 예측부(115, 235)에 포함된 움직임 추정부(미도시)는 제 1 참조 픽처(2110) 및 제 2 참조 픽처(2120)에서 현재 픽처(2100)의 부호화되는 현재 블록(2101)과 가장 유사한 영역을 검색하는 양방향 움직임 예측을 수행한다. 여기서, 제 1 참조 픽처(2110)는 현재 픽처(2100) 이전의 픽처이며, 제 2 참조 픽처(2120)는 현재 픽처(2100) 이후의 픽처라고 가정한다. 양방향 움직임 예측 결과, 제 1 참조 픽처(2110)에서 현재 블록(2101)과 가장 유사한 제 1 대응 영역(2112) 및 제 2 참조 픽처(2120)에서 현재 블록(2101)과 가장 유사한 제 2 대응 영역(2122)이 결정된다. 그리고, 제 1 참조 픽처(2110)의 현재 블록(2101)과 동일한 위치의 블록(2111)과 제 1 대응 영역(2112)의 위치 차이에 기초하여 제 1 움직임 벡터(MV1)가 결정되고, 제 2 참조 픽처(2120)의 현재 블록(2101)과 동일한 위치의 블록(2121)과 제 2 대응 영역(2122)의 위치 차이에 기초하여 제 2 움직임 벡터(MV2)가 결정된다.
일 실시예에 따른 블록 단위 움직임 보상부(2010)는 제 1 움직임 벡터(MV1) 및 제 2 움직임 벡터(MV2)를 이용하여 현재 블록(2101)에 대한 블록 단위 양방향 움직임 보상을 수행한다. 일 예로, (i,j)(i,j는 정수)에 위치한 제 1 참조 픽처(2110)의 픽셀값을 P0(i,j), (i,j)에 위치한 제 2 참조 픽처(2120)의 픽셀값을 P1(i,j), MV1=(MVx1,MVy1), MV2=(MVx2, MVy2)라고 하면, 현재 블록(2101)의 (i,j) 위치 픽셀의 블록 단위 양방향 움직임 보상값 P_BiPredBlock(i,j)는 다음의 수학식; P_BiPredBlock(i,j)={P0(i+MVx1, j+MVy1)+P1(i+MVx2, j+MVy2)}/2 와 같이 계산될 수 있다. 이와 같이, 블록 단위 움직임 보상부(2010)는 제 1 움직임 벡터(MV1) 및 제 2 움직임 벡터(MV2)가 가리키는 제 1 대응 영역(2112) 및 제 2 대응 영역(2122)의 픽셀들의 평균값이나 가중합을 이용하여 현재 블록(2101)에 대한 블록 단위 움직임 보상을 수행한다.
일 실시예에 따른 픽셀 단위 움직임 보상부(2020)는 제 1 참조 픽처(2110) 및 제 2 참조 픽처(2120)의 픽셀들의 옵티컬 플로우(optical flow)에 기초하여 현재 블록(2101)에 대한 픽셀 단위 움직임 보상을 수행한다.
옵티컬 플로우는 관찰자(눈 또는 카메라) 및 장면(scene) 사이의 상대적인 움직임에 의하여 유발되는 객체, 표면의 외관상 움직임의 패턴(pattern of apprarent motion)을 의미한다. 비디오 시퀀스에서, 옵티컬 플로우는 임의의 시간 t 및 t+△t 에서 획득된 프레임 사이의 움직임을 계산함으로써 표현될 수 있다. t 시간 프레임의 (x,y)에 위치한 픽셀값을 I(x,y,t)라고 정의한다. 즉, I(x,y,t)는 시공간적으로 변화되는 값이다. I(x,y,t)를 시간 t에 관하여 미분하면 다음의 수학식 8과 같다.
만약, 블록 내의 작은 움직임 부분에 대해서 움직임에 의한 픽셀값의 변화는 존재하지만, 시간에 따라서 픽셀값이 변하지 않는다고 가정하면, dI/dt는 0이다. 또한, dx/dt를 픽셀값 I(x,y,t)의 x축 방향의 변위 벡터 Vx, dy/dt를 픽셀값 I(x,y,t)의 y축 방향의 변위 벡터 Vy라고 정의한다면 수학식 8은 다음의 수학식 9와 같이 표현될 수 있다.
여기서, x축 방향의 변위 벡터 Vx, y축 방향의 변위 벡터 Vy의 크기는 양방향 움직임 예측에 이용된 픽셀 정확도(pixel accuracy)보다 작은 값인 것이 바람직하다. 예를 들어, 양방향 움직임 예측시 1/4 픽셀 정확도를 갖는다고 하였을 때, Vx 및 Vy의 크기는 1/4 보다 작은 값을 갖는 것이 바람직하다.
일 실시예에 따른 픽셀 단위 움직임 보상부(2020)는 수학식 5에 따른 x축 방향의 변위 벡터 Vx, y축 방향의 변위 벡터 Vy를 계산하고, 이러한 변위 벡터 Vx 및 Vy를 이용하여 픽셀 단위로 움직임 보상을 수행한다. 수학식 9에서 픽셀값 I(x,y,t)는 원신호의 값이기 때문에 원신호의 값을 그대로 이용하는 것은 부호화시에 많은 오버헤드를 유발할 수 있다. 따라서, 픽셀 단위 움직임 보상부(2020)는 블록 단위로 양방향 움직임 예측 결과 결정된 제 1 참조 픽처 및 제 2 참조 픽처의 픽셀들을 이용하여 수학식 5에 따른 변위 벡터 Vx 및 Vy를 계산한다.
도 22는 일 실시예에 따른 픽셀 단위 움직임 보상을 수행하는 과정을 설명하기 위한 참조도이다.
도 22에서, 제 1 대응 영역(2210) 및 제 2 대응 영역(2220)은 도 21의 제 1 대응 영역(2112) 및 제 2 대응 영역(2122)과 대응되는 것으로, 현재 블록(2200)에 오버랩되도록 양방향 움직임 벡터(MV1, MV2)를 이용하여 쉬프트된 것으로 가정한다. 또한, 현재 블록(2200)의 양방향 예측되는 (i,j)(i,j는 정수) 위치의 픽셀을 P(i,j), 현재 블록(2200)의 양방향 예측되는 픽셀 P(i,j)과 대응되는 제 1 참조 픽처의 제 1 대응 픽셀의 픽셀값을 P0(i,j), 현재 블록(2200)의 양방향 예측되는 픽셀 P(i,j)과 대응되는 제 2 참조 픽처의 제 2 대응 픽셀의 픽셀값을 P1(i,j)이라고 정의한다. 다시 말해서, 제 1 대응 픽셀의 픽셀값 P0(i,j)은 제 1 참조 픽처를 가리키는 양방향 움직임 벡터 MV1에 의하여 결정된 현재 블록(2200)의 픽셀 P(i,j)에 대응되는 픽셀이며, 제 2 대응 픽셀의 픽셀값 P1(i,j)은 제 2 참조 픽처를 가리키는 양방향 움직임 벡터 MV2에 의하여 결정된 현재 블록(2200)의 픽셀 P(i,j)에 대응되는 픽셀이다.
또한, 제 1 대응 픽셀의 수평 방향 경사도값(Gradient)을 GradX0(i,j), 수직 방향 경사도값을 GradY0(i,j), 제 2 대응 픽셀의 수평 방향 경사도값을 GradX1(i,j), 수직 방향 경사도값을 GradY1(i,j)라고 정의한다. 또한, 현재 블록(2200)이 속하는 현재 픽처와 제 1 대응 영역(2210)이 속하는 제 1 참조 픽처 사이의 시간적 거리를 d0, 현재 픽처와 제 2 대응 영역(2220)이 속하는 제 2 참조 픽처 사이의 시간적 거리를 d1이라고 정의한다.
d0 및 d1을 1이라고 가정하면, 수학식 9에서 는 다음의 수학식 10과 같이 제 1 대응 픽셀의 픽셀값 P0(i,j)과 제 2 대응 픽셀의 픽셀값 P1(i,j)의 시간에 따른 변화량으로 근사화할 수 있다.
수학식 10에서 경사도값 및 는 각각 다음의 수학식 11 및 12와 같이 제 1 대응 픽셀과 제 2 대응 픽셀의 수평 방향 경사도값의 평균값과, 제 1 대응 픽셀과 제 2 대응 픽셀의 수직 방향 경사도값의 평균값으로 근사화될 수 있다.
수학식 10 내지 12를 이용하여 수학식 9는 다음의 수학식 13과 같이 정리될 수 있다.
수학식 13에서, x축 방향의 변위 벡터 Vx, y축 방향의 변위 벡터 Vy는 현재 픽셀 P(i,j)의 위치에 따라서 변화될 수 있기 때문에, 즉 (i,j)에 종속적이므로 Vx(i,j), Vy(i,j)와 같이 표현될 수 있다.
한편, 도 22에서 비디오 시퀀스에서 일정한 작은 움직임이 있다고 가정하면, 픽셀 단위로 양방향 움직임 보상되는 현재 픽셀 P(i,j)과 가장 유사한 제 1 참조 픽처의 제 1 대응 영역(2210)의 픽셀은 제 1 대응 픽셀 P0(i,j)가 아니라, 제 1 대응 픽셀 P0(i,j)를 소정의 변위 벡터 Vd 만큼 이동시킨 제 1 변위 대응 픽셀 PA라고 가정한다. 전술한 바와 같이 비디오 시퀀스에서 일정한 움직임이 있다고 가정하였으므로, 제 2 참조 픽처의 제 2 대응 영역(2220)에서 현재 픽셀 P(i,j)와 가장 유사한 픽셀은 제 2 대응 픽셀 P1(i,j)를 -Vd 만큼 이동시킨 제 2 변위 대응 픽셀 PB라고 추정할 수 있다. 변위 벡터 Vd는 전술한 x축 방향의 변위 벡터 Vx, y축 방향의 변위 벡터 Vy로 구성되어 Vd=(Vx, Vy)와 같다. 따라서, 일 실시예에 따른 픽셀 단위 움직임 보상부(2020)는 이러한 변위 벡터 Vd를 구성하는 x축 방향의 변위 벡터 Vx, y축 방향의 변위 벡터 Vy를 계산하고, 이를 이용하여 블록 단위로 양방향 움직임 보상된 값을 다시 픽셀 단위로 움직임 보상한다.
제 1 변위 대응 픽셀 PA 및 제 2 변위 대응 픽셀 PB의 값은, x축 방향의 변위 벡터 Vx, y축 방향의 변위 벡터 Vy와, 제 1 대응 픽셀의 수평 방향 경사도값 GradX0(i,j), 수직 방향 경사도값 GradY0(i,j), 제 2 대응 픽셀의 수평 방향 경사도값 GradX1(i,j), 수직 방향 경사도값 GradY1(i,j)을 이용하여 다음의 수학식 14 및 15와 같이 정의될 수 있다.
제 1 변위 대응 픽셀 PA 및 제 2 변위 대응 픽셀 PB의 차이값을 △ij라고 정의하면, △ij는 다음의 수학식 16와 같다.
수학식 13과 수학식 16을 비교하면, 수학식 13은 △ij가 0인 경우, 즉 제 1 변위 대응 픽셀 PA 및 제 2 변위 대응 픽셀 PB의 값이 동일한 경우를 의미한다.
픽셀 단위 움직임 보상부(2020)는 수학식 14 및 15의 제 1 변위 대응 픽셀 PA 및 제 2 변위 대응 픽셀 PB의 값의 평균값이나 가중합을 이용하여 픽셀 단위로 움직임 보상을 수행하는데, 이러한 수학식 14 및 15를 계산하기 위해서는 x축 방향의 변위 벡터 Vx, y축 방향의 변위 벡터 Vy와, 제 1 대응 픽셀의 수평 방향 경사도값 GradX0(i,j), 수직 방향 경사도값 GradY0(i,j), 제 2 대응 픽셀의 수평 방향 경사도값 GradX1(i,j), 수직 방향 경사도값 GradY1(i,j)을 결정하여야 한다. 후술되는 바와 같이, 각 대응 픽셀의 경사도값은 제 1 대응 픽셀 및 제 2 대응 픽셀의 수평 및 수직 방향으로 분수 픽셀 위치에서의 픽셀값의 변화량을 계산함으로써 결정되거나, 소정의 필터를 이용하여 계산될 수 있다.
먼저, x축 방향의 변위 벡터 Vx, y축 방향의 변위 벡터 Vy를 결정하는 과정에 대하여 설명한다.
픽셀 단위 움직임 보상부(2020)는 양방향 움직임 보상되는 현재 픽셀 P(i,j)을 중심으로 주변의 픽셀들을 포함하는 소정 크기의 윈도우(Ωij)(2202) 내에서 △ij가 최소가 되도록 하는 x축 방향의 변위 벡터 Vx, y축 방향의 변위 벡터 Vy를 결정한다. △ij가 0인 경우가 가장 바람직하지만, 윈도우(Ωij)(2202) 내의 모든 픽셀에 대해서 △ij가 0인 경우를 만족시키는 x축 방향의 변위 벡터 Vx, y축 방향의 변위 벡터 Vy가 존재하지 않을 수 있기 때문에, △ij가 최소가 되도록 하는 x축 방향의 변위 벡터 Vx, y축 방향의 변위 벡터 Vy가 결정된다.
도 23은 일 실시예에 따라서 수평 방향 변위 벡터 및 수직 방향 변이 벡터를 결정하는 과정을 설명하기 위한 참조도이다.
도 23을 참조하면, 소정 크기의 윈도우(Ωij)(2300)는 현재 블록의 양방향 예측되는 픽셀 P(i,j)을 중심으로 한 (2M+1)*(2N+1)(M, N은 정수)의 크기를 갖는다.
윈도우 내의 양방향 예측되는 현재 블록의 픽셀을 P(i',j')( i-M≤i'≤i+M 이고, j-M≤j'≤j+M인 경우 (i',j')∈Ωij), 현재 블록의 양방향 예측되는 픽셀 P(i',j')과 대응되는 제 1 참조 픽처(2310)의 제 1 대응 픽셀의 픽셀값을 P0(i',j'), 현재 블록의 양방향 예측되는 픽셀 P(i',j')과 대응되는 제 2 참조 픽처(2320)의 제 2 대응 픽셀의 픽셀값을 P1(i',j'), 제 1 대응 픽셀의 수평 방향 경사도값을 GradX0(i',j'), 수직 방향 경사도값을 GradY0(i',j'), 제 2 대응 픽셀의 수평 방향 경사도값을 GradX1(i',j'), 수직 방향 경사도값을 GradY1(i',j')라고 하면, 제 1 변위 대응 픽셀 PA'는 다음의 수학식; P0(i',j')+Vx*GradX0(i',j')+Vy*GradY0(i',j')의 값을 가지며, 제 2 변위 대응 픽셀 PB'는 다음의 수학식; P1(i',j')-Vx*GradX1(i',j')-Vy*GradY1(i',j')의 값을 갖는다.
제 1 변위 대응 픽셀 PA'와 제 2 변위 대응 픽셀 PB'의 차이값 △i'j'이 최소가 되도록 하는 x축 방향의 변위 벡터 Vx, y축 방향의 변위 벡터 Vy는, 다음의 수학식 17과 같이 차이값 △i'j'의 제곱합인 Φ(Vx,Vy)의 극대값 또는 극소값을 이용하여 결정될 수 있다.
Φ(Vx,Vy)은 Vx, Vy를 매개변수로 하는 함수로써, 극대값 또는 극소값은 다음의 수학식 18 및 19와 같이 Φ(Vx,Vy)을 Vx 및 Vy에 대하여 편미분하여 0이 되는 값을 계산함으로써 결정될 수 있다.
수학식 18 및 19로부터 다음 수학식 20과 같이 Vx(i,j) 및 Vy(i,j)를 변수로 하는 2개의 선형 방정식을 획득할 수 있다.
수학식 20에서 s1 내지 s6는 다음의 수학식 21과 같다.
수학식 21의 연립 방정식을 풀면 크레이머 공식(kramer's formulas)에 따라서 Vx(i,j)=det1/det, Vy(i,j)=det2/det와 같이 Vx(i,j) 및 Vy(i,j)의 값을 풀 수 있다. 여기서, det1=s3*s5-s2*s6, det2=s1*s6-s3*s4, det=s1*s5-s2*s4이다.
다시 도 20을 참조하면, 예측값 생성부(2030)는 블록 단위 양방향 움직임 보상값과 픽셀 단위 움직임 보상값을 가산하여 양방향 움직임 예측값을 생성한다. 구체적으로, 현재 블록의 (i,j) 위치의 픽셀에 대한 양방향 움직임 예측값을 P_OpticalFlow(i,j), 현재 블록의 (i,j) 위치의 픽셀에 대응되는 제 1 참조 픽처의 제 1 대응 픽셀의 픽셀값을 P0(i,j), 현재 블록의 (i,j) 위치의 픽셀에 대응되는 제 1 참조 픽처의 제 1 대응 픽셀의 픽셀값을 P0(i,j), 제 1 참조 픽처의 제 1 대응 픽셀의 수평 경사도값을 GradX0(i,j), 수직 방향 경사도값을 GradY0(i,j), 현재 블록의 (i,j) 위치의 픽셀에 대응되는 제 2 참조 픽처의 제 2 대응 픽셀의 픽셀값을 P1(i,j), 제 2 참조 픽처의 제 2 대응 픽셀의 수평 경사도값을 GradX1(i,j), 수직 방향 경사도값을 GradY1(i,j), 수평 방향 변위 벡터를 Vx, 및 수직 방향 변위 벡터를 Vy라고 하면, 예측값 생성부(2030)는 다음의 수학식 22와 같이 양방향 움직임 예측값을 생성한다.
수학식 22에서 (P0(i,j)+P1(i,j))/2 는 블록 단위 양방향 움직임 보상값에 해당하며, (Vx*(GradX0(i,j)-GradX1(i,j))+Vy*(GradY0(i,j)-GradY1(i,j)))/2는 일 실시예에 따라서 계산된 픽셀 단위 움직임 보상값에 대응된다.
수학식 22는 픽셀 단위 움직임 보상값에 소정의 가중치 α를 곱하여 다음의 수학식 23과 같이 변경될 수 있다.
가중치 α는 1보다 작은 값으로써, α=0.56±0.05인 것이 바람직하다.
한편, 전술한 수학식 16은 현재 픽처와 제 1 참조 픽처 사이의 시간적 거리 d0 및 현재 픽처와 제 2 참조 픽처 사이의 시간적 거리 d1이 모두 1인 경우를 가정하여 계산된 것이다. 만약 d0 및 d1이 1이 아닌 경우, 변위 벡터 Vd의 크기는 d0 및 d1에 반비례하게 스케일링 되어야 한다. 즉, 제 1 대응 픽셀에서 제 1 변위 대응 픽셀을 가리키는 제 1 참조 픽처의 변위 벡터를 (Vx0, Vy0), 제 2 대응 픽셀에서 제 2 변위 대응 픽셀을 가리키는 제 2 참조 픽처의 변위 벡터를 (Vx1, Vy1)이라고 하면, d0*Vx1=-d1*Vx0 및 d0*Vy1=-d1*Vy0이다. d=d1/d0 라고 하고, 함수 Φ(Vx,Vy)을 Vx 및 Vy에 대하여 편미분하여 극대값 및 극소값을 계산함으로써 Vx 및 Vy를 계산할 수 있다. 전술한 바와 같이 Vx(i,j)=det1/det, Vy(i,j)=det2/det이며, det1=s3*s5-s2*s6, det2=s1*s6-s3*s4, det=s1*s5-s2*s4이다. 여기서, s1 내지 s6의 값은 다음의 수학식 24와 같다.
또한, 현재 픽처와 제 1 참조 픽처 사이의 시간적 거리 d0 및 현재 픽처와 제 2 참조 픽처 사이의 시간적 거리 d1이 1이 아닌 경우, 수학식 23은 다음의 수학식 25과 같이 변경되며, 예측값 생성부(2030)은 수학식 25에 따라 양방향 움직임 보상값을 생성한다.
한편, 전술한 수학식 9의 옵티컬 플로우는 시간에 따른 픽셀값의 변화가 0라는 가정에 기반한 것이지만, 시간에 따라서 픽셀값이 변화될 수 있다. 이러한 시간에 따른 픽셀값의 변화를 q라고 하면 수학식 9는 다음의 수학식 26과 같이 변경된다.
여기서 q는 제 1 대응 영역과 제 2 대응 영역의 픽셀값의 차이의 평균을 의미하는 것으로 다음의 수학식 27과 같이 계산될 수 있다.
Hor_block_size는 현재 블록의 수평 방향 크기, ver_block_size는 현재 블록의 수직 방향 크기를 의미한다. 전술한 수학식 14 내지 25에서 P1(i,j) 대신에 픽셀값의 변화량 q를 고려한 P1(i,j)-q 값을 이용하여 Vx, Vy를 구해보면, Vx(i,j)=det1/det, Vy(i,j)=det2/det이며, det1=s3*s5-s2*s6, det2=s1*s6-s3*s4, det=s1*s5-s2*s4이다. 여기서, s1 내지 s6의 값은 다음의 수학식 28과 같다.
이 경우에도 예측값 생성부(2030)은 전술한 수학식 25에 따라 양방향 움직임 보상값을 생성할 수 있다.
한편, 전술한 바와 같이 수평 및 수직 방향 경사도값은 제 1 대응 픽셀 및 제 2 대응 픽셀의 수평 및 수직 방향으로 분수 픽셀 위치에서의 픽셀값의 변화량을 계산하거나, 소정의 필터를 이용하여 계산될 수 있다.
도 28은 일 실시예에 따라서 수평 및 수직 방향 경사도값을 계산하는 과정을 설명하기 위한 참조도이다. 도 28을 참조하면, 제 1 참조 픽처의 제 1 대응 픽셀 P0(i,j)(2410)의 수평 경사도값 GradX0(i,j) 및 수직 경사도값 GradY0(i,j)는 제 1 대응 픽셀 P0(i,j)(2410)과 수평 방향으로 인접한 주변 분수 픽셀 위치에서의 픽셀값의 변화량과 수직 방향으로 인접한 주변 분수 픽셀 위치에서의 픽셀값의 변화량을 구함으로써 계산될 수 있다. 즉, 다음의 수학식 29와 같이 P0(i,j)로부터 수평방향으로 h(h는 1보다 작은 분수값)만큼 떨어진 분수 픽셀 P0(i-h,j)(2460) 및 분수 픽셀 P0(i+h,j)(2470)의 픽셀값의 변화량을 계산하여 수평 경사도값 GradX0(i,j)를 계산하고, 수직 방향으로 h만큼 떨어진 분수 픽셀 P0(i,j-h)(2480) 및 분수 픽셀 P0(i, j+h)(2490)의 픽셀값의 변화량을 계산하여 수직 경사도값 GradY0(i,j)를 계산할 수 있다.
분수 픽셀 P0(i-h,j)(2460), P0(i+h,j)(2470), P0(i,j-h)(2480) 및 P0(i, j+h)(2490)의 값은 일반적인 보간 방식을 이용하여 계산될 수 있다. 또한, 다른 제 2 참조 픽처의 제 2 대응 픽셀의 경사도값 역시 수학식 29와 유사하게 계산될 수 있다.
일 실시예에 따르면 수학식 29와 같이 분수 픽셀 위치에서의 픽셀값의 변화량을 계산하여 경사도값을 계산하는 대신에 소정의 필터를 이용하여 각 대응 픽셀에서의 경사도값을 계산할 수도 있다.
도 25는 다른 실시예에 따라서 수평 및 수직 방향 경사도값을 계산하는 과정을 설명하기 위한 참조도이며, 도 26은 다른 실시예에 따른 경사도값 계산 필터의 필터 계수를 나타낸 표이다.
본 발명의 다른 실시예에 따르면, 경사도값은 참조 픽처의 픽셀들에 소정의 필터를 적용하여 결정될 수 있다. 도 25를 참조하면, 현재 수평 경사도값을 구하고자 하는 대응 픽셀 P0(2500)을 중심으로 좌측으로 M개의 픽셀들(2520) 및 우측으로 M개의 픽셀들(2510)에 소정의 필터를 적용하여 P0(2500)의 수평 경사도값을 계산할 수 있다. 이 때, 이용되는 필터 계수는 도 26에 도시된 바와 같이 윈도우 크기를 결정하는데 이용되는 M 값 및 정수 픽셀 사이의 보간 위치를 나타내는 α값에 따라서 결정될 수 있다. 일 예로, 윈도우 크기를 결정하는 2M=4이며, 대응 픽셀 P0(2500)으로부터 1/4만큼 떨어진, 즉 α=1/4인 경우에는 도 19의 2번째 행의 필터 계수들 {-8. -36. 54, -10}이 주변 픽셀 P-2, P-1, P1, P2에 적용된다. 이 경우, 대응 픽셀(2500)의 수평 방향 경사도값 GradX0는 다음의 수학식; GradX0= -8*P-2, -36*P-1+54*P1 -10*P2 +128>>8 과 같이 필터 계수와 주변 픽셀을 이용한 가중합으로써 계산될 수 있다. 유사하게 수직 방향 경사도값 역시 윈도우 크기 2N 및 보간 위치에 따라서 도 26에 도시된 필터 계수들을 주변 픽셀에 적용함으로써 계산될 수 있다. 이 경우 도 26의 2M은 2N으로 대체될 수 있다.
일 실시예에 따른 픽셀 단위 움직임 보상은 소정 조건 하에서 동작이 제한될 수 있다. 일 실시예에 따른 픽셀 단위 움직임 보상은 블록의 크기에 기초하여 수행될 수 있다. 예를 들어, 블록의 크기가 소정 크기보다 작은 경우 픽셀 단위 움직임 보상이 수행되지 않을 수 있다.
한편, 일 실시예에 따른 영상 복호화 장치(200)는 다른 구문 요소에 의해 픽셀 단위 움직임 보상의 수행을 제한할 수 있다. 예를 들어, CBF(Coded Block Flag)가 0이 아닌 경우 픽셀 단위 움직임 보상은 수행되지 않을 수 있다. 또한, 영상 복호화 장치(200)이 주변 블록으로부터 움직임 벡터 예측값을 유도하는 AMVP 모드 또는 주변 블록으로부터 참조 방향, 참조 픽처 인덱스 및 움직임 벡터 예측값을 유도하는 머지(Merge) 모드를 이용하여 예측을 수행하는 경우, 픽셀 단위 움직임 보상의 수행이 제한될 수 있다. 또한, 예를 들어 로컬 조도 보상(local illumination compensation)이 수행되거나, 어파인(affine) 움직임 보상이 수행하는 경우에도 픽셀 단위 움직임 보상이 수행되지 않을 수 있다.
따라서, 영상 복호화 장치(200)는 CBF(Coded Block Flag), 유도된 움직임 정보를 사용한 움직임 보상(예를 들어, AMVP 모드, 머지 모드)을 수행할지 여부를 나타내는 구문 요소, 로컬 조도 보상을 수행할지 여부를 나타내는 구문 요소, 어파인 움직임 보상을 수행할지 여부를 나타내는 구문 요소 등에 기초하여 픽셀 단위 움직임 보상의 수행 여부를 결정할 수 있다. 이 때, 상기 CBF, 유도된 움직임 정보를 사용하여 움직임 보상을 수행할지 여부를 나타내는 정보, 로컬 조도 보상을 수행할지 여부를 나타내는 정보 및 어파인 움직임 보상을 수행할지 여부를 나타내는 정보는 픽셀 단위 움직임 보상의 제한 여부에 관한 정보를 나타내는 정보일 수 있다.
도 27은 일 실시예에 따른 영상 부호화 방법을 나타낸 플로우 차트이다.
도 27을 참조하면, 단계 S2710에서, 영상 부호화 장치(100)는 제 1 참조 픽처 및 제 2 참조 픽처에서 현재 블록과 가장 유사한 제 1 대응 영역 및 제 2 대응 영역을 가리키는 제 1 움직임 벡터 및 제 2 움직임 벡터를 결정하는 양방향 움직임 예측을 수행한다.
단계 S2720에서, 영상 부호화 장치(100)는 제 1 움직임 벡터 및 제 2 움직임 벡터를 이용하여 현재 블록에 대한 블록 단위 양방향 움직임 보상을 수행한다.
단계 S2730에서, 영상 부호화 장치(100)는 제 1 참조 픽처 및 제 2 참조 픽처의 픽셀들을 이용하여 현재 블록의 각 픽셀에 대한 픽셀 단위 움직임 보상을 수행한다. 전술한 바와 같이, 영상 부호화 장치(100)는 현재 블록의 각 픽셀과 대응되는 제 1 참조 픽처의 제 1 대응 픽셀의 수평 및 수직 방향 경사도값, 현재 블록의 각 픽셀과 대응되는 제 2 참조 픽처의 제 2 대응 픽셀의 수평 및 수직 방향 경사도값, 및 제 1 참조 픽처 및 제 2 참조 픽처의 픽셀들을 이용하여 결정된 수평 방향 변위 벡터 및 수직 방향 변위 벡터를 이용하여 현재 블록의 각 픽셀의 픽셀 단위 움직임 보정값을 생성할 수 있다.
단계 S2740에서, 영상 부호화 장치(100)는 블록 단위 양방향 움직임 보상 결과와 픽셀 단위 움직임 보상 결과를 가산하여 현재 블록에 대한 양방향 움직임 예측값을 생성한다. 예측된 양방향 움직임 예측값과 원 입력 신호의 차이인 레지듀얼 신호는 이후 변환, 양자화 및 엔트로피 부호화를 거쳐 비트스트림 형태로 부호화된다. 한편, 일 실시예에 따라서, 픽셀 단위 움직임 보상값을 이용한 경우에는 일반적인 양방향 움직임 예측값과 다르기 때문에 이러한 픽셀 단위 움직임 보상값의 이용 여부를 나타내는 소정의 인덱스 정보를 부호화된 비트스트림에 부가하는 것이 바람직하다.
도 28은 일 실시예에 따른 영상 복호화 방법을 나타낸 플로우 차트이다.
도 28을 참조하면, 단계 S2810에서 영상 복호화 장치(200)는 비트스트림을 수신한다.
단계 S2820에서 영상 복호화 장치(200)는 비트스트림으로부터 추출된 픽셀 단위 움직임 보상의 제한 여부에 관한 정보에 기초하여 현재 블록에 대해 픽셀 단위 움직임 보상을 수행할지 여부를 결정한다.
단계 S2830에서, 픽셀 단위 움직임 보상이 수행되는 경우, 비트스트림으로부터 제 1 참조 픽처 및 제 2 참조 픽처에서 현재 블록과 가장 유사한 제 1 대응 영역 및 제 2 대응 영역을 가리키는 제 1 움직임 벡터 및 제 2 움직임 벡터에 관한 정보가 추출된다.
단계 S2840에서, 영상 복호화 장치(200)는 제 1 움직임 벡터 및 상기 제 2 움직임 벡터를 이용하여 현재 블록에 대한 블록 단위 양방향 움직임 보상을 수행한다.
단계 S2850에서, 영상 복호화 장치(200)는 제 1 참조 픽처 및 제 2 참조 픽처의 픽셀들을 이용하여 현재 블록의 각 픽셀에 대한 픽셀 단위 움직임 보상을 수행한다. 전술한 바와 같이, 영상 복호화 장치(200) 내의 픽셀 단위 움직임 보상부(2020)는 현재 블록의 각 픽셀과 대응되는 제 1 참조 픽처의 제 1 대응 픽셀의 수평 및 수직 방향 경사도값, 현재 블록의 각 픽셀과 대응되는 제 2 참조 픽처의 제 2 대응 픽셀의 수평 및 수직 방향 경사도값, 및 제 1 참조 픽처 및 제 2 참조 픽처의 픽셀들을 이용하여 결정된 수평 방향 변위 벡터 및 수직 방향 변위 벡터를 이용하여 현재 블록의 각 픽셀의 픽셀 단위 움직임 보정값을 생성할 수 있다.
단계 S2860에서, 영상 복호화 장치(200)는 블록 단위 양방향 움직임 보상 결과와 픽셀 단위 움직임 보상 결과를 이용하여 현재 블록에 대한 양방향 움직임 예측값을 생성한다. 현재 블록에 대한 양방향 움직임 예측값은 비트스트림으로부터 추출되어 복호화된 현재 블록의 레지듀얼 값과 더하여져서 현재 블록이 복원된다.
이제까지 다양한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.
Claims (5)
- 제 1 확률 모델 및 제 2 확률 모델을 기초로, 제 1 구문 요소의 제 1 빈의 산술 복호화에 이용되는 제 1 확률 정보를 획득하는 단계;
상기 획득된 제 1 확률 정보를 기초로 산술 복호화를 수행하여 상기 제 1 구문 요소의 상기 제 1 빈을 획득하는 단계;
상기 제 1 빈을 역 이진화하여 상기 제 1 구문 요소의 값을 획득하는 단계;
제 3 확률 모델 및 제 4 확률 모델을 기초로, 제 2 구문 요소의 제 2 빈의 산술 복호화에 이용되는 제 2 확률 정보를 획득하는 단계;
상기 획득된 제 2 확률 정보를 기초로 산술 복호화를 수행하여 상기 제2 구문 요소의 상기 제 2 빈을 획득하는 단계; 및
상기 제 2 빈을 역 이진화하여 상기 제 2 구문 요소의 값을 획득하는 단계를 포함하고,
상기 제 1 확률 모델은 제 1 비트시프트 값에 기초하여 결정되고, 상기 제 2 확률 모델은 제 2 비트시프트 값에 기초하여 결정되고, 상기 제 2 비트시프트 값은 상기 제 1 비트시프트 값보다 큰 값으로 결정되고,
상기 제 3 확률 모델은 제 3 비트시프트 값에 기초하여 결정되고, 상기 제 4 확률 모델은 제 4 비트시프트 값에 기초하여 결정되고, 상기 제 4 비트시프트 값은 상기 제 3 비트시프트 값보다 큰 값으로 결정되는 것을 특징으로 하는, 영상 복호화 방법. - 제 1 확률 모델 및 제 2 확률 모델을 기초로, 제 1 구문 요소의 제 1 빈의 산술 복호화에 이용되는 제 1 확률 정보를 획득하고,
상기 획득된 제 1 확률 정보를 기초로 산술 복호화를 수행하여 상기 제 1 구문 요소의 상기 제 1 빈을 획득하고,
상기 제 1 빈을 역 이진화하여 상기 제 1 구문 요소의 값을 획득하고,
제 3 확률 모델 및 제 4 확률 모델을 기초로, 제 2 구문 요소의 제 2 빈의 산술 복호화에 이용되는 제 2 확률 정보를 획득하고,
상기 획득된 제 2 확률 정보를 기초로 산술 복호화를 수행하여 상기 제2 구문 요소의 상기 제 2 빈을 획득하고,
상기 제 2 빈을 역 이진화하여 상기 제 2 구문 요소의 값을 획득하는 프로세서를 포함하고,
상기 제 1 확률 모델은 제 1 비트시프트 값에 기초하여 결정되고, 상기 제 2 확률 모델은 제 2 비트시프트 값에 기초하여 결정되고, 상기 제 2 비트시프트 값은 상기 제 1 비트시프트 값보다 큰 값으로 결정되고,
상기 제 3 확률 모델은 제 3 비트시프트 값에 기초하여 결정되고, 상기 제 4 확률 모델은 제 4 비트시프트 값에 기초하여 결정되고, 상기 제 4 비트시프트 값은 상기 제 3 비트시프트 값보다 큰 값으로 결정되는 것을 특징으로 하는, 영상 복호화 장치. - 제 1 구문 요소의 값에 대해 이진화를 수행하여 하나 이상의 빈들을 획득하는 단계;
제 1 확률 모델 및 제 2 확률 모델을 기초로, 상기 제 1 구문 요소의 빈들 중 제 1 빈의 산술 부호화에 이용되는 제 1 확률 정보를 획득하는 단계;
상기 획득된 제 1 확률 정보를 기초로 상기 제 1 빈에 대해 산술 부호화를 수행하여 상기 제 1 구문 요소의 제1 비트열을 획득하는 단계;
제 2 구문 요소의 값에 대해 이진화를 수행하여 하나 이상의 빈들을 획득하는 단계;
제 3 확률 모델 및 제 4 확률 모델을 기초로, 상기 제 2 구문 요소의 빈들 중 제 2 빈의 부술 복호화에 이용되는 제 2 확률 정보를 획득하는 단계;
상기 획득된 제 2 확률 정보를 기초로 상기 제 2 빈에 대해 산술 부호화를 수행하여 상기 제2 구문 요소의 제 2 비트열을 획득하는 단계를 포함하고,
상기 제 1 확률 모델은 제 1 비트시프트 값에 기초하여 결정되고, 상기 제 2 확률 모델은 제 2 비트시프트 값에 기초하여 결정되고, 상기 제 2 비트시프트 값은 상기 제 1 비트시프트 값보다 큰 값으로 결정되고,
상기 제 3 확률 모델은 제 3 비트시프트 값에 기초하여 결정되고, 상기 제 4 확률 모델은 제 4 비트시프트 값에 기초하여 결정되고, 상기 제 4 비트시프트 값은 상기 제 3 비트시프트 값보다 큰 값으로 결정되는 것을 특징으로 하는, 영상 부호화 방법. - 제 1 구문 요소의 값에 대해 이진화를 수행하여 하나 이상의 빈들을 획득하고,
제 1 확률 모델 및 제 2 확률 모델을 기초로, 상기 제 1 구문 요소의 빈들 중 제 1 빈의 산술 부호화에 이용되는 제 1 확률 정보를 획득하고,
상기 획득된 제 1 확률 정보를 기초로 상기 제 1 빈에 대해 산술 부호화를 수행하여 상기 제 1 구문 요소의 제1 비트열을 획득하고,
제 2 구문 요소의 값에 대해 이진화를 수행하여 하나 이상의 빈들을 획득하고,
제 3 확률 모델 및 제 4 확률 모델을 기초로, 상기 제 2 구문 요소의 빈들 중 제 2 빈의 부술 복호화에 이용되는 제 2 확률 정보를 획득하고,
상기 획득된 제 2 확률 정보를 기초로 상기 제 2 빈에 대해 산술 부호화를 수행하여 상기 제2 구문 요소의 제 2 비트열을 획득하는 프로세서를 포함하고,
상기 제 1 확률 모델은 제 1 비트시프트 값에 기초하여 결정되고, 상기 제 2 확률 모델은 제 2 비트시프트 값에 기초하여 결정되고, 상기 제 2 비트시프트 값은 상기 제 1 비트시프트 값보다 큰 값으로 결정되고,
상기 제 3 확률 모델은 제 3 비트시프트 값에 기초하여 결정되고, 상기 제 4 확률 모델은 제 4 비트시프트 값에 기초하여 결정되고, 상기 제 4 비트시프트 값은 상기 제 3 비트시프트 값보다 큰 값으로 결정되는 것을 특징으로 하는, 영상 부호화 장치. - 비디오 부호화 방법에 의해 생성된 비트스트림을 포함하는 컴퓨터로 판독 가능한 기록 매체에 있어서,
상기 비트스트림은 제 1 구문 요소의 제1 비트열 및 제2 구문 요소의 제2 비트열을 포함하고,
상기 비디오 부호화 방법은,
상기 제 1 구문 요소의 값에 대해 이진화를 수행하여 하나 이상의 빈들을 획득하는 단계;
제 1 확률 모델 및 제 2 확률 모델을 기초로, 상기 제 1 구문 요소의 빈들 중 제 1 빈의 산술 부호화에 이용되는 제 1 확률 정보를 획득하는 단계;
상기 획득된 제 1 확률 정보를 기초로 상기 제 1 빈에 대해 산술 부호화를 수행하여 상기 제 1 구문 요소의 상기 제1 비트열을 획득하는 단계;
상기 제 2 구문 요소의 값에 대해 이진화를 수행하여 하나 이상의 빈들을 획득하는 단계;
제 3 확률 모델 및 제 4 확률 모델을 기초로, 상기 제 2 구문 요소의 빈들 중 제 2 빈의 부술 복호화에 이용되는 제 2 확률 정보를 획득하는 단계;
상기 획득된 제 2 확률 정보를 기초로 상기 제 2 빈에 대해 산술 부호화를 수행하여 상기 제2 구문 요소의 상기 제 2 비트열을 획득하는 단계를 포함하고,
상기 제 1 확률 모델은 제 1 비트시프트 값에 기초하여 결정되고, 상기 제 2 확률 모델은 제 2 비트시프트 값에 기초하여 결정되고, 상기 제 2 비트시프트 값은 상기 제 1 비트시프트 값보다 큰 값으로 결정되고,
상기 제 3 확률 모델은 제 3 비트시프트 값에 기초하여 결정되고, 상기 제 4 확률 모델은 제 4 비트시프트 값에 기초하여 결정되고, 상기 제 4 비트시프트 값은 상기 제 3 비트시프트 값보다 큰 값으로 결정되는 것을 특징으로 하는, 기록 매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020247007844A KR20240034898A (ko) | 2015-10-13 | 2016-10-13 | 영상을 부호화 또는 복호화하는 방법 및 장치 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562240725P | 2015-10-13 | 2015-10-13 | |
US62/240,725 | 2015-10-13 | ||
PCT/KR2016/011497 WO2017065525A2 (ko) | 2015-10-13 | 2016-10-13 | 영상을 부호화 또는 복호화하는 방법 및 장치 |
KR1020227005128A KR102469145B1 (ko) | 2015-10-13 | 2016-10-13 | 영상을 부호화 또는 복호화하는 방법 및 장치 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227005128A Division KR102469145B1 (ko) | 2015-10-13 | 2016-10-13 | 영상을 부호화 또는 복호화하는 방법 및 장치 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020247007844A Division KR20240034898A (ko) | 2015-10-13 | 2016-10-13 | 영상을 부호화 또는 복호화하는 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220156986A KR20220156986A (ko) | 2022-11-28 |
KR102646890B1 true KR102646890B1 (ko) | 2024-03-12 |
Family
ID=58517559
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227040175A KR102646890B1 (ko) | 2015-10-13 | 2016-10-13 | 영상을 부호화 또는 복호화하는 방법 및 장치 |
KR1020177037707A KR102365164B1 (ko) | 2015-10-13 | 2016-10-13 | 영상을 부호화 또는 복호화하는 방법 및 장치 |
KR1020227005128A KR102469145B1 (ko) | 2015-10-13 | 2016-10-13 | 영상을 부호화 또는 복호화하는 방법 및 장치 |
KR1020247007844A KR20240034898A (ko) | 2015-10-13 | 2016-10-13 | 영상을 부호화 또는 복호화하는 방법 및 장치 |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177037707A KR102365164B1 (ko) | 2015-10-13 | 2016-10-13 | 영상을 부호화 또는 복호화하는 방법 및 장치 |
KR1020227005128A KR102469145B1 (ko) | 2015-10-13 | 2016-10-13 | 영상을 부호화 또는 복호화하는 방법 및 장치 |
KR1020247007844A KR20240034898A (ko) | 2015-10-13 | 2016-10-13 | 영상을 부호화 또는 복호화하는 방법 및 장치 |
Country Status (6)
Country | Link |
---|---|
US (4) | US10939104B2 (ko) |
EP (2) | EP3629581A1 (ko) |
KR (4) | KR102646890B1 (ko) |
CN (4) | CN112929660B (ko) |
MX (2) | MX2018004250A (ko) |
WO (1) | WO2017065525A2 (ko) |
Families Citing this family (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112929660B (zh) * | 2015-10-13 | 2023-12-26 | 三星电子株式会社 | 用于对图像进行编码或解码的方法和设备 |
US10390021B2 (en) * | 2016-03-18 | 2019-08-20 | Mediatek Inc. | Method and apparatus of video coding |
US10560712B2 (en) | 2016-05-16 | 2020-02-11 | Qualcomm Incorporated | Affine motion prediction for video coding |
US10448010B2 (en) | 2016-10-05 | 2019-10-15 | Qualcomm Incorporated | Motion vector prediction for affine motion models in video coding |
US10750203B2 (en) * | 2016-12-22 | 2020-08-18 | Mediatek Inc. | Method and apparatus of adaptive bi-prediction for video coding |
WO2018174617A1 (ko) * | 2017-03-22 | 2018-09-27 | 한국전자통신연구원 | 블록 형태에 기반한 예측 방법 및 장치 |
US10855997B2 (en) * | 2017-04-14 | 2020-12-01 | Mediatek Inc. | Secondary transform kernel size selection |
US11877001B2 (en) | 2017-10-10 | 2024-01-16 | Qualcomm Incorporated | Affine prediction in video coding |
US10652571B2 (en) * | 2018-01-25 | 2020-05-12 | Qualcomm Incorporated | Advanced motion vector prediction speedups for video coding |
CN117560505A (zh) | 2018-03-29 | 2024-02-13 | 华为技术有限公司 | 一种双向帧间预测方法及装置 |
JP7545331B2 (ja) | 2018-05-09 | 2024-09-04 | インターデジタル ヴイシー ホールディングス, インコーポレイテッド | ビデオ符号化及び復号化の動き補償 |
CN109035164B (zh) * | 2018-07-13 | 2022-03-04 | 北京控制工程研究所 | 一种快速鲁棒图像杂光抑制的方法及系统 |
CN116708816A (zh) * | 2018-08-09 | 2023-09-05 | Lg电子株式会社 | 编码设备、解码设备和数据发送设备 |
JP7055879B2 (ja) | 2018-09-05 | 2022-04-18 | エルジー エレクトロニクス インコーポレイティド | ビデオ信号の符号化/復号方法及びそのための装置 |
CN117714717A (zh) | 2018-09-10 | 2024-03-15 | 华为技术有限公司 | 视频解码方法及视频解码器 |
US20210392330A1 (en) * | 2018-10-18 | 2021-12-16 | Samsung Electronics Co., Ltd. | Entropy encoding/decoding method and apparatus |
CN109769104B (zh) * | 2018-10-26 | 2021-02-05 | 江苏四友信息技术有限公司 | 无人机全景图像传输方法及装置 |
US11212521B2 (en) * | 2018-11-07 | 2021-12-28 | Avago Technologies International Sales Pte. Limited | Control of memory bandwidth consumption of affine mode in versatile video coding |
CN113056919B (zh) | 2018-11-16 | 2024-09-27 | 三星电子株式会社 | 使用双向预测的图像编码和解码方法以及图像编码和解码设备 |
CN116744004A (zh) * | 2018-12-19 | 2023-09-12 | Lg电子株式会社 | 编码设备、解码设备和数据发送设备 |
WO2020141935A1 (ko) * | 2019-01-03 | 2020-07-09 | 엘지전자 주식회사 | 인터 예측을 기반으로 비디오 신호를 처리하기 위한 방법 및 장치 |
CN117812271A (zh) * | 2019-02-01 | 2024-04-02 | Lg电子株式会社 | 图像解码方法、图像编码方法、存储介质和发送方法 |
WO2020166897A1 (ko) | 2019-02-14 | 2020-08-20 | 엘지전자 주식회사 | Dmvr 기반의 인터 예측 방법 및 장치 |
EP3915262A4 (en) * | 2019-03-08 | 2022-08-03 | Huawei Technologies Co., Ltd. | ENCODER, DECODER AND RELATED METHODS FOR INTERPREDICTION |
CN113508596A (zh) * | 2019-03-11 | 2021-10-15 | Oppo广东移动通信有限公司 | 帧内预测方法、装置及计算机存储介质 |
KR102243503B1 (ko) * | 2019-04-05 | 2021-04-22 | 수니코리아 엘엘씨(한국뉴욕주립대학교) | 고효율 머신러닝을 통한 저사양 장치에서의 빠른 영상 인식 방법 및 그 방법을 수행하는 장치 |
WO2020216303A1 (en) | 2019-04-23 | 2020-10-29 | Beijing Bytedance Network Technology Co., Ltd. | Selective use of secondary transform in coded video |
CN112073729B (zh) * | 2019-06-11 | 2024-04-05 | 北京三星通信技术研究有限公司 | 模型更新方法、装置、电子设备及计算机可读存储介质 |
WO2020251325A1 (ko) * | 2019-06-14 | 2020-12-17 | 현대자동차주식회사 | 인터 예측을 이용하여 비디오를 부호화 및 복호화하는 방법 및 장치 |
CN118612459A (zh) | 2019-06-14 | 2024-09-06 | 现代自动车株式会社 | 用于利用帧间预测来编码和解码视频的方法和装置 |
CN112135141A (zh) | 2019-06-24 | 2020-12-25 | 华为技术有限公司 | 视频编码器、视频解码器及相应方法 |
US20220286681A1 (en) * | 2019-09-06 | 2022-09-08 | Sony Group Corporation | Image processing device and method |
WO2021054787A1 (ko) * | 2019-09-21 | 2021-03-25 | 엘지전자 주식회사 | 변환에 기반한 영상 코딩 방법 및 그 장치 |
EP4029259A1 (en) * | 2019-11-08 | 2022-07-20 | Google LLC | Probability estimation for entropy coding |
CN112135146B (zh) * | 2019-11-14 | 2021-12-24 | 杭州海康威视数字技术股份有限公司 | 一种编解码方法、装置及其设备 |
CN112887713B (zh) * | 2019-11-30 | 2022-06-28 | 华为技术有限公司 | 图片压缩、解压缩方法和装置 |
US11575896B2 (en) * | 2019-12-16 | 2023-02-07 | Panasonic Intellectual Property Corporation Of America | Encoder, decoder, encoding method, and decoding method |
CN111275121B (zh) * | 2020-01-23 | 2023-07-18 | 北京康夫子健康技术有限公司 | 一种医学影像处理方法、装置和电子设备 |
EP4122203A4 (en) * | 2020-03-20 | 2024-04-17 | Beijing Dajia Internet Information Technology Co., Ltd. | SPATIAL NEIGHBOR-BASED AFFINE MOTION DERIVATION |
US11930186B2 (en) | 2020-11-11 | 2024-03-12 | Tencent America LLC | Method and apparatus for video coding |
US20220150518A1 (en) * | 2020-11-11 | 2022-05-12 | Tencent America LLC | Method and apparatus for video coding |
WO2023195643A1 (ko) * | 2022-04-05 | 2023-10-12 | 삼성전자 주식회사 | 엔트로피 부호화 및 복호화 장치 및 그 방법 |
CN116367150B (zh) * | 2023-04-18 | 2023-11-10 | 甘肃昊润科技信息有限公司 | 一种数据加密传输方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102469145B1 (ko) | 2015-10-13 | 2022-11-21 | 삼성전자주식회사 | 영상을 부호화 또는 복호화하는 방법 및 장치 |
Family Cites Families (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6894628B2 (en) * | 2003-07-17 | 2005-05-17 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | Apparatus and methods for entropy-encoding or entropy-decoding using an initialization of context variables |
US8306125B2 (en) * | 2006-06-21 | 2012-11-06 | Digital Video Systems, Inc. | 2-bin parallel decoder for advanced video processing |
JP4660433B2 (ja) * | 2006-06-29 | 2011-03-30 | 株式会社東芝 | 符号化回路、復号回路、エンコーダ回路、デコーダ回路、cabac処理方法 |
KR101365445B1 (ko) | 2007-01-03 | 2014-02-19 | 삼성전자주식회사 | 전역 및 국부 움직임 보상을 순차적으로 이용하는 움직임보상 방법, 복호화 방법, 장치, 인코더 및 디코더 |
CN101005287A (zh) | 2007-01-26 | 2007-07-25 | 北京中星微电子有限公司 | 提高算术编码速度的方法、系统及编码装置 |
US9521433B2 (en) * | 2007-09-06 | 2016-12-13 | Nec Corporation | Video encoding device, video decoding device, video encoding method, video decoding method, video encoding or decoding program |
KR101385957B1 (ko) | 2007-10-04 | 2014-04-17 | 삼성전자주식회사 | 복호화기에서의 양자화 계수 조정 방법 및 장치 |
US8542727B2 (en) * | 2007-12-31 | 2013-09-24 | Intel Corporation | Systems and apparatuses for performing CABAC parallel encoding and decoding |
KR101517768B1 (ko) | 2008-07-02 | 2015-05-06 | 삼성전자주식회사 | 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치 |
US7714754B2 (en) * | 2008-07-14 | 2010-05-11 | Vixs Systems, Inc. | Entropy decoder with pipelined processing and methods for use therewith |
US7932843B2 (en) * | 2008-10-17 | 2011-04-26 | Texas Instruments Incorporated | Parallel CABAC decoding for video decompression |
JP2010237151A (ja) * | 2009-03-31 | 2010-10-21 | Anritsu Corp | Apd測定装置 |
KR101805531B1 (ko) | 2009-06-07 | 2018-01-10 | 엘지전자 주식회사 | 비디오 신호의 디코딩 방법 및 장치 |
JPWO2011016250A1 (ja) * | 2009-08-06 | 2013-01-10 | パナソニック株式会社 | 符号化方法、復号方法、符号化装置及び復号装置 |
KR101675116B1 (ko) * | 2009-08-06 | 2016-11-10 | 삼성전자 주식회사 | 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치 |
KR20110045949A (ko) | 2009-10-28 | 2011-05-04 | 삼성전자주식회사 | 회전 변환을 이용한 영상 부호화, 복호화 방법 및 장치 |
US9973768B2 (en) * | 2010-03-16 | 2018-05-15 | Texas Instruments Incorporated | CABAC decoder with decoupled arithmetic decoding and inverse binarization |
US20130083851A1 (en) | 2010-04-06 | 2013-04-04 | Samsung Electronics Co., Ltd. | Method and apparatus for video encoding and method and apparatus for video decoding |
JP5520122B2 (ja) | 2010-04-14 | 2014-06-11 | キヤノン株式会社 | データ変換装置 |
WO2012031628A1 (en) * | 2010-09-09 | 2012-03-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Entropy encoding and decoding scheme |
US8344917B2 (en) * | 2010-09-30 | 2013-01-01 | Sharp Laboratories Of America, Inc. | Methods and systems for context initialization in video coding and decoding |
KR20120052882A (ko) * | 2010-11-15 | 2012-05-24 | 한국전자통신연구원 | 병렬 엔트로피 부호화/복호화 방법 및 장치 |
CN102231830B (zh) * | 2010-11-23 | 2013-04-17 | 浙江大学 | 用于上下文算术编解码的运算单元 |
PL2768145T3 (pl) * | 2011-01-14 | 2016-07-29 | Ge Video Compression Llc | Schemat kodowania i dekodowania entropijnego |
US10123053B2 (en) * | 2011-05-23 | 2018-11-06 | Texas Instruments Incorporated | Acceleration of bypass binary symbol processing in video coding |
US9379736B2 (en) * | 2011-06-03 | 2016-06-28 | Qualcomm Incorporated | Context-adaptive coding video data |
WO2013002585A2 (ko) * | 2011-06-28 | 2013-01-03 | 삼성전자 주식회사 | 엔트로피 부호화/복호화 방법 및 장치 |
KR101943049B1 (ko) * | 2011-06-30 | 2019-01-29 | 에스케이텔레콤 주식회사 | 영상 부호화/복호화 방법 및 장치 |
CA2989032C (en) * | 2011-07-01 | 2020-02-18 | Samsung Electronics Co., Ltd. | Method and apparatus for entropy encoding using hierarchical data unit, and method and apparatus for decoding |
CN107959853B (zh) * | 2011-10-18 | 2021-05-14 | 株式会社Kt | 视频信号解码方法 |
US9871537B2 (en) * | 2011-10-27 | 2018-01-16 | Qualcomm Incorporated | Mapping states in binary arithmetic coder for video coding |
US9363510B2 (en) | 2012-03-02 | 2016-06-07 | Qualcomm Incorporated | Scan-based sliding window in context derivation for transform coefficient coding |
US9681133B2 (en) * | 2012-03-29 | 2017-06-13 | Intel Corporation | Two bins per clock CABAC decoding |
PT2840789T (pt) * | 2012-04-15 | 2018-10-24 | Samsung Electronics Co Ltd | ¿método de atualização de parâmetro para codificação e descodificação de entropia do nível de coeficiente de conversão e dispositivo de codificação de entropia e dispositivo de descodificação de entropia usando o mesmo nível de coeficiente de conversão |
ES2764988T3 (es) * | 2012-07-02 | 2020-06-05 | Samsung Electronics Co Ltd | Codificación por entropía de un vídeo y decodificación por entropía de un vídeo |
KR20140089486A (ko) | 2013-01-04 | 2014-07-15 | 삼성전자주식회사 | 스케일러블 비디오의 부호화 및 복호화를 위한 움직임 보상 방법 및 장치 |
US20150169794A1 (en) * | 2013-03-14 | 2015-06-18 | Google Inc. | Updating location relevant user behavior statistics from classification errors |
CN103746731B (zh) * | 2014-01-21 | 2017-03-15 | 电子科技大学 | 基于概率计算的多输入多输出检测器及检测方法 |
US9948934B2 (en) * | 2014-07-02 | 2018-04-17 | Apple Inc. | Estimating rate costs in video encoding operations using entropy encoding statistics |
CA2966720A1 (en) * | 2014-11-04 | 2016-05-12 | Samsung Electronics Co., Ltd. | Probability update method for binary arithmetic coding/decoding, and entropy coder/decoder using the same |
US10368072B2 (en) | 2015-05-29 | 2019-07-30 | Qualcomm Incorporated | Advanced arithmetic coder |
US10142635B2 (en) * | 2015-12-18 | 2018-11-27 | Blackberry Limited | Adaptive binarizer selection for image and video coding |
US10554988B2 (en) * | 2017-03-22 | 2020-02-04 | Qualcomm Incorporated | Binary arithmetic coding with parameterized probability estimation finite state machines |
US10791341B2 (en) * | 2017-10-10 | 2020-09-29 | Qualcomm Incorporated | Binary arithmetic coding with progressive modification of adaptation parameters |
EP3503557A1 (en) * | 2017-12-22 | 2019-06-26 | Thomson Licensing | Method and apparatus for video encoding and decoding based on context switching |
US20190042956A1 (en) * | 2018-02-09 | 2019-02-07 | Intel Corporation | Automatic configurable sequence similarity inference system |
-
2016
- 2016-10-13 CN CN202110146952.4A patent/CN112929660B/zh active Active
- 2016-10-13 KR KR1020227040175A patent/KR102646890B1/ko active IP Right Grant
- 2016-10-13 WO PCT/KR2016/011497 patent/WO2017065525A2/ko active Application Filing
- 2016-10-13 CN CN202110145731.5A patent/CN112929659B/zh active Active
- 2016-10-13 EP EP19207504.2A patent/EP3629581A1/en not_active Withdrawn
- 2016-10-13 CN CN202110171292.5A patent/CN112929661B/zh active Active
- 2016-10-13 US US15/767,307 patent/US10939104B2/en active Active
- 2016-10-13 KR KR1020177037707A patent/KR102365164B1/ko active IP Right Grant
- 2016-10-13 KR KR1020227005128A patent/KR102469145B1/ko active IP Right Grant
- 2016-10-13 CN CN201680059343.2A patent/CN108141594B/zh active Active
- 2016-10-13 EP EP16855742.9A patent/EP3316580A4/en not_active Withdrawn
- 2016-10-13 KR KR1020247007844A patent/KR20240034898A/ko active Search and Examination
- 2016-10-13 MX MX2018004250A patent/MX2018004250A/es unknown
-
2018
- 2018-04-06 MX MX2021013693A patent/MX2021013693A/es unknown
-
2021
- 2021-02-04 US US17/167,866 patent/US11638006B2/en active Active
- 2021-02-04 US US17/167,850 patent/US11553182B2/en active Active
-
2023
- 2023-04-03 US US18/194,817 patent/US12088808B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102469145B1 (ko) | 2015-10-13 | 2022-11-21 | 삼성전자주식회사 | 영상을 부호화 또는 복호화하는 방법 및 장치 |
Non-Patent Citations (1)
Title |
---|
A. Alshin, E. Alshina, et. al., "Multi-parameter probability up-date for CABAC", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 6th Meeting: Torino, IT,* |
Also Published As
Publication number | Publication date |
---|---|
CN112929660A (zh) | 2021-06-08 |
CN112929660B (zh) | 2023-12-26 |
MX2018004250A (es) | 2018-05-16 |
EP3316580A4 (en) | 2018-09-26 |
CN108141594B (zh) | 2021-02-26 |
CN112929659A (zh) | 2021-06-08 |
US12088808B2 (en) | 2024-09-10 |
KR20220025271A (ko) | 2022-03-03 |
CN112929661A (zh) | 2021-06-08 |
KR20180055761A (ko) | 2018-05-25 |
WO2017065525A2 (ko) | 2017-04-20 |
US11553182B2 (en) | 2023-01-10 |
US11638006B2 (en) | 2023-04-25 |
US20210258579A1 (en) | 2021-08-19 |
US20180309990A1 (en) | 2018-10-25 |
KR102365164B1 (ko) | 2022-02-18 |
US10939104B2 (en) | 2021-03-02 |
KR20240034898A (ko) | 2024-03-14 |
CN108141594A (zh) | 2018-06-08 |
CN112929659B (zh) | 2023-12-26 |
WO2017065525A3 (ko) | 2017-06-15 |
CN112929661B (zh) | 2023-04-21 |
US20210258578A1 (en) | 2021-08-19 |
US20230247201A1 (en) | 2023-08-03 |
MX2021013693A (es) | 2021-12-10 |
KR20220156986A (ko) | 2022-11-28 |
EP3316580A2 (en) | 2018-05-02 |
EP3629581A1 (en) | 2020-04-01 |
KR102469145B1 (ko) | 2022-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102646890B1 (ko) | 영상을 부호화 또는 복호화하는 방법 및 장치 | |
CN110024392B (zh) | 用于视频译码的低复杂度符号预测 | |
EP3507984B1 (en) | Cross-component filter | |
EP3459245B1 (en) | Confusion of multiple filters in adaptive loop filtering in video coding | |
JP5932049B2 (ja) | ビデオコード化のデブロッキングフィルタリングのための境界強度値の決定 | |
CN108702517B (zh) | 使用优化的紧凑多遍变换的高效变换编码 | |
CN113853745A (zh) | 视频编解码的方法和装置 | |
WO2018204664A1 (en) | Intra reference filter for video coding | |
TW201830964A (zh) | 基於在視訊寫碼中之一預測模式導出雙邊濾波器資訊 | |
US20150382025A1 (en) | Method and device for providing depth based block partitioning in high efficiency video coding | |
KR20150063468A (ko) | 심도 맵 코딩 | |
CN114731415A (zh) | 针对多类型树块结构的合并估计区域 | |
CN115443660B (zh) | 用于解码与符号数据隐藏相关的成像的方法和设备 | |
KR20200096227A (ko) | 블록 형상에 기초한 비디오 인코딩 및 디코딩을 위한 방법 및 장치 | |
CN115088260A (zh) | 视频编解码方法和装置 | |
US20240357116A1 (en) | Systems and methods for entropy coding a multi-dimensional data set | |
US20240155154A1 (en) | Systems and methods for autoencoding residual data in coding of a multi-dimensional data | |
KR20220048478A (ko) | Bdpcm이 적용되는 부호화 블록에 이용되는 레지듀얼 코딩 방법을 시그널링하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 | |
KR20240125959A (ko) | 블록 기반 비디오 코딩을 위한 부호 예측 | |
KR20240137627A (ko) | 블록 기반 비디오 코딩을 위한 부호 예측 | |
JP2024507377A (ja) | ビデオ処理の方法、デバイス、及びプログラム | |
KR20230012218A (ko) | 신경망 기반의 인-루프 필터를 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
A107 | Divisional application of patent | ||
GRNT | Written decision to grant |