KR100932667B1 - 적응적 비동기 파이프라인 구조의 h.264 디코더 - Google Patents
적응적 비동기 파이프라인 구조의 h.264 디코더 Download PDFInfo
- Publication number
- KR100932667B1 KR100932667B1 KR1020070108289A KR20070108289A KR100932667B1 KR 100932667 B1 KR100932667 B1 KR 100932667B1 KR 1020070108289 A KR1020070108289 A KR 1020070108289A KR 20070108289 A KR20070108289 A KR 20070108289A KR 100932667 B1 KR100932667 B1 KR 100932667B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- block
- decoder
- operation block
- itq
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/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
- H04N19/513—Processing of motion vectors
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
Abstract
Description
본 발명이 속하는 기술 분야는 국제 영상 압축 표준 규격에 근거해 반도체로 구현되는 하드웨어를 설계하는 분야이며, 그 중에서도 영상 압축 표준에 따라 압축된 영상을 재생하는 디지털 시스템 설계 분야이다.
영상 압축 표준 중에서 ITU-T와 ISO/IEC가 공동으로 개발한 H.264 (또는 MPEG-4 part-10/AVC)은 높은 압축률과 고화질로 차세대 영상 압축 기술로 각광을 받고 있어 현재 DMB, DVB-H, DTV, Blue ray, HD-DVD 등에서 표준 동영상 압축 코덱으로 채택된 상태이고 앞으로 더욱 활용 범위를 넓혀 갈 것으로 예상된다.
H.264는 높은 압축률과 고화질을 이루기 위해 복잡한 연산 알고리즘을 사용하고 있어 전용 하드웨어를 이용한 디코딩이 일반적으로 이용된다. 이 경우에도 많은 연산량으로 하드웨어는 파이프라인 구조를 가진다.
파이프라인은 대체로 도 1과 같이 입력 데이터 구분을 위한 parser (110) 및 파라미터 추출을 위한 Exp-Golomb (120), 계수 추출을 위한 CAVLD (130)와 움직임 벡터를 예측하여 구하는 MVP (140), 양자화 및 계수 변환을 위한 ITQ (150), 슬라이스간 움직임 보간을 위한 MC (160)와 슬라이스내의 예측을 위한 IP (170), 그리고 블록제거 필터링을 위한 DF (180)의 4 단계로 구성된다.
그런데 각 단계의 연산기 동작은 입력 데이터에 따라 요구하는 사이클 수가 다르다. 기존의 하드웨어 구조는 이러한 파이프라인의 각 단계별로 동작 사이클을 계산하고 가장 많은 사이클을 요구하는 단계와 경우를 기준으로 동작 사이클 수를 고정시킨 뒤 모든 단계가 동일한 사이클 동안 동작할 것을 요구한다.
이 방식은 디코더의 동작 속도를 정확히 예측할 수 있는 장점이 있지만 모든 단계가 항상 일정한 사이클 수를 사용함으로써 최악의 경우에 대해 동작 성능이 맞추어지므로 많은 경우에는 낭비되는 사이클이 많아진다.
또한, 중간에 한번 문제가 발생하면 그 오류가 계속 전파되어 복구가 어렵다.
그리고, 나중에 각 연산기별로 성능 개선이나 구조 변경이 이루어져도 전체 디코더 차원에서 재설계 및 검증이 이루어져야 하므로 설계 변경이 매우 어려운 단점이 있다.
H.264 디코더의 경우 각 단계별로 요구되는 사이클 수가 입력 데이터에 따라 변하므로 이러한 사이클 수를 고정적으로 할당하는 것은 사이클 수와 전력 소모에 있어서 낭비를 가져온다.
파이프라인은 대체로 도 1과 같이 입력 데이터 구분을 위한 parser (110) 및 파라미터 추출을 위한 Exp-Golomb (120), 계수 추출을 위한 CAVLD (130)와 움직임 벡터를 예측하여 구하는 MVP (140), 양자화 및 계수 변환을 위한 ITQ (150), 슬라이스간 움직임 보간을 위한 MC (160)와 슬라이스내의 예측을 위한 IP (170), 그리고 블록제거 필터링을 위한 DF (180)의 4 단계로 구성된다.
그런데 각 단계의 연산기 동작은 입력 데이터에 따라 요구하는 사이클 수가 다르다. 기존의 하드웨어 구조는 이러한 파이프라인의 각 단계별로 동작 사이클을 계산하고 가장 많은 사이클을 요구하는 단계와 경우를 기준으로 동작 사이클 수를 고정시킨 뒤 모든 단계가 동일한 사이클 동안 동작할 것을 요구한다.
이 방식은 디코더의 동작 속도를 정확히 예측할 수 있는 장점이 있지만 모든 단계가 항상 일정한 사이클 수를 사용함으로써 최악의 경우에 대해 동작 성능이 맞추어지므로 많은 경우에는 낭비되는 사이클이 많아진다.
또한, 중간에 한번 문제가 발생하면 그 오류가 계속 전파되어 복구가 어렵다.
그리고, 나중에 각 연산기별로 성능 개선이나 구조 변경이 이루어져도 전체 디코더 차원에서 재설계 및 검증이 이루어져야 하므로 설계 변경이 매우 어려운 단점이 있다.
H.264 디코더의 경우 각 단계별로 요구되는 사이클 수가 입력 데이터에 따라 변하므로 이러한 사이클 수를 고정적으로 할당하는 것은 사이클 수와 전력 소모에 있어서 낭비를 가져온다.
본 발명은 전술한 문제점을 해결하기 위해 창안된 것으로서, 파이프라인 구성시 각 단계 사이에서 데이터를 정해진 사이클에 맞추어 전달하지 않고 각 단계별 연산기가 이전 데이터 블록에 대해 연산이 끝나면 전달하고 그렇지 않으면 기다리도록 하는 방식으로 연산 사이클을 가변시킬 수 있는 디코더 구조를 가능하게 한다.
본 발명에 따르면, H.264 디코더 그리고 이와 유사한 하드웨어 구조에서 연산기의 IDLE 시간을 줄여 처리 속도를 높일 수 있고 불필요한 동작을 막아 전력 소모를 줄일 수 있다. 즉, 입력 데이터에 따라 연산 사이클이 달라져도 낭비되는 사이클 없이 연산을 진행하여 전체적으로 성능 향상을 이루고 불필요한 동작을 최대한 억제하여 전력 소모를 줄일 수 있다.
또한 파이프라인 단계별로 가변 사이클을 할당하는 비동기 방식이므로 연산기의 구조 변경후에도 데이터 입출력 규격만 맞추면 디코더의 통합 및 검증이 용이하다.
또한 연산이 적응적으로 진행되므로 연산기의 설계 변경시에도 입출력 규칙만 지키면 전체 디코더의 동작에는 영향을 미치지 않아 디코더의 성능 향상이나 확장이 용이하다.
또한 파이프라인 단계별로 가변 사이클을 할당하는 비동기 방식이므로 연산기의 구조 변경후에도 데이터 입출력 규격만 맞추면 디코더의 통합 및 검증이 용이하다.
또한 연산이 적응적으로 진행되므로 연산기의 설계 변경시에도 입출력 규칙만 지키면 전체 디코더의 동작에는 영향을 미치지 않아 디코더의 성능 향상이나 확장이 용이하다.
본 발명은 도 2의 H.264 복호기의 구조도와 같이 연산기를 VLD (가변길이 디코더), ITQ-MCIP (예측 및 역변환기), DF (블록 제거 필터)로 구분하고 FIFO (First-In First-out) 메모리와 핸드셰이크 방식의 프로토콜을 이용하여 데이터를 적응적으로 전송한다.
전송 데이터 포맷은 도 3,4에 나타난 것처럼 데이터의 종류를 나타내는 헤더 (310)와 실제 데이터 (320)로 구성되는데 총 17 비트이고 최상위 비트 값에 따라 파라미터와 계수/residual을 구분한다. 파라미터인 경우에는 다음 4 비트가 파라미터 종류 (420)를 나타내고 뒤의 11 비트가 실제 파라미터 (430) 값이 된다.
계수/residual인 경우는 최상위 비트를 제외한 나머지 16 비트가 데이터가 된다. 이와 함께 FIFO의 상태를 알려주는 READY (540)와 VALID (530)신호가 추가되어 전송 타이밍을 결정한다.
도 5에서와 같이 데이터 (520)를 보낼 때는 VALID 신호를 활성화시켜 FIFO가 데이터의 유효성을 확인하도록 하고 데이터를 받는 연산기는 FIFO가 비어 있으면 READY 신호를 활성화시켜 데이터를 보내는 유닛이 수신 여부를 확인할 수 있도록 한다. 따라서 READY와 VALID가 동시에 활성화되어야 데이터 전송이 이상 없이 이루어진다.
ITQ-MCIP에서는 헤더의 값을 해석하여 데이터의 종류에 따라 내부에 있는 ITQ(Inverse Transform and Quantization), MC(Motion Compensation) 그리고 IP(Intra Prediction) 중 하나로 데이터를 보낸다.
동기식 시스템의 통합 과정에서 가장 어려운 문제의 하나인 연산기간의 움직임 동기 문제를 비동기 파이프라인을 이용하여 동일한 프로토콜을 이용하여 연산기 사이에서 적응적으로 해결하도록 하여 전체 시스템에서 동기 제어를 할 필요가 없도록 한다. 이에 따라 각 연산기별로 정해진 프로토콜을 준수하여 입출력 규칙을 지키는 범위내에서 연산기의 수정과 교체를 용이하게 하고 자유롭게 각 연산기의 성능을 개선하여 디코더의 설계를 효율적으로 수행한다.
전송 데이터 포맷은 도 3,4에 나타난 것처럼 데이터의 종류를 나타내는 헤더 (310)와 실제 데이터 (320)로 구성되는데 총 17 비트이고 최상위 비트 값에 따라 파라미터와 계수/residual을 구분한다. 파라미터인 경우에는 다음 4 비트가 파라미터 종류 (420)를 나타내고 뒤의 11 비트가 실제 파라미터 (430) 값이 된다.
계수/residual인 경우는 최상위 비트를 제외한 나머지 16 비트가 데이터가 된다. 이와 함께 FIFO의 상태를 알려주는 READY (540)와 VALID (530)신호가 추가되어 전송 타이밍을 결정한다.
도 5에서와 같이 데이터 (520)를 보낼 때는 VALID 신호를 활성화시켜 FIFO가 데이터의 유효성을 확인하도록 하고 데이터를 받는 연산기는 FIFO가 비어 있으면 READY 신호를 활성화시켜 데이터를 보내는 유닛이 수신 여부를 확인할 수 있도록 한다. 따라서 READY와 VALID가 동시에 활성화되어야 데이터 전송이 이상 없이 이루어진다.
ITQ-MCIP에서는 헤더의 값을 해석하여 데이터의 종류에 따라 내부에 있는 ITQ(Inverse Transform and Quantization), MC(Motion Compensation) 그리고 IP(Intra Prediction) 중 하나로 데이터를 보낸다.
동기식 시스템의 통합 과정에서 가장 어려운 문제의 하나인 연산기간의 움직임 동기 문제를 비동기 파이프라인을 이용하여 동일한 프로토콜을 이용하여 연산기 사이에서 적응적으로 해결하도록 하여 전체 시스템에서 동기 제어를 할 필요가 없도록 한다. 이에 따라 각 연산기별로 정해진 프로토콜을 준수하여 입출력 규칙을 지키는 범위내에서 연산기의 수정과 교체를 용이하게 하고 자유롭게 각 연산기의 성능을 개선하여 디코더의 설계를 효율적으로 수행한다.
H.264 디코더 하드웨어는 그 크기를 줄이기 위해 대부분 파이프라인 방식을 이용한다. 일반적인 파이프라인 방식에서는 일정한 처리속도를 유지하기위해 파이프라인 단계별로 일정한 시간을 할당한다. 기존의 H.264 하드웨어 디코더들도 이러한 방식으로 구성되어 있다. 이 경우 정해진 크기의 데이터 블록이 각 파이프라인 단계를 지나는 시간이 일정하므로 출력 결과가 항상 같은 비율로 생성된다. 즉 처리 속도의 예측이 가능하다.
이를 위해서는 최악의 상황에서도 모든 파이프라인 단이 정해진 시간내에 연산을 마쳐야 하므로 각 단계에 주어지는 시간이 최악의 상황을 고려하여 길게 주어져야 한다. 따라서 최악의 상황이 아닌 경우에는 모든 연산기가 IDLE 상태를 유지하는 시간이 발생하고 이 시간이 길어지면 전체적으로 연산시간 대비 IDLE 시간의 비율이 높아져 효율성이 감소한다.
또한, 전체 시스템 제어기가 각 연산기의 동작을 긴밀하게 제어하므로 연산기의 설계 수정이 매우 어렵다. H.264와 같은 동영상 복호과정은 영상의 종류에 따라 각 연산 과정의 연산 시간이 일정하지 않고 가변적이므로 IDLE 시간에 의한 사이클 낭비가 상당히 존재한다.
본 발명에서는 각 단계별 연산 시간을 고정하지 않고 출력 데이터가 만들어지고 다음 단 연산기가 준비되는 즉시 데이터가 전달되어 입력 데이터에 따라 각 연산기의 처리 속도가 달라 경우에 따라 발생하는 IDLE 시간을 없애 전체 시스템의 처리 성능을 증가시킨다. 이를 위해 입력이나 출력단에 FIFO 등의 버퍼 메모리를 이용하여 데이터 전달을 효과적으로 수행한다.
이를 위해서는 최악의 상황에서도 모든 파이프라인 단이 정해진 시간내에 연산을 마쳐야 하므로 각 단계에 주어지는 시간이 최악의 상황을 고려하여 길게 주어져야 한다. 따라서 최악의 상황이 아닌 경우에는 모든 연산기가 IDLE 상태를 유지하는 시간이 발생하고 이 시간이 길어지면 전체적으로 연산시간 대비 IDLE 시간의 비율이 높아져 효율성이 감소한다.
또한, 전체 시스템 제어기가 각 연산기의 동작을 긴밀하게 제어하므로 연산기의 설계 수정이 매우 어렵다. H.264와 같은 동영상 복호과정은 영상의 종류에 따라 각 연산 과정의 연산 시간이 일정하지 않고 가변적이므로 IDLE 시간에 의한 사이클 낭비가 상당히 존재한다.
본 발명에서는 각 단계별 연산 시간을 고정하지 않고 출력 데이터가 만들어지고 다음 단 연산기가 준비되는 즉시 데이터가 전달되어 입력 데이터에 따라 각 연산기의 처리 속도가 달라 경우에 따라 발생하는 IDLE 시간을 없애 전체 시스템의 처리 성능을 증가시킨다. 이를 위해 입력이나 출력단에 FIFO 등의 버퍼 메모리를 이용하여 데이터 전달을 효과적으로 수행한다.
즉, 본 발명에서 이용된 비동기 파이프라인 구조는 파이프라인 단계별 연산 시간이 정해져 있지 않고 각 단계별로 연산이 끝나면 다음 단으로 자연스럽게 데이터가 전달된다.
도 6을 참조하면, 본 발명의 일 실시예에 다른 적응적 비동기 파이프라인 구조의 H.264 디코더의 파이프라인 단계별 연산이 나타나 있다.
본 발명에서는 비동기 파이프라인이 사용되므로 단계별 구분이 기존과는 차이가 있다. 즉 연산결과가 나오는 대로 다음 단계에 전달되어 연산기가 준비 상태이면 입력되어 다음 연산을 진행하고 그렇지 않으면 기다린다.
따라서 VLD 단계(610)의 Exp-Golomb (612) 연산후 파라미터가 출력되면 바로 다음 단계(620)의 MVP (621)로 입력되어 움직임 벡터 계산을 시작하고 그 동안 CAVLD (613)에서 계수를 추출한여 다시 ITQ (624)로 보낸다.
일반적으로 두 번째 단인 ITQ-MCIP(620)가 가장 연산시간이 긴 단계인데 이 단계에서도 데이터에 따라 연산시간이 달라진다. 연산시간이 긴 데이터가 들어오면 VLD (610)는 자신의 연산이 끝난 뒤 동작을 멈추고 기다리고 마지막 단인 DF (630)도 데이터가 들어오지 않으니 동작을 멈추고 기다린다.
즉, 정해진 수행 사이클이 없으므로 각 연산기의 연산 결과가 나오고 다음 단으로 전달되지 못하거나 이전 단에서 입력 데이터가 들어오지 않는 경우 자동적으로 현 상태를 유지하면서 모든 동작을 일시적으로 정지하도록 만들어 불필요한 전력 소모를 줄인다.
그 후 두 번째 단계의 연산이 끝나면 DF (630)로 데이터가 전달되어 DF (631)가 동작을 시작하고 ITQ-MCIP (620)는 VLD (610)에서 데이터를 받아 다음 연산을 시작한다. VLD (610)는 데이터를 내보낸 뒤 다음 데이터 블록을 받아 연산을 시작한다. 만일 ITQ-MCIP (620)의 연산 시간이 짧은 경우에는 VLD (610)와 DF (630)의 기다리는 시간도 짧아진다. 또한 모든 연산기가 IDLE 상태인 경우는 발생하지 않는다.
따라서 전체적으로는 각 파이프라인 단계의 연산시간을 최악의 상황이 아닌 평균 연산 시간을 할당할 수 있으므로 데이터 블록에 대해서는 평균값에 맞출 수 있어 각 연산기가 더 느리게 동작해도 프레임 단위로만 요구되는 연산시간을 만족하면 실시간 영상 복원에 지장이 없다. 또는 연산기 속도를 유지하면서 하드웨어 면적을 줄일 수도 있다. 어느 경우나 전력 소모는 줄어든다.
도 6을 참조하면, 본 발명의 일 실시예에 다른 적응적 비동기 파이프라인 구조의 H.264 디코더의 파이프라인 단계별 연산이 나타나 있다.
본 발명에서는 비동기 파이프라인이 사용되므로 단계별 구분이 기존과는 차이가 있다. 즉 연산결과가 나오는 대로 다음 단계에 전달되어 연산기가 준비 상태이면 입력되어 다음 연산을 진행하고 그렇지 않으면 기다린다.
따라서 VLD 단계(610)의 Exp-Golomb (612) 연산후 파라미터가 출력되면 바로 다음 단계(620)의 MVP (621)로 입력되어 움직임 벡터 계산을 시작하고 그 동안 CAVLD (613)에서 계수를 추출한여 다시 ITQ (624)로 보낸다.
일반적으로 두 번째 단인 ITQ-MCIP(620)가 가장 연산시간이 긴 단계인데 이 단계에서도 데이터에 따라 연산시간이 달라진다. 연산시간이 긴 데이터가 들어오면 VLD (610)는 자신의 연산이 끝난 뒤 동작을 멈추고 기다리고 마지막 단인 DF (630)도 데이터가 들어오지 않으니 동작을 멈추고 기다린다.
즉, 정해진 수행 사이클이 없으므로 각 연산기의 연산 결과가 나오고 다음 단으로 전달되지 못하거나 이전 단에서 입력 데이터가 들어오지 않는 경우 자동적으로 현 상태를 유지하면서 모든 동작을 일시적으로 정지하도록 만들어 불필요한 전력 소모를 줄인다.
그 후 두 번째 단계의 연산이 끝나면 DF (630)로 데이터가 전달되어 DF (631)가 동작을 시작하고 ITQ-MCIP (620)는 VLD (610)에서 데이터를 받아 다음 연산을 시작한다. VLD (610)는 데이터를 내보낸 뒤 다음 데이터 블록을 받아 연산을 시작한다. 만일 ITQ-MCIP (620)의 연산 시간이 짧은 경우에는 VLD (610)와 DF (630)의 기다리는 시간도 짧아진다. 또한 모든 연산기가 IDLE 상태인 경우는 발생하지 않는다.
따라서 전체적으로는 각 파이프라인 단계의 연산시간을 최악의 상황이 아닌 평균 연산 시간을 할당할 수 있으므로 데이터 블록에 대해서는 평균값에 맞출 수 있어 각 연산기가 더 느리게 동작해도 프레임 단위로만 요구되는 연산시간을 만족하면 실시간 영상 복원에 지장이 없다. 또는 연산기 속도를 유지하면서 하드웨어 면적을 줄일 수도 있다. 어느 경우나 전력 소모는 줄어든다.
동영상을 디코딩할 때 비트율이 정해지면 평균적인 연산시간은 일정하나 영상의 특성에 따라 순간적으로 연산량이 늘어날 수 있다. 이때 기존 방식에서는 그 최악의 상황을 잘못 예측하면 그 때마다 영상이 손상된다.
그러나 본 발명의 방식에서는 그 순간 필요한 연산을 더 수행하고 나중에 여유가 있는 부분에서 추가 실행된 시간을 보상할 수 있어 영상이 손상되는 현상은 발생하지 않는다.
그러나 본 발명의 방식에서는 그 순간 필요한 연산을 더 수행하고 나중에 여유가 있는 부분에서 추가 실행된 시간을 보상할 수 있어 영상이 손상되는 현상은 발생하지 않는다.
도1은 H.264 디코더의 일반적인 파이프라인 단계별 연산 동작이다.
도2는 본 발명의 파이프라인 구조와 방법에 따라 구성된 H.264 디코더의 구성도이다.
도3은 H.264 디코더 내부의 연산기들이 파라미터를 전달하기 위해 이용하는 데이터 포맷이다.
도4는 H.264 디코더 내부의 연산기들이 계수와 residual 값을 전달하기 위해 이용하는 데이터 포맷이다.
도5는 H.264 디코더 내부의 연산기들이 데이터를 전달할 때 사용하는 핸드셰이크 방법을 보여주는 타이밍도이다.
도6은 본 발명의 H.264 디코더 파이프라인 단계별 연산 동작이다.
Claims (4)
- 입력 NAL(Network Adaption Layer) 데이터를 구분하기 위한 파서, 파라미터를 추출하는 Exp-Golomb 복호기 및 계수를 추출하기 위한 CAVLD(Caontext Adaptive Variavle Length Coding) 복호기를 포함하는 VLD(Variavle Length Decoding) 연산블록;움직임 벡터를 예측하는 MVP(Motion Vector Predictor)와, 양자화와 계수변환을 수행하는 ITQ(Inverse Transform and Quantizaton), 슬라이스(slice)간의 움직임을 보정하는 MC(Motion Compensation) 및 상기 슬라이내의 예측을 위한 IP(Intra Prediction)를 포함하는 ITQ-MCIP(ITQ(Inverse Transform and Quantizaton - Motion Compensation Intra Prediction) 연산블록 및블록제거 연산블록(Deblocking Filter)을 포함하되, 상기 입력 NAL 데이터가 상기 VLD 연산블록, ITQ-MCIP 연산블록 및 블록제거 연산블록을 순차적으로 단방향 이동하면서 연산이 진행되고, 입력영상의 종류에 따라 각 연산블록의 연산 사이클이 가변적으로 변하여 상기 각 연산블록의 각 연산기가 동작하지 않는 사이클 수를 최소화하는 것을 특징으로 하는 적응적 비동기 파이프라인 구조의 H.264 디코더.
- 제1항에 있어서,상기 각 연산블록에 포함된 연산기들 사이의 데이터 전송시 데이터 블록의 전송 사이클의 수 또는 전송 사이클 시간이 정해져 있지 않고 입력 영상 특성에 따라 결정되는 상기 연산블록의 연산처리 속도에 따라 적응적으로 데이터를 전송하는 것을 특징으로 하는 적응적 비동기 파이프라인 구조의 H.264 디코더.
- 제1항에 있어서,이전 연산블록의 데이터를 전달받지 못하거나 다음 연산블록으로 데이터를 보내지 않는 경우, 상기 연산블록의 각 연산기의 동작이 정지되어 전력 소모를 줄일 수 있는 것을 특징으로 하는 적응적 비동기 파이프라인 구조의 H.264 디코더.
- 제1항에 있어서,상기 각 연산블록에 포함된 연산기들 사이의 데이터 전송은 상기 ITQ-MCIP 연산블록과 블록제거 연산블록(DF)에 포함된 FIFO(First-In First-out) 메모리가 입력 데이터의 유효성을 확인할 수 있는 VALID 신호와, 상기 FIFO 메모리가 비어있는지 여부를 확인할 수 있는 READY 신호를 추가하여 이웃한 상기 연산기들의 동작상태를 서로 알려주는 것을 특징으로 하는 적응적 비동기 파이프라인 구조의 H.264 디코더.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070108289A KR100932667B1 (ko) | 2007-10-26 | 2007-10-26 | 적응적 비동기 파이프라인 구조의 h.264 디코더 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070108289A KR100932667B1 (ko) | 2007-10-26 | 2007-10-26 | 적응적 비동기 파이프라인 구조의 h.264 디코더 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090042501A KR20090042501A (ko) | 2009-04-30 |
KR100932667B1 true KR100932667B1 (ko) | 2009-12-21 |
Family
ID=40765226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070108289A KR100932667B1 (ko) | 2007-10-26 | 2007-10-26 | 적응적 비동기 파이프라인 구조의 h.264 디코더 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100932667B1 (ko) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060003426A (ko) * | 2004-07-06 | 2006-01-11 | 삼성전자주식회사 | 파이프 라인 방식의 복호화 장치 및 방법과, 이 장치를제어하는 컴퓨터 프로그램을 저장하는 컴퓨터로 읽을 수있는 기록 매체 |
KR20060127456A (ko) * | 2005-06-07 | 2006-12-13 | 엘지전자 주식회사 | 비디오 디코딩 장치의 데이터 관리기 |
KR20070120877A (ko) * | 2006-06-20 | 2007-12-26 | 가부시끼가이샤 르네사스 테크놀로지 | 영상 처리 엔진 및 그것을 포함하는 영상 처리 시스템 |
-
2007
- 2007-10-26 KR KR1020070108289A patent/KR100932667B1/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 | 삼성전자주식회사 | 파이프 라인 방식의 복호화 장치 및 방법과, 이 장치를제어하는 컴퓨터 프로그램을 저장하는 컴퓨터로 읽을 수있는 기록 매체 |
KR20060127456A (ko) * | 2005-06-07 | 2006-12-13 | 엘지전자 주식회사 | 비디오 디코딩 장치의 데이터 관리기 |
KR20070120877A (ko) * | 2006-06-20 | 2007-12-26 | 가부시끼가이샤 르네사스 테크놀로지 | 영상 처리 엔진 및 그것을 포함하는 영상 처리 시스템 |
Also Published As
Publication number | Publication date |
---|---|
KR20090042501A (ko) | 2009-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2132937B1 (en) | Entropy coding for video processing applications | |
CN1934866B (zh) | 视频解码设备 | |
KR100585901B1 (ko) | 디지털 신호 부호화 장치, 디지털 신호 복호 장치, 디지털신호 산술 부호화 방법 및 디지털 신호 산술 복호 방법 | |
US8634474B2 (en) | CABAC macroblock rewind and end of slice creation to control slice size for video encoders | |
US8416857B2 (en) | Parallel or pipelined macroblock processing | |
US8213511B2 (en) | Video encoder software architecture for VLIW cores incorporating inter prediction and intra prediction | |
US10798379B2 (en) | Intra/inter mode decision for predictive frame encoding | |
US20060115002A1 (en) | Pipelined deblocking filter | |
US9001882B2 (en) | System for entropy decoding of H.264 video for real time HDTV applications | |
JP2006174486A (ja) | ビデオデータの水平及び垂直フィルタリングを同時に行うデブロッキングフィルタ及び動作方法 | |
US8923388B2 (en) | Early stage slice cap decision in video coding | |
CN101150719A (zh) | 并行视频编码的方法及装置 | |
KR20150039582A (ko) | 동화상 부호화 장치 및 그 동작 방법 | |
EP2449781B1 (en) | Methods and apparatus for adaptive probability update for non-coded syntax | |
CN103416057A (zh) | 图像编码设备、图像编码方法和程序及图像解码设备、图像解码方法和程序 | |
US20110317762A1 (en) | Video encoder and packetizer with improved bandwidth utilization | |
JP2006157925A (ja) | パイプラインデブロッキングフィルタ | |
CN105245896A (zh) | Hevc并行运动补偿方法及装置 | |
US8948246B2 (en) | Method and system for spatial prediction in a video encoder | |
CN113615183A (zh) | 用于视频编解码的残差编解码中常规二进制位的灵活分配 | |
CN100417227C (zh) | 用于avs视频解码器的高效流水线系统 | |
KR100932667B1 (ko) | 적응적 비동기 파이프라인 구조의 h.264 디코더 | |
Zhao et al. | Parallel entropy decoding for high-resolution video coding | |
JP2008294669A (ja) | 画像符号化装置 | |
JP2007259323A (ja) | 画像復号化装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
N231 | Notification of change of applicant | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
J201 | Request for trial against refusal decision | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20121123 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20131017 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20140930 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |