KR101364086B1 - 영상 복호 방법 및 장치 - Google Patents

영상 복호 방법 및 장치 Download PDF

Info

Publication number
KR101364086B1
KR101364086B1 KR1020120101033A KR20120101033A KR101364086B1 KR 101364086 B1 KR101364086 B1 KR 101364086B1 KR 1020120101033 A KR1020120101033 A KR 1020120101033A KR 20120101033 A KR20120101033 A KR 20120101033A KR 101364086 B1 KR101364086 B1 KR 101364086B1
Authority
KR
South Korea
Prior art keywords
decoding
coding unit
frame
lcu
coding
Prior art date
Application number
KR1020120101033A
Other languages
English (en)
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 전자부품연구원
Priority to KR1020120101033A priority Critical patent/KR101364086B1/ko
Application granted granted Critical
Publication of KR101364086B1 publication Critical patent/KR101364086B1/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/42Methods 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/436Methods 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
    • 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/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

Abstract

영상 복호 장치가 복수 단계로 구성된 복호 프로세스를 통해 코딩 유닛을 복호하는 방법으로서, 복수의 코딩 유닛으로 구성된 한 프레임을 입력받는 단계, 제1코딩 유닛과 제2코딩 유닛의 복호 프로세스 수행 시 의존 관계를 기초로 상기 제1코딩 유닛과 상기 제2코딩 유닛의 복호 순서를 결정하는 단계, 그리고 결정한 순서에 따라 각 코딩 유닛을 복호하는 단계를 포함하고, 상기 복호 프로세스는 수평방향 디블록킹 필터, 수직방향 디블록킹 필터, 샘플 어댑티브 오프셋 필터, 그리고 어댑티브 루프 필터의 순서로 적용된다.

Description

영상 복호 방법 및 장치{VIDEO DECODING METHOD, AND VIDEO DECODING APPARATUS}
본 발명은 영상 복호 방법 및 장치에 관한 것이다.
고효율비디오코딩(High Efficiency Video Coding, HEVC)은 H.264/AVC(Advanced Video Coding) 표준 이후에 개발된 새로운 비디오 코딩 표준이다. HEVC는 H.264/AVC에 비해 좋은 코딩 효율을 가진다. HEVC의 코딩 구조는 H.264/AVC와 거의 유사하지만 다른 점이 두 가지 존재한다.
먼저, HEVC는 매우 유연한 쿼드트리(quadtree) 파티션 구조를 이용하여 비디오 데이터를 압축한다. HEVC는 쿼드트리 파티션 구조로 다양한 해상도의 영상을 최적의 파티션으로 압축할 수 있다. HEVC의 압축 구조는 코딩유닛(Coding Unit, CU), 예측유닛(Prediction Unit, PU), 그리고 변환유닛(Transform Unit, TU)으로 구성된다. CU는 H.264/AVC의 매크로블록(macroblock)과 유사하며, 압축을 위한 기본 단위이다. HEVC의 CU의 크기는 H.264/AVC의 매크로블록 크기와 달리, 8x8에서 64x64까지 다양한 값을 가질 수 있다. HEVC는 가장 큰 CU(largest CU, LCU)와, 가장 작은 CU(smallest CU, SCU)를 시퀀스 파라미터 셋트(Sequence Parameter Set, SPS)에 기술한다. 또한 하나의 CU는 1개 이상의 PU로 압축되며, TU도 하나의 CU안에서 다양한 크기를 가질 수 있다.
다음, HEVC는 코딩 효율을 위해 새로운 코딩 툴들을 포함한다. HEVC는 새로운 인트라 예측 방향을 추가하고, 16x16이나 32x32과 같은 큰 변환(large transform), 비대칭 움직임 분할(Asymmetric Motion Partitions, AMP), 샘플 어댑티브 오프셋 (Sample Adaptive Offset, SAO) 등을 추가하였다.
이와 같이, HEVC는 H.264/AVC에 비해 복호화 과정이 복잡해졌기 때문에, 빠른 복호화 방법이 필요하다.
본 발명이 해결하고자 하는 과제는 프레임 단위 병렬 처리를 위해 복호화 과정을 변경하고, LCU 단위 스레드간 동기화를 수행하여 영상을 복호하는 영상 복호 방법을 제공하는 것이다.
본 발명의 한 실시예에 따른 영상 복호 장치가 복수 단계로 구성된 복호 프로세스를 통해 코딩 유닛을 복호하는 방법으로서, 복수의 코딩 유닛으로 구성된 한 프레임을 입력받는 단계, 제1코딩 유닛과 제2코딩 유닛의 복호 프로세스 수행 시 의존 관계를 기초로 상기 제1코딩 유닛과 상기 제2코딩 유닛의 복호 순서를 결정하는 단계, 그리고 결정한 순서에 따라 각 코딩 유닛을 복호하는 단계를 포함하고, 상기 복호 프로세스는 수평방향 디블록킹 필터, 수직방향 디블록킹 필터, 샘플 어댑티브 오프셋 필터, 그리고 어댑티브 루프 필터의 순서로 수행된다.
상기 복호 순서를 결정하는 단계는 상기 복수의 코딩 유닛 중 (N+1)번째 코딩 유닛에 대한 수평방향 디블록킹 필터를 수행한 다음에, N번째 코딩 유닛에 대한 수직방향 디블록킹 필터를 수행하도록 복호 순서를 결정할 수 있다.
상기 복호 순서를 결정하는 단계는 상기 복수의 코딩 유닛 중 (N+W+1)번째 코딩 유닛에 대한 수직방향 디블록킹 필터를 수행한 다음에, N번째 코딩 유닛에 대한 샘플 어댑티브 오프셋 필터를 수행하도록 복호 순서를 결정하고, 상기 W는 상기 프레임의 가로방향에 놓인 코딩 유닛의 개수일 수 있다.
상기 복호 순서를 결정하는 단계는 상기 복수의 코딩 유닛 중 (N+W+1) 번째 LCU에 대한 샘플 어댑티브 오프셋 필터를 수행한 다음에, N번째 코딩 유닛에 대한 어댑티브 루프 필터를 수행하도록 복호 순서를 결정하고, 상기 W는 상기 프레임의 가로방향에 놓인 코딩 유닛의 개수일 수 있다.
상기 코딩 유닛은 고효율비디오코딩(High Efficiency Video Coding, HEVC)에서 가장 큰 코딩 유닛(largest coding unit)일 수 있다.
본 발명의 다른 실시예에 따른 영상 복호 장치의 프레임 복호 스레드부가 스레드간 동기화를 통해 프레임 단위 병렬 처리로 입력된 프레임을 복호하는 방법으로서, 입력받은 프레임을 코딩 유닛 단위로 복호하는 단계, 입력받은 프레임에 포함된 임의 코딩 유닛에서 프레임간 예측할 때, 참고할 코딩 유닛이 다른 프레임 복호 스레드부에서 복원되었는지 확인하는 단계, 그리고 상기 참고할 코딩 유닛이 복원된 경우, 상기 참고할 코딩 유닛을 기초로 상기 임의 코딩 유닛의 프레임간 예측을 수행하는 단계를 포함한다.
상기 영상 복호 방법은 상기 참고할 코딩 유닛이 복원되지 않은 경우, 상기 참고할 코딩 유닛이 복원될 때까지 기다려서 상기 임의 코딩 유닛의 프레임간 예측을 수행하는 단계를 더 포함할 수 있다.
상기 코딩 유닛 단위로 복호하는 단계는 입력받은 프레임에 포함된 제1코딩 유닛과 제2코딩 유닛의 복호 프로세스 수행 시 의존 관계를 기초로 결정된 상기 제1코딩 유닛과 상기 제2코딩 유닛의 복호 순서를 기초로 복호할 수 있다.
본 발명의 실시예에 따르면 효율적으로 프레임 단위 병렬 처리하여 압축 스트림을 빨리 복호할 수 있다. 또한, 본 발명의 실시예에 따르면 스레드간 동기화에 따른 스레드간 지연을 줄일 수 있다. 따라서, 본 발명의 실시예에 따르면 복호기의 속도를 향상시킬 수 있다.
도 1은 고효율비디오코딩의 복호화 과정을 설명하는 흐름도이다.
도 2는 본 발명의 한 실시예에 따른 영상 복호 장치의 블록도이다.
도 3은 본 발명의 한 실시예에 따른 프레임 복호 스레드부의 복호 과정을 설명하는 도면이다.
도 4는 본 발명의 한 실시예에 따른 인루프 필터링의 의존성을 설명하는 도면이다.
도 5는 본 발명의 한 실시예에 따른 복호 순서를 설명하는 도면이다.
도 6은 본 발명의 한 실시예에 따른 LCU 단위 스레드간 동기화 방법을 설명하는 도면이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이제 도면을 참고하여 본 발명의 실시예에 따른 영상 복호 장치 및 방법에 대해 설명한다.
도 1은 고효율비디오코딩의 복호화 과정을 설명하는 흐름도이다.
도 1을 참고하면, 지금까지의 영상 복호 장치는 복호화에 관계된 복수 단계를 거쳐서 한 프레임을 복호한다. 이때, 지금까지의 영상 복호 장치는 한 프레임에 대하여 이전 단계가 모두 완료되어야 다음 단계로 넘어가서 복호를 완료한다. 여기서, 복호화에 관계된 단계는 인루프 필터링을 포함한다. 인루프 필터링은 수평방향 디블록킹 필터(horizontal deblocking filter, Hor-DF), 수직방향 디블록킹 필터(vertical deblockin filter, Ver-DF), 샘플 어댑티브 오프셋 필터(sample adaptive offset, SAO), 그리고 어댑티브 루프 필터(adaptive loop filter, ALF)의 순서로 적용된다.
먼저, 지금까지의 영상 복호 장치는 한 프레임에 포함된 모든 LCU에 대해 LCU 파싱(parsing)과 LCU 압축해제(decompression)를 수행한다(S110). LCU 압축해제는 예측(prediction)과 역변환(inverse transform)을 포함한다.
모든 LCU에 대해 LCU 파싱과 LCU 압축해제가 끝나면, 지금까지의 영상 복호 장치는 한 프레임에 포함된 모든 LCU에 대해 수평방향 디블록킹 필터(Hor-DF)를 적용한다(S120).
모든 LCU에 대해 수평방향 디블록킹 필터를 적용한 후, 지금까지의 영상 복호 장치는 한 프레임에 포함된 모든 LCU에 대해 수직방향 디블록킹 필터(Ver-DF)를 적용한다(S130).
모든 LCU에 대해 수직방향 디블록킹 필터를 적용한 후, 지금까지의 영상 복호 장치는 한 프레임에 포함된 모든 LCU에 대해 샘플 어댑티브 오프셋 필터(SAO)를 적용한다(S140).
마지막으로, 모든 LCU에 대해 샘플 어댑티브 오프셋 필터를 적용한 후, 지금까지의 영상 복호 장치는 한 프레임에 포함된 모든 LCU에 대해 어댑티브 루프 필터(ALF)를 적용한다(S150).
이와 같이, 지금까지의 영상 복호 장치는 한 프레임에 포함된 모든 LCU에 대해 현재 복호 단계가 모두 완료되어야 다음 복호 단계로 넘어가서 복호를 완료한다. 따라서 지금까지의 영상 복호 장치는 하나의 LCU를 복호할 때까지 많은 시간이 소요된다. 또한, 고효율비디오코딩(High Efficiency Video Coding, HEVC)으로 압축 된 스트림을 복호화할 경우, 프레임간 예측(inter prediction)을 수행해야 한다. 이를 위해 HEVC 영상 복호 장치에 프레임단위 병렬처리를 적용할 경우, 영상 복호 장치는 스레드간 동기화(inter-thread synchronization)가 필요하다. 그런데, 지금까지의 영상 복호 장치에 프레임 단위 병렬 처리 방법을 적용할 경우, 하나의 LCU를 복호할 때까지 많은 시간이 소요되므로, 프레임 단위 병렬처리 시 스레드간 지연을 증가시키는 문제가 있다.
다음에서, 효율적으로 프레임 단위 병렬 처리를 수행하기 위한 장치와 방법에 대해서 설명한다.
도 2는 본 발명의 한 실시예에 따른 영상 복호 장치의 블록도이고, 도 3은 본 발명의 한 실시예에 따른 프레임 복호 스레드부의 복호 과정을 설명하는 도면이며, 도 4는 본 발명의 한 실시예에 따른 인루프 필터링의 의존성을 설명하는 도면이다.
도 2를 참고하면, 영상 복호 장치(100)는 프레임 단위 병렬처리를 수행한다. 프레임 단위 병렬처리란, 여러 장의 프레임을 여러 개의 스레드(thread)를 이용하여 동시에 복호하는 방법으로서, 하나의 스레드가 하나의 프레임을 복호한다. 영상 복호 장치(100)는 고효율비디오코딩(High Efficiency Video Coding, HEVC)으로 압축 신호를 복호하는 장치일 수 있다. 영상 복호 장치(100)는 프레임에 포함된 LCU(largest coding unit) 단위로 영상을 복호할 수 있다.
영상 복호 장치(100)는 입력부(110), 복수의 프레임 복호 스레드부(Frame decoding thread, FDT)(120a, 120b, 120c, 120d) 그리고 출력부(130)를 포함한다.
입력부(110)는 복호할 프레임을 입력받아서, 복수의 프레임 복호 스레드부(120a-120d) 각각에 전달한다.
출력부(130)는 복수의 프레임 복호 스레드부(120a-120d) 각각에서 복호된 프레임을 출력한다.
복수의 프레임 복호 스레드부(120a-120d) 각각은 입력된 프레임을 복호한다. 그리고, 복수의 프레임 복호 스레드부(120a-120d)는 프레임간 예측(inter prediction)을 수행하기 때문에, 스레드간 의존성(inter-thread dependency)이 존재한다. 따라서, 복수의 프레임 복호 스레드부(120a-120d)는 스레드간 동기화(inter-thread synchronization)를 수행한다. 이때, 복수의 프레임 복호 스레드부(120a-120d)는 LCU단위 스레드간 동기화(LCU-based inter-thread synchronization)를 수행한다. 즉, LCU단위 스레드간 동기화는, 모든 LCU의 복호가 완료된 프레임을 동기화에 이용하는 것이 아니라, 한 프레임에 포함된 모든 LCU의 복호가 완료되지 않더라도, 참조할 LCU의 복호가 완료되는 대로 스레드간 동기화한다. 따라서, 영상 복호 장치(100)는 다른 프레임의 복호가 끝날 때까지 기다릴 필요 없이 복호가 완료된 LCU를 바로 이용하여 프레임간 예측을 수행하므로, 지연(latency)을 줄일 수 있다.
도 3을 참고하면, 프레임 복호 스레드부[앞으로, 프레임 복호 스레드부 (120a-120d)를 대표하는 프레임 복호 스레드부(120)로 설명한다]는 LCU단위 스레드간 동기화시 스레드간의 지연을 줄이기 위해, 복호를 위한 프로세스들을 여러 단계로 나누어 LCU 단위로 처리한다. 즉, 한 프레임에 포함된 LCU별로 복호 프로세스의 각 단계를 거치도록 하면서 복호를 수행하게 된다. 복호 프로세스에 포함되는 단계는 LCU 파싱, LCU 복호, 수평방향 디블록킹 필터(Hor-DF)를 처리하는 제1 단계, 수직방향 디블록킹 필터(Ver-DF)를 처리하는 제2 단계, 샘플 어댑티브 오프셋 필터(SAO)를 처리하는 제3 단계, 그리고 어댑티브 루프 필터(ALF)를 처리하는 제4 단계로 구분될 수 있다.
먼저, 프레임 복호 스레드부(120)는 임의 LCU에 대해 LCU 파싱(parsing)과 LCU 압축해제(decompression)를 수행한다(S210).
프레임 복호 스레드부(120)는 LCU 파싱과 LCU 압축해제가 임의 LCU에 대해 수평방향 디블록킹 필터(Hor-DF)를 적용한다(S220).
프레임 복호 스레드부(120)는 수평방향 디블록킹 필터를 적용한 임의 LCU에 대해 수직방향 디블록킹 필터(Ver-DF)를 적용한다(S230).
프레임 복호 스레드부(120)는 수직방향 디블록킹 필터를 적용한 임의 LCU에 대해 샘플 어댑티브 오프셋 필터(SAO)를 적용한다(S240).
마지막으로, 프레임 복호 스레드부(120)는 샘플 어댑티브 오프셋 필터를 적용한 임의 LCU에 대해 어댑티브 루프 필터(ALF)를 적용한다(S250).
도 4를 참고하면, 프레임 복호 스레드부(120)가 LCU별로 복호 프로세스 단계를 차례대로 처리한다면, 복호 프로세스 단계 간에도 약간의 지연이 존재한다. 왜냐하면, 인루프 필터링 간의 의존성(dependency)으로, 프레임 복호 스레드부(120)는 어느 LCU가 복호 프로세스 단계에서 처리될 때, 다른 LCU의 복호 프로세스 단계 결과를 이용해야 한다. 프레임(200)의 가로폭(width)이 W개의 LCU로 구성되고, W개의 LCU 중 첫 번째 LCU를 0번째 LCU로 정의하여 인루프 필터링 간의 의존성을 설명한다.
즉, 프레임 복호 스레드부(120)는 수직방향 디블록킹 필터(Ver-DF) 수행 시 오른쪽 LCU의 수평방향 디블록킹 필터(Hor-DF)의 결과를 이용한다. 프레임 복호 스레드부(120)는 샘플 어댑티브 오프셋 필터(SAO) 수행 시, 오른쪽 아래(below-right) LCU의 수직방향 디블록킹 필터(Ver-DF) 결과를 이용할 수도 있다. 프레임 복호 스레드부(120)는 어댑티브 루프 필터(ALF) 수행 시, 오른쪽 아래(below-right) LCU의 샘플 어댑티브 오프셋 필터(SAO) 결과를 이용할 수 있다.
다음에서, 인루프 필터링 간의 의존성을 고려한 프레임 복호 스레드부의 복호 순서에 대해 설명한다.
도 5는 본 발명의 한 실시예에 따른 복호 순서를 설명하는 도면이다.
도 5를 참고하면, 프레임 복호 스레드부(120)는 인루프 필터링 간의 의존성을 기초로 LCU의 복호 순서를 결정한다. 즉, 프레임 복호 스레드부(120)는 LCU별로 복호 프로세스 단계를 차례대로 통과시키는 것이 아니라, N번째 LCU와 의존 관계에 있는 LCU의 복호 프로세스 단계가 처리된 후, N번째 LCU의 복호 프로세스 단계를 처리한다. 여기서, 수평방향 디블록킹 필터(Hor-DF)는 수평방향 디블록킹 필터(Hor-DF) 이전의 단계, 즉 LCU 파싱, LCU 압축해제도 포함한다.
프레임 복호 스레드부(120)는 (N+1)번째 LCU에 대한 수평방향 디블록킹 필터(Hor-DF)를 수행한 다음에, N번째 LCU에 대한 수직방향 디블록킹 필터(Ver-DF)를 수행한다. 즉, 프레임 복호 스레드부(120)는 N번째 LCU에 대한 수직방향 디블록킹 필터(Ver-DF)를 처리하려면, (N+1)번째 LCU에 대한 수평방향 디블록킹 필터(Hor-DF)를 수행해야 한다.
프레임 복호 스레드부(120)는 (N+W+1)번째 LCU에 대한 수직방향 디블록킹 필터(Ver-DF)를 수행한 다음에, N번째 LCU에 대한 샘플 어댑티브 오프셋 필터(SAO)를 수행한다. 즉, 프레임 복호 스레드부(120)는 N번째 LCU에 대한 샘플 어댑티브 오프셋 필터(SAO)를 처리하려면, (N+W+1)번째 LCU에 대한 수직방향 디블록킹 필터(Ver-DF)를 수행해야 한다.
프레임 복호 스레드부(120)는 (N+W+1) 번째 LCU에 대한 샘플 어댑티브 오프셋 필터(SAO)를 수행한 다음에, N번째 LCU에 대한 어댑티브 루프 필터(ALF)를 수행한다. 즉, 프레임 복호 스레드부(120)는 N번째 LCU에 대한 어댑티브 루프 필터(ALF)를 처리하려면, (N+W+1)번째 LCU에 대한 샘플 어댑티브 오프셋 필터(SAO)를 수행해야 한다.
예를 들어, 0번째 LCU에 대한 맨 처음 수평방향 디블록킹 필터(Hor-DF)가 적용된다. 1번째 LCU에 대한 수평방향 디블록킹 필터(Hor-DF)가 수행된 다음에, 0번째 LCU에 대한 수직방향 디블록킹 필터(Ver-DF)가 적용된다. (W+1)번째 LCU에 대한 수직방향 디블록킹 필터(Ver-DF)가 수행된 다음에, 0번째 LCU에 대한 샘플 어댑티브 오프셋 필터(SAO)가 적용된다. (W+1)번째 LCU에 대한 샘플 어댑티브 오프셋 필터(SAO)가 수행된 다음에, 0번째 LCU에 대한 어댑티브 루프 필터(ALF)가 적용된다.
이와 같이, 프레임 복호 스레드부(120)는 N번째 LCU의 복호 프로세스 단계를 처리하는데 필요한 다른 LCU의 정보, 즉 의존 관계에 있는 LCU의 인루프 필터링 결과를 미리 획득하도록 복호 순서를 섞는다. 따라서, 프레임 복호 스레드부(120)는 도 1을 참고로 설명한 영상 복호 장치보다 0번째 LCU를 복원하는 시간이 적게 걸린다. 따라서 본 발명에서 제안하는 복호 장치를 이용하면, 프레임 복호 스레드부(120)는 화면내 예측(intra prediction)을 수행할 때, 지연을 많이 줄일 수 있다.
도 6은 본 발명의 한 실시예에 따른 LCU 단위 스레드간 동기화 방법을 설명하는 도면이다.
도 6을 참고하면, 프레임 복호 스레드부(120)는 프레임간 예측을 위해서 다른 프레임의 모션 정보나 복호화된 픽셀 정보를 참조한다. 참조하고자 하는 정보가 다른 스레드에서 처리 될 가능성이 있기 때문에, 프레임 복호 스레드부(120)는 프레임간 예측 전에, 스레드간 동기화를 수행한다.
프레임 복호 스레드부(120a, 120b, 120c, 120d) 각각은 LCU 단위로 프레임을 복호화한다.
프레임 복호 스레드부(120a-120d) 각각은 LCU의 복호가 끝날 때 마다, 다른 프레임에서 참조가능한 LCU 정보를 업데이트한다. 그리고, 프레임 복호 스레드부(120a-120d) 각각은 참조가능한 LCU 정보를 다른 프레임 복호 스레드부에 알려준다.
예를 들어, 프레임 복호 스레드부(120b)는 프레임간 예측 전에, LCU(300)에서 참조하고자 하는 참조 LCU(310)가 다른 프레임 복호 스레드부(120a)에서 복원되었는지 확인한다. 참조 LCU(310)가 이미 복원된 경우, 프레임 복호 스레드부(120b)는 지연 없이 프레임간 예측을 수행한다. 마찬가지로, 프레임 복호 스레드부(120c)는 프레임 복호 스레드부(120b)에서 복원된 LCU(330)을 참조하여 LCU(320)에서 프레임간 예측을 수행한다.
만약, 프레임 복호 스레드부(120d)의 LCU(340)에서 참조하고자 하는 참조 LCU(350)가 프레임 복호 스레드부(120c)에서 아직 복원되어 있지 않다면, 프레임 복호 스레드부(120d)는 LCU(350)가 복원될 때까지 기다린다.
이와 같이, 프레임 복호 스레드부(120)는 프레임단위가 아니라 LCU 단위로 스레드간 동기화를 수행하므로, 프레임간 예측 시 지연을 줄일 수 있다. 특히, 프레임 복호 스레드부(120)는 N번째 LCU의 복호 프로세스 단계를 처리하는데 필요한 의존 관계에 있는 LCU의 복호 프로세스 단계를 미리 처리하기 때문에, 다른 프레임 복호 스레드부에서 참조하고자 하는 LCU를 빨리 복원할 수 있다.
이와 같이, 본 발명의 실시예에 따르면 효율적으로 프레임 단위 병렬 처리하여 압축 스트림을 빨리 복호할 수 있다. 또한, 본 발명의 실시예에 따르면 스레드간 동기화에 따른 스레드간 지연을 줄일 수 있다. 따라서, 본 발명의 실시예에 따르면 복호기의 속도를 향상시킬 수 있다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (8)

  1. 영상 복호 장치가 복수 단계로 구성된 복호 프로세스를 통해 코딩 유닛을 복호하는 방법으로서,
    복수의 코딩 유닛으로 구성된 한 프레임을 입력받는 단계,
    제1코딩 유닛과 제2코딩 유닛의 복호 프로세스 수행 시 의존 관계를 기초로 상기 제1코딩 유닛과 상기 제2코딩 유닛의 복호 순서를 결정하는 단계, 그리고
    결정한 순서에 따라 각 코딩 유닛을 복호하는 단계를 포함하고,
    상기 복호 프로세스는 수평방향 디블록킹 필터, 수직방향 디블록킹 필터, 샘플 어댑티브 오프셋 필터, 그리고 어댑티브 루프 필터의 순서로 수행되며,
    상기 복호 순서를 결정하는 단계는
    상기 복수의 코딩 유닛 중 (N+1)번째 코딩 유닛에 대한 수평방향 디블록킹 필터를 수행한 다음에, N번째 코딩 유닛에 대한 수직방향 디블록킹 필터를 수행하도록 복호 순서를 결정하는 영상 복호 방법.
  2. 삭제
  3. 제1항에서,
    상기 복호 순서를 결정하는 단계는
    상기 복수의 코딩 유닛 중 (N+W+1)번째 코딩 유닛에 대한 수직방향 디블록킹 필터를 수행한 다음에, N번째 코딩 유닛에 대한 샘플 어댑티브 오프셋 필터를 수행하도록 복호 순서를 결정하고, 상기 W는 상기 프레임의 가로방향에 놓인 코딩 유닛의 개수인 영상 복호 방법.
  4. 제3항에서,
    상기 복호 순서를 결정하는 단계는
    상기 복수의 코딩 유닛 중 (N+W+1) 번째 LCU에 대한 샘플 어댑티브 오프셋 필터를 수행한 다음에, N번째 코딩 유닛에 대한 어댑티브 루프 필터를 수행하도록 복호 순서를 결정하고, 상기 W는 상기 프레임의 가로방향에 놓인 코딩 유닛의 개수인 영상 복호 방법.
  5. 제1항에서,
    상기 코딩 유닛은 고효율비디오코딩(High Efficiency Video Coding, HEVC)에서 가장 큰 코딩 유닛(largest coding unit)인 영상 복호 방법.
  6. 영상 복호 장치의 프레임 복호 스레드부가 스레드간 동기화를 통해 프레임 단위 병렬 처리로 입력된 프레임을 복호하는 방법으로서,
    입력받은 프레임을 코딩 유닛 단위로 복호하는 단계,
    입력받은 프레임에 포함된 임의 코딩 유닛에서 프레임간 예측할 때, 참고할 코딩 유닛이 다른 프레임 복호 스레드부에서 복원되었는지 확인하는 단계, 그리고
    상기 참고할 코딩 유닛이 복원된 경우, 상기 참고할 코딩 유닛을 기초로 상기 임의 코딩 유닛의 프레임간 예측을 수행하는 단계
    를 포함하고,
    상기 코딩 유닛 단위로 복호하는 단계는
    입력받은 프레임에 포함된 제1코딩 유닛과 제2코딩 유닛의 복호 프로세스 수행 시 의존 관계를 기초로 결정된 상기 제1코딩 유닛과 상기 제2코딩 유닛의 복호 순서를 기초로 복호하는 영상 복호 방법.
  7. 제6항에서,
    상기 참고할 코딩 유닛이 복원되지 않은 경우, 상기 참고할 코딩 유닛이 복원될 때까지 기다려서 상기 임의 코딩 유닛의 프레임간 예측을 수행하는 단계
    를 더 포함하는 영상 복호 방법.
  8. 삭제
KR1020120101033A 2012-09-12 2012-09-12 영상 복호 방법 및 장치 KR101364086B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120101033A KR101364086B1 (ko) 2012-09-12 2012-09-12 영상 복호 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120101033A KR101364086B1 (ko) 2012-09-12 2012-09-12 영상 복호 방법 및 장치

Publications (1)

Publication Number Publication Date
KR101364086B1 true KR101364086B1 (ko) 2014-02-21

Family

ID=50271264

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120101033A KR101364086B1 (ko) 2012-09-12 2012-09-12 영상 복호 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101364086B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011066844A (ja) * 2009-09-18 2011-03-31 Toshiba Corp 並列復号装置及びプログラム並びに符号化データの並列復号方法
KR20110122412A (ko) * 2010-05-04 2011-11-10 한양대학교 산학협력단 멀티 스레드 기반의 비디오 디코더 및 디코딩 방법
KR101171149B1 (ko) 2011-06-15 2012-08-06 전자부품연구원 멀티 쓰레드 부호화 및 복호화 방법 및 이를 적용한 인코더, 디코더 및 컴퓨터로 읽을 수 있는 기록매체

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011066844A (ja) * 2009-09-18 2011-03-31 Toshiba Corp 並列復号装置及びプログラム並びに符号化データの並列復号方法
KR20110122412A (ko) * 2010-05-04 2011-11-10 한양대학교 산학협력단 멀티 스레드 기반의 비디오 디코더 및 디코딩 방법
KR101171149B1 (ko) 2011-06-15 2012-08-06 전자부품연구원 멀티 쓰레드 부호화 및 복호화 방법 및 이를 적용한 인코더, 디코더 및 컴퓨터로 읽을 수 있는 기록매체

Similar Documents

Publication Publication Date Title
US20240121407A1 (en) Sample adaptive offset parameter estimation for image and video coding
KR102076398B1 (ko) 비디오 코딩 및 디코딩에서의 벡터 인코딩을 위한 방법 및 장치
Alvarez-Mesa et al. Parallel video decoding in the emerging HEVC standard
US8913656B2 (en) Method and apparatus for in-loop filtering
CN110036637B (zh) 去噪声化已重构图像的方法及装置
KR101238974B1 (ko) 비디오 코더 및 디코더 공동 최적화를 위한 방법 및 시스템
EP3057320A1 (en) Method and apparatus of loop filters for efficient hardware implementation
US20140198844A1 (en) Method and apparatus for non-cross-tile loop filtering
US20160241880A1 (en) Method and Apparatus of Loop Filters for Efficient Hardware Implementation
WO2013155897A1 (en) Method and apparatus for loop filtering across slice or tile boundaries
WO2014023207A1 (en) Method and apparatus for sample adaptive offset in a video decoder
GB2533905A (en) Method and apparatus for video coding and decoding
EP2880861B1 (en) Method and apparatus for video processing incorporating deblocking and sample adaptive offset
JP6569665B2 (ja) 画像復号装置、画像復号方法、及び集積回路
US20160261875A1 (en) Video stream processing method and video processing apparatus thereof
Kotra et al. Comparison of different parallel implementations for deblocking filter of HEVC
JP2023126892A (ja) 画像デコーディング方法、デコーダおよび記憶媒体
KR20230035300A (ko) 디블록킹 필터링의 경계 필터링 강도 결정 방법 및 장치
KR101364086B1 (ko) 영상 복호 방법 및 장치
CN110249630B (zh) 去块效应滤波装置、方法和存储介质
KR101718830B1 (ko) 부호화 모드에 따른 적응적 병렬처리가 적용된 고속 비디오 복호화 방법 및 장치
CN112840655B (zh) 图像与视频编解码中最后有效系数的编解码方法及装置
KR101517806B1 (ko) 영상 복호화 방법 및 이를 적용한 영상 기기
US20160150245A1 (en) System and a method for video encoding
KR20100046473A (ko) 멀티 디블록킹 필터링 장치 및 방법

Legal Events

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

Payment date: 20161229

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171207

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190211

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20200115

Year of fee payment: 7