KR20140068741A - 영상 부호화 방법 및 장치 - Google Patents

영상 부호화 방법 및 장치 Download PDF

Info

Publication number
KR20140068741A
KR20140068741A KR1020120156965A KR20120156965A KR20140068741A KR 20140068741 A KR20140068741 A KR 20140068741A KR 1020120156965 A KR1020120156965 A KR 1020120156965A KR 20120156965 A KR20120156965 A KR 20120156965A KR 20140068741 A KR20140068741 A KR 20140068741A
Authority
KR
South Korea
Prior art keywords
partition function
partition
block
prediction
prediction unit
Prior art date
Application number
KR1020120156965A
Other languages
English (en)
Other versions
KR101895389B1 (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 KR20140068741A publication Critical patent/KR20140068741A/ko
Application granted granted Critical
Publication of KR101895389B1 publication Critical patent/KR101895389B1/ko

Links

Images

Classifications

    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/187Methods 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 scalable video layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • 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

Abstract

본 발명은 영상 부호화 방법에 관한 것으로, 보다 상세하게는 영상 부호화 방법에 있어서, 강화 계층에서 복수개의 움직임 벡터를 취득하는 단계; 상기 움직임벡터의 편차를 기초로 하는 파티션 함수를 계산하는 단계; 상기 파티션 함수 결과값과 임계값을 비교하는 단계; 및 상기 비교결과에 따라 예측유닛의 파티션 여부를 결정하는 단계;를 포함하여, 강화 계층의 파티션 여부를 빠르게 정하게 되어 보다 효율적인 부호화가 가능해진다.

Description

영상 부호화 방법 및 장치{Method and Apparatus for image encoding}
본 발명은 영상 부호화 방법 및 장치에 관한 것이다.
H.264/AVC 는 고성능의 압축 효율을 갖는 비디오 압축 표준 기술이다. H.264/AVC 에서는 영상 내의 상관성을 제거하기 위한 화면 내 예측 기술, 영상 간의 상관성을 제거하기 위한 화면 간 예측 기술을 통하여 원본 신호를 예측 부호화할 수 있다. H.264/AVC의 부호화기는 원본 신호와 예측 신호의 차이 값인 차분 값에 대하여 이산 여현 변환 부호화와 양자화를 수행한다. 그리고 양자화된 신호는 지그재그 스캐닝 방법으로 정렬된 후 엔트로피 부호화된다.
최근에 ITU-T VCEG(Video Coding Experts Group)와 ISO/IEC MPEG(Moving Picture Experts Group)은 JCT-VC(Joint Collaborative Team on Video Coding)을 구성하여 새로운 영상 압축 표준인 HEVC(High Efficiency Video Coding)의 표준화를 진행 중이며, 이는 기존에 제정된 표준인 H.264/AVC에 비교하여 현재 약 40% 이상의 압축 효율의 향상이 달성되어 있는 것으로 알려져 있다. H.264/AVC와 HEVC는 기본적으로 블록 기반의 영상 부호화기이라는 점은 동일하지만 16x16의 고정된 크기인 MB(Macroblock) 단위의 부호화를 수행하는 H.264/AVC와는 다르게 HEVC는 Common test condition 내에서 최대 64x64 크기로부터 8x8 크기까지의 다양한 크기를 갖는 블록 단위로 코딩을 진행하게 되는 데, 이때 가장 기본적인 코딩 블록 단위를 CU(Coding Unit)라고 한다.
또한, 움직임 벡터(Motion Vector) 역시 블록 단위로 예측하게 되는데, 이때 블록을 PU(Prediction Unit)이라고 한다. CU는 여러 개의 PU로 나뉘게 된다.
HEVC와 같은 SHVC(scalable high efficiency video coding)에서 강화 계층(enhancement layer)를 생성할 경우 기본 계층(base layer)과 블록 단위가 다를 경우가 발생하게 되는데, 종래는 강화 계층과 기본 계층을 비교하여 강화계층의 블록을 파티션(partition)하게 된다.
선행 연구 1(JCTVC-K0042: Description of scalable video coding technology proposal by Fraufer HHI)은 SVC(scalable video coding)에서 강화 계층을 생성할 경우 기본 계층과의 관계를 이용해 파티션하는 방법이 소개되어 있다.
기본 계층의 위치는 기본 계층의 파티션을 접근하는데 사용하고 강화 계층의 분할을 복사하는데, 이때 파티션의 기본 크기는 가장 작은 PU크기이다.
강화 계층의 파티션은 기본 계층의 파티션으로 채워지고 하위 파티션의 깊이(depth of sub-partitions)는 재귀적으로 프로세스를 진행하여 결정하게 된다.
만약 특정 파티션에 네 개의 하위 파티션(sub-partition)이 같은 예측 모드(prediction mode)가 없는 경우 프로세스를 끝낸다. 그렇지 않으면 예측 모드(prediction mode)에 따라 인트라 예측 데이터(intra prediction data)나 움직임 데이터(motion data)를 비교한다.
만약 비교된 데이터가 모든 하위 파티션(sub-partition)과 같으면 깊이(depth)는 감소되고 조합 프로세스(combination process)를 마치고 다음 작은 깊이에서 프로세스가 수행된다.
예측모드(prediction mode)가 인터(inter)인 경우 파티션(partition) 크기는 하위 파티션의 움직임 변수를 비교하여 결정한다.
선행 연구 1에서는 강화 계층을 파티션(partition) 할 경우 가장 작은 PU(Prediction Unit) 단위에서 시작하여 하위 파티션(sub-partition)과 같을 경우 조합 프로세스(combination process)를 재귀적으로 수행하였다.
그러나, 가장 작은 PU(Prediction Unit) 단위에서 시작하여 모든 파티션(partition)과 하위 파티션(sub-partition)을 재귀적으로 모두 비교하기 때문에 부호화 시간이 오래 걸리는 문제점이 있다.
본 발명은 상기와 같은 문제점을 해결하기 위해 안출된 것으로, 특히 부호화시에 보다 빠르게 파티션을 수행하도록 하는 영상 부호화 방법 및 장치를 제공하는 데 그 목적이 있다.
상기 목적을 달성하기 위해 안출된 본 발명의 일관점은, 영상 부호화 방법에 있어서, 강화 계층에서 복수개의 움직임 벡터를 취득하는 단계; 상기 움직임벡터의 편차를 기초로 하는 파티션 함수를 계산하는 단계; 상기 파티션 함수 결과값과 임계값을 비교하는 단계; 및 상기 비교결과에 따라 예측유닛의 파티션 여부를 결정하는 단계;를 포함하는, 영상 부호화 방법을 제공한다.
여기서, 상기 파티션 함수는, 상기 예측 유닛의 깊이를 기초로 하는 것이 바람직하다.
또한, 상기 파티션 함수는, 상기 움직임 벡터의 편차에 가중치를 둘 수도 있으며, 상기 예측 유닛의 깊이에 가중치를 둘 수도 있다.
여기서, 상기 파티션 함수는, 상기 움직임 벡터의 편차에 비례하는 것이 바람직하다.
또한, 상기 파티션 함수는, 상기 예측 유닛의 깊이에 반비례하는 것이 바람직하다.
한편, 상기 파티션 함수 결과값과 임계값을 비교하는 단계 결과, 상기 파티션 함수 결과값이 상기 임계값보다 큰 경우, 상기 예측 유닛의 파티션을 수행하고, 상기 파티션 함수 결과값이 상기 임계값보다 적은 경우, 상기 예측 유닛의 파티션을 수행하지 않고 움직임 벡터를 선택하는 것이 바람직하다.
본 발명에 의하면 강화 계층에 움직임 벡터들의 관계를 이용하여 강화 계층의 파티션을 보다 빨리 수행할 수 있도록 함으로써 부호화 효율 향상시키는 효과가 있다.
도 1은 영상 부호화 장치 구조의 일 예를 개략적으로 도시한 것이다.
도 2는 영상 복호화 장치 구조의 일 예를 개략적으로 도시한 것이다.
도 3은 부호화/복호화 대상 픽쳐와 참조 픽쳐의 일 예를 나타낸다.
도 4는 강화 계층의 움직임 벡터의 일례를 도시한 것이다.
도 5는 본 발명의 일실시예에 따른
영상 부호화방법을 도시한 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다거나 "직접 접속되어"있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 영상 부호화 장치 구조의 일 예를 개략적으로 도시한 것이다.
도 1을 참조하면, 상기 영상 부호화 장치(100)는 움직임 예측부(111), 움직임 보상부(112), 인트라 예측부(120), 스위치(115), 감산기(125), 변환부(130), 양자화부(140), 엔트로피 부호화부(150), 역양자화부(160),역변환부(170), 가산기(175), 필터부(180) 및 참조영상 버퍼(190)를 포함한다.
영상 부호화 장치(100)는 입력 영상에 대해 인트라(intra) 모드 또는 인터(inter) 모드로 부호화를 수행하고 비트스트림을 출력한다. 이하 본 발명의 실시예에서는 인트라 예측은 화면 내 예측, 인터 예측은 화면 간 예측과 동일한 의미로 사용될 수 있다. 예측 단위에 대한 최적의 예측 방법을 결정하기 위해 예측 단위에 대해 화면 내예측 방법 및 화면 간 예측 방법이 선택적으로 사용될 수 있다. 영상 부호화 장치(100)는 입력 영상의 원본 블록에 대한 예측 블록을 생성한 후, 원본 블록과 예측 블록의 차분을 부호화한다.
화면 내 예측 모드인 경우, 인트라 예측부(120)(또는 화면 내 예측부도 동일한 의미를 가지는 용어로 사용될 수 있다.)는 현재 블록 주변의 이미 부호화된 블록의 픽셀값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성한다.
화면 간 예측 모드인 경우, 움직임 예측부(111)는, 움직임 예측 과정에서 참조 영상 버퍼(190)에 저장되어 있는 참조 영상에서 입력 블록과 가장 매치가 잘 되는 영역을 찾아 움직임 벡터를 구한다. 움직임 보상부(112)는 움직임 벡터를 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성한다.
감산기(125)는 입력 블록과 생성된 예측 블록의 차분에 의해 잔여 블록(residual block)을 생성한다. 변환부(130)는 잔여 블록에 대해 변환(transform)을 수행하여 변환 계수(transform coefficient)를 출력한다. 그리고 양자화부(140)는 입력된 변환 계수를 양자화 파라미터에 따라 양자화하여 양자화된 계수(quantized coefficient)를 출력한다. 엔트로피 부호화부(150)는 입력된 양자화된 계수를 확률 분포에 따라 엔트로피 부호화하여 비트스트림(bit stream)을 출력한다.
HEVC는 인터 예측 부호화, 즉 화면 간 예측 부호화를 수행하므로, 현재 부호화된 영상은 참조 영상으로 사용되기 위해 복호화되어 저장될 필요가 있다. 따라서 양자화된 계수는 역양자화부(160)에서 역양자화되고 역변환부(170)에서 역변환된다. 역양자화, 역변환된 계수는 가산기(175)를 통해 예측 블록과 더해지고 복원 블록이 생성된다.
복원 블록은 필터부(180)를 거치고, 필터부(180)는 디블록킹 필터(deblocking filter), SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터부(180)는 적응적 인루프(in-loop) 필터로 불릴 수도 있다. 디블록킹 필터는 블록 간의 경계에 생긴 블록 왜곡을 제거할 수 있다. SAO는 코딩 에러를 보상하기 위해 픽셀값에 적정 오프셋(offset) 값을 더해줄 수 있다. ALF는 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있으며, 고효율이 적용되는 경우에만 수행될 수도 있다. 필터부(180)를 거친 복원 블록은 참조 영상 버퍼(190)에 저장된다.
도 2는 영상 복호화 장치 구조의 일 예를 개략적으로 도시한 것이다.
도 2를 참조하면, 영상 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 움직임 보상부(250), 필터부(260) 및 참조 영상 버퍼(270)를 포함한다.
영상 복호화 장치(200)는 부호화기에서 출력된 비트스트림을 입력 받아 인트라 모드 또는 인터 모드로 복호화를 수행하고 재구성된 영상, 즉 복원 영상을 출력한다. 인트라 모드인 경우 화면 내 예측 모드를 사용하여 예측 블록을 생성하고 인터 모드인 경우 화면 간 예측 방법을 사용하여 예측 블록을 생성한다. 영상 복호화 장치(200)는 입력 받은 비트스트림으로부터 잔여 블록(residual block)을 얻고 예측 블록을 생성한 후 잔여 블록과 예측블록을 더하여 재구성된 블록, 즉 복원 블록을 생성한다.
엔트로피 복호화부(210)는 입력된 비트스트림을 확률 분포에 따라 엔트로피 복호화하여 양자화된 계수(quantized coefficient)를 출력한다. 양자화된 계수는 역양자화부(220)에서 역양자화되고 역변환부(230)에서 역변환되며, 양자화된 계수가 역양자화/역변환 된 결과, 잔여 블록(residual block)이 생성된다.
화면 내 예측 모드인 경우, 인트라 예측부(240)(또는 화면 간 예측부)는 현재 블록 주변의 이미 부호화된 블록의 픽셀값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성한다.
화면 간 예측 모드인 경우, 움직임 보상부(250)는 움직임 벡터 및 참조 영상 버퍼(270)에 저장되어 있는 참조영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성한다.
잔여 블록과 예측 블록은 가산기(255)를 통해 더해지고, 더해진 블록은 필터부(260)를 거친다. 필터부(260)는 디블록킹 필터, SAO, ALF 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터부(260)는 재구성된 영상, 즉 복원 영상을 출력한다. 복원 영상은 참조 영상 버퍼(270)에 저장되어 화면 간 예측에 사용될 수 있다.
부호화/복호화 장치의 예측 성능을 향상시키기 위한 방법에는 보간(interpolation) 영상의 정확도를 높이는 방법과 차신호를 예측하는 방법이 있다. 여기서 차신호란 원본 영상과 예측 영상과의 차이를 나타내는 신호이다.
본 발명에서 “차신호”는 문맥에 따라 “차분 신호”, “잔여 블록” 또는 “차분 블록”으로 대체되어 사용될 수 있으며, 해당 기술분야에서 통상의 지식을 가진 자는 발명의 사상, 본질에 영향을 주지 않는 범위 내에서 이를 구분할 수 있을 것이다.
본 발명의 실시예에서는 설명의 편의상 코딩 유닛(Coding Unit, 이하 'CU'라 함)을 부호화 단위라는 용어로 사용하지만, 부호화 뿐만 아니라 복호화를 수행하는 단위가 될 수도 있다. 이하, 본 발명의 실시예에서 설명하는 영상 부호화 방법은, 도 1 및 도 2에서 전술한 각 모듈의 기능에서 맞게 구현될 수 있고 이러한 부호화기 및 복호화기는 본 발명의 권리범위에 포함된다. 즉, 본 발명의 실시예에서 후술할 영상 부호화/복호화 방법은 도 1 및 도 2에서 전술한 영상 부호화기 및 영상 복호화기에 포함된 각 구성부에서 수행될 수 있다. 구성부의 의미는 하드웨어적인 의미 뿐만 아니라 알고리즘을 통해 수행될 수 있는 소프트웨어적인 처리 단위도 포함할 수 있다.
상술한 도 1, 도 2의 실시예에 따른 영상 부호화/복호화에서는, 영상의 효율적인 부호화를 위해, 단일 크기의 매크로블록이 다양한 크기로 확장된 CU 구조가 정의될 수 있다. CU는 비디오 부호화기에서 부호화가 수행되는 하나의 단위로서, 쿼드 트리 구조(Quad Tree Structure)를 기초로 깊이(depth) 정보를 가지고 계층적으로 분할될 수 있다. CU는 8×8, 16×16, 32×32, 64×64 등 다양한 크기를 가질 수 있다. 또한 가장 큰 크기의 CU를 LCU(Largest Coding Unit), 가장 작은 크기의 CU를 SCU(Smallest Coding Unit)라 한다. SCU를 제외한 모든 CU는 split_flag 정보를 할당하여 그 값에 따라 해당 CU가 분할된 영역인지 아닌지를 지시하게 된다. 부호화기는 다양한 비디오 신호 특성에 따라, 부호화 과정에서 LCU의 크기를 조절할 수도 있다. CU는 인트라 또는 인터 예측에 사용되도록 PU(Prediction Unit)으로 분할될 수 있으며, 변환 및 양자화를 위해 TU(Transform Unit)으로 분할될 수 있다. 이하, 블록은 부호화/복호화의 단위를 의미한다. 부호화/복호화 과정에서, 영상은 소정의 크기로 분할되어 부호화/복호화된다. 따라서, 블록은 CU, PU, TU등으로도 불릴 수도 있으며, 하나의 블록은 더 작은 크기의 하위 블록으로 분할될 수도 있다.
여기서, PU는 예측 및/또는 움직임 보상 수행의 기본 단위를 의미한다. PU는 복수의 파티션(partition)으로 분할될 수 있으며, 각각의 파티션은 PU 파티션(prediction unit partition)으로 불린다. PU가 복수의 파티션으로 분할된 경우, PU 파티션은 예측 및/또는 움직임 보상 수행의 기본단위가 될 수 있다. 이하, 본 발명의 실시예에서는 PU는 PU 파티션을 의미할 수도 있다.
한편, HEVC(High Efficiency Video Coding)에서는 향상된 움직임 벡터 예측(AMVP: Advanced Motion Vector Prediction)에 기반한 움직임 벡터 예측(motion vector prediction) 방법을 사용한다.
향상된 움직임 벡터 예측에 기반한 움직임 벡터 예측 방법에서는 부호화/복호화 대상 블록의 주변에 위치하는 복원 블록의 움직임 벡터(MV: Motion Vector)뿐만 아니라, 참조 픽쳐(reference picture) 내에서 부호화/복호화 대상 블록과 동일한 위치 또는 대응되는 위치에 존재하는 블록의 움직임 벡터를 이용할 수 있다. 이때. 참조 픽쳐 내에서 부호화/복호화 대상 블록과 동일한 위치 또는 공간적으로 대응되는 위치에 존재하는 블록을 동등 위치 블록(collocated block), 동등 위치 블록의 움직임 벡터를 동등 위치 움직임 벡터(collocated motion vector) 또는 시간적 움직임 벡터(temporal motion vector)라고 부른다. 그러나, 동동 위치 블록(collocated block)은 참조 픽쳐의 부호화/복호화 대상 블록과 반드시 동일한 위치에 존재하는 블록만이 아니라, 부호화/복호화 대상 블록과 위치가 유사한, 즉 대응되는 위치에 존재하는 블록일 수도 있다.
움직임 정보 병합(motion information merge) 방법에서는 움직임 정보를 주변에 위치하는 복원 블록뿐만 아니라 동등 위치 블록으로부터도 유추하여, 부호화/복호화 대상 블록의 움직임 정보로 이용한다. 이때, 움직임 정보는 인터 예측 시에 필요한 참조 픽쳐 인덱스(reference picture index), 움직임 벡터, 단방향(uni-direction) 또는 양방향(bi-direction) 등을 나타내는 인터 예측 모드 정보, 참조 픽쳐 리스트(reference picture list), 인트라 예측 모드로 부호화되었는지 인터 예측 모드로 부호화되었는지에 관한 예측 모드(prediction mode) 정보 중 적어도 하나 이상을 포함하는 정보이다.
부호화/복호화 대상 블록에서 예측된 움직임 벡터(predictied motion vector)는 부호화/복호화 대상 블록과 공간적으로 인접한 주변 블록의 움직임 벡터뿐만 아니라, 부호화/복호화 대상 블록과 시간적으로 인접한 블록인 동등 위치 블록의 움직임 벡터일 수도 있다.
도 3은 부호화/복호화 대상 픽쳐와 참조 픽쳐의 일 예를 나타낸다.
도 3을 참조하면, 블록 X는 부호화/복호화 대상 픽쳐(310) 내의 부호화/복호화 대상 블록을 나타내며, 블록 A, 블록 B, 블록 C, 블록 D 및 블록 E는 부호화/복호화 대상 블록의 주변에 위치하는 복원 블록을 나타낸다. 그리고, 참조 픽쳐(320) 내의 블록 T는 부호화/복호화 대상 블록과 대응되는 위치에 존재하는 동등 위치 블록을 나타낸다.
도 4는 강화 계층의 움직임 벡터의 일례를 도시한 것이다.
도 4을 참조하면, 강화 계층의 움직임 벡터는 최대 4개(mv0 , mv1, mv2, mv3)의 서로 다른 값을 가지게 된다. 이를 이용하여 강화 계층 LCU의 최적 움직임 벡터 mv* 를 결정하여야 한다.
도 5는 본 발명의 일실시예에 따른 영상 부호화방법을 도시한 순서도이다.
도 5를 참조하면, 본 발명의 일실시예에 따른 영상 부호화 방법은,강화 계층에서 파티션 함수를 계산하고, 상기 파티션 함수 결과값과 임계값을 비교한 후, 상기 비교결과에 따라 예측유닛의 파티션 여부를 결정하는 단계를 포함한다.
먼저, 강화 계층의 움직임 벡터를 취득한다(S110). 움직임 벡터는 도 4에서 살펴본 바와 같이 최대 4개의 서로 다른 값을 가질 수 있다.
이후, 각각의 움직임 벡터의 평균값을 계산하고, 평균값과 각 움직임 벡터의 차이인 편차를 계산한다(S120).
다음으로, 각 움직임 벡터의 편차와 강화계층 깊이값을 이용하여 아래의 파티션 함수(J)의 결과값을 계산한다(S130).
이상의 단계를 좀더 자세히 살펴보면, 네 개의 움직임 벡터(mv0, mv1, mv2, mv3)의 평균값을 구한 값과 각각의 움직임 벡터들 간의 거리의 평균을 계산한다. 이를 수식으로 나타내면 다음의 수학식 1과 같다.
Figure pat00001
Figure pat00002
강화 계층의 파티션의 깊이가 크면 파티션의 크기가 작게 되고 파티션의 깊이가 작으면 그 크기는 크게 되는 관계가 있다.
이에 따라, 강화 계층의 파티션을 정할 경우 파티션의 깊이에 따라 한계 값이 달라 지게 된다. 즉, 수학식 1에서 계산한 변수(v)와 파티션의 깊이(d)를 변수로 두고 각각의 가중치를 두는 식(수학식2)을 제안하면 다음과 같다.
Figure pat00003
(여기서, d는 코딩유닛의 깊이)
이와 같이, 파티션 함수(J)는, 움직임 벡터의 편차와 예측유닛의 깊이를 기초로 한다. 또한, 상기 파티션 함수는, 상기 움직임 벡터의 편차와 예측유닛의 깊이에 각각 가중치(w1, w2 )를 두고 있다.
이후, 파티션 함수의 계산 결과값과 임계값을 비교한다(S140).
상기 비교 결과, 상기 파티션 함수 결과값이 상기 임계값보다 큰 경우, 상기 예측 유닛의 파티션을 수행한다(S150).
상기 비교 결과, 상기 파티션 함수 결과값이 상기 임계값보다 적은 경우, 상기 예측 유닛의 파티션을 수행하지 않고 움직임 벡터를 선택하게 된다(S160).
아래는 본 발명의 영상부호화 방법을 프로그램한 일실시예이다. 아래 프로그램을 이용하여 강화계층의 하위 파티션을 정할 수 있게 된다.
if(J>T)
split;
copy MVs;
else
not_split;
MV selection stage;
end
본 발명은 강화 계층(enhancement layer)를 파티션(partition) 할 경우, 움직임 벡터와 깊이 정보를 이용하여 계산한 함수에 한계값을 비교하여 하위 파티션(sub-partition)을 정한다. 계산된 함수값과 한계값을 기준으로 파티션 여부를 정하게 되어 보다 빠른 부호화가 가능해진다.
100: 영상 부호화 장치 111: 움직임 예측부
112: 움직임 보상부 120: 인트라 예측부
125: 감산기 130: 변환부
140: 양자화부 150: 엔트로피 부호화부

Claims (16)

  1. 영상 부호화 방법에 있어서,
    강화 계층에서 복수개의 움직임 벡터를 취득하는 단계;
    상기 움직임벡터의 편차를 기초로 하는 파티션 함수를 계산하는 단계;
    상기 파티션 함수 결과값과 임계값을 비교하는 단계; 및
    상기 비교결과에 따라 예측유닛의 파티션 여부를 결정하는 단계;를 포함하는, 영상 부호화 방법.
  2. 청구항 1에 있어서,
    상기 파티션 함수는, 상기 예측 유닛의 깊이를 기초로 하는, 영상 부호화 방법.
  3. 청구항 1에 있어서,
    상기 파티션 함수는, 상기 움직임 벡터의 편차에 가중치를 두는, 영상 부호화 방법.
  4. 청구항 2에 있어서,
    상기 파티션 함수는, 상기 예측 유닛의 깊이에 가중치를 두는, 영상 부호화 방법.
  5. 청구항 1에 있어서,
    상기 파티션 함수는, 상기 움직임 벡터의 편차에 비례하는, 영상 부호화 방법.
  6. 청구항 1에 있어서,
    상기 파티션 함수는, 상기 예측 유닛의 깊이에 반비례하는, 영상 부호화 방법.
  7. 청구항 1에 있어서,
    상기 비교 결과, 상기 파티션 함수 결과값이 상기 임계값보다 큰 경우, 상기 예측 유닛의 파티션을 수행하는, 영상 부호화 방법.
  8. 청구항 1에 있어서,
    상기 비교 결과, 상기 파티션 함수 결과값이 상기 임계값보다 적은 경우, 상기 예측 유닛의 파티션을 수행하지 않고 움직임 벡터를 선택하는, 영상 부호화 방법.
  9. 프로세서(processor); 및
    상기 프로세서와 연결되며 상기 프로세서를 구동하기 위한 정보를 저장하는 메모리를 포함하되,
    상기 프로세서는, 강화 계층에서 복수개의 움직임 벡터를 취득하고, 상기 움직임벡터의 편차를 기초로 하는 파티션 함수를 계산하고, 상기 파티션 함수 결과값과 임계값을 비교한 후, 상기 비교결과에 따라 예측유닛의 파티션 여부를 결정하도록 구성되는, 영상 부호화 장치.
  10. 청구항 9에 있어서,
    상기 파티션 함수는, 상기 예측 유닛의 깊이를 기초로 하는, 영상 부호화 장치.
  11. 청구항 9에 있어서,
    상기 파티션 함수는, 상기 움직임 벡터의 편차에 가중치를 두는, 영상 부호화 장치.
  12. 청구항 10에 있어서,
    상기 파티션 함수는, 상기 예측 유닛의 깊이에 가중치를 두는, 영상 부호화 장치.
  13. 청구항 9에 있어서,
    상기 파티션 함수는, 상기 움직임 벡터의 편차에 비례하는, 영상 부호화 자장치.
  14. 청구항 10에 있어서,
    상기 파티션 함수는, 상기 예측 유닛의 깊이에 반비례하는, 영상 부호화 장치.
  15. 청구항 9에 있어서,
    상기 비교 결과, 상기 파티션 함수 결과값이 상기 임계값보다 큰 경우, 상기 예측 유닛의 파티션을 수행하는, 영상 부호화 장치.
  16. 청구항 9에 있어서,
    상기 비교 결과, 상기 파티션 함수 결과값이 상기 임계값보다 적은 경우, 상기 예측 유닛의 파티션을 수행하지 않고 움직임 벡터를 선택하는, 영상 부호화 장치.
KR1020120156965A 2012-11-27 2012-12-28 영상 부호화 방법 및 장치 KR101895389B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020120135588 2012-11-27
KR20120135588 2012-11-27

Publications (2)

Publication Number Publication Date
KR20140068741A true KR20140068741A (ko) 2014-06-09
KR101895389B1 KR101895389B1 (ko) 2018-10-18

Family

ID=51124430

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120156965A KR101895389B1 (ko) 2012-11-27 2012-12-28 영상 부호화 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101895389B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070076672A (ko) * 2006-01-19 2007-07-25 삼성전자주식회사 움직임 추정 및 블록 분할 모드 결정 알고리즘
KR20120005932A (ko) * 2010-07-09 2012-01-17 삼성전자주식회사 블록 병합을 이용한 비디오 부호화 방법 및 그 장치, 블록 병합을 이용한 비디오 복호화 방법 및 그 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070076672A (ko) * 2006-01-19 2007-07-25 삼성전자주식회사 움직임 추정 및 블록 분할 모드 결정 알고리즘
KR20120005932A (ko) * 2010-07-09 2012-01-17 삼성전자주식회사 블록 병합을 이용한 비디오 부호화 방법 및 그 장치, 블록 병합을 이용한 비디오 복호화 방법 및 그 장치

Also Published As

Publication number Publication date
KR101895389B1 (ko) 2018-10-18

Similar Documents

Publication Publication Date Title
RU2740783C1 (ru) Кодирование и декодирование видео
KR101316060B1 (ko) 인터 예측 부호화된 동영상 복호화 방법
KR101947142B1 (ko) 스킵 모드를 이용한 영상 복호화 방법 및 이러한 방법을 사용하는 장치
KR102138828B1 (ko) 영상 부호화 방법 및 장치
US20130272406A1 (en) Signaling of temporal motion vector predictor (mvp) flag for temporal prediction
KR20130099243A (ko) 인터 예측 부호화 방법
WO2013154674A1 (en) Evaluation of signaling of collocated reference picture for temporal prediction
KR20130026436A (ko) 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법 및 화상 복호 방법
KR20130067280A (ko) 인터 예측 부호화된 동영상 복호화 방법
KR100856392B1 (ko) 현재 영상의 복원영역을 참조하는 동영상 부호화/복호화장치 및 그 방법
JP2023063506A (ja) 構築されたアフィンマージ候補を導出する方法
KR101891192B1 (ko) 영상 부호화 방법 및 장치
KR101924959B1 (ko) 영상 부호화 방법 및 장치
KR101688085B1 (ko) 고속 인트라 예측을 위한 영상 부호화 방법 및 장치
KR101895389B1 (ko) 영상 부호화 방법 및 장치
KR101841352B1 (ko) 참조 프레임 선택 방법 및 그 장치
KR20140043015A (ko) 영상 부호화 방법 및 장치
KR102183366B1 (ko) 부호화 모드 결정 방법 및 그 장치
WO2014028631A1 (en) Signaling of temporal motion vector predictor (mvp) enable flag
KR20140129419A (ko) 잔차 변환을 이용한 인트라 예측 방법 및 장치
KR20140129420A (ko) 잔차 변환을 이용한 인트라 예측 방법 및 장치
JP2006340014A (ja) 低複雑度動き補償型時間方向フィルタ処理方法ならびに装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant