KR100640877B1 - 이동형 방송 수신기의 비디오 디코딩 장치 - Google Patents
이동형 방송 수신기의 비디오 디코딩 장치 Download PDFInfo
- Publication number
- KR100640877B1 KR100640877B1 KR1020040093978A KR20040093978A KR100640877B1 KR 100640877 B1 KR100640877 B1 KR 100640877B1 KR 1020040093978 A KR1020040093978 A KR 1020040093978A KR 20040093978 A KR20040093978 A KR 20040093978A KR 100640877 B1 KR100640877 B1 KR 100640877B1
- Authority
- KR
- South Korea
- Prior art keywords
- value
- unit
- idct
- luminance
- signal
- 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
- H04H—BROADCAST COMMUNICATION
- H04H20/00—Arrangements for broadcast or for distribution combined with broadcast
- H04H20/53—Arrangements specially adapted for specific applications, e.g. for traffic information or for mobile receivers
- H04H20/57—Arrangements specially adapted for specific applications, e.g. for traffic information or for mobile receivers for mobile receivers
-
- 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/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
- H04N19/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- 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/129—Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
-
- 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/186—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 a colour or a chrominance component
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/625—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Color Television Systems (AREA)
Abstract
본 발명은 이동형 방송 수신기에서 H.264 규격의 비디오 디코더에 관한 것이다. 특히 본 발명은 단일 데이터 패스를 통하여 휘도 DC/AC, 색차 DC/AC의 역 지그재그 스캔, 역양자화, IDCT를 수행하여 런, 레벨 값으로부터 차 영상을 만들어낸다. 즉 디코딩할 신호가 DC 값이면 역스캔부, IDCT부를 거쳐 레지스터에 저장되고, 디코딩할 신호가 AC 값이면 상기 AC 값이 레지스터에 저장된 DC 값과 함께 역양자화기, 역스캔부, IDCT부를 거쳐 디코딩되어 차영상을 생성하는 것을 특징으로 한다. 이때 DC와 AC에 대해 역양자화 블록을 공유함으로써, 하드웨어 리소스를 줄일 수 있다.
H.264, 공유 역양자화기, AC, DC
Description
도 1은 본 발명에 따른 이동형 방송 수신기의 비디오 디코딩 장치의 구성 블록도
도 2는 일반적인 지그재그 스캔의 인덱스와 실제 인덱스와의 차이를 보여주는 도면
도 3은 본 발명의 휘두 16x16 블록중 4x4 블록 인덱스와 실제 4x4의 기본 인덱스와의 차이를 보여주는 도면
도 4는 도 1의 비디오 디코딩 장치에서 휘도 DC의 데이터 흐름을 보인 도면
도 5는 도 1의 비디오 디코딩 장치에서 휘도 AC의 데이터 흐름을 보인 도면
도 6은 도 1의 비디오 디코딩 장치에서 색차 DC의 데이터 흐름을 보인 도면
도 7은 도 1의 비디오 디코딩 장치에서 색차 AC의 데이터 흐름을 보인 도면
도 8은 도 1의 비디오 디코딩 장치에서 셔플링 과정을 보인 도면
도면의 주요부분에 대한 부호의 설명
111 : 런 신호 입력부 112 : 위치 계산부
113 : 레벨 신호 입력부 114,117,120,121,123 : 선택부
115,124 : 역스캔부 116,125 : IDCT부
118,119 : 레지스터 122 : 공유 역양자화기
126 : 셔플부
본 발명은 이동형 방송 수신기에 관한 것으로, 보다 상세하게는 H.264 규격의 비디오 디코더에 관한 것이다.
요즘 새롭게 부상하고 있는 지상파 및 위성 디지털 멀티미디어 방송(DMB)의 비디오 압축 규격은 H.264이다.
상기 H.264는 차세대 MPEG-4 표준기술로서 통상 AVC(Advanced Video Coding)이라고 하며 MPEG-4 Part 10 또는 MPEG-4 AVC라고 한다. 이러한 H.264는 DMB와 같은 이동형 방송 수신기나 차세대 DVD에 사용될 압축방식이다.
그리고 H.264 방식으로 압축 코딩되어 전송된 신호를 디코딩하는 DMB 수신기의 비디오 디코더에서는 4가지 종류의 신호에 대해 디코딩을 수행한다. 즉 휘도 DC(Luma DC), 휘도 AC(Luma AC), 색차 DC(Chroma DC), 색차 AC(Chroma AC)이다. 이때 각 신호의 디코딩은 조금씩 다른 순서와 수식을 사용하지만, 기본적으로 수행해야 할 알고리즘은 역 지그재그 스캔(inverse zigzag scan ; IS), 역양자화(Dequantization ; DQ), 역DCT(Inverse Discrete Cosine Transform ; IDCT)이다.
단지 DC 값은 IDCT 후에 역양자화를 수행하는데 반해, AC 값은 역양자화 후에 IDCT를 수행한다. 이때 AC 값을 디코딩하려면 DC 값이 필요하다. 따라서 IDCT 및 역양자화된 DC 값은 AC 디코딩을 위해 AC용 디코더로 피드백된다.
그런데 종래에는 DC와 AC 디코딩을 위한 데이터 패스가 분리되어 있었다.
즉, 비디오 디코더에는 DC용 디코더와 AC용 디코더가 각각 구비되고, DC용 디코더와 AC용 디코더에는 IDCT와 역양자화기가 각각 구성되어 있다.
이때 상기 DC용 디코더에서는 휘도 DC 값의 경우엔 16x16 단위로, 색차 DC 값의 경우엔 8x8 단위로 역 지그재그 스캔과 IDCT, 및 역양자화를 순차적으로 수행하여 저장한다. 이에 반해 AC용 디코더에서는 4x4 단위로 상기 DC용 디코더에서 피드백된 DC값과 AC 값에 대해 역 지그재그 스캔, 역양자화, 및 IDCT를 순차적으로 수행하여 최종 4x4의 차 영상을 만들어낸다.
따라서 종래의 비디오 디코더는 H/W가 복잡하고, 또한 H/W 리소스가 많아져 비용이 상승하는 문제점이 있었다.
본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 비디오 디코더의 일부 블록을 공유하도록 함으로써, H/W 리소스를 줄이는 비디오 디코더를 제공하는 것이다.
본 발명의 다른 목적은 비디오 디코더의 역양자화기 블록을 DC와 AC가 공유하도록 함으로써, H/W 리소스를 줄이는 비디오 디코더를 제공하는 것이다.
상기 목적을 달성하기 위하여, 본 발명은 런-레벨 쌍의 런 값을 입력받아 IDCT 단위의 NxN 블록에서 레벨 값의 위치를 계산하는 위치 계산부; 저장부를 구비 하고, 상기 위치 계산부에서 계산된 위치를 참조하여 입력되는 런-레벨 쌍의 레벨 값 또는 역양자화된 값을 라스터 스캔 방식으로 저장하여 출력하는 역스캔부; 상기 역스캔부에서 출력되는 NxN 블록의 신호에 대해 IDCT를 수행하는 IDCT부; 상기 IDCT된 NxN 블록의 신호가 DC를 나타내는 레벨 값이면 이를 저장하는 레지스터; 및 AC 값 디코딩시, 상기 레지스터에 저장된 해당 DC값을 입력받아 역양자화하고 이어 런-레벨 쌍의 레벨 값인 AC 값을 입력받아 역양자화를 수행하는 공유 역양자화기를 포함하여 구성되며, 상기 공유 역양자화기의 출력은 상기 역스캔부, IDCT부를 거쳐 차 영상(Residual)으로 만들어져 최종 출력되는 것을 특징으로 한다.
바람직하게는 디코딩할 신호가 DC 값이면 역스캔부, IDCT부를 거쳐 레지스터에 저장되고, 디코딩할 신호가 AC 값이면 상기 AC 값이 레지스터에 저장된 DC 값과 함께 역양자화기, 역스캔부, IDCT부를 거쳐 디코딩되어 차영상을 생성하는 것을 특징으로 한다.
바람직하게는 상기 역스캔부는 휘도 DC/AC, 색차 AC는 4x4 단위로 역 지그재그 스캔을 수행하여 저장하고, 색차 DC는 2x2 단위로 저장하는 것을 특징으로 한다.
본 발명의 다른 실시 형태에 의하면, 본 발명은 런-레벨 쌍의 런 값을 입력받아 IDCT 단위의 4x4 블록에서 레벨 값의 위치를 계산하는 위치 계산부; 저장부를 구비하고, 상기 위치 계산부에서 계산된 위치를 참조하여 입력되는 런-레벨 쌍의 레벨 값 또는 역양자화된 값을 라스터 스캔 방식으로 저장하여 출력하는 역스캔부; 상기 역스캔부에서 출력되는 휘도 DC/AC, 색차 AC 값에 대해 4x4 단위로 IDCT를 수 행하는 제1 IDCT부; 상기 역스캔부에서 출력되는 신호에 대해 색차 DC 값에 대해 2x2 단위로 IDCT를 수행하는 제2 IDCT부; 상기 제1 IDCT부에서 IDCT된 4x4 블록의 신호가 휘도 DC를 나타내는 레벨 값이면 이를 저장하는 제1 레지스터; 상기 제2 IDCT부에서 IDCT된 2x2 블록의 신호가 색차 DC를 나타내는 레벨 값이면 이를 저장하는 제2 레지스터; 및 AC 값 디코딩시, 상기 제1 또는 제2 레지스터에 저장된 해당 DC값을 입력받아 역양자화하고 이어 런-레벨 쌍의 레벨 값인 AC 값을 입력받아 역양자화를 수행하는 공유 역양자화기를 포함하여 구성되며, 상기 공유 역양자화기의 출력은 상기 역스캔부, 제1 IDCT부를 거쳐 휘도 및 색차 신호의 차 영상(Residual)으로 만들어져 최종 출력되는 것을 특징으로 한다.
바람직하게는 디코딩할 신호가 휘도 DC 값이면 역스캔부, 제1 IDCT부를 거쳐 제1 레지스터에 저장되고, 디코딩할 신호가 휘도 AC 값이면 상기 휘도 AC 값이 제1 레지스터에 저장된 휘도 DC 값과 함께 역양자화기, 역스캔부, 제1 IDCT부를 거쳐 디코딩되어 차영상을 생성하는 것을 특징으로 한다.
바람직하게는 디코딩할 신호가 색차 DC 값이면 역스캔부, 제2 IDCT부를 거쳐 제2 레지스터에 저장되고, 디코딩할 신호가 색차 AC 값이면 상기 색차 AC 값이 제2 레지스터에 저장된 색차 DC 값과 함께 역양자화기, 역스캔부, 제1 IDCT부, 및 셔플부를 거쳐 디코딩되어 차영상을 생성하는 것을 특징으로 한다.
본 발명의 다른 목적, 특징 및 잇점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.
이하 상기의 목적을 구체적으로 실현할 수 있는 본 발명의 바람직한 실시예 를 첨부한 도면을 참조하여 설명한다. 이때 도면에 도시되고 또 이것에 의해서 설명되는 본 발명의 구성과 작용은 적어도 하나의 실시예로서 설명되는 것이며, 이것에 의해서 상기한 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.
본 발명은 H.264 방식으로 압축 코딩된 비디오 신호를 디코딩할 때 DC 및 AC 값에 대해 하나의 데이터 패스로 디코딩을 수행하도록 하는데 있다.
이를 위해 본 발명은 먼저, 휘도 DC 값의 경우엔 16x16 단위로, 색차 DC 값의 경우엔 8x8 단위로 역 지그재그 스캔과 IDCT만을 수행하여 저장한다. 그리고 4x4 단위로 차 영상(Residual)을 생성할 때 AC 값과 함께 IDCT되어 저장된 DC 값에 대해 역양자화, IDCT를 순차적으로 수행하도록 함으로써, 역양자화 블록을 공유할 수 있다.
도 1은 이를 하드웨어로 구현한 본 발명에 따른 H.264 비디오 디코더의 구성 블록도이다.
도 1을 보면 H.264 비디오 디코더는 런 신호 입력부(111), 위치 계산부(112), 레벨 신호 입력부(113), 제1, 제2 역스캔부(115,124), 제1,제2 IDCT부(116,125), 제1,제2 레지스터(118,119), 색차 신호를 위한 셔플부(126), 및 공용 역양자화기(122)를 포함하여 구성된다.
상기 H.264 비디오 디코더는 휘도 DC값 디코딩인지, 휘도 AC값 디코딩인지에 따라 레벨 신호 입력부(113)에서 출력되는 휘도 DC 값 또는 역양자화된 휘도 DC/AC 값 중 하나를 선택하여 제1 역스캔부(115)로 출력하는 제1 선택부(114)를 더 포함하여 구성된다. 또한 상기 제1 선택부(114)는 색차 AC값 디코딩인 경우 역양자화된 색차 DC/AC 값을 선택하여 제1 역스캔부(115)로 출력한다.
상기 H.264 비디오 디코더는 색차 DC값 디코딩인지, 색차 AC값 디코딩인지에 따라 레벨 신호 입력부(113)에서 출력되는 색차 DC 값 또는 역양자화된 색차 AC 값 중 하나를 선택하여 제2 역스캔부(124)로 출력하는 제2 선택부(123)를 더 포함하여 구성된다.
상기 H.264 비디오 디코더는 휘도 신호 디코딩인지, 색차 신호 디코딩인지에 따라 제1, 제2 레지스터(118,119)의 출력 중 하나를 선택 출력하는 제3 선택부(120)를 더 포함하여 구성된다.
상기 H.264 비디오 디코더는 AC값 디코딩시 역양자화할 값이 AC인지 DC인지에 따라 레벨 신호 입력부(113)에서 출력되는 AC 값 또는 제3 선택부(120)에서 출력되는 DC 값을 선택하여 공용 역양자화기(122)로 출력하는 제4 선택부(121)를 더 포함하여 구성된다.
상기 H.264 비디오 디코더는 휘도 신호 디코딩인지, 색차 신호 디코딩인지에 따라 제1 IDCT부(116)에서 IDCT된 휘도 신호 또는 셔플부(126)에서 셔플링된 색차 신호를 선택하여 최종적으로 출력하는 제5 선택부(117)를 더 포함하여 구성된다.
이와 같이 구성된 본 발명의 H.264 비디오 디코더로 입력되는 신호는 가변 길이 디코더(도시되지 않음)에서 DCT 계수가 런-레벨(run-level)로 디코딩된 신호이다.
즉, 하나의 DCT 블록은 8×8의 계수들로 이루어져 있는데 이들 중 0이 아닌 계수들만 코드속에 들어있으므로 H.264 비디오 디코더로 입력되는 신호는 0이 아닌 계수들의 크기, 즉 레벨과 이 계수들 사이에 0이 얼마나 삽입되어 있는지에 대한 런으로 이루어진다. 예를 들어, 64개의 DCT 계수 중 첫번째 계수가 10이고 4번째 계수가 3이며, 두 번째, 세 번째 계수가 0이면 즉 10, 0, 0, 3이면, 런-레벨 쌍은 각각 (0,10)(2,3)이 된다.
이때 런 신호 입력부(111)에는 런-레벨 쌍 중 런에 해당되는 신호가 입력되고, 레벨 신호 입력부(113)에는 런-레벨 쌍 중 레벨에 해당하는 신호가 입력된다.
상기 런 신호 입력부(111)로 입력된 런 신호는 위치 계산부(112)로 입력된다. 상기 위치 계산부(112)는 런-레벨 쌍의 레벨 값이 4x4 블록의 16개의 계수 중 몇 번째 계수인가를 나타내는 인덱스를 계산하여 제1 역스캔부(115)로 출력한다.
즉 DCT 계수는 런-레벨 코드의 효율을 높이기 위해 송신측에서 지그재그 스캔(zigzag scan) 방식으로 양자화되었으므로, 상기 제1 역스캔부(115)는 이들을 라스터 스캔 방식으로 바꾸어주는 역스캔(Inverse Scan ; IS)을 수행한다.
이를 위해 상기 제1 역스캔부(115)는 메모리와 어드레스 발생부로 이루어지며, 상기 어드레스 발생부는 상기 위치 계산부(112)의 인덱스를 역 지그재그 스캔 방식의 라이트 어드레스로 변환하여 레벨 신호 입력부(113)에서 출력되는 레벨 값을 상기 메모리에 쓴다. 즉 역 지그재그 스캔은 런, 레벨 값에 따라 수행되며, 이때 인덱스의 변환이 필요하다.
도 2는 제1 역스캔부(115)에서 휘도 신호의 역스캔 과정을 설명하기 위한 도면이다. 도 2는 송신측에서 지그재그 스캔에 의해 왼쪽과 같은 인덱스로 변환되었던 것을 역지그재그 스캔에 의해 오른쪽과 같이 실제 인덱스로 변환해야 함을 나타 낸다. 즉, 위치 계산부(112)에서 계산된 인덱스를 도 2의 오른쪽처럼 바꾸어서 레벨 값을 4x4 형태로 저장해야 한다. 상기 제1 역스캔부(115)는 도 2의 인덱스대로 4x4 블록의 레벨 값을 00부터 33까지 채운 후, 제1 IDCT부(116)로 출력하여 IDCT를 수행한다.
즉 휘도 신호는 제1 역스캔부(115)에서 4x4 단위로 역 지그재그 스캔이 수행된 후 제1 IDCT부(116)에서 4x4 단위로 IDCT된다.
그리고 휘도 DC, 휘도 AC, 색차 DC, 색차 AC 이 네 가지 경우 모두 비디오 디코딩이 수행되는 방식이 약간씩 다르므로, 도 4 내지 도 8의 비디오 디코딩 장치를 참조하여 각각의 경우에 대한 디코딩 과정을 설명한다.
즉, 휘도 DC인 경우 4x4 블록에서 DC값은 한 개이므로, 16x16 블록에서 16개의 휘도 DC값이 존재하며, 이 16개의 휘도 DC 값에 대한 각 런-레벨 쌍의 런 값과 레벨 값은 런 신호 입력부(111)와 레벨 신호 입력부(113)로 입력된다. 이때 DC의 경우 IDCT 후에 역양자화를 수행한다.
상기 런 신호 입력부(111)로 입력된 런 값은 위치 계산부(112)로 출력되고, 상기 위치 계산부(112)는 입력되는 런-레벨 쌍의 레벨 값이 4x4 블록에서 어느 위치에 해당하는지를 나타내는 인덱스 값을 런 값으로부터 계산하여 제1 역스캔부(115)로 출력한다.
상기 제1 역스캔부(115)는 위치 계산부(112)에서 알아낸 16개 값의 순서를 오른쪽의 라스터(raster) 스캔 방식으로 바꾸어서 16개의 휘도 DC 값 즉, 레벨 값을 00부터 33까지 4x4 형태로 저장한 후 라스터 스캔 방식으로 제1 IDCT부(116)로 출력한다.
이때 상기 제1 역스캔부(115)에서 출력되는 휘도 DC 값은 바로 역양자화를 수행해도 되지만, 역양자화기를 AC와 공유하기 위해 일단 휘도 DC값에 대한 역양자화는 생략하고 제1 IDCT부(116)에서 4x4 휘도 DC 값에 대한 IDCT를 먼저 수행한다.
상기 제1 IDCT부(116)에서 IDCT된 4x4 휘도 DC 값은 제 1 레지스터(118)에 저장된다. 상기 제1 레지스터(118)는 적어도 16개의 IDCT된 휘도 DC 값을 저장할 수 있는 4x4 크기를 갖는다.
상기 제1 레지스터(118)에 저장된 휘도 DC 값의 역양자화는 휘도 AC를 역양자화할 때 함께 이루어진다. 이는 AC 값의 디코딩에는 DC 값이 필요하기 때문이다. 즉 공유 역양자화기(122)에서 4x4 블록 단위로 휘도 AC를 역양자화할 때 (0,0) 위치에서는 제1 레지스터(118)에 저장된 휘도 DC 값을 읽어와 역양자화를 수행하고, 나머지 위치에서는 레벨 신호 입력부(113)로 입력되는 레벨 값 즉, 휘도 AC 값에 대해 역양자화를 수행한다.
이를 위해 제3, 제4 선택부(120,121)가 필요하다. 상기 제3 선택부(120)는 현재 역양자화를 수행할 신호가 휘도 신호이면 제1 레지스터(118)에 저장된 휘도 DC 값을 선택하고, 색차 신호이면 제2 레지스터(119)에 저장된 색차 DC 값을 선택하여 제4 선택부(122)로 출력한다. 상기 제4 선택부(121)는 현재 양자화를 수행할 신호가 DC이면 상기 제 3 선택부(120)에서 출력되는 DC값을, AC이면 레벨 신호 입력부(113)로 입력된 레벨 값을 선택하여 공유 역양자화기(122)로 출력한다.
이때 휘도 DC 값이 저장된 4x4 레지스터(118)의 인덱스와 휘도 AC가 16x16 블록 중 어느 4x4 블록에 속하는지를 알려주는 인덱스가 다르므로 인덱스의 변환이 필요하다.
도 3의 왼쪽 인덱스는 16x16 블록을 4x4 블록 16개로 나누었을 때 각 4x4 블록을 가리키는 인덱스를 나타내고 오른쪽은 실제 인덱스를 나타낸다. 즉, 런과 레벨 값이 어느 4x4 블록에 속하는지 알려주는 인덱스가 왼쪽 4x4 블록에서 2라면, 실제로는 오른쪽 4x4 블록에서 4에 해당되는 런, 레벨 값임을 알 수 있다. 위와 같은 인덱스에 따라 제1 레지스터(118)에 미리 저장된 4x4 휘도 DC 값을 4x4 휘도 AC의 차영상 계산시 하나씩 읽어서 역양자화를 수행하고, 나머지 15개의 역양자화된 휘도 AC값과 함께 제1 IDCT부(116)에서 IDCT하면 된다. 만일, 16x16 블록이 인트라 모드(intra mode)가 아닐 경우에는 휘도 AC를 계산할 때 휘도 DC값은 사용되지 않는다.
도 4는 지금까지 설명한 휘도 DC의 디코딩 과정을 도 1의 비디오 디코더에서 데이터 흐름으로 나타낸 도면으로서, 굵은 화살표를 이용하여 그 흐름을 표시하고 있다.
즉 레벨 신호 입력부(113)로 입력된 휘도 DC 값은 제1 역스캔부(115)에서 라스터 방식으로 역스캔되고, 제1 IDCT부(116)에서 IDCT된 후 제1 레지스터(118)로 피드백되어 저장된다.
한편 휘도 AC 값은 역 양자화, 역 지그재그 스캔, 및 IDCT가 순차적으로 수행된다.
도 5는 상기 휘도 AC 값의 디코딩 과정을 도 1의 비디오 디코더에서 데이터 흐름으로 나타낸 도면이다.
이때 16x16 블록이 인트라 모드이면 현재 4x4 블록의 휘도 DC 값을 제3,제4 선택부(120,121)를 통해 제1 레지스터(118)에서 읽어 와 공유 역양자화기(122)에서 역양자화를 수행한 후 제1 역스캔부(115)로 출력한다. 이어 레벨 신호 입력부(113)로 입력되는 레벨 값 즉, 휘도 AC 값을 제4 선택부(121)를 통해 입력받아 공유 역양자화기(122)에서 역양자화를 수행한 후 제1 역스캔부(115)로 출력한다. 상기 제1 역스캔부(115)는 역양자화된 휘도 DC 값은 00 위치에 라이트하고, 역양자화된 나머지 휘도 AC 값은 위치 계산부(112)에서 계산된 인덱스에 따라 라스터 스캔 방식으로 해당 위치에 라이트한다.
만일 16x16 블록이 인트라 모드가 아니면 휘도 DC 값은 필요없으므로, 레벨 신호 입력부(113)로 입력된 휘도 AC 값에 대해서만 역양자화기(122)에서 역양자화를 수행하고, 제1 역스캔부(115)는 16개의 위치에 역양자화된 휘도 AC 값만을 라스터 스캔 방식으로 라이트한다.
그리고 나서 상기 제1 역스캔부(115)에서 라스터 스캔 방식으로 출력되는 16개의 휘도 신호는 제1 IDCT부(116)에서 IDCT가 수행된다. 그러면 4x4 휘도 차영상 값의 계산이 끝난다. 이때 휘도 차영상은 셔플링을 수행하지 않고 제5 선택부(117)를 통해 바로 다음 블록으로 전달된다.
도 6은 색차 DC 값의 디코딩 과정을 도 1의 비디오 디코더에서 데이터 흐름으로 나타낸 도면으로서, 큰 흐름은 휘도 DC와 같다. 다만 역 지그재그 스캔과 IDCT가 8x8 단위로 이루어지고, 셔플링 과정이 필요한 것이 휘도 DC와 다른점이다. 즉 휘도 DC는 16x16 단위로 역 지그재그 스캔과 IDCT가 이루어지고, 셔플링 과정이 필요없다.
이와 같이 색차 DC는 8x8 블록 단위로 디코딩을 수행해야 하므로, 4x4 블록마다 한 개씩 존재하는 색차 DC는 8x8 블록 단위에서는 2x2로 4개가 존재한다.
이때 2x2 블록에서는 지그재그 스캔을 사용하지 않으므로 제2 역스캔부(124)에서는 런, 레벨 값을 분석해서 IDCT를 위한 레벨 값을 2x2 구조의 메모리에 라이트한다. 그리고 제2 IDCT부(125)에서 IDCT를 수행한다.
그리고 휘도 DC와 마찬가지로 색차 DC 값은 역양자화는 수행하지 않고 IDCT만 수행하여 2x2 구조의 제2 레지스터(119)에 저장한다. 그리고 나서, 색차 AC를 역양자화할 때 제2 레지스터(119)에 저장된 해당 색차 DC 값을 읽어 와 공유 역양자화기(122)에서 역양자화를 수행한다.
이때 색차 신호는 Cb와 Cr이 각각 8x8 블록을 갖고 있으므로, 제2 레지스터(119)도 Cb의 DC를 저장하는 레지스터와 Cr의 DC를 저장하는 레지스터로 분리한다.
도 7은 색차 AC 값의 디코딩 과정을 도 1의 비디오 디코더에서 데이터 흐름으로 나타낸 도면으로서, 큰 흐름은 휘도 AC와 같다.
즉 색차 AC는 4x4 블록으로 네 번 계산하면 되는데, CBP(Coded Block Pattern) 값이 4x4 블록이 DC로만 채워져 있다고 지시하면, 해당 4x4 블록의 DC만을 제2 레지스터(119), 제3,제4 선택부(120,121)를 통해 입력받아 공유 역양자화기(122)에서 역양자화하고, 제1 역스캔부(115)에서 00 위치에 라이트한 후 제1 IDCT부(116)로 출력하여 IDCT를 수행한다. 한편 상기 CBP 값이 4x4 블록이 DC와 AC로 구성되어 있다고 지시하면, 제2 레지스터(119), 제3,제4 선택부(120,121)를 통해 색차 DC 값을 읽어 와 공유 역양자화기(122)에서 역양자화한 후 제1 선택부(114)를 통해 제1 역스캔부(115)로 출력한다. 이어 레벨 신호 입력부(113)로 입력되는 레벨 값 즉, 색차 AC 값을 제3 선택부(121)를 통해 입력받아 공유 역양자화기(122)에서 역양자화한 후 제1 선택부(114)를 통해 제1 역스캔부(115)로 출력한다.
상기 제1 역스캔부(115)는 역양자화된 색차 DC 값은 00 위치에 라이트하고, 역양자화된 나머지 색차 AC 값은 위치 계산부(112)에서 계산된 인덱스에 따라 라스터 스캔 방식으로 해당 위치에 라이트한 후 제1 IDCT부(116)에 라스터 스캔 방식으로 출력하여 IDCT를 수행함에 의해 색차 차영상을 생성한다.
상기 제1 IDCT부(116)에서 IDCT된 색차 신호는 셔플부(126)로 입력되어 셔플링된 후 제5 선택부(117)를 통해 최종 출력된다.
즉 런 값과 레벨 값을 이용하여 역 지그재그 스캔을 수행함에 의해 제1 역스캔부(115)는 원래의 인덱스에 따라 휘도 DC/AC, 색차 DC/AC를 4x4 형태로 저장한다.
도 8은 도 1의 비디오 디코딩 장치에서 색차 신호의 셔플링 과정을 설명하기 위한 도면이다.
상기 제1 IDCT부(116)에서 IDCT된 색차 신호는 셔플부(126)로 입력되어 셔플링된 후 제5 선택부(117)를 통해 최종 출력된다.
즉 런 값과 레벨 값을 이용하여 역 지그재그 스캔을 수행함에 의해 제1 역스캔부(115)는 원래의 인덱스에 따라 휘도 DC/AC, 색차 DC/AC를 4x4 형태로 저장한다.
도 8은 도 1의 비디오 디코딩 장치에서 색차 신호의 셔플링 과정을 설명하기 위한 도면이다.
삭제
삭제
즉 색차 신호의 경우 Cb와 Cr의 차영상 값이 모두 계산되면, 셔플부(126)는 도 8과 같이 각 픽셀마다 Cb 값과 Cr 값이 존재하도록 두 신호를 섞는 셔플 동작을 수행한 후 제5 선택부(117)를 통해 다음 블록으로 셔플 결과 값을 전달한다.
이와 같이 본 발명에 따른 H.264 비디오 디코더에서는 휘도 DC, 휘도 AC, 색차 DC 그리고 색차 AC에서 수식과 알고리즘을 수행하는 순서가 약간씩 다르나 기본적인 알고리즘은 같음에 착안하여 데이터 패스를 단일화함으로써, 비디오 디코더를 보다 간략하게 구현할 수 있다. 특히 DC와 AC에 대해서 역양자화 블록을 공유하도록 함으로서, 하드웨어 리소스를 줄일 수 있다.
한편, 본 발명에서 사용되는 용어(terminology)들은 본 발명에서의 기능을 고려하여 정의 내려진 용어들로써 이는 당분야에 종사하는 기술자의 의도 또는 관례 등에 따라 달라질 수 있으므로 그 정의는 본 발명의 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명을 상술한 실시예에 한정되지 않으며, 첨부된 청구범위에서 알 수 있는 바와 같이 본 발명이 속한 분야의 통상의 지식을 가지 자에 의해 변형이 가능하고 이러한 변형은 본 발명의 범위에 속한다.
상기에서 설명한 본 발명에 따른 이동형 방송 수신기의 비디오 디코딩 장치에 의하면, 단일 데이터 패스를 통하여 휘도 DC/AC, 색차 DC/AC의 역 지그재그 스캔, 역양자화, IDCT를 수행하여 런, 레벨 값으로부터 차 영상을 만들어낸다. 특히 DC와 AC에 대해 역양자화 블록을 공유함으로써, 그만큼의 하드웨어 리소스를 줄일 수 있다.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.
따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정해져야 한다.
Claims (8)
- 런-레벨로 디코딩된 DCT 계수를 입력받아 차영상을 생성하는 이동형 방송 수신기의 비디오 디코딩 장치에 있어서,런-레벨 쌍의 런 값을 입력받아 IDCT 단위의 NxN 블록에서 레벨 값의 위치를 계산하는 위치 계산부;저장부를 구비하고, 상기 위치 계산부에서 계산된 위치를 참조하여 입력되는 런-레벨 쌍의 레벨 값 또는 역양자화된 값을 라스터 스캔 방식으로 저장하여 출력하는 역스캔부;상기 역스캔부에서 출력되는 NxN 블록의 신호에 대해 IDCT를 수행하는 IDCT부;상기 IDCT된 NxN 블록의 신호가 DC를 나타내는 레벨 값이면 이를 저장하는 레지스터; 및AC 값 디코딩시, 상기 레지스터에 저장된 해당 DC값을 입력받아 역양자화하고 이어 런-레벨 쌍의 레벨 값인 AC 값을 입력받아 역양자화를 수행하는 공유 역양자화기를 포함하여 구성되며,상기 공유 역양자화기의 출력은 상기 역스캔부, IDCT부를 거쳐 차 영상(Residual)으로 만들어져 최종 출력되는 것을 특징으로 하는 이동형 방송 수신기의 비디오 디코딩 장치.
- 제 1 항에 있어서,디코딩할 신호가 DC인지 AC인지에 따라 복수개의 입력 중 하나를 선택 출력하는 선택부를 더 포함하여 구성되며,디코딩할 신호가 DC 값이면, 상기 선택부는 DC를 나타내는 레벨 값을 선택하여 상기 역스캔부로 출력하고, 상기 역스캔부에서 역스캔된 DC 값은 상기 IDCT부에서 IDCT된 후 상기 레지스터에 저장되며,디코딩할 신호가 AC 값이면, 상기 선택부는 AC를 나타내는 레벨 값과 상기 레지스터에 저장된 DC 값을 선택하여 상기 공유 역양자화기로 출력하고, 상기 공유 역양자화기에서 역양자화된 DC/AC 값은 상기 선택부를 통해 역스캔부로 출력되어 역스캔된 후, 이어 상기 IDCT부에서 IDCT되어 차영상으로 출력되는 것을 특징으로 하는 이동형 방송 수신기의 비디오 디코딩 장치.
- 제 1 항에 있어서,디코딩할 신호가 인트라 모드가 아니면서 휘도 AC 값이면, 상기 선택부는 휘도 AC를 나타내는 레벨 값을 선택하여 상기 공유 역양자화기로 출력하고, 상기 공유 역양자화기에서 역양자화된 휘도 AC 값은 상기 선택부를 통해 역스캔부로 출력되어 역스캔된 후, 이어 상기 IDCT부에서 IDCT되어 차영상으로 출력되는 것을 특징으로 하는 이동형 방송 수신기의 비디오 디코딩 장치.
- 제 1 항에 있어서, 상기 레지스터는IDCT된 휘도 DC 값을 저장하는 영역, IDCT된 색차 DC 값 중 Cb에 해당하는 DC값을 저장하는 영역, Cr에 해당하는 DC 값을 저장하는 영역으로 구분되는 것을 특징으로 하는 이동형 방송 수신기의 비디오 디코딩 장치.
- 런-레벨로 디코딩된 DCT 계수를 입력받아 차영상을 생성하는 이동형 방송 수신기의 비디오 디코딩 장치에 있어서,런-레벨 쌍의 런 값을 입력받아 IDCT 단위의 4x4 블록에서 레벨 값의 위치를 계산하는 위치 계산부;저장부를 구비하고, 상기 위치 계산부에서 계산된 위치를 참조하여 입력되는 런-레벨 쌍의 레벨 값 또는 역양자화된 값을 라스터 스캔 방식으로 저장하여 출력하는 역스캔부;상기 역스캔부에서 출력되는 휘도 DC/AC, 색차 DC/AC 값에 대해 4x4 단위로 IDCT를 수행하는 제1 IDCT부;상기 역스캔부에서 출력되는 색차 DC 값에 대해 2x2 단위로 IDCT를 수행하는 제2 IDCT부;상기 제1 IDCT부에서 IDCT된 4x4 블록의 신호가 휘도 DC를 나타내는 레벨 값이면 이를 저장하는 제1 레지스터;상기 제2 IDCT부에서 IDCT된 2x2 블록의 신호가 색차 DC를 나타내는 레벨 값이면 이를 저장하는 제2 레지스터; 및AC 값 디코딩시, 상기 제1 또는 제2 레지스터에 저장된 해당 DC값을 입력받아 역양자화하고 이어 런-레벨 쌍의 레벨 값인 AC 값을 입력받아 역양자화를 수행하는 공유 역양자화기를 포함하여 구성되며,상기 공유 역양자화기의 출력은 상기 역스캔부, 제1 IDCT부를 거쳐 휘도 및 색차 신호의 차 영상(Residual)으로 만들어져 최종 출력되는 것을 특징으로 하는 이동형 방송 수신기의 비디오 디코딩 장치.
- 제 5 항에 있어서,디코딩할 신호가 휘도 신호인지 색차 신호인지, DC인지 AC인지에 따라 복수개의 입력 중 하나를 선택 출력하는 선택부를 더 포함하여 구성되며,디코딩할 신호가 휘도 DC 값이면, 상기 선택부는 휘도 DC를 나타내는 레벨 값을 선택하여 상기 역스캔부로 출력하고, 상기 역스캔부에서 역스캔된 휘도 DC 값은 상기 제1 IDCT부에서 IDCT된 후 상기 제1 레지스터에 저장되며,디코딩할 신호가 휘도 AC 값이면, 상기 선택부는 휘도 AC를 나타내는 레벨 값과 상기 제1 레지스터에 저장된 휘도 DC 값을 선택하여 상기 공유 역양자화기로 출력하고, 상기 공유 역양자화기에서 역양자화된 휘도 DC/AC 값은 상기 선택부를 통해 역스캔부로 출력되어 역스캔된 후, 이어 상기 제1 IDCT부에서 IDCT되어 차영상으로 출력되는 것을 특징으로 하는 이동형 방송 수신기의 비디오 디코딩 장치.
- 제 5 항에 있어서,상기 제1 IDCT부에서 IDCT된 Cb,Cr 색차 신호를 셔플링을 통해 교대로 재배열하여 출력하는 셔플부가 상기 제1 IDCT부의 출력단에 더 구비되는 것을 특징으로 하는 이동형 방송 수신기의 비디오 디코딩 장치.
- 제 7 항에 있어서,디코딩할 신호가 휘도 신호인지 색차 신호인지, DC인지 AC인지에 따라 복수개의 입력 중 하나를 선택 출력하는 선택부를 더 포함하여 구성되며,디코딩할 신호가 색차 DC 값이면, 상기 선택부는 색차 DC를 나타내는 레벨 값을 선택하여 상기 역스캔부로 출력하고, 상기 역스캔부에서 역스캔된 색차 DC 값은 상기 제2 IDCT부에서 IDCT된 후 상기 제2 레지스터에 저장되며,디코딩할 신호가 색차 AC 값이면, 상기 선택부는 색차 AC를 나타내는 레벨 값과 상기 제2 레지스터에 저장된 색차 DC 값을 선택하여 상기 공유 역양자화기로 출력하고, 상기 공유 역양자화기에서 역양자화된 색차 DC/AC 값은 상기 선택부를 통해 역스캔부로 출력되어 역스캔된 후, 이어 상기 제1 IDCT부에서 IDCT되고, 상기 셔플부에서 셔플링되어 차영상으로 출력되는 것을 특징으로 하는 이동형 방송 수신기의 비디오 디코딩 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040093978A KR100640877B1 (ko) | 2004-11-17 | 2004-11-17 | 이동형 방송 수신기의 비디오 디코딩 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040093978A KR100640877B1 (ko) | 2004-11-17 | 2004-11-17 | 이동형 방송 수신기의 비디오 디코딩 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060053571A KR20060053571A (ko) | 2006-05-22 |
KR100640877B1 true KR100640877B1 (ko) | 2006-11-02 |
Family
ID=37150517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040093978A KR100640877B1 (ko) | 2004-11-17 | 2004-11-17 | 이동형 방송 수신기의 비디오 디코딩 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100640877B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101419689B1 (ko) * | 2012-07-25 | 2014-07-16 | 한밭대학교 산학협력단 | H.264/avc 복호기에서 역양자화 및 역변환을 수행하는 복호화 장치 및 이를 이용한 복호화 방법 |
-
2004
- 2004-11-17 KR KR1020040093978A patent/KR100640877B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20060053571A (ko) | 2006-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10097847B2 (en) | Video encoding device, video decoding device, video encoding method, video decoding method, and program | |
US9369733B2 (en) | Method and apparatus for encoding and decoding image | |
CA2665243C (en) | Signalling of maximum dynamic range of inverse discrete cosine transform | |
KR20230159640A (ko) | 변환에 기반한 영상 코딩 방법 및 그 장치 | |
US9288487B2 (en) | Methods and electronic devices for quantization and de-quantization | |
WO2012138032A1 (ko) | 영상 정보 부호화 방법 및 복호화 방법 | |
KR20200055084A (ko) | 변환 계수 레벨 코딩 방법 및 그 장치 | |
US20050259747A1 (en) | Context adaptive binary arithmetic code decoder for decoding macroblock adaptive field/frame coded video data | |
KR20220163419A (ko) | 레지듀얼 코딩에 대한 영상 디코딩 방법 및 그 장치 | |
KR100640877B1 (ko) | 이동형 방송 수신기의 비디오 디코딩 장치 | |
US7843997B2 (en) | Context adaptive variable length code decoder for decoding macroblock adaptive field/frame coded video data | |
US20060227874A1 (en) | System, method, and apparatus for DC coefficient transformation | |
RU2803184C1 (ru) | Способ кодирования изображения на основе преобразования и устройство для его осуществления | |
RU2811986C2 (ru) | Способ кодирования изображения на основе преобразования и устройство для его осуществления | |
RU2812248C2 (ru) | Способ кодирования изображения на основе преобразования и устройство для его осуществления | |
RU2806283C2 (ru) | Способ кодирования изображения на основе преобразования и устройство для его осуществления | |
RU2793775C1 (ru) | Способ кодирования изображения на основе преобразования и устройство для его осуществления | |
RU2799629C1 (ru) | Способ кодирования изображения на основе преобразования и устройство для его осуществления | |
RU2795932C1 (ru) | Способ кодирования изображения на основе преобразования и устройство для его осуществления | |
CN115336267A (zh) | 用于联合色度编码块的缩放过程 | |
Günay | Design of H. 264/AVC compatible intra-frame video encoder on FPGA programmable logic devices |
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: 20120926 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20130924 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20140924 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |