KR101138920B1 - 멀티 스레드 기반의 비디오 디코더 및 디코딩 방법 - Google Patents
멀티 스레드 기반의 비디오 디코더 및 디코딩 방법 Download PDFInfo
- Publication number
- KR101138920B1 KR101138920B1 KR1020100041915A KR20100041915A KR101138920B1 KR 101138920 B1 KR101138920 B1 KR 101138920B1 KR 1020100041915 A KR1020100041915 A KR 1020100041915A KR 20100041915 A KR20100041915 A KR 20100041915A KR 101138920 B1 KR101138920 B1 KR 101138920B1
- Authority
- KR
- South Korea
- Prior art keywords
- processing
- thread
- area
- memory bank
- result
- Prior art date
Links
Images
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/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/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/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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- 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/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/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
처리 성능이 향상된 멀티 스레드 기반의 비디오 디코딩 방법이 제공된다. 비디오 디코딩 방법은 비디오 프레임을 제1 내지 제N 영역으로 분할하고, 제1 단계에서 제1-1 스레드를 생성하여 제1 영역에 대해 제1 처리를 수행하고, 제2 단계에서 제2-1 스레드를 생성하여 제1 영역에 대해 제2 처리를 수행하고, 제2-2 스레드를 생성하여 제2 영역에 대해 제1 처리를 수행하고, 제3 단계에서 제3-1 스레드를 생성하여 제1 영역에 대해 제3 처리를 수행하고, 제3-2 스레드를 생성하여 제2 영역에 대해 제2 처리를 수행하고, 제3-3 스레드를 생성하여 제3 영역에 대해 제1 처리를 수행하는 것을 포함한다.
Description
본 발명은 멀티 스레드 기반의 비디오 디코더 및 디코딩 방법에 관한 것이다.
인터넷을 포함한 정보통신 기술이 발달함에 따라 문자, 음성뿐만 아니라 화상통신이 증가하고 있다. 기존의 문자 위주의 통신 방식으로는 소비자의 다양한 욕구를 충족시키기에는 부족하며, 이에 따라 문자, 영상, 음악 등 다양한 형태의 정보를 수용할 수 있는 멀티미디어 서비스가 증가하고 있다. 멀티미디어 데이터는 그 양이 방대하여 대용량의 저장매체를 필요로 하며 전송 시에 넓은 대역폭을 필요로 한다. 따라서 문자, 영상, 오디오를 포함한 멀티미디어 데이터를 전송하기 위해서는 압축코딩기법을 사용하는 것이 필수적이다.
데이터를 압축하는 기본적인 원리는 데이터의 중복(redundancy) 요소를 제거하는 과정이다. 이러한 데이터 중에서도 특히, 비디오 데이터는 그 용량이 매우 크기 때문에 다른 종류의 멀티미디어 데이터들에 비하여 효율적인 압축의 중요성이 보다 크다고 할 수 있다.
비디오 압축의 기본 원리는 하나의 픽쳐(프레임) 내에서 동일한 색이나 객체가 반복되는 것과 같은 공간적 중복이나, 동영상 프레임에서 인접 프레임이 거의 변화가 없는 경우나 오디오에서 같은 음이 계속 반복되는 것과 같은 시간적 중복, 또는 인간의 시각 및 지각 능력이 높은 주파수에 둔감한 것을 고려하여 지각적 중복을 제거하는 방법 등을 통하여 데이터를 압축하는 것이다. 일반적인 비디오 코딩 방법에 있어서, 시간적 중복은 모션 보상에 근거한 시간적 필터링(temporal filtering)에 의해 제거하고, 공간적 중복은 공간적 변환(spatial transform)에 의해 제거한다.
종래에는 이러한 비디오 코딩이나 디코딩 작업이 단일 코어 프로세서(single-core processor)에 의하여 이루어지는 것이 일반적이었다. 그러나, 최근 들어 강력한 성능의 멀티 코어 프로세서(multi-core processor)가 보급화되면서 비디오 코딩/디코딩과 같이 시스템 자원을 많이 소모하는 분야에서 멀티 코어 프로세서의 활용도가 높아지고 있다.
본 발명이 해결하고자 하는 기술적 과제는 처리 성능이 향상된 멀티 스레드 기반의 비디오 디코딩 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는 처리 성능이 향상된 멀티 스레드 기반의 비디오 디코더를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 멀티 스레드 기반의 비디오 디코딩 방법의 일 태양(aspect)은, 비디오 프레임을 제1 내지 제N 영역으로 분할하고, 제1 단계에서 제1-1 스레드를 생성하여 제1 영역에 대해 제1 처리를 수행하고, 제2 단계에서 제2-1 스레드를 생성하여 제1 영역에 대해 제2 처리를 수행하고, 제2-2 스레드를 생성하여 제2 영역에 대해 제1 처리를 수행하고, 제3 단계에서 제3-1 스레드를 생성하여 제1 영역에 대해 제3 처리를 수행하고, 제3-2 스레드를 생성하여 제2 영역에 대해 제2 처리를 수행하고, 제3-3 스레드를 생성하여 제3 영역에 대해 제1 처리를 수행하는 것을 포함한다.
상기 다른 기술적 과제를 달성하기 위한 본 발명의 멀티 스레드 기반의 비디오 디코더의 일 태양은, 제1 내지 제N 영역을 포함하는 비디오 프레임을 제공받는 입력 모듈, 및 다수의 스레드를 생성하여 비디오 프레임에 대한 디코딩 처리를 수행하는 처리 모듈을 포함하되, 처리 모듈은, 제1 단계에서 제1-1 스레드를 생성하여 제1 영역에 대해 제1 처리를 수행하고, 제2 단계에서 제2-1 스레드를 생성하여 제1 영역에 대해 제2 처리를 수행하고, 제2-2 스레드를 생성하여 제2 영역에 대해 제1 처리를 수행하고, 제3 단계에서 제3-1 스레드를 생성하여 제1 영역에 대해 제3 처리를 수행하고, 제3-2 스레드를 생성하여 제2 영역에 대해 제2 처리를 수행하고, 제3-3 스레드를 생성하여 제3 영역에 대해 제1 처리를 수행한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 일 실시예에 따른 멀티 스레드 기반의 비디오 디코더 및 디코딩 방법에 따를 경우, H.264/AVC 표준에 따른 데이터 의존성을 만족시키면서 디코딩 처리 성능을 향상시킬 수 있다. 또한, 디코딩 과정에서 메모리 뱅크를 재사용함으로써, 메모리의 효율적인 이용이 가능하다.
도 1은 H.264/AVC 표준에 따른 비디오 디코딩 흐름도이다.
도 2는 H.264/AVC 표준에 따른 비디오 디코딩에서 매크로 블록간 의존성을 나타낸 도면이다.
도 3 내지 도 6은 본 발명의 일 실시예에 따른 멀티 스레드 기반의 비디오 디코딩 방법을 설명하기 위한 도면들이다.
도 7 및 도 8은 본 발명의 일 실시예에 따른 멀티 스레드 기반의 비디오 디코딩 방법의 성능을 설명하기 위한 도면들이다.
도 2는 H.264/AVC 표준에 따른 비디오 디코딩에서 매크로 블록간 의존성을 나타낸 도면이다.
도 3 내지 도 6은 본 발명의 일 실시예에 따른 멀티 스레드 기반의 비디오 디코딩 방법을 설명하기 위한 도면들이다.
도 7 및 도 8은 본 발명의 일 실시예에 따른 멀티 스레드 기반의 비디오 디코딩 방법의 성능을 설명하기 위한 도면들이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
도면에서 표시된 구성요소의 크기 및 상대적인 크기는 설명의 명료성을 위해 과장된 것일 수 있다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭하며, "및/또는"은 언급된 아이템들의 각각 및 하나 이상의 모든 조합을 포함한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하 도 1 내지 도 6을 참조하여, 본 발명의 일 실시예에 따른 멀티 스레드 기반의 비디오 디코딩 방법에 대해 설명한다.
이하에서는 본 발명을 H.264/AVC 표준에 따라 디코딩하는 것을 예로 들어 설명하나, 본 발명이 이에 제한되는 것은 아니다. 또한, 본 명세서에서는 비디오 프레임이 다수의 매크로 블록(Macro Block, 이하 MB표시함)을 포함하는 것을 예로 들어 설명하고 있으나, 역시 본 발명이 이에 제한되는 것은 아니다.
먼저, 도 1을 참조하여 H.264/AVC 표준에 따라 인코딩된 비디오 프레임을 디코딩하는 작업 흐름에 대해 설명한다.
도 1은 H.264/AVC 표준에 따른 비디오 디코딩 흐름도이다.
도 1을 참조하면, 비디오 프레임을 구성하는 비트 스트림(Bit Stream)이 제공되면, 이를 엔트로피 복호화(Entropy Decoding, 이하 ED로 표시함)(10)한다. 구체적으로, H.264/AVC에서 비트 스트림은 Network Adaptation Layer (NAL) 단위로 입력되어 ED(10)에서 계수(Coefficient)를 생성할 수 있다. 다음, 엔트로피 복호화 작업 후 생성되는 계수들은 역 양자화(Inverse Quantization, 이하 IQ로 표시함)(20) 및 역 변환(Inverse Transformation, 이하, IT로 표시함)(30) 과정 후에 레시듀얼 데이터(residual data)로 생성될 수 있다.
한편, 엔트로피 복호화 작업 후 생성되는 계수들은 여러 예측데이터 생성에도 사용될 수 있는데, 인트라 예측(intra prediction, 이하 IP로 표시함)(40)은 공간적 중복성을 이용하여 화면 내 예측을 수행하고, 모션 보상(motion compensation, 이하 MC로 표시함)(50)은 시간적 중복성을 사용하여 화면간의 예측을 수행할 수 있다. 이러한 예측 작업은 MB의 타입에 따라서 IP가 적용되거나, MC가 적용될 수 있다.
IP 및 MC후 만들어지는 블록은 IQ/IT 후에 만들어지는 레시듀얼 데이터와 합쳐질 수 있다(60). 그리고 이렇게 디코딩된 영상은 블록간의 경계가 뚜렷이 나타나는 블록킹 현상이 나타날 수 있기 때문에, 이를 없애기 위해서 블록 경 계를 부드럽게 하는 디블록킹 필터(Deblocking Filter, 이하 DF로 표시함)(70)를 적용할 수 있다. 여기서, H.264/AVC의 DF는 가중치 값을 제어하면서 적용하는 적응형(adaptive) 방법을 사용할 수 있다.
다음, 도 2를 참조하여, H.264/AVC 표준에 따른 디코딩 방법에서 MB간 데이터 의존성에 대해 설명한다.
도 2는 H.264/AVC 표준에 따른 비디오 디코딩에서 매크로 블록간 의존성을 나타낸 도면이다.
도 2를 참조하면, 현재 처리하고자 하는 MB의 IP, MC 및 DF가 각각 처리되기 위해서는 주변 MB들의 IP, MC 및 DF가 각각 처리된 상태여야 한다. 구체적으로 현재 처리하고자 하는 MB의 IP 및 MC가 처리되기 위해서는, 처리하고자 하는 MB(Current MB)의 좌상, 상, 우상의 MB(1, 2, 3) 및 좌측의 MB(4)의 IP 및 MC가 처리된 상태여야 한다. 그리고, 현재 처리하고자 하는 MB의 DF가 각각 처리되기 위해서는, 처리하고자 하는 MB(Current MB)의 상측 의 MB(2) 및 좌측의 MB(4)의 DF가 처리된 상태여야 한다. 이는 각 MB를 처리하는데 있어서 의존성 있는 MB의 처리여부를 확인해야 하는 결과를 가져오게 되고, 이는 처리 속도에 악영향을 끼칠 수 있다. 이에 대해서는 보다 자세히 후술하도록 한다.
다음 도 3 내지 도 6을 참조하여, 본 발명의 일 실시예에 따른 멀티 스레드 기반의 비디오 디코딩 방법에 대해 설명한다.
도 3 내지 도 6은 본 발명의 일 실시예에 따른 멀티 스레드 기반의 비디오 디코딩 방법을 설명하기 위한 도면들이다.
먼저 도 3을 참조하면, 비디오 프레임을 제1 내지 제N 영역으로 분할한다. 여기서 비디오 프레임은 전술하였듯이 H.264/AVC 표준에 따라 인코딩된 비디오 프레임일 수 있다.
각각의 제1 내지 제N 영역은 다수의 MB(110)를 포함할 수 있다. 도 3 내지 도 6을 함께 참조하면, 본 발명의 일 실시예에 따른 멀티 스레드 기반의 비디오 디코딩 방법에서는 비디오 프레임(100)을 각각 16개의 MB를 포함하는 제1 내지 제4 영역으로 분할한 것을 예시하고 있으나, 본 발명이 이에 제한되는 것은 아니다. 필요에 따라 분할된 영역의 개수는 훨씬 더 많아질 수 있다. 또한, 여기서는 제1 내지 제4 영역에 포함된 MB(110)의 개수가 서로 16개로 동일한 것을 예시하고 있으나, 이 역시 하나의 예시에 불과한 것으로 MB(110)의 개수는 얼마든지 달라질 수도 있으며, 필요에 따라 제1 내지 제4 영역은 서로 다른 개수의 MB(110)를 포함할 수도 있다. 마지막으로 도 3 내지 도 6에는 비디오 프레임(100)이 도시된 바와 같이 가로방향으로 4등분 되어 있는 것이 도시되어 있으나, 본 발명은 역시 이에 제한되지 않는다.
다시 도 3을 참조하면, 제1 단계(Stage 1)에서 제1-1 스레드(211)를 생성하여 제1 영역에 대해 제1 처리를 수행한다. 여기서 제1 처리는 ED일 수 있다. 제1-1 스레드(211)가 제1 영역에 대해 ED를 모두 수행하고 나면, 그 결과는 제1 메모리 뱅크(310)에 저장될 수 있다. 이는 후술하겠지만 다른 스레드가 다른 처리를 위해 제1 영역에 대한 ED 결과를 이용하기 위함일 수 있다.
다음 도 4를 참조하면, 제2 단계(Stage 2)에서 제2-1 스레드(221)를 생성하여 제1 영역에 대해 제2 처리를 수행하고, 제2-2 스레드(222)를 생성하여 제2 영역에 대해 제1 처리를 수행한다. 여기서 제1 처리는 ED일 수 있으며, 제2 처리는 MC+IQ/IP 또는 IP+IQ/IT일 수 있다. 여기서는 MB의 타입에 따라 MC와 IP중 어느 하나가 수행될 수 있다.
제2-1 스레드(221)는 제1 메모리 뱅크(310)에 저장된 제1-1 스레드(도 3의 211)가 제1 영역에 대해 ED 처리한 결과를 이용하여, 제1 영역에 대한 MC+IQ/IP 또는 IP+IQ/IT 처리를 수행할 수 있다. 그리고, 수행된 처리 결과는 다시 제1 메모리 뱅크(310)에 저장될 수 있다. 제2-2 스레드(222)는 제2 영역에 대해 제1 처리를 수행하고, 그 처리 결과를 제2 메모리 뱅크(320)에 저장할 수 있다.
다음 도 5를 참조하면, 제3 단계(Stage 3)에서 제3-1 스레드(231)를 생성하여 제1 영역에 대해 제3 처리를 수행하고, 제3-2 스레드(232)를 생성하여 제2 영역에 대해 제2 처리를 수행하고, 제3-3 스레드(233)를 생성하여 제3 영역에 대해 제1 처리를 수행한다. 여기서 제1 처리는 ED일 수 있으며, 제2 처리는 MC+IQ/IP 또는 IP+IQ/IT일 수 있고, 제3 처리는 DF일 수 있다.
제3-1 스레드(231)는 제1 메모리 뱅크(310)에 저장된 제2-1 스레드(도 4의 221)가 제1 영역에 대해 MC+IQ/IP 또는 IP+IQ/IT 처리한 결과를 이용하여, 제1 영역에 대한 DF 처리를 수행할 수 있다. 그리고, 수행된 처리 결과는 다시 제1 메모리 뱅크(310)에 저장될 수 있다. 제3-2 스레드(232)는 제2 메모리 뱅크(320)에 저장된 제2-2 스레드(도 4의 222)가 제2 영역에 대해 ED 처리한 결과를 이용하여, 제2 영역에 대한 MC+IQ/IP 또는 IP+IQ/IT 처리를 수행하고, 그 처리 결과를 다시 제2 메모리 뱅크(320)에 저장할 수 있다. 여기서 본 발명의 일 실시예에 따른 멀티 스레드 기반의 비디오 디코딩 방법에서는 제2 영역에 대한 MC+IQ/IP 또는 IP+IQ/IT 처리가 제1 영역에 대한 MC+IQ/IP 또는 IP+IQ/IT 처리가 수행된 후 수행되기 때문에, 도 2에 도시한 H.264/AVC 표준에 따른 데이터 의존성을 만족시킴을 알 수 있다. 마지막으로 제3-3 스레드(233)는 제3 영역에 대해 제1 처리를 수행하고, 그 처리 결과를 제3 메모리 뱅크(330)에 저장할 수 있다.
다음 도 6을 참조하면, 제4 단계(Stage 4)에서 제4-1 스레드(241)를 생성하여 제4 영역에 대해 제1 처리를 수행하고, 제4-2 스레드(242)를 생성하여 제2 영역에 대해 제3 처리를 수행하고, 제4-3 스레드(243)를 생성하여 제3 영역에 대해 제2 처리를 수행한다. 앞에서와 마찬가지로 여기서, 제1 처리는 ED일 수 있으며, 제2 처리는 MC+IQ/IP 또는 IP+IQ/IT일 수 있고, 제3 처리는 DF일 수 있다.
도 6을 참조하면, 제1 영역은 ED, MC+IQ/IP 또는 IP+IQ/IT, DF처리가 모두 완료되어 디코딩이 끝난 영역(Decoded)일 수 있다. 한편, 제4-2 스레드(242)는 제2 메모리 뱅크(320)에 저장된 제3-2 스레드(도 5의 232)가 제2 영역에 대해 MC+IQ/IP 또는 IP+IQ/IT 처리한 결과를 이용하여, 제2 영역에 대한 DF 처리를 수행할 수 있다. 그리고, 수행된 처리 결과는 다시 제2 메모리 뱅크(320)에 저장될 수 있다. 제4-3 스레드(243)는 제3 메모리 뱅크(330)에 저장된 제3-3 스레드(도 4의 233)가 제3 영역에 대해 ED 처리한 결과를 이용하여, 제3 영역에 대한 MC+IQ/IP 또는 IP+IQ/IT 처리를 수행하고, 그 처리 결과를 다시 제3 메모리 뱅크(330)에 저장할 수 있다. 마찬가지로, 여기서 제3 영역에 대한 MC+IQ/IP 또는 IP+IQ/IT 처리는 제2 영역에 대한 MC+IQ/IP 또는 IP+IQ/IT 처리가 수행된 후 수행되기 때문에, 도 2에 도시한 H.264/AVC 표준에 따른 데이터 의존성을 만족시킴을 알 수 있다. 마지막으로, 제 4-1 스레드(241)는 제4 영역에 대해 ED 처리를 수행하고, 그 처리 결과를 제1 메모리 뱅크(310)에 저장할 수 있다. 여기서, 제1 메모리 뱅크(310)는 제1 영역에 대한 디코딩이 진행될 때는 제1 영역에 대한 디코딩 데이터가 저장되다가, 제1 영역에 대한 디코딩이 모두 완료된 후 제4 영역에 대한 디코딩에 사용되기 위해 재사용되는 메모리 뱅크일 수 있다. 즉, 본 발명의 일 실시예에 따른 멀티 스레드 기반의 비디오 디코딩 방법에서는 이처럼 메모리 뱅크를 재사용함으로써, 고해상도 비디오 프레임을 처리할수록 급격하게 요구되는 메모리에 대한 요구를 저감할 수 있게 된다.
전술한 제 4단계 이후의 과정은 앞서 설명한 제1 내지 제4 단계에 대한 설명으로 충분히 유추 가능한바 자세한 설명을 생략하도록 한다. 이와 같은 순서로 디코딩 처리를 계속 진행하면 제1 내지 제4 영역에 대한 디코딩을 모두 완료할 수 있게 된다.
다음 도 7 및 도 8을 참조하여, 본 발명의 일 실시예에 따른 멀티 스레드 기반의 비디오 디코딩 방법의 처리 성능 향상도에 대해 설명한다.
아래의 표 1은 병렬화 방법을 적용하기 전의 H.264/AVC 디코더를 이용하여 다양한 영상(rush hour ~ shields)에 대한 디코딩 시간을 나타낸 표이다. 그리고, 표 2는 태스크 레벨 병렬화 방법, 데이터 레벨 병렬화 방법 및 본 발명의 일 실시예에 따른 멀티 스레드 기반의 비디오 디코딩 방법을 각각 사용하여, 다양한 영상(rush hour ~ shields)에 대해 디코딩 했을 때의 프레임당 최소 처리 시간을 나타낸 표이고, 도 7은 표 1에 관한 그래프이다.
마지막으로, 표 3은 표 2와 동일한 방법을 각각 사용하였을 때 프레임당 평균 디코딩 시간을 나타낸 표이고, 도 8은 표 2에 관한 그래프이다.
여기서, 태스크 레벨 병렬화 방법으로는 전형적인 파이프라인 기법(A)을 사용하였고, 데이터 레벨 병렬화 방법으로는 2Dwave 기법(B)을 사용하였다. 여기서, 2Dwave 기법은 2개의 스레드를 이용한 기법(B-1)과 3개의 스레드를 이용한 기법(B-2)을 각각 사용하였다. 또한, 각 영상(rush hour ~ shields)은 JM-v16을 사용하여 인코딩 하였고, 인코딩 환경은 JM-v16 에서 제공하는 H.264/AVC baseline profile를 기반으로 하였다. 그리고, 운영체제는 리눅스 ubuntu 9.10, 커널 버전 2.6.31에서 개발하였고, 인텔 쿼드 코어 i5 프로세서를 사용 하였다. 컴파일러는 gcc v4.4.1을 이용하였고 병렬화 방법은 OpenMP를 사용하였다.
Basic | ED (AVG) | MC+IQ/IT IP+ IQ/IT (AVG) |
DF (AVG) | AVG | MIN | ||||
Sequence | (㎲) | (%) | (㎲) | (%) | (㎲) | (%) | (㎲) | (㎲) | |
rush_hour | FHD, 1920X1088 | 3929 | 24% | 6567 | 41% | 5699 | 35% | 16195 | 14746 |
blue_sky | FHD, 1920X1088 | 4184 | 27% | 5863 | 38% | 5514 | 35% | 15561 | 13694 |
pedestrain_area | FHD, 1920X1088 | 4295 | 24% | 6800 | 39% | 6440 | 37% | 17535 | 13498 |
sunflower | FHD, 1920X1088 | 3905 | 29% | 6301 | 47% | 3130 | 23% | 13336 | 11034 |
park_run | HD, 1280X720 | 5150 | 40% | 3926 | 31% | 3714 | 29% | 12790 | 10687 |
mobcal | HD, 1280X720 | 2310 | 28% | 3458 | 42% | 2564 | 31% | 8332 | 3882 |
stockholm | HD, 1280X720 | 2029 | 28% | 2993 | 42% | 2190 | 30% | 7212 | 6640 |
shields | HD, 1280X720 | 2211 | 30% | 2997 | 40% | 2210 | 30% | 7418 | 5707 |
Sequence | A | B-1 | B-2 | C | |||||
MIN (㎲) |
MIN (%) |
MIN (㎲) |
MIN (%) |
MIN (㎲) |
MIN (%) |
MIN (㎲) |
MIN (%) |
||
rush_hour | FHD, 1920X1088 | 11873 | 19% | 12105 | 18% | 9998 | 32% | 6993 | 53% |
blue_sky | FHD, 1920X1088 | 11018 | 20% | 11470 | 16% | 9558 | 30% | 6735 | 51% |
pedestrain_area | FHD, 1920X1088 | 12126 | 10% | 10666 | 21% | 9604 | 29% | 8431 | 38% |
sunflower | FHD, 1920X1088 | 9481 | 14% | 9616 | 13% | 8507 | 23% | 6718 | 39% |
park_run | HD, 1280X720 | 7813 | 27% | 8482 | 21% | 7441 | 30% | 5580 | 48% |
mobcal | HD, 1280X720 | 2655 | 32% | 3154 | 19% | 2678 | 31% | 2172 | 44% |
stockholm | HD, 1280X720 | 4996 | 25% | 5395 | 19% | 4563 | 31% | 3702 | 44% |
shields | HD, 1280X720 | 5046 | 12% | 4689 | 18% | 4160 | 27% | 3528 | 38% |
Sequence | A | B-1 | B-2 | C | |||||
AVG (㎲) |
AVG (%) |
AVG (㎲) |
AVG (%) |
AVG (㎲) |
AVG (%) |
AVG (㎲) |
AVG (%) |
||
rush_hour | FHD, 1920X1088 | 14309 | 12% | 13390 | 17% | 12130 | 25% | 9236 | 43% |
blue_sky | FHD, 1920X1088 | 13914 | 11% | 13159 | 15% | 11780 | 24% | 8477 | 46% |
pedestrain_area | FHD, 1920X1088 | 15784 | 10% | 14264 | 19% | 13498 | 23% | 10875 | 38% |
sunflower | FHD, 1920X1088 | 12023 | 10% | 11572 | 13% | 10580 | 21% | 8822 | 34% |
park_run | HD, 1280X720 | 11025 | 14% | 10709 | 16% | 10045 | 21% | 6994 | 45% |
mobcal | HD, 1280X720 | 7403 | 11% | 6938 | 17% | 6387 | 23% | 5458 | 34% |
stockholm | HD, 1280X720 | 5865 | 19% | 6126 | 15% | 5713 | 21% | 4802 | 33% |
shields | HD, 1280X720 | 6978 | 6% | 6209 | 16% | 5637 | 24% | 4950 | 33% |
먼저 표 1을 참조하면, 각 영상(rush hour ~ shields)에 따라 디코딩 시간이 각각 다름을 알 수 있고, 하나의 영상도 디코더의 처리 기능에 따라 처리 시간이 각각 다름을 알 수 있다.
다음 표 2 및 도 7을 참조하면, 파이프 라인 병렬화 방법(A)은 병렬화 방법을 적용하기 전의 H.264/AVC 디코더의 처리시간을 기준으로 최소 처리 시간을 12~32% 향상하였음을 알 수 있고, 2개의 스레드를 이용한 2Dwave 기법(B-1)은 13~21% 향상하였음을 알 수 있다. 한편, 3개의 스레드를 이용한 2Dwave 기법(B-2)은 23~32% 성능 향상하였음을 알 수 있고, 본 발명의 일 실시예에 따른 비디오 디코딩 방법(C)은 38~53%의 성능을 향상시켰음을 알 수 있다.
다음 표 3 및 도 8을 참조하면, 파이프 라인 병렬화 방법(A)은 병렬화 방법을 적용하기 전의 H.264/AVC 디코더의 처리시간을 기준으로 평균 처리 시간을 6~19% 향상하였음을 알 수 있고, 2개의 스레드를 이용한 2Dwave 기법(B-1)은 13~19% 향상하였음을 알 수 있다. 한편, 3개의 스레드를 이용한 2Dwave 기법(B-2)은 21~25% 성능 향상하였음을 알 수 있고, 본 발명의 일 실시예에 따른 비디오 디코딩 방법(C)은 33~46%의 성능을 향상시켰음을 알 수 있다.
앞서 살펴본, 파이프 라인 병렬화 방법(A)은 MB타입에 따라서 MB간 처리 속도가 다르고, 작업 흐름에 따라 작업별 처리속도가 다르기 때문에 지속적으로 스레드간 동기화가 필요하다. 따라서 파이프 라인 병렬화 방법(A)에서는 스레드 동기화로 인한 지연현상이 발생한다고 볼 수 있다. 한편, 2Dwave 기법(B)은 ED가 병렬화 되지 않기 때문에 ED의 순차 처리가 성능 향상에 병목 현상으로 작용한다. 반면, 본 발명의 일 실시예에 따른 비디오 디코딩 방법(C)은 비디오 프레임을 N영역로 분할 처리 하고, 스레드의 동기화를 최소화 하여 비교적 빠른 시간에 디코딩을 수행할 수 있어, 디코딩 처리 성능을 향상시킬 수 있다.
다음 도 3 내지 도 6을 참조하여, 본 발명의 일 실시예에 따른 멀티 스레드 기반의 비디오 디코더에 대해 설명한다. 본 발명의 일 실시예에 따른 멀티 스레드 기반의 비디오 디코더는 앞서 설명한 본 발명의 일 실시예에 따른 멀티 스레드 기반의 비디오 디코딩 방법과 실직적으로 동일한 동작을 하므로, 앞서 설명한 내용과 중복된 설명은 모두 생략하도록 한다.
도 3 내지 도 6을 참조하면, 본 발명의 일 실시예에 따른 멀티 스레드 기반의 비디오 디코더는 입력 모듈(미도시), 처리 모듈(200) 및 제1 내지 제3 메모리 뱅크(310~330)을 포함할 수 있다.
입력 모듈(미도시)은 제1 내지 제N 영역을 포함하는 비디오 프레임(100)을 제공받는 모듈일 수 있다.
처리 모듈(200)은 전술한 본 발명의 일 실시예에 따른 멀티 스레드 기반의 비디오 디코딩 방법에서, 각 단계마다 스레드(211~241)를 생성하여 입력 모듈(미도시)에 제공된 비디오 프레임(100)에 대한 디코딩 처리를 수행하고, 처리 결과를 제1 내지 제3 메모리 뱅크(310~330)에 저장하는 모듈일 수 있다.
제1 내지 제3 메모리 뱅크(310~330)는 전술한 본 발명의 일 실시예에 따른 멀티 스레드 기반의 비디오 디코딩 방법에서와 동일한 기능을 수행하는 메모리 뱅크일 수 있다.
이와 같은 본 발명의 일 실시예에 따른 멀티 스레드 기반의 디코더는 H.264/AVC 표준에 따른 데이터 의존성을 만족시키면서 디코딩 처리 성능을 향상시킬 수 있다. 한편, 메모리 뱅크(310~330)를 재사용함으로써, 메모리의 효율적인 이용도 도모할 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였으나, 본 발명은 상기 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 제조될 수 있으며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
100: 비디오 프레임 110: 매크로 블록
200: 처리 모듈 211~241: 스레드
310, 320, 330: 메모리 뱅크
200: 처리 모듈 211~241: 스레드
310, 320, 330: 메모리 뱅크
Claims (15)
- 비디오 프레임을 각각 다수의 매크로 블록을 포함하는 제1 내지 제N 영역으로 분할하고,
제1 단계에서 제1-1 스레드를 이용하여 상기 제1 영역에 대해 제1 처리를 수행한 후 그 결과를 제1 메모리 뱅크에 저장하고,
제2 단계에서 제2-1 스레드 및 상기 제1 메모리 뱅크에 저장된 상기 제1 처리 결과를 이용하여 상기 제1 영역에 대해 상기 제1 처리와 다른 제2 처리를 수행한 후 그 결과를 상기 제1 메모리 뱅크에 저장하고, 제2-2 스레드를 이용하여 상기 제2 영역에 대해 상기 제1 처리를 수행한 후 그 결과를 상기 제1 메모리 뱅크와 다른 제2 메모리 뱅크에 저장하는 것을 포함하되,
상기 제1 및 제2 메모리 뱅크는 상기 제M(여기서, 2 < M ≤N, M은 자연수) 영역에 대한 상기 제1 처리 시 재사용되는 멀티 스레드 기반의 비디오 디코딩 방법. - 제 1항에 있어서,
상기 비디오 프레임은 H.264/AVC 표준에 따라 인코딩된 비디오 프레임을 포함하는 멀티 스레드 기반의 비디오 디코딩 방법. - 제 1항에 있어서,
제3 단계에서 제3-1 스레드를 이용하여 상기 제1 영역에 대해 상기 제1 및 제2 처리와 다른 제3 처리를 수행하고, 제3-2 스레드를 이용하여 상기 제2 영역에 대해 상기 제2 처리를 수행하고, 제3-3 스레드를 이용하여 상기 제3 영역에 대해 상기 제1 처리를 수행하는 것을 더 포함하는 멀티 스레드 기반의 비디오 디코딩 방법. - 제 1항에 있어서,
상기 제1 내지 제N영역에 포함된 매크로 블록의 개수는 서로 동일한 멀티 스레드 기반의 비디오 디코딩 방법. - 제 1항에 있어서,
상기 제1 내지 제N영역은 상기 비디오 프레임이 가로 방향으로 N등분된 영역인 멀티 스레드 기반의 비디오 디코딩 방법. - 제 3항에 있어서,
상기 제1 처리는 ED(Entropy Decoding)를 포함하고,
상기 제2 처리는 IP(Intra Prediction) 또는 MC(Motion Compensation) 중 어느 하나와 IQ 및 IT(Inverse Quantization and Inverse Transformation)를 포함하고,
상기 제3 처리는 DF(Deblocking Filter)를 포함하는 멀티 스레드 기반의 비디오 디코딩 방법. - 제 3항에 있어서,
상기 제3-1 스레드는 상기 제1 메모리 뱅크에 저장된 상기 제1 영역에 대한 상기 제2 처리 결과를 이용하여 상기 제1 영역에 대한 상기 제3 처리를 수행하고,
상기 제3-2 스레드는 상기 제2 메모리 뱅크에 저장된 상기 제2 영역에 대한 상기 제1 처리 결과를 이용하여 상기 제2 영역에 대한 상기 제2 처리를 수행하는 멀티 스레드 기반의 비디오 디코딩 방법. - 제 7항에 있어서,
제4 단계에서 제4-1 스레드를 이용하여 상기 제4 영역에 대해 상기 제1 처리를 수행한 후 그 처리 결과를 상기 제1 메모리 뱅크에 저장하는 것을 더 포함하는 멀티 스레드 기반의 비디오 디코딩 방법. - 각 영역이 다수의 매크로 블록을 포함하는 제1 내지 제N 영역을 포함하는 비디오 프레임을 제공받는 입력 모듈; 및
다수의 스레드를 생성하여 상기 비디오 프레임에 대한 디코딩 처리를 수행하는 처리 모듈을 포함하되,
상기 처리 모듈은,
제1 단계에서 제1-1 스레드를 이용하여 상기 제1 영역에 대해 제1 처리를 수행한 후 그 결과를 제1 메모리 뱅크에 저장하고,
제2 단계에서 제2-1 스레드 및 상기 제1 메모리 뱅크에 저장된 상기 제1 처리 결과를 이용하여 상기 제1 영역에 대해 상기 제1 처리와 다른 제2 처리를 수행한 후 그 결과를 상기 제1 메모리 뱅크에 저장하고, 제2-2 스레드를 이용하여 상기 제2 영역에 대해 상기 제1 처리를 수행한 후 그 결과를 상기 제1 메모리 뱅크와 다른 제2 메모리 뱅크에 저장하되,
상기 제1 및 제2 메모리 뱅크는 상기 제M(여기서, 2 < M ≤N, M은 자연수) 영역에 대한 상기 제1 처리 시 재사용되는 멀티 스레드 기반의 비디오 디코더. - 제 9항에 있어서,
상기 처리 모듈은,
제3 단계에서 제3-1 스레드를 이용하여 상기 제1 영역에 대해 상기 제1 및 제2 처리와 다른 제3 처리를 수행하고, 제3-2 스레드를 이용하여 상기 제2 영역에 대해 상기 제2 처리를 수행하고, 제3-3 스레드를 이용하여 상기 제3 영역에 대해 상기 제1 처리를 수행하는 멀티 스레드 기반의 비디오 디코더. - 제 9항에 있어서,
상기 제1 내지 제N 영역은 각각 서로 동일한 개수의 매크로 블록을 포함하는 멀티 스레드 기반의 비디오 디코더. - 제 11항에 있어서,
상기 제1 내지 제N영역은 상기 비디오 프레임이 가로 방향으로 N등분된 영역인 멀티 스레드 기반의 비디오 디코더. - 제 10항에 있어서,
상기 제1 처리는 ED를 포함하고,
상기 제2 처리는 IP 또는 MC 중 어느 하나와 IQ 및 IT를 포함하고,
상기 제3 처리는 DF를 포함하는 멀티 스레드 기반의 비디오 디코더. - 제 10항에 있어서,
상기 제3-1 스레드는 상기 제1 메모리 뱅크에 저장된 상기 제1 영역에 대한 상기 제2 처리 결과를 이용하여 상기 제1 영역에 대해 제3 처리를 수행하고,
상기 제3-2 스레드는 상기 제2 메모리 뱅크에 저장된 상기 제2 영역에 대한 상기 제1 처리 결과를 이용하여 상기 제2 영역에 대해 상기 제2 처리를 수행하는 멀티 스레드 기반의 비디오 디코더. - 제 14항에 있어서,
상기 처리 모듈은 제4 단계에서 제4-1 스레드를 이용하여 상기 제4 영역에 대해 상기 제1 처리를 수행한 후 그 처리 결과를 상기 제1 메모리 뱅크에 저장하는 멀티 스레드 기반의 비디오 디코더.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100041915A KR101138920B1 (ko) | 2010-05-04 | 2010-05-04 | 멀티 스레드 기반의 비디오 디코더 및 디코딩 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100041915A KR101138920B1 (ko) | 2010-05-04 | 2010-05-04 | 멀티 스레드 기반의 비디오 디코더 및 디코딩 방법 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110100739A Division KR20110122658A (ko) | 2011-10-04 | 2011-10-04 | 멀티 스레드 기반의 비디오 디코더 및 디코딩 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110122412A KR20110122412A (ko) | 2011-11-10 |
KR101138920B1 true KR101138920B1 (ko) | 2012-05-14 |
Family
ID=45392952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100041915A KR101138920B1 (ko) | 2010-05-04 | 2010-05-04 | 멀티 스레드 기반의 비디오 디코더 및 디코딩 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101138920B1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101485219B1 (ko) * | 2012-02-22 | 2015-01-29 | 한양대학교 산학협력단 | 영상 디코딩 장치 및 방법 |
KR101364086B1 (ko) * | 2012-09-12 | 2014-02-21 | 전자부품연구원 | 영상 복호 방법 및 장치 |
KR101531036B1 (ko) * | 2013-09-12 | 2015-06-23 | 전자부품연구원 | 3d 영상 복호화 장치 및 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060003426A (ko) * | 2004-07-06 | 2006-01-11 | 삼성전자주식회사 | 파이프 라인 방식의 복호화 장치 및 방법과, 이 장치를제어하는 컴퓨터 프로그램을 저장하는 컴퓨터로 읽을 수있는 기록 매체 |
KR20060042732A (ko) * | 2004-11-10 | 2006-05-15 | 삼성전자주식회사 | 비디오 디코더에서의 인접 정보 처리 장치 및 방법과 그방법을 수행하기 위한 프로그램이 저장된 기록 매체 |
KR100801630B1 (ko) * | 2007-06-15 | 2008-02-05 | 디비코 주식회사 | 멀티코어 프로세서를 이용한 분산 디코딩 처리 장치 및방법 |
-
2010
- 2010-05-04 KR KR1020100041915A patent/KR101138920B1/ko not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060003426A (ko) * | 2004-07-06 | 2006-01-11 | 삼성전자주식회사 | 파이프 라인 방식의 복호화 장치 및 방법과, 이 장치를제어하는 컴퓨터 프로그램을 저장하는 컴퓨터로 읽을 수있는 기록 매체 |
KR20060042732A (ko) * | 2004-11-10 | 2006-05-15 | 삼성전자주식회사 | 비디오 디코더에서의 인접 정보 처리 장치 및 방법과 그방법을 수행하기 위한 프로그램이 저장된 기록 매체 |
KR100801630B1 (ko) * | 2007-06-15 | 2008-02-05 | 디비코 주식회사 | 멀티코어 프로세서를 이용한 분산 디코딩 처리 장치 및방법 |
Non-Patent Citations (1)
Title |
---|
Yen-Kuang Chen et al., "Implementation of H.264 encoder and decoder on personal computers",Elsevie, 19 July 2005 * |
Also Published As
Publication number | Publication date |
---|---|
KR20110122412A (ko) | 2011-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8218641B2 (en) | Picture encoding using same-picture reference for pixel reconstruction | |
US8218640B2 (en) | Picture decoding using same-picture reference for pixel reconstruction | |
CA2760425C (en) | Method and system for parallel encoding of a video | |
CN105992008B (zh) | 一种在多核处理器平台上的多层次多任务并行解码方法 | |
US9247248B2 (en) | Mode searching and early termination of a video picture and fast compression of variable length symbols | |
US9131240B2 (en) | Video decoding method and apparatus which uses double buffering | |
US20110211642A1 (en) | Moving picture encoding/decoding apparatus and method for processing of moving picture divided in units of slices | |
US9148670B2 (en) | Multi-core decompression of block coded video data | |
US8660191B2 (en) | Software video decoder display buffer underflow prediction and recovery | |
WO2008067500A2 (en) | Parallel deblocking filter for h.264 video codec | |
US9510021B2 (en) | Method and apparatus for filtering pixel blocks | |
KR101425620B1 (ko) | 멀티 코어 프로세서 기반의 비디오 디코딩 방법 및 장치 | |
de Souza et al. | HEVC in-loop filters GPU parallelization in embedded systems | |
KR102035759B1 (ko) | 멀티-쓰레드 텍스처 디코딩 | |
Franche et al. | A multi-frame and multi-slice H. 264 parallel video encoding approach with simultaneous encoding of prediction frames | |
Kim et al. | Stage-based frame-partitioned parallelization of H. 264/AVC decoding | |
KR101138920B1 (ko) | 멀티 스레드 기반의 비디오 디코더 및 디코딩 방법 | |
Gudumasu et al. | Software-based versatile video coding decoder parallelization | |
KR20090020460A (ko) | 비디오 디코딩 방법 및 장치 | |
De Souza et al. | GPU-assisted HEVC intra decoder | |
Yan et al. | Parallel deblocking filter for H. 264/AVC implemented on Tile64 platform | |
US9761232B2 (en) | Multi-decoding method and multi-decoder for performing same | |
Han et al. | GPU based real-time UHD intra decoding for AVS3 | |
Baaklini et al. | H. 264 macroblock line level parallel video decoding on embedded multicore processors | |
KR20110122658A (ko) | 멀티 스레드 기반의 비디오 디코더 및 디코딩 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
A107 | Divisional application of patent | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160418 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |