KR101127963B1 - Sae 계산 장치 및 그를 포함하는 h.264 코딩 장치 - Google Patents
Sae 계산 장치 및 그를 포함하는 h.264 코딩 장치 Download PDFInfo
- Publication number
- KR101127963B1 KR101127963B1 KR1020090031779A KR20090031779A KR101127963B1 KR 101127963 B1 KR101127963 B1 KR 101127963B1 KR 1020090031779 A KR1020090031779 A KR 1020090031779A KR 20090031779 A KR20090031779 A KR 20090031779A KR 101127963 B1 KR101127963 B1 KR 101127963B1
- Authority
- KR
- South Korea
- Prior art keywords
- prediction
- signals
- sae
- value
- mode
- 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/42—Methods 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/43—Hardware specially adapted for motion estimation or 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/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/124—Quantisation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명은 인트라 16×16 휘도 예측시에 역양자화 및 역변환의 동작 시작 시점을 앞당겨주며동작 속도를 증대시키기 위한 SAE 계산 장치 및 그를 포함하는 H.264 코딩 장치에 관한 것으로, IQIT에 필요한 양자화된 DC 성분과 역양자화된 DC 성분을 인트라 예측 동작시에 미리 계산할 수 있도록 함으로써, 역양자화 및 역변환의 동작 시점을 앞당겨 줄 수 있을 뿐 만 아니라, 역양자화 및 역변환의 동작 속도까지도 증대시켜 줄 수 있도록 한다.
H.264, 인트라 예측, DC 계수, SAE 계산, 인트라 16×16 휘도 예측
Description
본 발명의 H.264 기술에 관한 것으로, 특히 인트라 16×16 휘도 예측 동작의 효율을 향상시키기 위한 SAE 계산 장치 및 그를 포함하는 H.264 코딩 장치에 관한 것이다.
본 발명은 지식경제부 및 정보통신연구진흥원의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2007-S-026-01, 과제명: MPCore 플랫폼 기반 다중 포맷 멀티미디어 SoC].
MPEG-1, MPEG-2, MPEG-4 H.264/MPEG-4 AVC(Advanced Video coding)와 같은 영상 압축 방식에서는 영상을 부호화하기 위해서 하나의 픽처를 매크로 블록으로 나눈다. 그리고, 인터 예측(inter prediction) 및 인트라 예측(intra prediction)을 이용해 각각의 매크로 블록을 부호화한다. 그런 다음, 부호화된 매크로 블록의 데이터크기 및 원본 매크로 블록의 왜곡 정도를 고려하여 최적의 부호화 모드를 선택하고 매크로 블록을 부호화한다.
인트라 예측은 현재 픽처(picture)의 블록을 부호화하기 위해서 참조 픽처를 참조하는 것이 아니라, 부호화하려는 현재 블록과 공간적으로 인접한 화소값을 이용하여 부호화를 수행한다. 우선, 인접한 화소값을 이용하여 부호화하려는 현재 블록에 대한 예측값을 계산한다. 다음으로 예측값과 원본 현재 블록의 화소값의 차만을 부호화한다.
이러한 인트라 예측모드는 각 블록에 대해 예측 블록과 인코딩되는 블록의 차이를 최소화하여 가장 좋은 예측모드를 찾는 기능을 수행하며, 휘도(Luma) 4×4 예측, 휘도 16×16 예측, 및 색도(Chroma) 8×8예측 3가지 종류로 나뉜다.
본 발명에서 관심을 가지는 분야는 인트라 16×16 휘도 예측에 관한 것으로, 이하에는 인트라 16×16 휘도 예측에 대해서만 언급하기로 한다.
도1은 인트라 16×16 휘도 예측에 따른 입력 영상 부호화시, 매크로 블록내의 데이터의 전송 순서를 도시한 도면이다.
매크로 블록이 인트라 16×16 휘도 예측으로 코딩되면, 각각의 4x4 휘도 AC 블록(0~15)의 변환된 DC 계수를 포함하고 있는 '-1'이라고 표시된 휘도 DC 블록이 첫번째로 전송된다, 다음으로, 휘도 AC 블록(0~15)가 순서대로 전송된다. 색도(Cb)와 색도(Cr) 성분의 DC 계수들을 포함하고 있는 2×2 배열의 색도 DC 블록(16, 17)이 다음으로 전송되고, 마지막으로 DC 계수를 포함하지 않는 색도 AC 블록(18~25)이 전송된다.
도2은 종래의 기술에 따른 인트라 16×16 휘도 예측에 따른 입력 영상 코딩 방법을 설명하기 위한 도면으로, 이는 한 매크로 블록에 대한 타이밍 사이클을 도 시한 도면이다.
도2를 참조하면, 종래에는 휘도 AC 블록(0~15)에 대한 정수 DCT(Discrete Cosine Transform) 및 변환 및 양자화(Transform and Quantization, 이하 TQ)을 수행하고(TQ(0)~TQ(15)), 휘도 AC 블록(0~15)에 대한 정수 DCT 동작에 의해 획득되는 휘도 AC 블록(0~15)의 DC 계수를 모아 하다마드(Hadamard) 변환 및 TQ를 수행한다(DC(Y)). 그리고 DC(Y), TQ(0)~TQ(15) 순으로 역양자화 및 역변환(Inverse Quantization and Inverse Transform, 이하 IQIT)을 수행함을 알 수 있다.
그리고 색도 AC 블록(18~21, 22~25)도 또한 상기에서와 동일하게 처리됨을 알 수 있다.
그러나 도2에 도시된 바와 같이, 종래에서는 IQIT에 필요한 DC 성분(DC(Y), DC(cb), DC(cr))을 계산하게 되면, IQIT의 동작 시작 시점이 불필요하게 늦춰지는 문제가 있었다.
즉, IQIT 동작은 IQIT에 필요한 양자화된 DC 성분(DC(Y), DC(cb), DC(cr)), 특히 DC(Y)이 계산 완료되어야 시작될 수 있으나, 종래에서는 휘도 AC 블록(0~15) 모두에 대한 정수 DCT를 수행하고 나서 DC(Y)를 계산하도록 하고 있어, IQIT의 동작이 휘도 AC 블록(0~15)의 정수 DCT 동작 사이클만큼 지연되는 문제가 있었다.
이에 인트라 16×16 휘도 예측에 따른 입력 영상 부호화 동작에 불필요한 오버헤드가 발생하게 되고, 그에 따라 H.264 코딩 장치의 전체 동작 속도까지도 저하되게 된다.
이에 본 발명에서는 인트라 16×16 휘도 예측시 IQIT에 필요한 양자화된 DC 성분을 인트라 예측 동작시에 미리 계산할 수 있도록 하여, IQIT의 동작 시점을 앞당겨 줄 수 있도록 하는 SAE 계산 장치 및 그를 포함하는 H.264 코딩 장치를 제공하고자 한다.
또한, IQIT에 필요한 DC 성분뿐 만 아니라 역양자화된 DC 성분까지도 미리 계산할 수 있도록 하여, IQIT의 동작 속도까지도 증대시켜 줄 수 있도록 하는 SAE 계산 장치 및 그를 포함하는 H.264 코딩 장치를 제공하고자 한다.
상기 과제를 해결하기 위한 수단으로서, 본 발명의 일 실시 형태에 의한 SAE 계산 장치는 입력신호와 예측신호의 차를 계산하는 다수개의 뺄셈부; 상기 다수개의 뺄셈부에 의해 계산된 입력신호와 예측신호의 차에 대한 절대값을 계산하는 다수개의 절대값 계산부; DC 계수 계산모드시에는 상기 다수개의 뺄셈부의 출력 신호를 선택하고, SAE(Sum of Absolute Error) 계산모드시에는 상기 다수개의 절대값 계산부의 출력 신호를 선택하여 출력하는 다수개의 동작모드 선택부; 상기 다수개의 동작모드 선택부의 출력 신호를 모두 합하는 덧셈부; 상기 덧셈부의 출력 신호로부터 하나의 매크로 블록에 대한 SAE 값을 획득하여 출력하는 SAE 값 출력부; 및 상기 덧셈부의 출력 신호로부터 하나의 매크로 블록에 대한 DC 계수값을 획득하여 출력하는 DC 계수값 출력부를 포함한다.
상기 DC 계수값 출력부는 다수번의 사이클 동안 상기 덧셈부로부터 출력되는 신호를 순차적으로 저장하여, 상기 DC 계수값을 획득하는 DC 레지스터; 및 상기 DC 레지스터에 저장된 DC 계수값을 하다마드 변환부에 제공하는 DC 계수값 출력부를 포함할 수 있다.
상기 DC 레지스터는 인트라 16×16 휘도 예측모드시 입력신호와 예측신호가 n(n은 자연수)개씩 입력되면, '16/n'번의 사이클 동안 상기 덧셈부로부터 출력되는 신호를 순차적으로 저장하여 상기 DC 계수값을 획득하고, 인트라 8×8 색도 예측모드시 입력신호와 예측신호가 n개씩 입력되면, '8/n'번의 사이클 동안 상기 덧셈부로부터 출력되는 신호를 순차적으로 저장하여 상기 DC 계수값을 획득할 수 있다.
상기 과제를 해결하기 위한 수단으로서, 본 발명의 일 실시 형태에 의한 H.264 코딩 장치는 하나의 매크로 블록에 대한 입력신호들을 저장하는 입력신호 메모리; 상기 입력신호들 각각에 대응되는 예측신호들을 제공하는 예측신호 제공부; SAE 계산모드시에는 상기 입력신호들과 상기 예측신호들로부터 예측모드별 SAE 값을 계산하고, DC 계수 계산모드시에는 상기 입력신호들과 상기 예측신호들로부터 DC 계수값을 계산하는 SAE 계산부; 및 상기 SAE 계산부가 예측모드별 SAE 값을 계산하면, 상기 예측모드별 SAE 값을 분석하여 최적의 예측모드를 결정하고, 상기 SAE 계산부가 DC 계수값을 계산하면, 상기 DC 계수값을 하다마드 변환하여 TQ(Transform and Quantization) 및 IQIT(Inverse Quantization and Inverse Transform) 장치에 제공하는 예측모드 선택부를 포함한다.
상기 SAE 계산부는 다수개의 예측모드들 중에서 하나의 예측모드에 대응되 며, SAE 계산모드시에는 상기 입력신호들과 상기 예측신호들로부터 상기 하나의 예측모드의 SAE 값을 계산하고 DC 계수 계산모드시에는 상기 입력신호들과 상기 예측신호들로부터 DC 계수값을 계산하는 제1예측부; 및 다수개의 예측모드들 중에서 하나의 예측모드를 제외한 나머지 예측모드들 각각에 대응되며, 상기 입력신호들과 상기 예측신호들로부터 상기 나머지 예측모드들의 SAE 값을 각각 계산하는 소정개의 제2예측부를 포함할 수 있다.
상기 제1예측부는 상기 입력신호와 상기 예측신호의 차를 계산하는 다수개의 뺄셈부; 상기 다수개의 뺄셈부에 의해 계산된 입력신호와 예측신호의 차에 대한 절대값을 계산하는 다수개의 절대값 계산부; DC 계수 계산모드시에는 상기 다수개의 뺄셈부의 출력 신호를 선택하고, SAE 계산모드시에는 상기 다수개의 절대값 계산부의 출력 신호를 선택하여 출력하는 다수개의 동작모드 선택부; 상기 다수개의 동작모드 선택부의 출력 신호를 모두 합하는 덧셈부; 상기 덧셈부의 출력 신호로부터 하나의 매크로 블록에 대한 SAE 값을 획득하여 출력하는 SAE 값 출력부; 및 상기 덧셈부의 출력 신호로부터 하나의 매크로 블록에 대한 DC 계수값을 획득하여 출력하는 DC 계수값 출력부를 포함할 수 있다.
상기 DC 계수값 출력부는 다수번의 사이클 동안 상기 덧셈부로부터 출력되는 신호를 순차적으로 저장하여, 상기 DC 계수값을 획득하는 DC 레지스터; 및 상기 DC 레지스터에 저장된 DC 계수값을 상기 예측모드 선택부에 제공하여 하다마드 변환되도록 하는 DC 계수값 출력부를 포함할 수 있다.
상기 DC 레지스터는 인트라 16×16 휘도 예측모드시 입력신호와 예측신호가 n(n은 자연수)개씩 입력되면, '16/n'번의 사이클 동안 상기 덧셈부로부터 출력되는 신호를 순차적으로 저장하여 상기 DC 계수값을 획득하고, 인트라 8×8 색도 예측모드시 입력신호와 예측신호가 n개씩 입력되면, '8/n'번의 사이클 동안 상기 덧셈부로부터 출력되는 신호를 순차적으로 저장하여 상기 DC 계수값을 획득할 수 있다.
상기 예측모드 선택부는 상기 SAE 계산부가 예측모드별 SAE 값을 계산하면, 상기 예측모드별 SAE 값을 분석하여 최적의 예측모드를 결정하는 최적 모드 결정부; 및 상기 SAE 계산부가 DC 계수값을 계산하면, 상기 DC 계수값을 하다마드 변환하는 하다마드 변환부를 포함할 수 있다.
상기 예측신호 제공부는 상기 입력신호들 각각에 대응되는 예측모드별 예측신호들을 저장하고, 예측모드별로 한 사이클당 n(n은 자연수)개씩 순차적으로 출력하는 예측신호 생성부; 및 상기 예측신호 생성부로부터 출력되는 예측신호들 중에서 최적의 예측모드에 상응하는 n개의 예측신호들만을 선택하여 상기 SAE 계산부에 제공하는 예측신호 선택부를 포함할 수 있다.
본 발명의 SAE 계산 장치 및 그를 포함하는 H.264 코딩 장치는 인트라 16×16 휘도 예측시 IQIT에 필요한 양자화된 DC 성분과 역양자화된 DC 성분을 인트라 예측 동작시에 미리 계산할 수 있도록 함으로써, IQIT의 동작 시점을 앞당겨 줄 수 있을 뿐 만 아니라 IQIT의 동작 속도까지도 증대시켜 줄 수 있도록 한다. 즉, 인트라 16×16 휘도 예측의 동작 효율을 향상시켜 준다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시 예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시 예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
또한, 어떤 부분이 어떤 구성 요소를 '포함'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하, 본 발명의 바람직한 실시예들을 첨부한 도면을 참조하여 상세히 설명한다.
도3은 본 발명의 일실시예에 따른 인트라 16×16 휘도 예측에 따른 입력 영상 코딩 방법을 설명하기 위한 도면으로, 이는 한 매크로 블록에 대한 타이밍 사이클을 도시한 도면이다.
도3을 참조하면, 본 발명에서는 인트라 16×16 휘도 예측모드, 인트라 8×8 색도 예측모드, 인트라 4×4 휘도 예측모드에 따른 동작을 수행한 후, 최적의 예측모드를 결정하는 인트라 예측 동작시에, IQIT에 필요한 양자화된 DC 성분(DC(Y), DC(cb), DC(cr))과 역양자화된 DC 성분(IDC(Y), IDC(cb), IDC(cr))를 미리 계산하 도록 한다.
이에 본 발명에 따른 IQIT 동작은 휘도 AC 블록(0~15)에 대한 정수 DCT 및 TQ가 완료되자마자 수행 가능해진다.
또한 이때의 TQ 및 IQIT 동작은 휘도 AC 블록(0~15), 채도 AC 블록(18~25)에 대해서만 수행되므로, TQ 및 IQIT의 동작 속도가 향상된다. 즉, TQ 동작 속도는 양자화된 DC 성분(DC(Y), DC(cb), DC(cr))을 계산하는 동작 사이클만큼, IQIT 동작 속도는 역양자화된 DC 성분(IDC(Y), IDC(cb), IDC(cr))을 계산하는 동작 사이클만큼 빨라진다.
이하에서는 본 발명의 이해를 돕기 위해 본 발명의 동작 원리를 먼저, 설명하기로 한다.
일반적으로, 인트라 16×16 휘도 예측모드시 최적의 예측모드를 결정하기 위한 각 블록의 SAE(Sum of Absolute Error)값은 수학식1으로 계산되며, 각 블록의 DC 계수값은 수학식2로 계산된다.
이때, org[x,y]는 입력신호, pred[x,y]는 예측신호를 의미한다.
Y00=(x00 + x01 + x02 + x03 + x10+ x11 + x12 + x13 +x20 + x21 + x22 + x23 + x30 + x31 + x32 + x33)
여기서, x00 내지 x33는 하나의 매크로블록 안에 16 개의 블록 중 4×4 블록의 org[x,y]- pred[x,y]를 나타내고 있으며, 각 블록당 1개씩 최종 16개의 DC 계수가 생성된다.
즉, SAE 값은 입력신호와 예측신호의 차의 절대값을 합하여 획득하고, DC 계수값은 입력신호와 예측신호의 차를 합하여 획득할 수 있다.
이에 본 발명에서는 인트라 예측 동작시에 구동되는 기존의 SAE 값 계산 장치를 이용하여, 인트라 예측 동작시에 SAE값뿐 만 아니라 DC 계수값까지도 계산할 수 있도록 한다.
또한, 인트라 16×16 휘도 예측과 인트라 8×8 색도 예측은 동일한 방식으로 수행되므로, 인트라 16×16 휘도 예측을 수행하기 위한 장치는 인트라 16×16 휘도 예측 동작과 인트라 8×8 색도 예측동작 모두를 수행할 수 있다. 그리고, 인트라 16×16 휘도 예측 동작과 인트라 8×8 색도 예측동작은 도2 및 도3에 도시된 바와 같이 인트라 4×4 휘도 예측에 비해 짧은 동작 사이클을 가진다.
이에 본 발명에서는 인트라 16×16 휘도 예측을 수행하기 위한 장치를 통해 인트라 16×16 휘도 예측 동작과 인트라 8×8 색도 예측동작을 수행할 뿐 만 아니라 휘도 DC 블록(-1)과 색도 DC 블록(16, 17)의 DC 계수값 까지도 계산할 수 있도록 한다.
도4는 본 발명의 일실시예에 따른 H.264 코딩 장치의 일부 구성을 도시한 도면으로, 이는 인트라 16×16 휘도 예측과 인트라 8×8 색도 예측을 동시에 수행하기 위한 장치이다.
도4를 참조하면, 본 발명의 장치는 입력신호 메모리(100), 예측신호 생성부(200), 예측신호 선택부(300), SAE 계산부(400), 및 예측모드 선택부(500)를 포함하여 구성된다. 그리고 SAE 계산부(400)는 두 가지 타입의 제1예측부(410)와 제2 예측부(420)로 구성되고, 예측모드 선택부(500)는 최적 모드 결정부(510)와 하다마드 변환부(520)로 구성된다.
특히, 본 발명에서는 제1 예측부(410)는 기존의 SAE 계산 장치에 DC 계수값을 계산하기 위한 회로를 추가하여, SAE 값뿐만 아니라 DC 계수값을 계산할 수 있도록 구현하고, 제2 예측부(420)는 기존의 SAE 계산 장치를 이용하여 구현하도록 한다.
이하, 각 구성 요소의 기능을 설명하면 다음과 같다.
입력신호 메모리(100)는 현재 부호화를 수행할 하나의 매크록 블록에 대한 입력신호들(휘도 신호들, 색도 신호들)을 저장하고, 한 사이클당 n개(예를 들어, 4개)씩 순차적으로 출력해준다.
예측신호 생성부(200)는 상기 매크로 블록의 입력신호들 각각에 대응되는 예측모드별(즉, DC 모드, 수평 모드, 수직 모드, 평면 모드) 예측신호들을 저장하고, 예측모드별로 한 사이클당 n개씩 순차적으로 출력해준다.
예측신호 선택부(300)는 예측신호 생성부(200)로부터 출력되는 예측신호들 중에서 예측모드 선택부(500)에 의해 결정된 최적의 예측모드(Best mode)에 상응하는 n개의 예측신호들만을 선택하여 SAE 계산부(400)에 제공한다.
SAE 계산부(400)는 SAE 계산모드와 DC 계수 계산모드의 두 가지 동작 모드를 가지며, 동작 모드에 따라 그 동작을 달리해준다. 즉, SAE 계산모드시에는, 1개의 제1 예측부(410)와 3개의 제2 예측부(420)를 통해 예측모드별 SAE 값(SAE_DC, SAE_H, SAE_V, SAE_P)을 계산하고, DC 계수 계산모드시에는 제1 예측부(410)를 통해 DC 계수값을 계산한다.
예측모드 선택부(500)의 최적 모드 결정부(510)는 SAE 계산부(400)로부터 예측모드별 SAE 값(SAE_DC, SAE_H, SAE_V, SAE_P)이 전송되면, 이를 분석하여 최소의 에러값을 가지는 모드(즉, 가장 좋은 예측을 수행하는 모드)를 해당 블록의 예측모드(Best mode)로 결정한다.
예측모드 선택부(500)의 하다마드 변환부(520)는 SAE 계산부(400)로부터 DC 계수값이 전송되면, 이를 하다마드 변환한 후 TQ 및 ITIQ장치로 전송해준다. 즉, 인트라 예측 동작시에 DC 계수값을 획득 및 제공함으로써, TQ 및 ITIQ장치가 앞서 설명된 바와 같이 IQIT에 필요한 양자화된 DC 성분과 역양자화된 DC 성분을 미리 계산할 수 있도록 해준다.
도5는 본 발명의 일실시예에 따른 SAE 계산부(400)의 상세 구성을 도시한 도면이다.
도5를 참조하면, 본 발명의 SAE 계산부(400)는 1개의 제1 예측부(410)와 3개의 제2 예측부(420)로 구성된다. 그리고, 제1 예측부(410)는 4개의 뺄셈부(411), 4개의 절대값 계산부(412), 4개의 동작모드 선택부(413), 2개의 1차 덧셈부(414-1), 2차 덧셈부(414-2), 3차 덧셈부(414-3), SAE 값 출력부(415), DC 레지스터(416), DC 계수값 출력부(417)를 포함하여 구성되고, 제2 예측부(420)는 4개의 뺄셈부(411), 4개의 절대값 계산부(412), 2개의 1차 덧셈부(414-1), 2차 덧셈부(414-2), 3차 덧셈부(414-3), SAE 값 출력부(415)를 포함하여 구성된다.
즉, 본 발명은 제1 예측부(410)에 제2예측부(420)의 구성요소 이외에 4개의 동작모드 선택부(413), DC 레지스터(416), DC 계수값 출력부(417)를 추가함으로써, 인트라 예측 동작시에 SAE값 뿐 만 아니라 DC 계수값까지도 계산할 수 있도록 한다.
이하, 각 구성 요소의 기능을 살펴보면 다음과 같다.
각 뺄셈부(411)는 입력신호(org)와 예측신호(pred)의 차를 계산한다.
각 절대값 계산부(412)는 1개의 뺄셈부(411)에 연결되어, 입력신호(org)와 예측신호(pred)의 차에 대한 절대값을 구한다.
각 동작모드 선택부(413)는 1개의 뺄셈부(411)와 1개의 절대값 계산부(412)에 연결되어, 현재 동작 모드가 DC 계수 계산모드인 경우에는 뺄셈부(411)의 출력 신호를 전달하고, SAE 계산모드인 경우에는 절대값 계산부(412)의 출력 신호를 전 달한다.
이때, 모드 선택 신호(DC_cal)는 현재 동작 모드를 통보하기 위한 제어 신호로, DC 계수 계산모드시에는 제1값(예를 들어, 1)으로 설정되고, SAE 계산모드시에는 제2값(예를 들어, 0)로 설정된다.
1차 덧셈부(414-1)는 2개의 동작모드 선택부(413)의 출력 신호를 합하고, 2차 덧셈부(414-2)는 2개의 1차 덧셈부(414-1)의 출력 신호를 합하고, 3차 덧셈부(414-3)는 SAE 값 출력부(415)의 출력 신호에 2차 덧셈부(414-2)의 출력 신호를 합한다. 즉, 1차 덧셈부(414-1), 2차 덧셈부(414-2) 및 3차 덧셈부(414-3)는 다단 연결되어, 다수개의 동작모드 선택부(413)로부터 출력되는 모든 신호를 합해준다.
SAE 값 출력부(415)는 m(인트라 16×16 휘도 예측의 경우에는 16/n, 인트라 8×8 색도 예측의 경우에는 8/n)번의 사이클 동안 3차 덧셈부(414-3)로부터 출력되는 신호를 순차적으로 저장하여, 상기의 수학식1에서와 같은 하나의 매크로 블록에 대한 SAE 값을 획득하고 출력한다.
DC 레지스터(416)는 m번의 사이클 동안 3차 덧셈부(414-3)로부터 출력되는 신호를 순차적으로 저장하여, 상기의 수학식2에서와 같은 하나의 매크로 블록에 대한 DC 계수값을 획득하고 출력한다.
DC 계수값 출력부(417)는 출력 제어 신호(Sel_inpt)에 응답하여, DC 레지스터(416)에 저장된 DC 계수값을 도4의 하다마드 변환부(520)에 제공한다. 이때, DC 계수값 출력부(417)는 DC 레지스터(416)에 저장된 DC 계수값을 한번에 출력하거나, 여러 번에 걸쳐 출력해줄 수도 있다.
이때, 출력 제어 신호에 모드 선택 신호(DC_cal)는 현재 동작 모드를 통보하기 위한 제어 신호로, DC 계수 계산모드시에는 제1값(예를 들어, 1)으로 설정되고, SAE 계산모드시에는 제2값(예를 들어, 0)로 설정된다.
이하에서 도5의 SAE 계산부(400)의 동작을 설명하면 다음과 같다.
이때, 모드 선택 신호(DC_cal)가 제2값으로 설정되는 경우, 즉 SAE 계산부(400)의 동작 모드가 SAE 계산모드인 경우에는 SAE 계산부(400)는 기존에서와 동일하게 동작하므로 이에 대한 설명은 생략하기로 한다.
먼저, 인트라 16×16 휘도 예측 동작이 활성화되어, 휘도 DC 블록(-1)에 대한 4개의 입력신호(org)와 예측신호(pred)가 입력되면, 4개의 뺄셈부(411)는 이들의 차를 계산하고, 4개의 절대값 계산부(412)는 상기 계산된 차에 대한 절대값을 구한다.
이러한 상태에서 모드 선택 신호(DC_cal)가 제1값으로 설정되면, 4개의 동작모드 선택부(413)는 4개의 뺄셈부(411)의 출력 신호를 선택하여 뒷단으로 전달한다.
이에 4개의 뺄셈부(411)의 출력 신호, 즉 입력신호(org)와 예측신호(pred)의 차는 1차 내지 3차 덧셈부(414-1,414-2,414-3)를 거치면서 더해진 후(x00 + x01 + x02 + x03), DC 레지스터(416)에 저장된다.
이러한 동작은 새로운 동작 사이클이 되어, 새로운 4개의 입력신호(org)와 예측신호(pred)이 입력될 때 마다 반복 수행되고, DC 레지스터(416)에는 '(x10 + x11 + x12 + x13)', '(x20 + x21 + x22 + x23)', '(x30 + x31 + x32 + x33)'가 추가 저장된다.
그 결과, DC 레지스터(416)에는 4번의 동작 사이클에 걸쳐 수학식2과 같은 휘도 DC 블록(-1)의 DC 계수값이 저장되고, DC 계수값 출력부(417)는 이를 출력해준다.
또한, 인트라 8×8 색도 예측동작이 활성화되어, 색도 DC 블록(16, 17)에 대한 4개의 입력신호(org)와 예측신호(pred)가 입력될 때 마다, 앞서 설명된 바와 같이 4개의 뺄셈부(411)는 이들의 차를 계산하고, 4개의 절대값 계산부(412)는 상기 계산된 차에 대한 절대값을 구한다.
모드 선택 신호(DC_cal)가 제1값으로 설정된 경우에는, 4개의 동작모드 선택부(413)는 4개의 뺄셈부(411)의 출력 신호를 선택하고, 1차 내지 3차 덧셈부(414-1,414-2,414-3)는 이들 모두를 더하여 출력한다(x00 + x01 + x02 + x03). 그리고 DC 레지스터(416)와 DC 계수값 출력부(417)는 1차 내지 3차 덧셈부(414-1,414-2,414-3)를 통해 더해진 출력 신호를 색도 DC 블록(16, 17)의 DC 계수값으로써 출력해준다.
이와 같이 본 발명에서는 SAE 계산부(400)에 구비되는 다수개의 예측부 중 어느 하나(예를 들어, 410)에 DC 계수값을 계산하기 위한 회로를 추가하여, 인트라 예측 동작시에 휘도 DC 블록(-1) 및 색도 DC 블록 (16, 17)의 DC 계수값을 미리 계산할 수 있도록 해준다.
이에 TQ 및 ITIQ장치는 SAE 계산부(400)로부터 DC 계수값을 미리 제공받아, 휘도 AC 블록(0~15) 및 색도 AC 블록 (18~25)의 정수 DCT 동작과 상관없이 IQIT동 작에 필요한 양자화된 DC 성분(DC(Y), DC(cb), DC(cr))과 역양자화된 DC 성분(IDC(Y), DC(cb), IDC(cr))을 미리 계산할 수 있게 된다.
그 결과, 본 발명에 따른 IQIT 동작이 휘도 AC 블록(0~15)에 대한 정수 DCT 및 TQ가 완료되자마자 수행 가능해질 뿐 만 아니라, TQ/IQIT 동작이 휘도 AC 블록(0~15), 채도 AC 블록(18~25)에 대해서만 수행되므로 TQ 및 IQIT의 동작 속도 또한 향상된다.
상기의 실시예에서는 한 사이클당 4개의 입력신호와 예측신호가 입력되고, 제1 및 제2 예측부에는 4개의 뺄셈부, 4개의 절대값 계산부, 및 4개의 동작모드 선택부가 구비된다고 설명하였지만, 이는 필요에 따라 능동적으로 가변될 수 있다.
예를 들어, 사이클당 8개의 입력신호와 예측신호가 입력되고, 제1 및 제2 예측부에는 8개의 뺄셈부, 8개의 절대값 계산부, 및 8개의 동작모드 선택부가 구비되거나, 사이클당 16개의 입력신호와 예측신호가 입력되고, 제1 및 제2 예측부에는 16개의 뺄셈부, 16개의 절대값 계산부, 및16개의 동작모드 선택부가 구비될 수 도 있다.
이상에서 설명한 본 발명은 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경할 수 있다는 것은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 당업자에게 있어 명백할 것이다.
도1은 인트라 16×16 휘도 예측에 따른 입력 영상 부호화시, 매크로 블록내의 데이터의 전송 순서를 도시한 도면이다.
도2은 종래의 기술에 따른 인트라 16×16 휘도 예측에 따른 입력 영상 코딩 방법을 설명하기 위한 도면이다.
도3은 본 발명의 일실시예에 따른 인트라 16×16 휘도 예측에 따른 입력 영상 코딩 방법을 설명하기 위한 도면이다.
도4는 본 발명의 일실시예에 따른 H.264 코딩 장치의 일부 구성을 도시한 도면이다.
도5는 본 발명의 일실시예에 따른 SAE 계산부의 상세 구성을 도시한 도면이다.
Claims (10)
- 입력신호와 예측신호의 차를 계산하는 다수개의 뺄셈부;상기 다수개의 뺄셈부에 의해 계산된 입력신호와 예측신호의 차에 대한 절대값을 계산하는 다수개의 절대값 계산부;DC 계수 계산모드시에는 상기 다수개의 뺄셈부의 출력 신호를 선택하고, SAE(Sum of Absolute Error) 계산모드시에는 상기 다수개의 절대값 계산부의 출력 신호를 선택하여 출력하는 다수개의 동작모드 선택부;상기 다수개의 동작모드 선택부의 출력 신호를 모두 합하는 덧셈부;상기 덧셈부의 출력 신호로부터 하나의 매크로 블록에 대한 SAE 값을 획득하여 출력하는 SAE 값 출력부; 및상기 덧셈부의 출력 신호로부터 하나의 매크로 블록에 대한 DC 계수값을 획득하여 출력하는 DC 계수값 출력부를 포함하는 SAE 계산 장치.
- 제1항에 있어서, 상기 DC 계수값 출력부는다수번의 사이클 동안 상기 덧셈부로부터 출력되는 신호를 순차적으로 저장하여, 상기 DC 계수값을 획득하는 DC 레지스터; 및상기 DC 레지스터에 저장된 DC 계수값을 하다마드 변환부에 제공하는 DC 계수값 출력부를 포함하는 것을 특징으로 하는 SAE 계산 장치.
- 제1항에 있어서, 상기 DC 레지스터는인트라 16×16 휘도 예측모드시 입력신호와 예측신호가 n(n은 자연수)개씩 입력되면, '16/n'번의 사이클 동안 상기 덧셈부로부터 출력되는 신호를 순차적으로 저장하여 상기 DC 계수값을 획득하고,인트라 8×8 색도 예측모드시 입력신호와 예측신호가 n개씩 입력되면, '8/n'번의 사이클 동안 상기 덧셈부로부터 출력되는 신호를 순차적으로 저장하여 상기 DC 계수값을 획득하는 것을 특징으로 하는 SAE 계산 장치.
- 삭제
- 삭제
- 하나의 매크로 블록에 대한 입력신호들을 저장하는 입력신호 메모리;상기 입력신호들 각각에 대응되는 예측신호들을 제공하는 예측신호 제공부;SAE 계산모드시에는 상기 입력신호들과 상기 예측신호들로부터 예측모드별 SAE 값을 계산하고, DC 계수 계산모드시에는 상기 입력신호들과 상기 예측신호들의 차를 모두 합한 신호로부터 상기 하나의 매크로 블록에 대한 DC 계수값을 계산하는 SAE 계산부; 및상기 SAE 계산부가 예측모드별 SAE 값을 계산하면, 상기 예측모드별 SAE 값을 분석하여 최적의 예측모드를 결정하고, 상기 SAE 계산부가 DC 계수값을 계산하면, 상기 DC 계수값을 하다마드 변환하여 TQ(Transform and Quantization) 및 IQIT(Inverse Quantization and Inverse Transform) 장치에 제공하는 예측모드 선택부를 포함하고,상기 SAE 계산부는다수개의 예측모드들 중에서 하나의 예측모드에 대응되며, SAE 계산모드시에는 상기 입력신호들과 상기 예측신호들로부터 상기 하나의 예측모드의 SAE 값을 계산하고 DC 계수 계산모드시에는 상기 입력신호들과 상기 예측신호들로부터 DC 계수값을 계산하는 제1예측부; 및다수개의 예측모드들 중에서 하나의 예측모드를 제외한 나머지 예측모드들 각각에 대응되며, 상기 입력신호들과 상기 예측신호들로부터 상기 나머지 예측모드들의 SAE 값을 각각 계산하는 소정개의 제2예측부를 포함하며,상기 제1예측부는상기 입력신호와 상기 예측신호의 차를 계산하는 다수개의 뺄셈부;상기 다수개의 뺄셈부에 의해 계산된 입력신호와 예측신호의 차에 대한 절대값을 계산하는 다수개의 절대값 계산부;DC 계수 계산모드시에는 상기 다수개의 뺄셈부의 출력 신호를 선택하고, SAE 계산모드시에는 상기 다수개의 절대값 계산부의 출력 신호를 선택하여 출력하는 다수개의 동작모드 선택부;상기 다수개의 동작모드 선택부의 출력 신호를 모두 합하는 덧셈부;상기 덧셈부의 출력 신호로부터 하나의 매크로 블록에 대한 SAE 값을 획득하여 출력하는 SAE 값 출력부; 및상기 덧셈부의 출력 신호로부터 하나의 매크로 블록에 대한 DC 계수값을 획득하여 출력하는 DC 계수값 출력부를 포함하는 것을 특징으로 하는 H.264 코딩 장치.
- 제6항에 있어서, 상기 DC 계수값 출력부는다수번의 사이클 동안 상기 덧셈부로부터 출력되는 신호를 순차적으로 저장하여, 상기 DC 계수값을 획득하는 DC 레지스터; 및상기 DC 레지스터에 저장된 DC 계수값을 상기 예측모드 선택부에 제공하여 하다마드 변환되도록 하는 DC 계수값 출력부를 포함하는 것을 특징으로 하는 H.264 코딩 장치.
- 제6항에 있어서, 상기 DC 레지스터는인트라 16×16 휘도 예측모드시 입력신호와 예측신호가 n(n은 자연수)개씩 입력되면, '16/n'번의 사이클 동안 상기 덧셈부로부터 출력되는 신호를 순차적으로 저장하여 상기 DC 계수값을 획득하고,인트라 8×8 색도 예측모드시 입력신호와 예측신호가 n개씩 입력되면, '8/n'번의 사이클 동안 상기 덧셈부로부터 출력되는 신호를 순차적으로 저장하여 상기 DC 계수값을 획득하는 것을 특징으로 하는 H.264 코딩 장치.
- 제6항에 있어서, 상기 예측모드 선택부는상기 SAE 계산부가 예측모드별 SAE 값을 계산하면, 상기 예측모드별 SAE 값을 분석하여 최적의 예측모드를 결정하는 최적 모드 결정부; 및상기 SAE 계산부가 DC 계수값을 계산하면, 상기 DC 계수값을 하다마드 변환하는 하다마드 변환부를 포함하는 것을 특징으로 하는 H.264 코딩 장치.
- 제9항에 있어서, 상기 예측신호 제공부는상기 입력신호들 각각에 대응되는 예측모드별 예측신호들을 저장하고, 예측모드별로 한 사이클당 n(n은 자연수)개씩 순차적으로 출력하는 예측신호 생성부; 및상기 예측신호 생성부로부터 출력되는 예측신호들 중에서 최적의 예측모드에 상응하는 n개의 예측신호들만을 선택하여 상기 SAE 계산부에 제공하는 예측신호 선택부를 포함하는 것을 특징으로 하는 H.264 코딩 장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20080125839 | 2008-12-11 | ||
KR1020080125839 | 2008-12-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100067586A KR20100067586A (ko) | 2010-06-21 |
KR101127963B1 true KR101127963B1 (ko) | 2012-03-26 |
Family
ID=42366234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090031779A KR101127963B1 (ko) | 2008-12-11 | 2009-04-13 | Sae 계산 장치 및 그를 포함하는 h.264 코딩 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101127963B1 (ko) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070029450A (ko) * | 2005-09-09 | 2007-03-14 | 삼성전자주식회사 | 영상의 부호화 및 복호화 장치와, 그 방법, 및 이를수행하기 위한 프로그램이 기록된 기록 매체 |
JP2008271127A (ja) | 2007-04-19 | 2008-11-06 | Nec Electronics Corp | 符号化装置 |
-
2009
- 2009-04-13 KR KR1020090031779A patent/KR101127963B1/ko not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070029450A (ko) * | 2005-09-09 | 2007-03-14 | 삼성전자주식회사 | 영상의 부호화 및 복호화 장치와, 그 방법, 및 이를수행하기 위한 프로그램이 기록된 기록 매체 |
JP2008271127A (ja) | 2007-04-19 | 2008-11-06 | Nec Electronics Corp | 符号化装置 |
Also Published As
Publication number | Publication date |
---|---|
KR20100067586A (ko) | 2010-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101356818B (zh) | 图像编码/解码方法和设备 | |
US9743088B2 (en) | Video encoder and video encoding method | |
US9118921B2 (en) | Image encoding/decoding method and device | |
JP2024012476A (ja) | ビデオデコーディングのための方法、装置、媒体、およびプログラム | |
RU2336663C1 (ru) | Способ и устройство кодирования и декодирования цветных изображений с помощью корреляции между составляющими сигнала цветности | |
CN101507277B (zh) | 图像编码/解码方法和设备 | |
CN101385347B (zh) | 视频帧内预测编码/解码的装置与方法 | |
KR101210528B1 (ko) | 인터 또는 인트라 모드에서 비디오 화상을 코딩하기 위한 방법 및 디바이스 | |
KR102003180B1 (ko) | 암호화 방법 및 복호 방법 | |
JP4924904B2 (ja) | データフレームのシーケンスの効率的な符号化/復号 | |
US7995659B2 (en) | Prediction module | |
WO2008004768A1 (en) | Image encoding/decoding method and apparatus | |
KR20120116936A (ko) | 영상 블록 코딩 및 재구성 방법 | |
JP2009218742A (ja) | 画像符号化装置 | |
US20100091860A1 (en) | System and method for low-latency processing of intra-frame video pixel block prediction | |
CN102007770B (zh) | 切分成线性形式的像素分区的图像或图像序列的编码和解码 | |
JP4074868B2 (ja) | 画像符号化制御方法及びその装置 | |
US20100040143A1 (en) | Video coding apparatus and method | |
JP2009089267A (ja) | イントラ予測符号化装置、イントラ予測符号化方法及びプログラム | |
TWI825751B (zh) | 視訊編碼方法和裝置 | |
KR101127963B1 (ko) | Sae 계산 장치 및 그를 포함하는 h.264 코딩 장치 | |
US20060227874A1 (en) | System, method, and apparatus for DC coefficient transformation | |
JP2007266861A (ja) | 画像符号化装置 | |
JP2006237765A (ja) | 画像符号化装置 | |
JP5872929B2 (ja) | 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
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: 20150312 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160311 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |