KR102624286B1 - 영상 분석을 이용한 비디오 부호화/복호화 방법 및 장치 - Google Patents

영상 분석을 이용한 비디오 부호화/복호화 방법 및 장치 Download PDF

Info

Publication number
KR102624286B1
KR102624286B1 KR1020230022988A KR20230022988A KR102624286B1 KR 102624286 B1 KR102624286 B1 KR 102624286B1 KR 1020230022988 A KR1020230022988 A KR 1020230022988A KR 20230022988 A KR20230022988 A KR 20230022988A KR 102624286 B1 KR102624286 B1 KR 102624286B1
Authority
KR
South Korea
Prior art keywords
block
current block
motion vector
prediction
image
Prior art date
Application number
KR1020230022988A
Other languages
English (en)
Other versions
KR20230028745A (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 KR20230028745A publication Critical patent/KR20230028745A/ko
Application granted granted Critical
Publication of KR102624286B1 publication Critical patent/KR102624286B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/134Methods 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods 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

Abstract

영상 분석에 따른 영상 특성에 기반하여 비디오를 부호화/복호화하는 방법 및 장치가 개시된다. 영상 분석을 이용한 비디오 부호화 방법은, 미리 설정된 대역 구분에 기반하여 현재 블록에 포함된 화소를 분류하는 단계와; 화소에 대한 분류 결과를 이용하여 현재 블록의 영상 특성을 분석하는 단계와; 영상 특성에 대한 분석 결과에 따라 현재 블록에 인트라 예측을 수행하는 단계를 포함한다. 따라서, 스크린 콘텐츠와 같이 자연 영상과 다른 영상 특성을 가진 영상에 대해 반전 움직임을 적용한 인트라 예측 및 대체값을 적용하는 인루프 필터링을 통하여 부호화 효율을 향상시킴과 복잡도를 감소시킬 수 있다.

Description

영상 분석을 이용한 비디오 부호화/복호화 방법 및 장치{METHOD AND APPARATUS FOR VIDEO ENCODING/DECODING USING IMAGE ANALYSIS}
본 발명은 비디오 부호화/복호화에 관한 것으로, 더욱 상세하게는 영상 분석에 따른 영상 특성에 기반하여 비디오를 부호화/복호화하는 방법 및 장치에 관한 것이다.
종래의 H.264/AVC와 비교하여 약 2 배 이상의 압축 효율을 갖는 것으로 알려져 있는 차세대 비디오 압축 표준 기술로 HEVC(High Efficiency Video Coding)에 대한 표준화가 진행되어 최근에 완료되었다.
HEVC는 쿼드트리(quadtree) 구조를 가진 코딩 유닛(CU: Coding Unit), 예측 유닛(PU: Prediction Unit), 변환 유닛(TU: Transform Unit)을 정의하고 있으며, 샘플 적응적 오프셋(SAO: Sample Adaptive Offset), 디블록킹 필터(Deblocking filter)와 같은 인루프 필터를 적용하고 있다. 또한, 기존의 인트라 예측(intra prediction) 및 인터 예측(inter prediction)을 개선하여 압축 부호화 효율을 향상시키고 있다.
기존의 인트라 예측의 경우 영상의 특성에 따라 정확한 예측을 수행하는데 어려움이 따른다. 특히, 외삽 방식으로 예측 블록을 생성하는 경우 일반적으로 예측 화소와 참조 화소의 거리가 멀어질수록 예측의 정확도가 떨어지는 단점이 있다.
또한, 화면 내에 어느 임의의 모양 및 선 등의 패턴이 반복하여 나타나는 경우 역시 기존의 인트라 예측으로는 정확한 예측을 수행할 수 없다. 이러한 문제점을 극복하기 위해서 인터 예측에서 사용되는 블록 매칭 알고리즘(block matching algorithm)과 같은 방식의 움직임 탐색 및 보상을 사용하여 예측을 수행하거나 현재 블록의 이웃하는 참조 화소를 활용하여 구성된 템플릿(template)을 이용하여 움직임 탐색 및 보상을 수행할 수 있다. 더 나아가, 상기 언급된 방법들과 비슷한 목적을 갖는 다른 방법 등을 사용하여 수행할 경우 예측의 정확도를 높일 수 있다.
예를 들어, 블록 매칭 알고리즘의 경우, 현재 블록 이전의 부호화 및 복호화가 완료된 영역에서 현재 블록 단위로 움직임 탐색 및 보상을 통해 최적의 부호화 비용(화소 간 유사도를 기준으로 할 경우, SAD(sum of absolute difference), SATD(sum of absolute transformed difference) 또는 SSD(sum of the squared difference)를 포함하거나 그 이외의 방식이 사용될 수 있고, RDO(rate distortion optimization)등과 같은 율-왜곡 방식으로 화소 간의 유사도 및 발생 비트 등을 고려하여 비용을 유도하는 방식이 사용될 수도 있다.
그러나, 인트라 예측의 한 방법으로 움직임 탐색 및 보상을 사용하여 예측 블록을 생성할 경우, 스크린 콘텐츠와 같은 일부 영상의 특성을 갖는 영역에서 예측의 정확도가 떨어질 수 있다.
또한, 스크린 콘텐츠와 같은 일부 영상의 특성을 갖는 영역에서 SAO 기법의 효율성이 떨어지는 문제점이 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 영상에 대한 분석을 통하여 비디오를 적응적으로 부호화하고 복호화하는 방법을 제공하는데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 영상에 대한 분석을 통하여 비디오를 적응적으로 부호화하고 복호화하는 장치를 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명의 실시예에 따른 영상 분석을 이용한 비디오 부호화 방법은, 미리 설정된 대역 구분에 기반하여 현재 블록에 포함된 화소를 분류하는 단계와; 화소에 대한 분류 결과를 이용하여 현재 블록의 영상 특성을 분석하는 단계와; 영상 특성에 대한 분석 결과에 따라 현재 블록에 인트라 예측을 수행하는 단계를 포함한다.
여기에서, 상기 현재 블록에 포함된 화소를 분류하는 단계는, 화소의 휘도가 속하는 대역에 대한 정보 및 해당 대역이 차지하는 빈도에 대한 정보를 포함한 인덱스 맵의 형태로 화소에 대한 분류 결과를 산출할 수 있다.
여기에서, 상기 현재 블록의 영상 특성을 분석하는 단계는, 화소에 대한 분류 결과를 이용하여 현재 블록에 에지가 존재하는지 여부, 현재 블록이 배경 영역인지 여부, 현재 블록이 스크린 콘텐츠 영역인지 여부 중 적어도 하나를 분석할 수 있다.
여기에서, 상기 현재 블록에 인트라 예측을 수행하는 단계는, 영상 특성에 대한 분석 결과에 기반하여 블록 매칭 또는 템플릿 매칭에 따른 인트라 예측에 반전 움직임을 적용할지 여부를 결정하여 현재 블록에 인트라 예측을 수행할 수 있다.
여기에서, 상기 현재 블록에 인트라 예측을 수행하는 단계는, 현재 블록에 에지가 존재하는 경우 또는 현재 블록이 스크린 콘텐츠 영역인 경우에, 반전 움직임을 적용하여 현재 블록에 인트라 예측을 수행할 수 있다.
여기에서, 상기 방법은, 영상 특성에 대한 분석 결과에 따라 현재 블록을 복원한 복원 블록에 인루프 필터링을 수행하는 단계를 더 포함할 수 있다.
여기에서, 상기 인루프 필터링을 수행하는 단계는, 샘플 적응적 오프셋(SAO: Sample Adaptive Offset) 또는 대체값을 활용하여 필터링을 수행할 수 있다.
여기에서, 상기 인루프 필터링을 수행하는 단계는, 현재 블록에 에지가 존재하는 경우 또는 현재 블록이 스크린 콘텐츠 영역인 경우에, 현재 블록을 복원한 복원 블록에 대체값을 적용하여 필터링을 수행할 수 있다.
상기 목적을 달성하기 위한 본 발명의 실시예에 따른 영상 분석을 이용한 비디오 복호화 방법은, 현재 블록의 영상 특성에 대한 분석 결과에 따라 현재 블록에 대한 복호화 방법을 결정하는 단계와; 영상 특성에 대한 분석 결과에 따른 현재 블록에 대한 복호화 방법에 기반하여 반전 움직임의 적용 여부를 결정하여 현재 블록에 인트라 예측을 수행하는 단계를 포함한다.
여기에서, 상기 영상 특성에 대한 분석 결과는, 현재 블록에 에지가 존재하는지 여부, 현재 블록이 배경 영역인지 여부, 현재 블록이 스크린 콘텐츠 영역인지 여부 중 적어도 하나를 분석하여 산출될 수 있다.
여기에서, 상기 현재 블록에 인트라 예측을 수행하는 단계는, 영상 특성에 대한 분석 결과에 기반하여 블록 매칭 또는 템플릿 매칭에 따른 인트라 예측에 반전 움직임을 적용할지 여부를 결정하여 현재 블록에 인트라 예측을 수행할 수 있다.
여기에서, 상기 현재 블록에 인트라 예측을 수행하는 단계는, 현재 블록에 에지가 존재하는 경우 또는 현재 블록이 스크린 콘텐츠 영역인 경우에, 반전 움직임을 적용하여 현재 블록에 인트라 예측을 수행할 수 있다.
여기에서, 상기 방법은, 영상 특성에 대한 분석 결과에 따른 현재 블록에 대한 복호화 방법에 기반하여 현재 블록에 인루프 필터링을 수행하는 단계를 더 포함할 수 있다.
여기에서, 상기 인루프 필터링을 수행하는 단계는, 샘플 적응적 오프셋(SAO: Sample Adaptive Offset) 또는 대체값을 활용하여 필터링을 수행할 수 있다.
여기에서, 상기 인루프 필터링을 수행하는 단계는, 현재 블록에 에지가 존재하는 경우 또는 현재 블록이 스크린 콘텐츠 영역인 경우에, 현재 블록에 대체값을 적용하여 필터링을 수행할 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 영상 분석을 이용한 비디오 복호화 장치는, 현재 블록의 영상 특성에 대한 분석 결과에 따라 상기 현재 블록에 대한 복호화 방법에 대한 정보를 산출하는 엔트로피 복호화부와; 영상 특성에 대한 분석 결과에 따른 현재 블록에 대한 복호화 방법에 기반하여 반전 움직임의 적용 여부를 결정하여 현재 블록에 인트라 예측을 수행하는 인트라 예측부를 포함한다.
상기 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 영상 분석을 수행하는 장치는, 미리 설정된 대역을 구분에 기반하여 현재 블록에 포함된 화소를 분류하는 화소 분류부와; 화소에 대한 분류 결과를 이용하여 현재 블록의 영상 특성을 분석하는 영상 분석부와; 영상 특성에 대한 분석 결과에 따라 새로운 모드에 대한 추가가 필요한지 여부를 결정하는 모드 추가 결정부를 포함한다.
여기에서, 상기 모드 추가 결정부는, 현재 블록에 에지가 존재하는 경우 또는 현재 블록이 스크린 콘텐츠 영역인 경우에, 반전 움직임을 적용하여 현재 블록에 인트라 예측을 수행할지 여부, 샘플 적응적 오프셋(SAO: Sample Adaptive Offset) 또는 대체값을 활용하여 필터링을 적용할지 여부를 결정할 수 있다.
상기와 같은 본 발명에 따른 영상 분석을 이용한 비디오 부호화/복호화 방법은, 스크린 콘텐츠와 같이 자연 영상과 다른 영상 특성을 가진 영상에 대해 반전 움직임을 적용한 인트라 예측 및 대체값을 적용하는 인루프 필터링을 통하여 부호화 효율을 향상시킴과 복잡도를 감소시킬 수 있다.
도 1은 본 발명의 실시예에 따른 영상 분석을 수행하는 장치를 설명하기 위한 블록도이다.
도 2는 본 발명의 실시예에 따른 화소 분석을 통해 생성한 인덱스 맵을 설명하기 위한 예시도이다.
도 3은 본 발명의 일 실시예에 따라 영상의 일부에 반전이 있는 경우를 설명하기 위한 예시도이다.
도 4는 본 발명의 다른 실시예에 따라 영상에 반전이 있는 경우의 화소 배치를 설명하기 위한 예시도이다.
도 5는 본 발명의 실시예에 따라 반전의 영상 특성을 가진 경우의 움직임 추정을 설명하기 위한 예시도이다.
도 6은 본 발명의 실시예에 따른 영상 특성에 대한 분석을 설명하기 위한 예시도이다.
도 7은 본 발명의 실시예에 따른 영상 특성을 화소 방향성에 기반하여 설명하기 위한 예시도이다.
도 8은 본 발명의 실시예에 따른 화소 대역 분류에 기반한 추가 모드 설정을 설명하기 예시도이다.
도 9는 샘플 적응적 오프셋 기술을 설명하기 위한 예시도이다.
도 10은 본 발명의 일 실시예에 따른 인루프 필터링을 설명하기 위한 예시도이다.
도 11은 본 발명의 실시예에 따른 인루프 필터링에 사용되는 파라미터를 설명하기 위한 예시도이다.
도 12는 본 발명의 다른 실시예에 따른 인루프 필터링을 설명하기 위한 예시도이다.
도 13은 본 발명의 또 다른 실시예에 따른 인루프 필터링을 설명하기 위한 예시도이다.
도 14는 본 발명의 실시예에 따른 영상 분석을 이용한 비디오 부호화 장치를 설명하기 위한 블록도이다.
도 15는 본 발명의 실시예에 따른 영상 분석을 이용한 비디오 복호화 장치를 설명하기 위한 블록도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하에서 후술할 영상 부호화 장치(Video Encoding Apparatus), 영상 복호화 장치(Video Decoding Apparatus)는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 무선 통신 단말기(Wireless Communication Terminal), 스마트폰(Smart Phone), TV 응용 서버와 서비스 서버 등 서버 단말기일 수 있으며, 각종 기기 또 등과 같은 사용자 단말기이거나 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화하거나 복호화하거나 부호화 또는 복호화를 위해 화면간 또는 화면내 예측하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미할 수 있다.
또한, 영상 부호화 장치에 의해 비트스트림으로 부호화된 영상은 실시간 또는 비실시간으로 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망, 이동통신망 등의 유무선 통신망 등을 통하거나 케이블, 범용 직렬 버스(USB: Universal Serial Bus) 등과 같은 다양한 통신 인터페이스를 통해 영상 복호화 장치로 전송되어 영상 복호화 장치에서 복호화되어 영상으로 복원되고 재생될 수 있다.
통상적으로 동영상은 일련의 픽쳐(Picture)로 구성될 수 있으며, 각 픽쳐들은 프레임 또는 블록(Block)과 같은 소정의 영역으로 분할될 수 있다. 영상의 영역이 블록으로 분할되는 경우에는 분할된 블록은 부호화 방법에 따라 크게 인트라 블록(Intra Block), 인터 블록(Inter Block)으로 분류될 수 있다. 인트라 블록은 인트라 내 예측 부호화(Intra Prediction Coding) 방식을 사용하여 부호화되는 블록을 뜻하는데, 인트라 예측 부호화란 현재 부호화를 수행하는 현재 픽쳐 내에서 이전에 부호화되고 복호화되어 복원된 블록들의 화소를 이용하여 현재 블록의 화소를 예측함으로써 예측 블록을 생성하고 현재 블록의 화소와의 차분값을 부호화하는 방식이다. 인터 블록은 인터 예측 부호화(Inter Prediction Coding)를 사용하여 부호화되는 블록을 뜻하는데, 인터 예측 부호화란 하나 이상의 과거 픽쳐 또는 미래 픽쳐를 참조하여 현재 픽쳐 내의 현재 블록을 예측함으로써 예측 블록을 생성하고 현재 블록과의 차분값을 부호화하는 방식이다. 여기서, 현재 픽쳐를 부호화하거나 복호화하는데 참조되는 프레임을 참조 프레임(Reference Frame)이라고 한다. 또한, 이하에 기재된 "픽쳐(picture)"이라는 용어는 영상(image), 프레임(frame) 등과 같은 동등한 의미를 갖는 다른 용어로 대치되어 사용될 수 있음을 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있다. 또한, 본 발명에 있어서 참조가 되는 픽쳐는 복원된 픽쳐를 의미하는 것은 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 실시예에 따른 영상 분석을 수행하는 장치를 설명하기 위한 블록도이고, 도 2는 본 발명의 실시예에 따른 화소 분석을 통해 생성한 인덱스 맵을 설명하기 위한 예시도이다.
도 1을 참조하면, 본 발명의 실시예에 따른 영상 분석을 수행하는 장치(10)는 영상 특성 후보 선택부(11), 화소 분류부(12), 영상 분석부(13), 모드 추가 결정부(14), 추가 모드 실행부(15), 추가 모드 식별 플래그 및 관련 파라미터 부호화부(16)를 포함한다.
또한, 본 발명의 실시예에 따른 영상 분석을 수행하는 장치(10)는 비디오 부호화 장치에 포함되어 구현될 수 있다.
영상 특성 후보 선택부(11)는 일정 크기의 부호화 단위에 속해 있는 영상을 미리 설정된 영상 특성의 후보군 중에서 하나를 선택하고, 이를 고려한 추가 모드를 설정할 것인지 선택할 수 있다.
여기서, 영상 특성 후보군은 다양하게 설정될 수 있는데, 예를 들어, 에지가 존재하는 영역인지 아닌지, 배경에 속하는 영역인지 아닌지, 객체가 존재하는 영역인지 아닌지, 인공적인 영상(컴퓨터 그래픽, 컴퓨터 캡쳐 화면 등)인지 자연 영상인지 및 글자 또는 도형에 속하는 영역인지 아닌지 등과 같이 다양하게 구분될 수 있다.
만약 여러 영상 특성 후보군 중 고려할 영상 특성 후보가 1. 배경에 속하는 영역인지 아닌지와 2. 인공적인 영상인지 아닌지 라면, 화소 분류부(12), 영상 분석부(13) 등의 과정을 통해 1, 2가 참인(즉, 배경에 속하고 인공적인 영상에 속함) 경우에 기존의 필터(기존 모드)에 배경에 속하는 인공적인 영상에 잘 적용될 수 있는 새로운 인루프 필터링을 적용하는 과정을 추가 모드로 설정하여 이들 중에 최적의 필터를 적용할 수 있다.
또한, 여러 영상 특성 후보군 중 고려할 영상 특성 후보가 1. 인공적인 영상인지 아닌지와 2. 글자 영역인지 아닌지 라면 이것 역시 이후 과정을 통해 1, 2가 참(즉, 인공적인 영상이면서 글자 영역)이라면 기존의 화면내 예측 방법에 글자 영역을 포함한 인공적인 영상에 잘 적용될 수 있는 새로운 화면내 예측 방법을 추가하여 이들 중에 최적의 화면내 예측 방법을 적용할 수 있다.
위에 기술한 영상 특성 후보군 이외에 다양한 특성들이 포함될 수 있음은 물론이며, 영상 특성 후보에 따라 고려되는 추가 모드의 범위는 추후 기술될 예측부, 변환부, 양자화부, 인루프 필터부 등에 적용 가능하다.
또한, 영상 특성 후보와 연관되어 고려되는 추가 모드에 대한 정보(또는 영상 특성 후보 선택 플래그)는 시퀀스, 픽쳐, 슬라이스 등의 단위로 전송할 수 있다.
영상 특성 후보 선택부(11)로부터 선택된 영상 특성에 대한 분석을 위한 준비 작업이 화소 분류부(12)에서 진행된다. 화소 분류부(11)는 일정 크기의 부호화 단위에 속해 있는 화소의 휘도, 색차, 위치, 변화도, 상관관계 또는 주파수 도메인 상의 계수 등 다양한 기준에 따라 화소를 분류할 수 있다.
예를 들어, 화소 분류부(12)는 화소의 휘도값에 따라 화소를 분류할 수도 있으며, 주파수 도메인 상에서의 변환 계수에 따라 화소를 분류할 수도 있으며, 화소의 휘도, 색차 성분을 하나의 요소로 구성하여(예를 들어, (Y, Cb, Cr) 또는 (R, G, B)와 같은 벡터 형식으로 표현) 이웃 화소와의 변위에 따라 화소를 분류할 수도 있다.
이러한 기준들은 영상의 해상도, 양자화 파라미터, 부호화 단위 및 특성 등에 의해 고정적 또는 적응적으로 적용될 수 있다. 즉, 미리 설정된 대역 구분에 기반하여 현재 블록에 포함된 화소를 분류할 수 있다.
예를 들어, 화소의 휘도의 경우에 있어서, 화소의 비트 심도(n)에 따라 2n-k (k는 0보다 크고 n보다 작은 상수)만큼 개수의 대역으로 구역을 나눌 수 있다.
또한, 기설정되거나 전송되어지는 정보, 양자화 파라미터, 부호화 단위의 크기, 영상의 해상도 및 부호화와 관련된 파라미터들(블록 분할 정보, 예측 모드 관련 정보, 변환 단위 크기 등에 대한 정보, coded block pattern 등) 등에 의해 설정된 대역별로 화소의 휘도가 구분될 수 있다. 여기서, 대역의 너비는 균일 간격을 가질 수도 있고, 영상 특성 등의 조건에 따라 불균등 간격을 갖을 수도 있다.
또한, 대역의 개수는 2 이상의 정수인 특징을 갖을 수 있다. 예를 들어, m개의 대역(여기에서, 균등 간격을 갖는 것으로 가정)에 화소를 휘도값에 따라 분류를 한다고 할 경우, 각 화소별로 어느 대역에 속하는지에 따라 빈도수를 계산할 수 있다.
도 2를 참조하여, 화소 분류을 통해 생성한 인덱스 맵을 설명한다.
예를 들어, 하나 이상의 화소가 어떤 대역에 속할 경우 해당 대역의 NZ_i는 참(true), 그렇지 않을 경우에는 거짓(false)로 분류될 수 있다. 또한, 해당 대역이 차지하는 화소 빈도수의 백분율 등의 단위(Pi)로 분류할 수 있다.
또한, 두 개 이상의 기준에 따라 화소를 분류할 수 있다. 화소의 휘도값에 따라 각 대역의 NZ_i를 분류한 후, 참의 값을 갖는 대역만을 고려하여 해당 대역에 새로운 인덱스를 할당하여 새로운 인덱스 맵을 구성할 수 있다.
만약, 0번과 m번의 대역은 NZ_i가 참이고 그 외의 대역은 거짓일 경우, 총 2개의 후보군만 존재함으로 1비트를 할당하여 0과 1번을 각각 대역에 할당할 수 있다. 즉, 0번의 대역의 인덱스는 0을, m번의 대역은 1을 할당하여 새로운 인덱스 맵을 구성할 수 있다.
이와 같은 분류를 통하여 생성된 테이블 형태의 인덱스 맵을 단위로 화소 분류 결과가 저장될 수 있다.
또한, 화소의 휘도, 색차, 위치 등과 같은 기준에 따른 분류와 같이 하나의 화소의 특성에 기반하거나 이를 그룹화하여 그에 따른 특성에 따른 분류를 수행한 것 외에 변화도, 상관관계 등과 같이 이웃하는 화소간의 상관 관계에 따라 분류하는 것도 가능하다.
예를 들어, 이웃 화소 기반으로 처리되는 Sobel, Robert, Canny 등과 같은 다양한 에지 검출 알고리듬 등이 있다. 이 경우 이웃 화소는 현재 화소를 중심으로 M크기의 블록 안에 속해 있는 화소들이 에지 검출에 이용될 수 있다.
영상 분석부(13)는 영상 특성 후보 선택부(11)에서 선택된 영상의 특성을 분석하는 역할을 수행한다. 영상의 특성은 영상 특성 후보 선택부(11)에서 선택된 영상 특성을 분석하고자 하는 목적에 따라 다양하게 수행될 수 있다.
영상 분석부(13)는 에지가 존재하는 영역인지 아닌지, 배경에 속하는 영역인지 아닌지, 객체가 존재하는 영역인지 아닌지, 인공적인 영상(컴퓨터 그래픽, 컴퓨터 캡쳐 화면 등) 인지 자연 영상인지 및 글자 또는 도형에 속하는 영역인지 아닌지 등과 같이 영상을 분석할 수 있다.
예를 들어, 에지가 존재하는 영역인지 여부를 확인하기 위해서는 화소 분류부(12)를 통해 전달된 정보를 기반으로 그 특징을 확인할 수 있다. 영상 분석부(13)는 화소 분류부(12)의 에지 검출 알고리듬을 통해 얻어진 정보에 대한 분석을 수행할 수 있다.
상세하게는, 영상 분석부(13)는 N개 이상의 화소가 에지로 판명될 경우에, 해당 영역이 에지가 존재하는 것으로 분석 결과를 산출할 수 있다. 그렇지 않을 경우에는 해당 영역에 에지가 존재하지 않는 것으로 분석 결과를 산출할 수 있다.
또한, N개 이상의 화소가 에지로 판명이 나고 연속성을 가진다고 판명이 날 경우에, 해당 영역이 에지가 존재하는 것으로 분석 결과를 산출할 수 있다. 연속성에 대한 예시는 후술하는 도 6에 대한 설명을 참조하여 이해할 수 있다.
영상 분석부(13)는 화소 분류부(12)로부터 화소의 휘도성분에 따라 대역을 분류한 후, NZ_i에 대한 정보를 활용하여 해당 영역이 배경에 속하는 영역인지 아닌지를 분석할 수 있다.
예를 들어, NZ_i의 합계가 N 이하의 값을 가질 경우에만 배경이라는 기준을 가지고 분석을 수행할 수 있다. 만약 NZ_i의 합계가 N이하의 값을 가질 경우 해당 영역은 배경이라는 결과를, 그렇지 않을 경우에는 배경이 아니라는 결과를 산출할 수 있다.
더 나아가, 영상 분석부(13)는 2개 이상의 정보로부터 영상에 대한 분석을 수행할 수 있다. 즉, 1개의 정보로부터 각기 다른 영상 특성에 대한 분석을 수행한 후 각각의 영상 분석 결과를 통해 새로운 분석결과를 얻어낼 수 있다. 예를 들면, 해당 영역이 글자 부분을 포함하고 있는지를 분석하기 위해 화소 분류부(12)로부터 화소의 휘도 성분에 따라 대역으로 분류했을 때 NZ_i에 대한 정보와 Pi에 대한 정보를 활용하여 분석을 수행할 수 있다. 이러한 경우, 글자 부분인지 여부는 NZ_i가 N 이하(여기서, 2라고 설정)이며 가장 적은 빈도수를 갖는 대역의 Pi가 Th 이하일 때만 글자 부분이라는 기준을 정의할 수 있다. 따라서, 각 조건에 따른 분석 결과를 조합하여 만약 두 조건 모두 참인 결과를 얻었을 때는 해당 영역이 글자를 포함하는 영역이라는 분석 결과를, 하나라도 거짓일 경우에는 해당 영역이 글자가 아닌 영역이라는 분석 결과를 산출할 수 있다.
모드 추가 결정부(14)는 영상 분석부(13)로부터 전달된 하나 이상의 분석 결과에 기반하여 새로운 모드에 대한 추가가 필요한지에 대한 판단을 한 후 그 결과에 따라 추가 모드 지원 여부를 결정할 수 있다.
예를 들어, 추후 설명할 반전 움직임 관련 추가 정보의 생성 여부를 결정한다고 할 때, 우선 반전 움직임이 있을 가능성이 있는 영상 영역인지를 판단한 후 반전 움직임이 있을 가능성이 있다고 판단되면, 반전 움직임 관련 모드를 추가하고, 그렇지 않다고 판단될 경우에는 기존과 같은 알고리즘을 할 수 있다.
모드 추가 결정부(14)는 반전 움직임이 있을 가능성이 높다는 것을 확인하기 위해 영상 분석부(13)로부터 에지가 존재하는 영역인지, 도형(여기에서는, 특정하여 사각형의 꼭지점 부분을 포함한 영역이라고 가정)에 속하는 영역인지 등과 같은 분석 결과를 전달받을 수 있다.
추가 모드 실행부(15)는 모드 추가 결정부(14)로부터 반전 움직임이 있을 가능성이 높다는 것을 확인하여 새로운 예측 모드를 추가하기로 하였을 경우에, 반전 움직임을 고려한 새로운 예측 모드를 적용하여 부호화를 수행할 수 있다.
추가 모드 식별 플래그 및 관련 파라미터 부호화부(16)는 추가 모드 실행부(15)에서 새로운 예측 모드를 추가함으로써 발생하는 추가 모드 식별 플래그 및 그에 관련된 파라미터들을 전송할 수 있다.
예를 들어, 반전 움직임을 적용한 블록 매칭 알고리즘 등과 같은 새로운 예측 모드가 추가되었고, 이러한 알고리즘이 최적인 경우에는 그에 따라 반전 움직임 관련 정보, 움직임 벡터 관련 정보 등을 함께 전송할 수 있다.
위의 예시에서는 반전 움직임에 관련한 설명만 제시되어 있지만, 다음의 실시예들을 통하여 다른 경우를 설명한다.
도 3은 본 발명의 일 실시예에 따라 영상의 일부에 반전이 있는 경우를 설명하기 위한 예시도이고, 도 4는 본 발명의 다른 실시예에 따라 영상에 반전이 있는 경우의 화소 배치를 설명하기 위한 예시도이며, 도 5는 본 발명의 실시예에 따라 반전의 영상 특성을 가진 경우의 움직임 추정을 설명하기 위한 예시도이다.
도 3을 참조하면, 일반적인 자연 영상과 달리 스크린 콘텐츠 영상은 반전의 특성을 가질 수 있다.
상세하게는, 도 3과 같은 영상은 좌우 반전 및 상하 반전과 같은 특성을 가질 수 있다.
예를 들어, 도 3에서 a1<->a2, b는 좌우 반전되는 특성을 가질 수 있고, a1<->a3, c는 상하 반전되는 특성을 가질 수 있다. 더 나아가, a1<->a4, d는 상하-좌우가 함께 반전되는 특성을 가질 수 있다.
그러나, 이러한 반전 특성을 가진 영역은 예측 블록으로 활용 가치가 높음에도 불구하고 기존의 움직임 탐색 및 보상으로는 예측 블록으로 선택하기 어렵다. 만약, 좌우 반전, 상하 반전 등의 변환을 거쳐서 움직임 탐색 및 보상을 수행할 경우에는 보다 정확한 움직임 탐색 및 보상이 가능하기 때문에 부호화 효율을 증대시킬 수 있다.
도 4를 참조하여 화소의 배치를 설명하면 다음과 같다.
도 4 (a)는 일반적인 화소의 배치를 낸다. 만약, 상하 반전을 하여 움직임 탐색을 수행한다고 할 경우, 도 4 (b)와 같은 스캔 순서로 화소 재배치를 수행하여 예측을 진행할 수 있다.
도 4 (c)와 도 4 (d)는 각각 좌우 반전, 상하-좌우 반전의 경우를 나타내고 있다. 이와 같은 화소 재배치(y-a y-b, y-c, y-d)를 통한 대상 블록의 구성을 통해 움직임 예측을 수행하고 최적의 부호화 효율을 갖는 후보가 선택될 경우, 도 4 (a)를 제외한 나머지의 경우 움직임 벡터에 상응하는 블록의 화소 역재배치(y-b, y-c, y-d y-a)를 통해 현재 블록의 보상을 수행할 수 있다.
복호화기에서는 반전이 발생한 블록의 경우 움직임 벡터에 상응하는 블록의 화소 역재배치를 통해서 현재 블록의 보상을 수행할 수 있다. 도 4는 경우 반전의 일부 예일 뿐 본 발명은 이와 비슷한 목적의 변형도 포함한다.
또한, 반전에 적용에 관한 정보는 부호화기와 복호화기가 동일한 동작이 수행하도록 양 쪽에 미리 정해 놓은 정보에 의하거나, 픽쳐, 슬라이스, 블록 등의 단위로 반전 정보를 전송함으로써 동일한 예측을 수행할 수 있다. 예를 들어, 블록 크기에 따라 반전을 적용할 만한 반전 후보를 미리 설정할 수도, 블록 크기에 따라 반전을 적용하지 않을 수도 있다.
예를 들어, 인트라 예측의 한 방법으로 움직임 탐색 및 보상을 사용하여 예측 블록을 생성하고, 반전에 의한 움직임 탐색 및 보상을 통해 예측 블록을 생성하는 방법이 사용될 경우에는 영상의 일부 특성을 갖는 영역에서 부호화 효율을 높일 수 있다.
반전을 적용하여 움직임 탐색 및 보상을 수행할 경우, 움직임 벡터 부호화시 데이터를 줄이기 위한 목적으로 움직임 벡터 예측에 사용될 예측 벡터를 다양한 방법을 통해 설정할 수 있다.
도 5를 참조하여 움직임 탐색 및 보상을 설명하면 다음과 같다.
가장 최근에 움직임 탐색 및 보상을 통해 부호화된 블록 또는 블록들의 움직임 벡터를 예측 벡터를 위한 후보로 선택할 수 있다(도 5에서 A).
또한, 고정된 좌표(예를 들어, 왼쪽 블록의 좌상단 좌표 또는 윗 블록 좌상단 좌표 등)의 현재 블록과의 상대적 위치(블록의 가로 세로가 각각 v, w라고 할 경우 각각 (-v, 0), (0, -w)가 됨)가 예측 벡터를 위한 후보군으로 선택할 수 있다(도 5에서 B).
또한, 가장 최근에 반전이 적용된 움직임 탐색 및 보상을 통해 부호화된 블록 또는 블록들의 움직임 벡터를 예측 벡터의 후보로 선택할 수도 있고, 가장 최근에 반전이 적용된 움직임 탐색 및 보상을 통해 부호화된 블록 또는 블록들의 현재 블록과의 상대적 위치가 예측 벡터의 후보로 선택될 수도 있다(도 5에서 C).
또한, 픽쳐, 슬라이스, 블록 등의 좌상단 좌표가 예측 벡터의 후보로 선택될 수도 있다. (도5에서 D)
위에서 설명된 각각의 예측 후보들은 다양한 조합으로 구성이 가능하며, 예측 벡터의 후보군 구성을 위한 우선 순위는 부호화기와 복호화기간의 미리 설정된 조건에 따라 결정될 수도 있고, 시퀀스, 픽쳐, 슬라이스 등의 단위로 이에 대한 정보를 설정할 수도 있다.
예를 들어, 도 5에서 A, B, C 등이 예측 벡터의 후보군으로 가능한 상황일 때, C에 있는 후보만을 사용하거나 또는 C와 B의 후보를 사용하거나 또는 A와 B의 후보를 사용한다거나 할 수 있다.
현재 블록 이전의 부호화 또는 복호화가 완료된 영역에서 움직임 탐색 및 보상을 수행할 경우, 기설정된 규칙에 의해 반전에 의한 움직임을 갖는 예측 블록이 존재할 가능성이 높다고 판단된다면 반전 정보를 보내고 그렇지 않을 경우에는 이를 생략할 수 있다.
예를 들어, 0 이면 반전 없이 기존의 움직임 탐색 및 보상이 이루어지고, 그에 따른 추가적인 정보도 역시 전송할 필요가 없음을 의미할 수 있다. 또한, 1이면 반전이 있는 움직임 탐색 및 보상이 이루어지고, 그에 따른 반전에 대한 추가적인 정보를 전송함을 의미할 수 있다. 다만, 반전 정보가 존재하지 않다고 판단될 경우, 반전 정보가 쓰였는지에 대한 0, 1과 같은 정보조차 전송하지 않을 수 있고 이를 통하여, 부호화 성능의 향상을 이룰 수 있다.
도 6은 본 발명의 실시예에 따른 영상 특성에 대한 분석을 설명하기 위한 예시도이다.
도 6을 참조하면, 영상 분석부(13)는 화소 분류부(12)로부터 NZ_i와 인덱스 맵을 전달받아, 영상이 견고한 분할 영역인지 복잡한 영역인지에 대해 분석을 수행할 수 있다. 도 6 (a)는 견고한 분할 영역을 나타내고, 도 6 (b)는 복잡한 영역을 나타낼 수 있다.
견고한 분할 영역으로 판단하기 위한 조건은 두 가지가 있을 수 있다.
첫 번 째 조건은 NZ_i가 k(여기서, 5이라고 가정)보다 작아야 하며, 두 번 째 조건은 각 영역안의 화소들의 연속성 조건을 만족해야 하며, 각 영역의 화소들은 2개 이상의 지역으로 분할되면 안 된다는 조건을 만족해야 하는 것으로 정의할 수 있다.
여기에서, 연속성에 대한 정의는 다음과 같다.
예를 들어, 도 6 (1) c 영역과 같이 각 대역으로 나뉘어진 화소들은 같은 인덱스 맵을 갖을 수 있다. 여기에서, 연속성의 정의는 현재 화소를 중심으로 a<x<a, -b<y<b (여기서, x, y는 2차원 평면상의 현재 화소의 위치라고 하자) 안의 이웃 화소와의 관계에 따라 결정되는 것으로 정의할 수 있다.
만약, a<x<a, -b<y<b 안의 이웃 화소 중 현재 화소와 같은 인덱스 맵을 갖는 화소가 1개라도 존재한다고 할 경우 연속성이 있는 것이고, 그렇지 않을 경우에 연속성이 없는 것으로 분석 결과를 산출할 수 있다.
따라서, 도 6 (1)의 c 영역의 경우(여기에서 a, b, c 각각의 인덱스를 '0', '1', '2'라고 가정), 0의 인덱스를 갖는 영역의 모든 화소는 연속성이 있고, '1'의 인덱스를 갖는 모든 화소도 연속성이 있고, '2'의 인덱스를 갖는 영역의 화소도 연속성이 있다라는 분석 결과를 산출할 수 있기 때문에, 해당하는 모든 영역의 화소가 연속성이 있다라는 분석 결과를 얻을 수 있고, 2개 이상의 지역으로 분할된 영역이 존재하지 않으므로 해당 영역은 견고한 분할로 이뤄져 있다라는 분석 결과를 얻을 수 있다.
이와 비교하여 도 6 (2)의 c 영역의 경우(여기에서 a, b, c, d각각의 인덱스를 '0', '1', '2', '3'라고 가정), 0, '1', '2', '3' 의 인덱스를 갖는 영역의 모든 화소는 연속성이 있다라는 분석 결과를 산출할 수 있다.
그러나, '3'의 인덱스를 갖는 영역을 제외한 나머지 영역에서는 2 개 이상의 지역으로 분할되기 때문에 이는 위의 조건을 만족하지 않는다. 따라서, 이 경우에는 첫 번째, 두 번째 조건에는 부합하지만 세 번째 조건에는 부합하지 않으므로 해당 영역이 견고한 분할로 이루어졌다는 분석을 얻을 수 없다.
이와 같이 영상 특성에 대한 조건은 사용자에 의해 정의될 수 있다. 세 가지 조건을 모두 확인하여 분석 결과를 얻을 수 있고, 어느 한 가지의 조건을 먼저 확인하여 이를 충족할 경우에만 다음 조건을 확인하는 단계로 넘어가는 것으로 설정 또한 가능하다.
도 7은 본 발명의 실시예에 따른 영상 특성을 화소 방향성에 기반하여 설명하기 위한 예시도이다.
도 7을 참조하면, 도형(여기에서, 사각형의 꼭지점, 즉 꺽이는 부분을 포함한 영역이라고 가정)에 속하는 영역인지에 대한 분석을 수행하는 경우를 설명한다.
도형인 영역인지에 대한 분석을 수행하기 위해 화소 분류부(12)로부터 화소 분류에 따른 대역의 NZ_i와 인덱스 맵 및 에지에 대한 정보를 전달받을 수 있다.
예를 들어, NZ_i가 D개보다 작아야 하는 조건, 각 영역 안의 화소가 연속성 조건을 만족해야하는 조건, N개 이상의 화소가 에지로 판명이 나는 조건, 에지 인덱스 맵에서 L개 이상의 화소가 연속성을 가진다는 조건, 꺽인점이 K개 이상 존재해야한다는 조건 등을 만족할 경우 도형 영역인 가능성이 있다라는 분석 결과를 산출하는 것으로 정의할 수 있다.
다른 조건은 모두 충족된 상태라고 가정한 뒤 꺾인점에 대한 조건을 확인하자.
에지에 대한 인덱스 맵(여기에서 0, 1 두 가지만 있다고 가정, 1이 에지 부분이라고 가정)에서 에지로 분류된 화소에 대해서 꺽인점 존재 여부를 확인하는데, 이 때 현재 화소를 중심으로 A(-a<x<a, -b<y<b) 안의 이웃 화소 와의 방향성을 확인할 수 있다.
만약, -2<x<2, -2<y<2 안에서 방향성을 확인할 경우, 도 5와 같이 방향성에 대해 180도, 135도, 90도 및 45도 등과 같은 여러 후보군을 둘 수 있다. 또한, 3<x<3, -3<y<3안에서 방향성을 확인할 경우, 더 다양한 방향성에 대한 후보군을 추가할 수 있다.
또한, 이웃하는 에지로 분류된 화소의 방향성과의 관계를 확인하여 꺾인점 여부를 확인할 수 있다. 이전에 위치한 에지로 분류된 화소와 현재 화소의 방향성의 차이(여기에선 각도로 차이를 계산하다고 할 경우)가 d 이하인 경우에는 꺾인점이 발생한 것으로, 그렇지 않을 경우에는 꺾인 점이 발생하지 않는다고 할 수 있다. 예를 들어, d를 30 도로 설정할 경우, 도 7 의 모든 경우가 30 보다 크기 때문에 꺽인점이 발생하지 않는다는 분석 결과를 산출할 수 있다. d를 135도로 설정할 경우, 도 7 (a)는 조건에 충족하지 않기 때문에 꺽인점이 발생하지 않는다는 결과를 얻는 반면, 도 7 (b), (c), (d)는 조건에 충족하기 때문에 꺽인점이 발생했다라는 결과를 얻는다.
만약, 사각형의 꼭지점과 같은 영역인지 확인하고자 그에 대한 영상 분석을 수행하고자 하였을 경우, 이를 특징할 만한 조건을 설정하기 위해 (예를 들어, 또는 같은 모양 형태를 갖는 영역인지 알고 싶다고 할 경우) 해당 영역에서 꺽인점이 1번만 발생할 경우만을 참, 그렇지 않을 경우에는 거짓과 같은 분석 결과를 얻도록 구성할 수도 있다.
사각형의 형태일 경우 꺽인점에 대한 부분은 90도의 각을 가질 것이기 때문에 위의 꺾인점을 확인하는 부분에서의 조건을 변경하여(d가 90인 경우에만 꺾인점이 발생) 이에 대한 분석을 수행할 수 있다.
상술한 실시예로부터 새로운 모드 추가에 대한 예를 보다 상세히 설명하며 다음과 같다.
다시 도 1을 참조하면, 영상 특성 후보 선택부(11)로부터 1. 인공적인 영상에 속하는지 아닌지와, 2. 견고한 분할 영역인지를 고려하여 화면내 예측에 새로운 추가 모드를 둘 것인지 확인하려고 한다. 이를 위해 화소 분류부(12)에서 화소 분류에 대한 대역의 NZ_i와 인덱스 맵 등을 전달 받을 수 있다.
영상 분석부(13)에서는 NZ_i가 D개 보다 작아야 하는 조건, 각 영역안의 화소들의 연속성 조건을 만족해야 하며, 각 영역의 화소들이 2개 이상의 지역으로 분할되면 안 된다는 조건을 만족하는지를 분석할 수 있다.
만일 영상 분석부(13)에서 위의 조건들이 다 만족한다고 할 경우 인공적인 영상에 속하는 견고한 분할 영역이라는 분석 결과를 산출할 수 있다.
이를 통해 모드 추가 결정부(14)에서는 기존의 화면내 예측 모드에 더하여 인공적인 영상에 속하는 견고한 분할을 가진 영역에 성능이 발휘되는 화면내 예측 모드를 추가를 결정한다.
도 8은 본 발명의 실시예에 따른 화소 대역 분류에 기반한 추가 모드 설정을 설명하기 예시도이다.
도 8을 참조하면, 도 8 (a)와 같이 화소를 대역별로 분류하여 NZ_i가 참인 대역에 새로운 인덱스를 할당하여 나타냈을 때 영상 분석부(13)를 통해 해당 블록은 인공적인 영상에 속하는 견고한 분할을 가진 영역이라는 분석을 얻었다고 하자.
추가 모드 실행부(15)에서는 기존의 화면내 예측 모드에 더해 새로운 화면내 예측 모드를 실행한다. 예를 들어, 블록 매칭 알고리즘을 통해 이전에 부호화된 영역에서 비슷한 블록을 찾는 방법을 추가할 수도 있다.
또한, 화소 또는 화소들 단위로 이웃하는 화소들의 복사하는 방법을 추가할 수도 있다. 만약, 도 8 (a)에서 블록의 왼쪽 최상측의 좌표를 (0,0)으로 봤을 때 (1,0)의 위치의 화소는 스캔(여기에서 raster scan 이라고 가정) 이전의 화소(0,0)와의 인덱스(0)가 같기 때문에 CL(copy left)라는 모드 정보를 전송할 수도 있다. (7,1)의 위치와 같이 현재 화소의 윗 화소로부터 값을 복사할 경우에는 CT(copy top)라는 모드 정보를 전송하여 이를 표현할 수도 있다.
또한, 연속해서 반복되는 개수를 부호화할 수도 있다. 만약 도8 (a)에서 첫번째 행을 부호화 하기 위해서는 첫번째 발생하는 인덱스(0)을 부호화 하고 그 뒤를 따르는 연속해서 나타나는 반복되는 인덱스의 개수를 부호화할 수 있다.
여기서, 연속하는 인덱스의 개수는 행 단위로 제한적일 수 있고(인덱스 (0) + 연속하는 개수 (7)), 행 단위로 제한적이지 않을 수도 있다(인덱스 (0) + 연속하는 개수 (10)).
또한, 여러 화소들을 복사할 수도 있다. 예를 들어, (0,1)에서 (2,1)까지의 화소는 (0,0)에서 (2,0)까지의 화소와 같기 때문에 (CT(copy top), 3(복사할 총 개수))와 같은 방식으로 부호화할 수도 있다. CL, CT외의 추가적인 방향으로부터 복사를 수행할 수도 있다.
또한, (0,2)에서 (4,2)까지의 화소는 (1,1)에서 (5,1)까지의 화소와 같기 때문에 (CTR(copy top right), 5(복사할 총 개수)와 같은 방식으로 부호화를 수행할 수 있다.
또한, 행 단위(또는 스캔 방향에 따라 열 단위도 가능)로 복사를 수행할 수도 있다. 예를 들어, 8번째 행((0,7)부터 (7,7)까지)은 7번째 행((0,6)부터 (7,6)까지)와 같으므로, CTL(copy top line)와 같은 모드 정보를 전송하여 이를 표현할 수도 있다.
또한, 도 8 (b)에서 (0,1)부터 (3,1)까지의 화소는 (4,1)부터 (7,1)까지의 화소와 좌우반전한 결과랑 같기 때문에 CM(copy mirror)과 같은 모드 정보를 전송함으로써 이를 표현할 수 있다. 이를 위해서 좌우 길이가 같아야 하므로 행의 중간 시작점에서만 이 모드 정보를 부호화 할 수도 있다.
반전을 활용한 또 다른 예로 도8 (c)에서의 경우를 들 수 있다. 도8 (c)는 도 8 (b)와는 달리 상하 반전한 열(2열부터 6열까지)을 많이 발견할 수 있다. 기본 스캔 방향(raster 스캔이라고 가정)일 경우에는 앞서 설명했던 것과 같이 반전을 활용하여 부호화가 불가능하기 때문에 도 4와 같은 화소 재배치를 수행할 수 있다.
즉, 도 8 (d)와 같은 90도 회전과 같은 화소 재배치를 할 경우 앞서 언급되었던 CM 모드를 활용하여 부호화를 진행할 수도 있다.
상술은 화면내 예측 방법에 대한 다양한 예시를 제공하지만 상술한 실시예에 국한되지 않고 비슷한 목적을 가진 다양한 변형의 예도 포함할 수 있다.
또한, 모드 추가 결정부(14)를 통해 1. 인공적인 영상에 속하는지 아닌지와 2. 견고한 분할 영역인지에 대한 분석을 영상 분석부(13)로부터 전달받고, 이에 대한 새로운 화면내 예측 모드 추가 여부를 결정하였듯이, 다른 모드에 대한 추가 여부에 대해서도 고려할 수 있다.
만약, 영상 분석부(13)로부터 인공적인 영상에 속하는 견고한 분할 영역이라는 분석 결과를 얻었을 때, 이에 따른 화면내 예측 방법뿐만 아니라 변환(transform) 또는 양자화(quantization)에 대한 새로운 모드 또한 추가할 수 있다.
상술한 새로운 화면내 예측을 수행한 후 기존의 변환 및 양자화 그리고 그 역과정을 수행한 후 각 대역 안의 화소들 실제 화소값으로 복원시키지 않고, 각 대역안의 화소를 대역을 대표하는 하나의 화소로 매핑하는 과정을 수행함으로써 복원을 수행할 수 있다. 이 경우 변환 또는 양자화과정이 생략될 수도 있다. 즉, 새로운 화면내 예측 방법만이 고려되는 것이 아닌 그에 따른 변환 및 양자화의 새로운 모드(예를 들어, 변환을 수행하지 않다거나 양자화를 수행하지 않다거나 둘다 수행하지 않다거나 또는 적응적으로 변환을 수행할지 안할 지를 결정하거나 등)의 추가 또한 모드 추가 결정부(14)에서 결정될 수 있다.
M1 : 새로운 화면내 예측 + 변환 + 양자화
M2 : 새로운 화면내 예측 + 양자화
M3 : 새로운 화면내 예측
위와 같은 다양한 조합의 모드 추가가 고려될 수도 있다. M1의 경우 새로운 예측을 통해 잔차 성분을 얻을 경우 이를 변환 및 양자화 과정을 수행하여 얻은 계수를 전송할 수도 있다.
M2의 경우에는 도 8 (a)에서 적은 빈도수를 갖는 인덱스(2,3)에 대해서는 예측 수행 후 실제 화소값의 양자화된 계수를 전송할 수도 있고, 가장 적은 빈도수를 갖는 인덱스(3)에 대해서만 예측 수행 후 실제 화소값의 양자화된 계수를 전송할 수도 있다.
M3의 경우 예측을 수행한 후 각 대역에 있는 화소는 각 대역의 대표값으로 매핑시킴으로써 잔차성분에 대한 계수는 따로 보내지 않고, 각 대역의 대표값에 대한 정보를 전송함으로써 부호화를 수행할 수도 있다.
위의 설명에서 모드 추가 결정부(14)를 통해 1. 인공적인 영상에 속하는지 아닌지와, 2. 견고한 분할 영역인지에 대한 분석을 영상 분석부(13)를 통해 상술한 예시와 같은 부호화에 대한 설명을 하였으나 이는 단지 예시일 뿐 위의 경우로만 한정되는 것은 아니다.
도 7을 참조하면, 도형(여기에서, 사각형의 꼭지점, 즉 꺽이는 부분을 포함한 영역이라고 가정)에 속하는 영역인지에 대한 분석을 수행하는 경우를 설명한다.
도형인 영역인지에 대한 분석을 수행하기 위해 화소 분류부(12)로부터 화소 분류에 따른 대역의 NZ_i와 인덱스 맵 및 에지에 대한 정보를 전달받을 수 있다.
예를 들어, NZ_i가 D개보다 작아야 하는 조건, 각 영역 안의 화소가 연속성 조건을 만족해야하는 조건, N개 이상의 화소가 에지로 판명이 나는 조건, 에지 인덱스 맵에서 L개 이상의 화소가 연속성을 가진다는 조건, 꺽인점이 K개 이상 존재해야한다는 조건 등을 만족할 경우 도형 영역인 가능성이 있다라는 분석 결과를 산출하는 것으로 정의할 수 있다.
상기 설명된 많은 예제와 같이 다양한 방법을 통하여 하나 이상의 영상 특성을 규정할 수 있으며, 각 영상 특성에 대한 정의는 부호화기와 복호화기에 기설정된 규칙에 따를 수도 있고, 부호화기에서 특성에 대한 정의의 정보를 생성하여 이를 복호화기에 전송할 수도 있다. 즉, 각 영상 특성에 대해 세부적으로 정보를 분할하여 전송할 수도 있으며, 전송되는 단위는 시퀀스, 픽쳐, 슬라이스, 블록 등의 단위로 전송이 가능하다.
도 9은 샘플 적응적 오프셋 기술을 설명하기 위한 예시도이다.
도 9를 참조하면, 밴드 오프셋의 경우 해당 블록 내의 유사한 휘도값을 갖는 대역으로 분류한 후, 이 중 연속하는 네 개의 대역들에 대해서 오프셋을 전송한다(Transmission offset). 전송된 오프셋값을 오프셋이 전송된 대역 내의 화소들에 더해줌으로써 복원 영상의 화소값을 보정할 수 있다.
도 10은 본 발명의 일 실시예에 따른 인루프 필터링을 설명하기 위한 예시도이고, 도 11은 본 발명의 실시예에 따른 인루프 필터링에 사용되는 파라미터를 설명하기 위한 예시도이고, 도 12은 본 발명의 다른 실시예에 따른 인루프 필터링을 설명하기 위한 예시도이며, 도 13는 본 발명의 또 다른 실시예에 따른 인루프 필터링을 설명하기 위한 예시도이다.
도 10을 참조하면, 기존의 경우 원본 영상 데이터와의 오차를 줄여주기 위해 휘도(또는 색차)값의 특정 대역 내의 화소에 대해 화소 단위의 오프셋을 더해주는 것과 달리, 특정 대역 내의 화소에 대해 대역 내의 화소를 특정 대역 내 또는 근처의 값으로 대체할 수 있다.
예를 들어, 일부 영상의 경우(컴퓨터 캡쳐 화면), 자연 영상과는 다르게 일부 휘도 성분 근처의 값들로 분류되어 나타나는 경우가 많다. 그렇기 때문에 도 10와 같이 화소 단위의 보정이 아닌 해당 대역에 값들을 특정 대역으로 대체함으로써 부호화 성능을 높일 수 있다.
상세하게는, 기존의 경우 연속하는 대역의 시작 위치에 대한 정보를 복호화기에 전송하는 것과 다르게, 필터링을 수행하는 연속하는 대역의 시작 위치에 대한 정보를 보내는 것과 각기 필터링을 수행하는 개별적인 대역의 시작 위치에 대한 정보를 보내는 것, 그리고 복원 화소에 대한 분석을 통해 필터링을 수행하는 연속하는 대역의 시작 위치 또는 각기 필터링을 수행하는 개별적인 대역의 시작 위치에 대한 정보를 부호화기와 복호화기에서 알아내는 것 중 선택적으로 설정할 수 있다.
부호화기와 복호화기에서 연속하는 대역의 시작 위치를 보내는 것과 개별적인 대역의 시작 위치를 보내는 것, 또는 복원 화소에 대한 분석을 통해 대역의 시작 위치를 자동으로 찾는 것 중 택일하여 사용하는 것을 약속할 수도 있고, 선택 정보를 픽쳐, 슬라이스, 블록 등의 단위로 전송하는 것도 가능하다. 예를 들어, 비트 심도가 8이고 대역의 폭이 8일 경우 총 대역의 수는 32개이다.
대역의 시작 위치에 대한 정보는 전체 대역에서의 절대 위치일 수도 있고, 다양한 조건에 따른 상대적인 위치일 수도 있다. 예를 들어, 영상 특성에 따라 결정된 위치로부터의 상대적인 위치일 수도 있는데, 이 때 영상 특성이란 어느 특정 대역에 화소가 몰려 있을 때의 경우, 인루프 필터를 적용하기 전 해당 블록에서 최소 또는 최대값을 갖는 화소를 포함하고 있는 대역의 시작 위치가 기준이 될 수 있고, 해당 블록의 화소들의 휘도 성분의 평균값을 갖는 대역의 시작 위치가 기준이 될 수도 있으며, 가장 빈도수가 높은 대역의 시작 위치가 기준이 될 수도 있다.
또한, 대역 너비 또한 고정 값이 아닌 다양한 값을 가질 수 있다. 비트 심도에 비례하여 대역이 분할될 수도 있고(예를 들어, 비트 심도가 8일 때, 너비를 8로 가지는 것과 같이), 양자화 파라미터에 따라 적응적인 너비를 갖는 대역으로 분할할 수도 있다.
더 나아가, 영상의 특성이 어느 특정 대역에 화소가 몰려 있을 때 더욱 정밀한 필터링(화소값을 오프셋을 통해 보정한다고 할 경우)을 위해 대역폭(예를 들어, 기존이 8이라할 때, 8 미만의 크기를 갖는 너비)을 줄임으로써 필터링(여기에선 화소값 오프셋을 통해 보정)의 성능을 향상시킬 수도 있다.
개별적인 대역의 시작 위치를 보내는 경우, 각 대역의 위치는 전체 대역에서의 절대 위치로 보낼 수도 있고, 각 대역의 상대적인 차분치를 통해 위치 정보를 보낼 수도 있다. 예를 들어, 각 대역의 위치 정보는 전체 대역의 절대 위치로 보낼 수도 있고, 첫 번째 대역의 시작 위치는 전체 대역의 절대 위치로 보내고, 두 번째 대역의 시작 위치는 첫 번째 대역의 시작 위치를 기준으로 그에 대한 상대적인 차이를 위치 정보로 전송할 수도 있다.
또한, 각 대역의 위치는 다양한 조건에 따른 상대적인 위치일 수도 있다. 예를 들어, 영상 특성에 따라 결정된 위치로부터의 상대적인 위치를 예로 들 수 있다. 여기서, 영상 특성이란 어느 특정 대역에 화소가 몰려 있을 경우, 인루프 필터를 적용하기 전 해당 블록에서 최소 또는 최대값을 갖는 화소를 포함하고 있는 대역의 시작 위치가 될 수 있고, 해당 블록의 화소들의 휘도 성분의 평균값을 갖는 대역의 시작 위치가 될 수도 있고, 가장 빈도수가 높은 대역의 시작 위치가 될 수 있다.
또한, 시작 위치에 대한 여러 후보군을 두어 택일하는 것이 가능하다. 후보군 1은 전체 대역에서의 초기 시작점, 후보군 2는 해당 블록의 가장 빈도수가 높은 대역의 시작점 등과 같이 부호화 비용을 비교하여 어느 지점을 중심으로 시작 위치 정보를 생성할지를 결정할 수 있다. 여러 후보군 중 가장 선택 가능성이 높은 후보군을 예측 후보로 놓아 실제 시작 위치와 가장 선택 가능성이 높다고 판단된 후보가 일치할 경우에는 참이 되기 때문에 1비트를 전송할 수도, 그렇지 않을 경우에는 실제 시작 위치를 제외한 나머지 후보에 대한 정보를 생성하여 전송할 수도 있다.
필터링 관련 파라미터(오프셋 또는 대체값)은 해당 대역의 복원 영상과 원본 영상과의 에러를 최소화하기 위한 정보로 대역별로 전송이 되며, 오프셋을 통한 보정 또는 대체값을 통한 보정 또는 이 외의 비슷한 목적을 가진 방법들 중 택일하여 전송될 수 있다. 예를 들어, 블록 등의 단위로 혼재되어 사용되거나 혹은 하나의 방법만을 적용하기도 한다.
만약 인루프 필터(여기에서, SAO)에서 다양한 선택 트리를 구성하여 필터링을 수행할 수 있다. 필터링은 안할 수도 있고, 에지 오프셋을 통한 보정을 수행할 수도 있고, 밴드 오프셋을 통한 보정을 수행할 수도 있으며, 대체값을 통한 보정을 수행할 수도 있다. 또한, 이 외의 비슷한 목적을 가진 새로운 방법으로 수행할 수도 있다.
이에 대한 설정은 부호화기 및 복호화기가 약속 하에 구성할 수도 있고, 어떤 선택 트리를 구성할지에 대한 정보를 전송하여 설정할 수도 있다. 즉, 이에 대한 정보는 픽쳐, 슬라이스, 블록 등의 단위로 전송이 가능하다.
예를 들어, 필터링 수행 안함 + 에지 오프셋, 필터링 수행 안함 + 밴드 오프셋 + 에지 오프셋, 필터링 수행 안함 + 에지 오프셋 + 대체값 등의 구성이 가능하다.
또한, 주변 블록의 부호화 파라미터에 따라 각기 발생 확률을 다르게 할 수 있다. 예를 들어, 이웃 블록이 모두 에지 오프셋로 인루프 필터를 적용하였을 경우 현재 블록도 에지 오프셋을 통한 보정이 적용될 확률이 높으므로 다른 방법보다 에지 오프셋이 발생할 확률을 높게 설정하여 이를 통한 엔트로피 부호화시 더 적은 비트를 발생하게 하여 부호화 성능을 높일 수도 있다.
다른 예시로 왼쪽 블록이 밴드 오프셋, 위 블록이 대체값으로 인루프 필터를 적용하였을 경우, 발생 빈도를 사전에 정의하여 이런 조합에 따른 각각의 발생 확률을 설정하여 이를 통한 엔트로피 부호화를 수행하게 할 수 있다.
또한, 다른 부호화 파라미터를 통해 이를 설정할 수도 있다. 만약 왼쪽 블록이 밴드 오프셋, 위 블록이 대체값으로 인루프 필터를 적용하였을 경우 해당 블록의 예측 모드(여기에서는 인트라 예측 모드로 한정하여 설명함)를 확인하여 다른 발생 확률을 설정할 수도 있다.
만일, 해당 블록의 예측 모드가 이웃 블록 중 한 곳과 일치하였을 경우에는 그 이웃 블록의 인루프 필터에 대한 발생 확률을 높게 할 수 있다. 예를 들어, 왼쪽 블록의 예측 모드와 현재 블록의 예측모드가 같을 경우, 밴드 오프셋에 대한 발생 확률을 높게 하고, 만약 윗 블록의 예측 모드와 현재 블록의 예측모드가 같을 경우, 대체값에 대한 발생 확률을 높게 하며, 둘 다 아닐 경우에는 다른 발생확률을 설정할 수 있다.
또한, 픽쳐, 슬라이스 등의 종류에 따라 다른 확률 정보를 설정할 수 있다. 예를 들어, 인터 픽쳐 또는 인트라 픽쳐 등에 따라 확률 정보에 대한 설정을 다르게 할 수 있다.
더 나아가, 이웃 블록의 인루프 필터의 파라미터 정보를 전체 또는 일부를 복사하여 활용함으로써 해당 블록의 인루프 필터 파라미터 정보량을 줄여 부호화 효율을 높일 수 있다.
도 11을 참조하여 본 발명의 실시예에 따른 인루프 필터링에 사용되는 파라미터를 설명하면 다음과 같다.
예를 들어, 이웃하는 블록이 밴드오프셋을 사용하고 도 11 (a)와 같은 파라미터 정보를 갖고 있다고 하자.
만약, 현재 블록이 밴드오프셋을 통해 인루프 필터를 적용할 때, 이웃 블록의 파라미터 정보를 전체 복사를 나타내는 1비트 플래그를 통해 '1'일 경우 이웃 블록으로부터 인루프 필터 파라미터 정보를 전체 복사,'0'일 경우 복사하지 않는 것 중 선택하여 현재 블록의 파라미터 정보를 이웃 블록으로부터 얻어낼 수 있다.
또한, 이웃 블록의 파라미터 정보를 부분 복사함으로써 현재 블록의 파라미터 정보를 이웃 블록으로부터 얻어낼 수도 있다. 이 경우에는1 비트 플래그를 통해 '1'일 경우 이웃 블록으로부터 인루프 필터 파라미터 정보를 부분 복사, '0'일 경우 이웃 블록으로부터 인루프 필터 파라미터 정보를 복사하지 않는 것 중 택일하게 할 수 있다.
만약 '1'일 경우 이웃 블록으로부터 어떤 정보를 부분 복사하기 위한 것인지 알기 위해 미리 설정해놓은 순서에 의해 플래그를 전송할 수 있다. 예를 들어, 만약 필터링을 적용하는 대역의 시작 위치에 대한 정보는 앞선 플래그가 '1'임을 통해 이웃블록에서 가져온다는 것을 동시에 의미한다고 하면, 남아있는 각 대역별로 오프셋 정보를 가져올지 말지를 나타내는 플래그들이 뒷 따를 수 있다.
만약, 4개의 오프셋을 모두 이웃하는 블록으로부터 복사하고자 한다면, 1-1-1-1이라는 플래그를 전송할 수 있다.
또한, 도 11 (a)와 같이 만약 두 번째 대역을 제외하고 나머지 대역에서는 모두 이웃하는 블록으로부터 복사하고자 한다면, 1-0-1-1 이라는 플래그를 전송할 수 있고, 복사하지 않은 두 번째 대역의 경우 해당 오프셋을 따로 전송할 수 있다.
또 다른 예로, 이웃하는 블록이 대체값을 통한 인루프 필터링을 수행하며 현재 블록도 대체값을 통해 인루프 필터링을 수행한다고 하고, 이웃하는 블록의 파라미터 정보는 도 11 (b)와 같다고 하자.
이러한 경우에도, 이웃 블록으로부터 인루프 필터 파라미터 정보를 전부 복사할 수 있고 부분 복사를 할 수도 있다.
만약, 현재 블록이 대체값을 통해 인루프 필터를 적용할 때, 이웃 블록의 파라미터 정보를 전체 복사를 나타내는 1비트 플래그를 통해 '1'일 경우 이웃 블록으로부터 인루프 필터 파라미터 정보를 전체 복사,'0'일 경우 복사하지 않는 것 중 선택하여 현재 블록의 파라미터 정보를 이웃 블록으로부터 얻어낼 수 있다.
또한, 이웃 블록의 파라미터 정보를 부분 복사함으로써 현재 블록의 파라미터 정보를 이웃 블록으로부터 얻어낼 수도 있다. 이 경우에는1 비트 플래그를 통해 '1'일 경우 이웃 블록으로부터 인루프 필터 파라미터 정보를 부분 복사, '0'일 경우 이웃 블록으로부터 인루프 필터 파라미터 정보를 복사하지 않는 것 중 택일하게 할 수 있다.
만약, '1'일 경우 이웃 블록으로부터 어떤 정보를 부분 복사하기 위한 것인지 알기 위해 미리 설정해 놓은 순서에 의해 플래그를 전송할 수 있다. 만약 필터링 되는 대역이 4개가 존재한다면, 각 대역별 시작 위치에 대해 복사여부에 대한 플래그를 전송할 수 있다.
또한, 만약 4개의 대역 모두 이웃하는 블록으로부터 시작 위치를 복사하고자 한다면 1-1-1-1과 같은 플래그를 전송할 수 있다.
만약, 도 11 (b)와 같이 마지막을 제외한 나머지 대역들의 시작 위치가 같다면 1-1-1-0 플래그를 전송하고 나머지 대역에 대한 시작 위치 정보를 전송할 수 있으며, 대체값 역시 위와 같은 방법을 통해 전송할 수 있다.
만약, 4개의 대역 모두 이웃하는 블록으로부터 시작 위치를 복사했다면, 4개 대역에 대한 대체값 복사 여부를 나타내는 플래그를 전송할 수 있다(1-1-1-1 또는 1-0-1-1).
만약, 도 11 (b)와 같이 대역 시작 위치에 대해 3개만 복사를 하고 마지막 대역의 경우 따로 시작 위치를 전송했다면, 이에 따른 대체값 복사 플래그는 대역 시작 위치를 복사한 3개 대역에 대해서만 보내고 마지막 대역의 경우는 대체값을 따로 전송할 수도 있다(1-1-1-0 < 대역 시작 위치 복사 플래그> ~~ 1-1-0 또는 1-0-1 등 < 대역 시작 위치 복사 플래그가 1인 대역들의 대체값 복사 플래그>).
상술한 이웃하는 블록은 인접하는 좌, 좌상, 상, 우상 등의 블록일 수도 있고 또는 인접하지 않은 블록 그리고 시간상으로 인접한 동일 위치 블록일 수도 있는 것과 같이 다양한 블록으로부터 구성될 수 있다. 이웃블록 후보군은 부호화기와 복호화기의 정해진 규칙에 따라 설정될 수도 있고, 픽쳐, 슬라이스 등의 단위로 전송될 수 도 있다. 또한, 2개 이상의 후보군이 존재할 경우 1비트 이상의 플래그를 전송할 수도 있다.
필터링 관련 파라미터(오프셋 또는 대체값)에 고정 길이 부호화 또는 가변 길이 부호화(Exp-golomb, Truncated rice 등) 등의 방법을 적용할 수 있다.
또한, 관련 파라미터를 표현하기 위한 시작 위치를 다양하게 설정할 수 있다. 만약 해당 대역의 왼쪽을 중심으로 설정할 수도 있고, 해당 대역의 가운데를 중심으로 설정할 수도 있다. 관련 파라미터를 표현하기 위한 범위는 해당 대역 내의 제한적인 설정이 가능하며, 대역 밖을 넘어가는 범위를 갖는 설정 또한 가능하다.
또한, 해당 대역 내의 화소들의 평균값 또는 중간값 등의 기준에서 관련 파라미터의 표현도 가능하다. 관련 파라미터는 절대값 및 부호의 표현으로 가능하며, 시작 위치에 따라 부호는 생략하여 절대값만으로 표현이 가능하다.
2개 이상의 대역을 사용할 경우 모든 대역을 오프셋을 통한 보정을 수행할 수도 있고 모든 대역을 대체값을 통한 보정을 수행할 수도 있다.
도 12을 참조하면, 대역에 따라 적응적으로 오프셋 또는 대체값을 통한 보정을 수행하는 것도 가능하다. 이에 대한 정보는 부호화기 및 복호하기의 동일한 설정에 따라 공유되기도 하고, 픽쳐, 슬라이스, 블록 등의 단위로 전송이 가능하다.
도 13를 참조하면, 만약 영상의 특수한 영역이라고 판단이 될 경우에는 기존의 SAO에서의 에지 오프셋과 밴드 오프셋에 추가적으로 대체값을 통한 보정을 추가하고, 그렇지 않을 경우에는 기존과 같이 에지 오프셋과 밴드 오프셋만을 지원할 수 있다.
예를 들어, 영상 특성 후보 선택부에서 여러 영상 특성 후보군 중 1. 글자 영역인지 아닌지를 선택하여 그를 고려한 추가 모드를 기존의 SAO에 추가 모드를 둘 것인지를 결정한다고 하자.
화소 분류부(12)를 통해 휘도 성분에 따라 여러 개의 밴드로 분류를 한다. 영상 분석부(13)에서는 글자 영역인지 아닌지를 판단하기 위해 해당 영역의 NZ_i가 참인 서브 밴드가 1개 초과 ~ k개 미만이며, 도 13와 같이 NZ_i가 참인 서브 밴드 중 각각의 최고 거리(중간에 NZ_i가 참인 서브 밴드가 없는)가 TH 이상인 조건을 만족할 경우에는 글자 영역(글자 부분의 휘도 성분과 배경 부분의 휘도 성분의 차이가 크다는 가정을 했을 경우)이라는 판단한다고 가정하자.
이러한 경우에 해당 블록이 그 조건을 만족할 경우에는 실제로 글자 영역일 가능성이 높다는 분석 결과가 모드 추가 결정부(14)로부터 나오게 되면, 기존의 에지 오프셋과 밴드 오프셋에 '대체값을 통한 보정'이라는 모드가 추가로 실행이 되며, 만약 해당 블록이 그 조건에 만족하지 않을 경우 글자 영역일 가능성이 낮기 때문에 대체값을 통한 보정을 제외한 채 기존의 에지 오프셋과 밴드 오프셋만으로 SAO를 지원한다.
추가 모드로 실행되어 최적의 필터로 결정이 될 경우 그에 관련된 파라미터들은 추가모드 식별 플래그 및 관련 파라미터 부호화부(16)를 통해 전송된다.
대체값을 통한 보정은 기존의 SAO에 종속되어 기존의 방법들과 같이 사용될 수도, 또는 다른 인루프 필터로 구성되어 사용될 수도 있다.
도 14은 본 발명의 실시예에 따른 영상 분석을 이용한 비디오 부호화 장치를 설명하기 위한 블록도이다.
도 14을 참조하면, 본 발명의 실시예에 따른 비디오 부호화 장치는, 감산부(110), 변환부(120), 양자화부(130), 역양자화부(131), 역변환부(121), 엔트로피 부호화부(140), 가산부(150), 인루프 필터부(160), 프레임 메모리(170), 인트라 예측부(180) 및 움직임 보상부(190)를 포함한다.
감산부(110)은 제공받은 입력 영상인 부호화할 대상 영상(현재 영상)으로부터 인트라 예측 또는 인터 예측에 의해 생성된 예측 영상을 감산함으로써 현재 영상과 예측 영상 간의 잔차 영상(residue image)을 생성한다.
변환부(120)는 감산부(110)에 의해 생성된 잔차 영상을 공간 영역에서 주파수 영역으로 변환하는 기능을 한다. 여기서, 변환부(120)는 하다마드 변환, 이산 여현 변환(Discrete Cosine Transform), 이산 사인 변환(Discrete Sine Transform) 등과 같이 공간축의 화상 신호를 주파수축으로 변환하는 기법을 이용하여 잔차 영상을 주파수 영역으로 변환할 수 있다.
양자화부(130)는 변환부(120)로부터 제공되는 변환된 데이터(주파수 계수)에 대해 양자화를 수행한다. 즉, 양자화부(130)는 변환부(120)에 의해 변환된 데이터인 주파수 계수들을 양자화 스텝사이즈(Quantization Step-Size)로 나누어 근사화하여 양자화 결과값을 산출한다.
엔트로피 부호화부(140)는 양자화부(130)에 의하여 산출된 양자화 결과값을 엔트로피 부호화함으로써 비트스트림을 생성한다. 또한, 엔트로피 부호화부(140)는 양자화부(130)에 의해 산출된 양자화 결과값을 CAVLC(Context-Adaptive Variable Length Coding) 또는 CABAC(Context-Adaptive Binary Arithmetic Coding) 기법 등을 이용하여 엔트로피 부호화할 수 있으며, 양자화 결과값 이외에 영상을 복호화하는데 필요한 정보를 엔트로피 부호화할 수 있다.
역양자화부(131)은 양자화부(130)에 의해 산출된 양자화 결과값을 역양자화한다. 즉, 역양자화부(131)은 양자화 결과값으로부터 주파수 영역의 값(주파수 계수)을 복원한다.
역변환부(121)는 역양자화부(131)에 제공받은 주파수 영역의 값(주파수 계수)을 주파수 영역에서 공간 영역으로 변환함으로써 잔차 영상을 복원하고, 가산부(150)는 인트라 예측 또는 인터 예측에 의해 생성된 예측 영상에 역변환부(121)에 의해 복원된 잔차 영상을 가산함으로써 입력 영상의 복원 영상을 생성하여 프레임 메모리(170)에 저장한다.
인트라 예측부(180)는 인트라 예측(Intra Prediction)을 수행하며, 움직임 보상부(190)는 인터 예측(Inter Prediction)을 위한 움직임 벡터를 보상한다. 여기서, 인트라 예측부(180)와 움직임 보상부(190를 예측부로 통칭할 수 있다.
예측부는 인트라 또는 인터 예측을 통해 현재 블록의 예측 블록을 생성하는 역할을 수행한다. 인트라 예측의 경우 외삽 방법 및 DC 또는 planar 모드 등으로 이웃하는 참조 화소를 사용하거나 블록 매칭 알고리듬 및 템플릿 등의 알고리듬을 사용하여 현재 픽쳐의 이전의 부호화 또는 복호화가 완료된 영역에서 예측 블록을 구성할 수 있으며 부호화 비용 고려하여 최적인 예측 블록을 결정할 수 있다.
여기서, 부호화 또는 복호화가 완료된 영역은 최소 하나 이상의 블록 단위로 구성이 될 수 있고, 슬라이스 단위로 구분 될 수도 있고, 현재 블록을 기준으로 부호화 또는 복호화가 완료된 방향으로 한정된 크기의 영역으로 구성될 수도 있으며, 현재 블록의 수평 또는 수직에 놓인 부호화 또는 복호화가 완료된 영역으로 구성될 수도 있다.
이 때 결정되는 최적의 예측 모드 관련 파라미터는 블록 분할 정보, 예측 방법(외삽 방법을 이용할 것인지 블록 매칭 등의 방법을 이용할 것인지에 대한 정보), 예측 방향 및 움직임 정보(외삽의 경우 어느 방향의 방향이 사용될 것인지, 블록 매칭 등의 경우 현재 블록 기준 또는 현재 슬라이스 시작점 기준 또는 특정한 방법에 의해 정의되는 특정한 위치에서 얼마 만큼의 이동거리에 있는 블록 또는 임의의 모양의 화소단위로부터 예측 샘플을 생성할 것인지에 대한 움직임 벡터 정보, 여러 움직임 벡터에 대한 후보 리스트 중 어느 후보를 선택할 지에 대한 정보), 후보 리스트의 구성(몇 개의 움직임 벡터를 후보로 넣을지, 어떤 움직임 벡터를 후보군에 넣을지 등) 정보, 움직임 탐색 범위(정수, 1/2, 1/4, 1/8등)에 대한 정보, 기설정된 skip 또는 merge 또는 그 이외의 방법을 사용하여 움직임 벡터를 유도하는 등을 설정하는 정보 등을 포함할 수 있다.
특히, 본 발명의 실시예에 따른 인트라 예측부(180)는 좌우 및 상하 등의 반전을 적용한 대상 블록을 블록 매칭 알고리듬 및 템플릿 등의 방법을 사용하여 움직임 탐색 및 보상을 할 경우 예측의 정확도를 향상시킬 수 있다. 예를 들어, 인트라 예측부(180)는 현재 블록에 에지가 존재하는지 경우 또는 현재 블록이 스크린 콘텐츠 영역인 경우에, 반전 움직임을 적용하여 현재 블록에 인트라 예측을 수행할 수 있다.
반전 움직임을 적용한 블록 매칭 알고리듬 및 템플릿 등의 방법의 사용 여부를 부호화기 및 복호화기에 미리 약속된 설정에 따라 설정할 수 있거나, 픽쳐, 슬라이스, 블록 등의 단위로 전송할 수도 있다. 또한 부호화기 및 복호화기에 미리 약속된 설정에 따라 어떤 반전을 지원할 지에 대한 정보를 공유할 수 있다. 또한, 이전에 누적된 통계(GOP단위, 픽쳐단위 등)에 따라 어떤 반전을 지원할 지에 대한 정보를 공유할 수 있다. 상기 언급된 예를 포함하며 이 외의 반전에 관련된 정보는 최적의 예측 모드 관련 파라미터에 포함되어 구성될 수 있다.
인루프 필터부(160)는 복원된 영상에 대한 필터링을 수행하는 것으로, 디블록킹 필터(DF: Deblocking Filter), 샘플 적응적 오프셋(SAO: Sample Adaptive Offset)를 포함하여 구성될 수 있다.
인루프 필터부(160)는 복원된 영상 데이터를 원본 영상 데이터와의 오차를 줄여주기 위해 필터링을 적용하는 작업을 수행한다. 복원 영상과 원본 영상과의 오차를 보정해주기 위한 오프셋 값을 계산하고 이에 대한 정보를 복호화기로 전송한다. SAO의 경우 디블록킹 필터가 적용된 픽쳐에 화소 단위의 오프셋을 더해준다. SAO는 해당 블록내의 화소 특성을 세분화하여 에지에 대해 에러를 보정하는 경우(에지 오프셋, edge offset), 특정 휘도 성분값 대역에 대해서 에러를 보정하는 경우(밴드 오프셋, band offset)으로 세분화된다. 오프셋을 효율적으로 계산하고 전송을 하기 위한 목적으로 부호화 단위에서 휘도 성분과 색차 성분에 대해 4개의 오프셋을 전송할 수 있다.
더 나아가, 인루프 필터부(160)는 다양한 선택 트리를 구성하여 필터링을 수행할 수 있다. 즉, 필터링은 안할 수도 있고, 에지 오프셋을 통한 보정을 수행할 수도 있고, 밴드 오프셋을 통한 보정을 수행할 수도 있으며, 대체값을 통한 보정을 수행할 수도 있다.
예를 들어, 인루프 필터부(160)는 영상 특성에 대한 분석 결과에 따라 상기 현재 블록을 복원한 복원 블록에 인루프 필터링을 수행할 수 있다. 즉, 인루프 필터부(160)는 샘플 적응적 오프셋(SAO: Sample Adaptive Offset) 또는 대체값을 활용하여 필터링을 수행할 수 있다. 예를 들어, 인루프 필터부(160)는 현재 블록에 에지가 존재하는지 경우 또는 현재 블록이 스크린 콘텐츠 영역인 경우에, 현재 블록을 복원한 복원 블록에 대체값을 적용하여 필터링을 수행할 수 있다.
도 15는 본 발명의 실시예에 따른 영상 분석을 이용한 비디오 복호화 장치를 설명하기 위한 블록도이다.
도 15를 참조하면, 본 발명의 실시예에 따른 비디오 복호화 장치는, 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 가산부(240), 인루프 필터부(250), 프레임 메모리(260), 인트라 예측부(270) 및 움직임 보상부(280)를 포함할 수 있다. 여기서, 인트라 예측부(270) 및 움직임 보상부(280)는 예측부로 통칭될 수 있다.
특히, 인트라 예측부(270)는 영상 특성에 대한 분석 결과에 따른 현재 블록에 대한 복호화 방법에 기반하여 반전 움직임의 적용 여부를 결정하여 현재 블록에 인트라 예측을 수행할 수 있다. 즉, 인트라 예측부(270)는 영상 특성에 대한 분석 결과에 기반하여 블록 매칭 또는 템플릿 매칭에 따른 인트라 예측에 반전 움직임을 적용할지 여부를 결정하여 현재 블록에 인트라 예측을 수행할 수 있다.
예를 들어, 인트라 예측부(270)는 현재 블록에 에지가 존재하는지 경우 또는 현재 블록이 스크린 콘텐츠 영역인 경우에, 반전 움직임을 적용하여 현재 블록에 인트라 예측을 수행할 수 있다.
인루프 필터부(250)는 영상 특성에 대한 분석 결과에 따른 현재 블록에 대한 복호화 방법에 기반하여 현재 블록에 인루프 필터링을 수행할 수 있다. 즉, 인루프 필터부(250)는 샘플 적응적 오프셋(SAO: Sample Adaptive Offset) 또는 대체값을 활용하여 필터링을 수행할 수 있다. 예를 들어, 인루프 필터부(250)는 현재 블록에 에지가 존재하는지 경우 또는 현재 블록이 스크린 콘텐츠 영역인 경우에, 현재 블록에 대체값을 적용하여 필터링을 수행할 수 있다.
한편, 비디오 복호화 장치의 각 구성 요소는 도 14의 비디오 부호화 장치의 구성 요소와 각각 대응되어 이해될 수 있으므로 상세한 설명한 생략한다.
본 발명에 따른 비디오 부호화/복호화 장치는, 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 프로그램 또는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터로 읽을 수 있는 프로그램 또는 코드가 저장되고 실행될 수 있다.
상술한 본 발명의 실시예에 따른 영상 분석을 이용한 비디오 부호화/복호화 방법은, 스크린 콘텐츠와 같이 자연 영상과 다른 영상 특성을 가진 영상에 대해 반전 움직임을 적용한 인트라 예측 및 대체값을 적용하는 인루프 필터링을 통하여 부호화 효율을 향상시킴과 복잡도를 감소시킬 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
11: 영상 특성 후보 선택부 12: 화소 분류부
13: 영상 분석부 14: 모드 추가 결정부
15: 추가 모드 실행부 16: 추가 모드 식별 플래그 및 관련 파라미터 부호화부
110: 감산부 120: 변환부
121, 230: 역변환부 130: 양자화부
131, 220: 역양자화부 140: 엔트로피 부호화부
150, 240: 가산부 160, 250: 인루프 필터부
170, 260: 프레임 메모리 180, 270: 인트라 예측부
190, 280: 움직임 보상부 210: 엔트로피 복호화부

Claims (6)

  1. 비트스트림으로부터 시그날링되는 예측 모드 관련 파라미터를 획득하는 단계, 상기 예측 모드 관련 파라미터는, 복호화 방법 파라미터 또는 후보 리스트 구성 파라미터 중 적어도 하나를 포함함;
    상기 복호화 방법 파라미터를 기초로, 현재 블록의 복호화 방법이 블록 매칭에 의한 복호화 방법인지 여부를 결정하는 단계;
    상기 현재 블록의 복호화 방법이 상기 블록 매칭에 의한 복호화 방법인 경우, 상기 후보 리스트 구성 파라미터를 기초로, 상기 현재 블록의 복수 개의 움직임 벡터 후보를 포함한 움직임 벡터 후보 리스트를 구성하는 단계;
    상기 구성된 움직임 벡터 후보 리스트에서 어느 하나의 움직임 벡터 후보를 선택하는 단계;
    상기 선택된 움직임 벡터 후보를 기초로, 상기 현재 블록의 예측 블록을 생성하는 단계;
    상기 생성된 예측 블록을 상기 비트스트림으로부터 획득한 잔차 블록에 가산하여, 상기 현재 블록의 복원 블록을 생성하는 단계; 및
    상기 현재 블록의 복원 블록에 인루프 필터를 적용하는 단계를 포함하되,
    상기 선택된 움직임 벡터 후보는, 상기 현재 블록을 기준으로, 상기 현재 블록과 매칭되는 블록의 위치를 나타내고,
    상기 후보 리스트 구성 파라미터는, 상기 움직임 벡터 후보 리스트를 구성하는 움직임 벡터 후보의 개수를 나타내고,
    상기 현재 블록과 매칭되는 블록은, 상기 현재 블록과 동일한 픽쳐 내에 속하고, 상기 현재 블록 이전에 복호화가 완료된 블록이고,
    상기 인루프 필터는 에지 오프셋 필터 및 밴드 오프셋 필터를 포함하는 샘플 적응적 오프셋 필터인, 비디오 복호화 방법.
  2. 제1항에 있어서,
    상기 예측 블록의 생성은, 상기 선택된 움직임 벡터 후보가 나타내는 상기 현재 블록과 매칭되는 블록의 화소를 복사하여 수행되는, 비디오 복호화 방법.
  3. 현재 블록의 부호화 방법이 블록 매칭에 의한 방법인지 여부를 결정하는 단계;
    상기 현재 블록의 부호화 방법이 상기 블록 매칭에 의한 부호화 방법인 경우, 상기 블록 매칭에 의한 부호화 방법에 따라 상기 현재 블록의 예측 블록을 생성하는 단계;
    상기 현재 블록의 원본 블록에서 상기 생성된 예측 블록을 차분하여, 상기 현재 블록의 잔차 블록을 생성하는 단계; 및
    상기 잔차 블록 및 예측 모드 관련 파라미터를 부호화하는 단계를 포함하되,
    상기 잔차 블록에 상기 생성된 예측 블록을 가산하여 생성된 상기 현재 블록의 복원 블록에 인루프 필터가 적용되고,
    상기 예측 블록은, 움직임 벡터 후보 리스트에 속한 복수 개의 움직임 벡터 후보 중에서 특정된 어느 하나의 움직임 벡터 후보를 이용하여 생성되고,
    상기 예측 모드 관련 파라미터는, 부호화 방법 파라미터 또는 후보 리스트 구성 파라미터 중 적어도 하나를 포함하고,
    상기 부호화 방법 파라미터는, 상기 현재 블록의 부호화 방법이 상기 블록 매칭에 의한 부호화 방법인지 여부를 나타내고,
    상기 후보 리스트 구성 파라미터는, 상기 움직임 벡터 후보 리스트를 구성하는 움직임 벡터 후보의 개수를 나타내고,
    상기 특정된 움직임 벡터 후보는, 상기 현재 블록을 기준으로, 상기 현재 블록과 매칭되는 블록의 위치를 나타내고,
    상기 현재 블록과 매칭되는 블록은, 상기 현재 블록과 동일한 픽쳐 내에 속하고, 상기 현재 블록 이전에 복호화가 완료된 블록이고,
    상기 인루프 필터는 에지 오프셋 필터 및 밴드 오프셋 필터를 포함하는 샘플 적응적 오프셋 필터인, 비디오 부호화 방법.
  4. 제3항에 있어서,
    상기 예측 블록의 생성은, 상기 현재 블록과 매칭되는 블록의 화소를 복사하여 수행되는, 비디오 부호화 방법.
  5. 비트스트림을 저장하는 컴퓨터로 판독가능한 기록 매체에 있어서,
    상기 비트스트림은 예측 모드 관련 파라미터를 포함하고,
    상기 예측 모드 관련 파라미터는, 복호화 방법 파라미터 또는 후보 리스트 구성 파라미터 중 적어도 하나를 포함하고,
    상기 복호화 방법 파라미터는, 현재 블록의 복호화 방법이 블록 매칭에 의한 복호화 방법인지 여부를 나타내고,
    상기 복호화 방법 파라미터가 상기 현재 블록의 복호화 방법이 상기 블록 매칭에 의한 복호화 방법임을 나타내는 경우, 상기 후보 리스트 구성 파라미터는, 상기 현재 블록의 복수 개의 움직임 벡터 후보를 포함한 움직임 벡터 후보 리스트를 구성하는데 이용되고,
    상기 움직임 벡터 후보 리스트에 속한 복수 개의 움직임 벡터 후보 중에서 선택된 움직임 벡터 후보를 기초로, 상기 현재 블록의 예측 블록이 생성되고,
    상기 생성된 예측 블록을 상기 비트스트림으로부터 획득한 잔차 블록에 가산하여, 상기 현재 블록의 복원 블록이 생성되고,
    상기 현재 블록의 복원 블록에 인루프 필터가 적용되고,
    상기 선택된 움직임 벡터 후보는, 상기 현재 블록을 기준으로, 상기 현재 블록과 매칭되는 블록의 위치를 나타내고,
    상기 후보 리스트 구성 파라미터는, 상기 움직임 벡터 후보 리스트를 구성하는 움직임 벡터 후보의 개수를 나타내고,
    상기 현재 블록과 매칭되는 블록은, 상기 현재 블록과 동일한 픽쳐 내에 속하고, 상기 현재 블록 이전에 복호화가 완료된 블록이고,
    상기 인루프 필터는 에지 오프셋 필터 및 밴드 오프셋 필터를 포함하는 샘플 적응적 오프셋 필터인, 컴퓨터로 판독가능한 기록매체.
  6. 제5항에 있어서,
    상기 예측 블록의 생성은, 상기 선택된 움직임 벡터 후보가 나타내는 상기 현재 블록과 매칭되는 블록의 화소를 복사하여 수행되는, 컴퓨터로 판독가능한 기록매체.
KR1020230022988A 2015-03-16 2023-02-21 영상 분석을 이용한 비디오 부호화/복호화 방법 및 장치 KR102624286B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020150035843 2015-03-16
KR20150035843 2015-03-16
KR1020220017373A KR102503760B1 (ko) 2015-03-16 2022-02-10 영상 분석을 이용한 비디오 부호화/복호화 방법 및 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020220017373A Division KR102503760B1 (ko) 2015-03-16 2022-02-10 영상 분석을 이용한 비디오 부호화/복호화 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20230028745A KR20230028745A (ko) 2023-03-02
KR102624286B1 true KR102624286B1 (ko) 2024-01-15

Family

ID=57068543

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020150043410A KR102248172B1 (ko) 2015-03-16 2015-03-27 영상 분석을 이용한 비디오 부호화/복호화 방법 및 장치
KR1020210049585A KR102363132B1 (ko) 2015-03-16 2021-04-16 영상 분석을 이용한 비디오 부호화/복호화 방법 및 장치
KR1020220017373A KR102503760B1 (ko) 2015-03-16 2022-02-10 영상 분석을 이용한 비디오 부호화/복호화 방법 및 장치
KR1020230022988A KR102624286B1 (ko) 2015-03-16 2023-02-21 영상 분석을 이용한 비디오 부호화/복호화 방법 및 장치

Family Applications Before (3)

Application Number Title Priority Date Filing Date
KR1020150043410A KR102248172B1 (ko) 2015-03-16 2015-03-27 영상 분석을 이용한 비디오 부호화/복호화 방법 및 장치
KR1020210049585A KR102363132B1 (ko) 2015-03-16 2021-04-16 영상 분석을 이용한 비디오 부호화/복호화 방법 및 장치
KR1020220017373A KR102503760B1 (ko) 2015-03-16 2022-02-10 영상 분석을 이용한 비디오 부호화/복호화 방법 및 장치

Country Status (1)

Country Link
KR (4) KR102248172B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102248172B1 (ko) * 2015-03-16 2021-05-04 한양대학교 산학협력단 영상 분석을 이용한 비디오 부호화/복호화 방법 및 장치
WO2018174593A1 (ko) 2017-03-22 2018-09-27 김기백 적응적인 화소 분류 기준에 따른 인루프 필터링 방법
KR20230104771A (ko) * 2018-02-28 2023-07-10 삼성전자주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
CN112702598A (zh) * 2020-12-03 2021-04-23 浙江智慧视频安防创新中心有限公司 基于位移操作进行编解码的方法、装置、电子设备及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102248172B1 (ko) * 2015-03-16 2021-05-04 한양대학교 산학협력단 영상 분석을 이용한 비디오 부호화/복호화 방법 및 장치

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU1941797A (en) * 1997-03-17 1998-10-12 Mitsubishi Denki Kabushiki Kaisha Image encoder, image decoder, image encoding method, image decoding method and image encoding/decoding system
CN1276382C (zh) * 2001-10-11 2006-09-20 皇家飞利浦电子股份有限公司 用于辨别图像不同区域的方法和装置
JP5406465B2 (ja) * 2008-04-24 2014-02-05 株式会社Nttドコモ 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法及び画像予測復号プログラム
KR20130098122A (ko) * 2012-02-27 2013-09-04 세종대학교산학협력단 영상 부호화/복호화 장치 및 영상을 부호화/복호화하는 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102248172B1 (ko) * 2015-03-16 2021-05-04 한양대학교 산학협력단 영상 분석을 이용한 비디오 부호화/복호화 방법 및 장치
KR102363132B1 (ko) * 2015-03-16 2022-02-15 한양대학교 산학협력단 영상 분석을 이용한 비디오 부호화/복호화 방법 및 장치

Also Published As

Publication number Publication date
KR20230028745A (ko) 2023-03-02
KR102363132B1 (ko) 2022-02-15
KR102503760B1 (ko) 2023-02-24
KR20160111293A (ko) 2016-09-26
KR102248172B1 (ko) 2021-05-04
KR20210044760A (ko) 2021-04-23
KR20220024333A (ko) 2022-03-03

Similar Documents

Publication Publication Date Title
US11368675B2 (en) Method and device for encoding and decoding intra-frame prediction
KR102551731B1 (ko) 화면 내 예측을 이용한 영상 부호화/복호화 방법 및 장치
KR102292592B1 (ko) 영상 복호화 방법 및 장치
KR102418957B1 (ko) 인루프 필터링을 적용한 예측 방법을 이용한 영상 부호화/복호화 방법 및 장치
KR102393177B1 (ko) 인트라 예측 정보 부호화 방법 및 장치
KR102624286B1 (ko) 영상 분석을 이용한 비디오 부호화/복호화 방법 및 장치
JP2022078048A (ja) 画像復号方法及び画像符号化方法
KR20220151140A (ko) 영상 부호화 방법 및 컴퓨터로 읽을 수 있는 기록 매체
KR20170108367A (ko) 인트라 예측 기반의 비디오 신호 처리 방법 및 장치
KR20160143588A (ko) 화면 내 예측 모드에 대한 부호화/복호화 방법 및 장치
KR101809630B1 (ko) 적응적인 디블록킹 필터링에 관한 부호화/복호화 방법 및 장치
US20200404302A1 (en) Method and device for processing video signal
KR20180061027A (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
KR20240036533A (ko) 복수의 예측 모드 후보군을 사용하여 화면내 예측을 수행하는 영상 부호화/복호화 방법 및 장치
KR20200004749A (ko) 잔차신호 재배열 방법 및 영상 복호화 장치
JP6917718B2 (ja) 予測装置、符号化装置、復号装置、及びプログラム
KR20230148749A (ko) 머신 비전을 위한 피쳐 맵 부호화/복호화 방법, 장치 및 기록 매체
KR20190008809A (ko) 복수의 참조 화소 계층을 지원하는 영상 복호화 방법 및 장치
KR20200050111A (ko) 칼라 좌표축 변환을 이용한 영상 부호화/복호화 방법 및 장치

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant