KR100563015B1 - Upsampling Filter and Half-Pixel Generator for HDTV Downconversion System - Google Patents
Upsampling Filter and Half-Pixel Generator for HDTV Downconversion System Download PDFInfo
- Publication number
- KR100563015B1 KR100563015B1 KR1019980709104A KR19980709104A KR100563015B1 KR 100563015 B1 KR100563015 B1 KR 100563015B1 KR 1019980709104 A KR1019980709104 A KR 1019980709104A KR 19980709104 A KR19980709104 A KR 19980709104A KR 100563015 B1 KR100563015 B1 KR 100563015B1
- Authority
- KR
- South Korea
- Prior art keywords
- filter
- video signal
- image
- motion vector
- pixel
- Prior art date
Links
- 239000013598 vector Substances 0.000 claims abstract description 46
- 238000006243 chemical reaction Methods 0.000 claims abstract description 35
- 238000005070 sampling Methods 0.000 claims abstract description 15
- 238000000034 method Methods 0.000 claims description 41
- 238000001914 filtration Methods 0.000 claims description 31
- 238000012545 processing Methods 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 description 23
- 239000011159 matrix material Substances 0.000 description 14
- 238000010586 diagram Methods 0.000 description 7
- 238000007792 addition Methods 0.000 description 5
- 230000000750 progressive effect Effects 0.000 description 5
- 125000004122 cyclic group Chemical group 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- DNTFEAHNXKUSKQ-RFZPGFLSSA-N (1r,2r)-2-aminocyclopentane-1-sulfonic acid Chemical compound N[C@@H]1CCC[C@H]1S(O)(=O)=O DNTFEAHNXKUSKQ-RFZPGFLSSA-N 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- 101000822695 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C1 Proteins 0.000 description 1
- 101000655262 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C2 Proteins 0.000 description 1
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 1
- 101000655256 Paraclostridium bifermentans Small, acid-soluble spore protein alpha Proteins 0.000 description 1
- 101000655264 Paraclostridium bifermentans Small, acid-soluble spore protein beta Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/64—Circuits for processing colour signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4023—Scaling of whole images or parts thereof, e.g. expanding or contracting based on decimating pixels or lines of pixels; based on inserting pixels or lines of pixels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4084—Scaling of whole images or parts thereof, e.g. expanding or contracting in the transform domain, e.g. fast Fourier transform [FFT] domain scaling
-
- 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- 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/162—User input
-
- 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/18—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 set of transform coefficients
-
- 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/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/423—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 characterised by memory arrangements
-
- 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/423—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 characterised by memory arrangements
- H04N19/426—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 characterised by memory arrangements using memory downsizing methods
- H04N19/428—Recompression, e.g. by spatial or temporal decimation
-
- 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/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/523—Motion estimation or motion compensation with sub-pixel accuracy
-
- 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/527—Global motion vector estimation
-
- 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/59—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
-
- 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/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- 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/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
-
- 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/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- 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
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/44—Receiver circuitry for the reception of television signals according to analogue transmission standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/44—Receiver circuitry for the reception of television signals according to analogue transmission standards
- H04N5/46—Receiver circuitry for the reception of television signals according to analogue transmission standards for receiving on more than one standard at will
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0125—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level one of the standards being a high definition standard
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0135—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
- H04N7/014—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes involving the use of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/015—High-definition television systems
-
- 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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0117—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal
- H04N7/0122—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal the input and the output signals having different aspect ratios
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
진보된 텔레비전 시스템 표준(ATSC)에 따르는 비디오 다운 컨버젼 시스템은 메인 프로파일, 하이 레벨(MP@HL) 영상을 디코딩하고 표준 정의 비디오 신호를 생성하기 위해 다운 컨버젼 프로세서를 사용하는 디코더를 포함한다. 상기 시스템은 메모리 요구들을 감소시키기 위해 서브샘플링된 영상을 저장하고, 상기 저장된 서브샘플링된 영상으로부터 기준 영상 데이터를 발생하기 위해 업샘플링 필터를 사용한다. 상기 기준 영상 데이터는 그것이 서브샘플링되기 전에 상기 비디오 디코더에 의해 생성된 상기 영상 데이터에 공간적으로 대응한다. 상기 업샘플링 필터는 상기 저장된 영상의 서브샘플링 위상과 상기 다운샘플링된 기준 영상 데이터를 상기 저장된 서브샘플링된 영상에 위치시키는데 사용되는 상기 모션 벡터의 상기 하프-픽셀 인디케이터에 기초한 다른 필터 계수들을 사용한다.A video down conversion system conforming to the Advanced Television System Standard (ATSC) includes a decoder that uses a down conversion processor to decode the main profile, high level (MP @ HL) picture and generate a standard definition video signal. The system stores the subsampled image to reduce memory requirements and uses an upsampling filter to generate reference image data from the stored subsampled image. The reference image data spatially corresponds to the image data generated by the video decoder before it is subsampled. The upsampling filter uses other filter coefficients based on the sub-sampling phase of the stored image and the half-pixel indicator of the motion vector used to locate the downsampled reference image data in the stored subsampled image.
Description
본 특허 출원은 1997년 3월 12일 출원된 미합중국 임시 출원 번호 제 60/040,517호의 이익을 주장한다.This patent application claims the benefit of US Provisional Application No. 60 / 040,517, filed March 12,1997.
미합중국 임시 출원 번호 제 60/040,517호의 전체 개시는 특히 여기에 참조로 포함된다.The entire disclosure of US Provisional Application No. 60 / 040,517 is specifically incorporated herein by reference.
본 발명은 주파수 영역 인코딩된 신호, 예컨대 MPEG-2 인코딩된 비디오 신호들을 수신하고, 디코딩하고, 표준 출력 비디오 신호들로 컨버젼하는 디코더에 관한 것이며, 더 구체적으로는 인코딩된 고해상도 비디오 신호를 디코드된 더 낮은 해상도 출력 비디오 신호로 변환하는 디코더의 업샘플링(upsampling)과 하프-픽셀 발생기(half-pixel generator)에 관한 것이다.The present invention relates to a decoder for receiving, decoding, and converting frequency domain encoded signals, such as MPEG-2 encoded video signals, to standard output video signals, and more specifically to decoding the encoded high resolution video signal. It relates to upsampling and a half-pixel generator of a decoder that converts to a low resolution output video signal.
미합중국에서, 표준 즉, 진보된 텔레비전 시스템 위원회(ATSC) 표준(Advanced Television System Committee standard)은 고품위 텔레비전(HDTV; high definition television) 신호들의 디지털 인코딩을 정의한다. 이러한 표준의 일부는 표준화를 위한 국제 기구(ISO)의 동화상 전문가 그룹(Moving Picture Experts Group; MPEG)에 의해 제안된 MPEG-2 표준과 본질적으로 동일하다. 상기 표준은 "정보 테크놀로지- 동화상과 관련된 오디오의 일반 코딩, 권고 H.626", ISO/IEC 13818-2,IS,11/94 라는 제목으로 국제 표준(IS) 공개에서 설명되고, 이것은 ISO로부터 이용할 수 있고, MPEG-2 디지털 비디오 코딩 표준에 대한 그 교시(teaching)를 위해 여기에 참조로 포함된다.In the United States, the standard, the Advanced Television System Committee standard (ATSC), defines the digital encoding of high definition television (HDTV) signals. Some of these standards are essentially identical to the MPEG-2 standard proposed by the International Organization for Standardization (ISO) 's Moving Picture Experts Group (MPEG). The standard is described in the International Standard (IS) publication entitled "Information Technology-General Coding of Audio Related to Moving Pictures, Recommendation H.626", ISO / IEC 13818-2, IS, 11/94, which is available from ISO. And the teachings for the MPEG-2 digital video coding standard are incorporated herein by reference.
MPEG-2 표준은 실제로 몇 개의 다른 표준들이다. MPEG-2에서 몇 개의 다른 프로파일(profile)들이 정의되고, 그 각각은 인코딩된 이미지의 복잡성의 다른 레벨에 대응한다. 각 프로파일에 대해서, 다른 레벨들이 정의되는데, 각 레벨은 다른 영상 해상도에 대응한다. 메인 프로파일, 메인 레벨(Main Profile, Main Level)이라고 알려진 MPEG-2 표준들 중 하나는 기존의 텔레비전 표준들(즉, NTSC와 PAL)에 일치하는 비디오 신호들의 코딩을 의도한 것이다. 메인 프로파일, 하이 레벨(Main Profile, High Level)로 알려진 또 다른 표준은 고-품위 텔레비전 영상들의 코딩을 의도한 것이다. 메인 프로파일, 하이 레벨 표준에 따라서 인코딩된 영상들은 영상 프레임당 1,152 활성 라인(active line)들과 라인당 1,920 픽셀들을 가질 수 있다.The MPEG-2 standard is actually several other standards. Several different profiles are defined in MPEG-2, each corresponding to a different level of complexity of the encoded image. For each profile, different levels are defined, each level corresponding to a different image resolution. One of the MPEG-2 standards known as Main Profile, Main Level is intended to code video signals that conform to existing television standards (ie NTSC and PAL). Another standard, known as Main Profile, High Level, is intended for coding high-quality television images. Images encoded according to the main profile, high level standard, may have 1,152 active lines per image frame and 1,920 pixels per line.
반면에, 메인 프로파일, 메인 레벨 표준은 라인당 720 픽셀들과 프레임당 567 라인들의 최대 화상 사이즈를 정의한다. 초당 30 프레임들의 프레임 속도에서, 상기 표준에 따라 인코딩된 신호들은 초당 720*567*30 또는 12,247,200 픽셀들의 데이터 속도를 가진다. 대조적으로, 메인 프로파일, 하이 레벨 표준에 따라 인코딩된 영상들은 초당 1,152*1,920*30 또는 66,355,200 픽셀들의 최대 데이터 속도를 가진다. 이 데이터 속도는 메인 프로파일, 메인 레벨 표준에 따라서 인코딩된 영상 데이터의 데이터 속도의 5배보다 크다. 미합중국에서 HDTV 인코딩을 위한 표준은 상기 표준의 서브세트이고, 프레임당 1,080 라인들, 라인당 1,920 픽셀들, 그리고 상기 프레임 크기에 대해서 초당 30 프레임들의 최대 프레임 속도를 가진다. 이 표준에 대한 최대 데이터 속도는 메인 프로파일, 메인 레벨 표준에 대한 최대 데이터 속도보다 훨씬 더 크다.On the other hand, the main profile, main level standard defines a maximum picture size of 720 pixels per line and 567 lines per frame. At a frame rate of 30 frames per second, signals encoded according to the standard have a data rate of 720 * 567 * 30 or 12,247,200 pixels per second. In contrast, images encoded according to the main profile, high level standard, have a maximum data rate of 1,152 * 1,920 * 30 or 66,355,200 pixels per second. This data rate is greater than five times the data rate of video data encoded according to the main profile, main level standard. The standard for HDTV encoding in the United States is a subset of the standard and has a maximum frame rate of 1,080 lines per frame, 1,920 pixels per line, and 30 frames per second for the frame size. The maximum data rate for this standard is much greater than the maximum data rate for the main profile, main level standard.
MPEG-2 표준은 데이터와 제어 정보의 혼합을 포함하는 복잡한 신택스를 정의한다. 이러한 제어 정보의 몇몇은 여러 개의 다른 포맷들을 가진 신호들이 이러한 표준에 의해 망라되는 것을 가능하게 하는데 사용된다. 이러한 포맷들은 라인당 상이한 개수들의 화소들(픽셀들), 프레임 또는 필드당 상이한 개수들의 라인들, 초당 상이한 개수들의 프레임들 또는 필드들을 가지는 영상들을 정의한다. 또한, MPEG-2 메인 프로파일의 기본 신택스는 5개의 층들 즉, 시퀀스 층(sequence layer), 화상들의 그룹 층(group of pictures layer), 화상 층(picture layer), 슬라이스 층(slice layer), 매크로블록 층(macroblock layer)으로 된 한 시퀀스의 영상들을 나타내는 압축된 MPEG-2 비트 스트림을 정의한다. 이 층들의 각각은 제어 정보와 함께 소개된다. 마지막으로, 사이드 정보(side information)(예를 들어, 프레임 타입, 매크로블록 패턴, 영상 모션 벡터들, 계수 지그-재그 패턴들, 탈양자화(dequantization) 정보)로 또한 알려진 다른 제어 정보는 코드화된 비트 스트림을 통해서 삽입된다(intersperse).The MPEG-2 standard defines a complex syntax that includes a mixture of data and control information. Some of this control information is used to enable signals with several different formats to be covered by this standard. These formats define images with different numbers of pixels (pixels) per line, different numbers of lines per frame or field, different numbers of frames or fields per second. Also, the basic syntax of the MPEG-2 main profile is five layers: sequence layer, group of pictures layer, picture layer, slice layer, macroblock. Defines a compressed MPEG-2 bit stream representing a sequence of images in a macroblock layer. Each of these layers is introduced with control information. Finally, other control information, also known as side information (e.g., frame type, macroblock pattern, image motion vectors, coefficient zig-zag patterns, dequantization information) may be coded bits. Intersperse through the stream.
인코딩된 고해상도 메인 프로파일 하이 레벨 화상들을 더 낮은 해상도의 메인 프로파일 하이 레벨 화상들, 메인 프로파일 메인 레벨 화상들, 또는 다른 더 낮은 해상도 화상 포맷들로 포맷 컨버젼하는 것은 a) 단일 디코더를 기존의 다수의 비디오 포맷들로 사용하도록 제공하고, b) 메인 프로파일 하이 레벨 신호들과 퍼스널 컴퓨터 모니터들 또는 기존의 소비자 텔레비전 수신기들 사이에 인터페이스를 제공하고, c) HDTV의 구현 비용을 감소시키는 데에 더욱 중요해져 왔다. 예를 들어, 컨버젼은 메인 프로파일 하이 레벨 인코딩된 화상들과 함께 사용되는 비싼 고품위 모니터들을 예를 들어 NTSC 또는 525 프로그레시브(progressive) 모니터들과 같은 메인 프로파일 메인 레벨 인코딩된 화상들을 지원하는 더 낮은 화상 해상도를 가진 저렴한 기존의 모니터들로 대체하는 것을 허용한다. 하나의 양상, 다운 컨버젼은 고품위 입력 화상을 더 낮은 해상도 모니터에 디스플레이하도록 더 낮은 해상도 화상으로 변환한다.Format converting the encoded high resolution main profile high level pictures into lower resolution main profile high level pictures, main profile main level pictures, or other lower resolution picture formats is a) using a single decoder to convert existing multiple videos. Providing use in formats, b) providing an interface between main profile high level signals and personal computer monitors or existing consumer television receivers, and c) reducing the cost of implementing HDTV. . For example, conversion can be done with lower picture resolutions that support expensive high quality monitors used with main profile high level encoded pictures, for example main profile main level encoded pictures such as NTSC or 525 progressive monitors. Allows replacement with cheap existing monitors with In one aspect, down conversion converts a high quality input picture to a lower resolution picture for display on a lower resolution monitor.
디지털 영상들을 효율적으로 수신하기 위해, 디코더는 비디오 신호 정보를 신속하게 처리해야 한다. 최적으로 유효하게 하기 위해, 디코딩 시스템들은 상대적으로 저렴해야 하고, 이러한 디지털 신호들을 실시간으로 디코드하기 위해 충분한 파워를 가져야 한다. 따라서, 다수의 저해상도 포맷들로의 컨버젼을 지원하는 디코더는 프로세서 메모리를 최소화시켜야 한다.In order to receive digital images efficiently, the decoder must process video signal information quickly. To be optimally effective, decoding systems must be relatively inexpensive and have sufficient power to decode these digital signals in real time. Thus, a decoder that supports conversion to multiple low resolution formats should minimize processor memory.
MPEG-2 메인 프로파일 표준은 5개의 레벨들 즉, 시퀀스 레벨, 화상들의 그룹 레벨, 화상 레벨, 슬라이스 레벨, 매크로블록 레벨로 영상들의 시퀀스를 정의한다. 이러한 레벨들의 각각은 데이터 스트림에서 레코드로 간주될 수 있고, 나중에-리스트된 레벨들은 먼저 리스트된 레벨들의 네스트(nest)된 서브-레벨들로서 발생할 수 있다. 각 레벨에 대한 레코드들은 그것의 서브-레코드들을 디코드하는데 사용되는 데이터를 포함하는 헤더 섹션(header section)을 포함한다.The MPEG-2 main profile standard defines a sequence of pictures at five levels: sequence level, group level of pictures, picture level, slice level, macroblock level. Each of these levels may be considered a record in the data stream, and later-listed levels may occur as nested sub-levels of the levels listed first. The records for each level include a header section that contains the data used to decode its sub-records.
인코딩된 HDTV 신호의 각 매크로블록은 6개의 블록들을 포함하고, 각 블록은 HDTV 영상에서 64개의 화소들(픽셀들)의 이산 코사인 변환(discrete cosine transform; DCT) 표현의 64 각각의 계수값들을 나타내는 데이터를 포함한다.Each macroblock of an encoded HDTV signal contains six blocks, each block representing 64 respective coefficient values of a discrete cosine transform (DCT) representation of 64 pixels (pixels) in the HDTV image. Contains data.
인코딩 프로세스에서, 픽셀 데이터는 이산 코사인 변환에 앞서 모션 보상된 차분 코딩(motion compensated differential coding)을 필요로 할 수 있고, 변환된 계수들의 블록들은 런-길이 및 가변 길이 인코딩 기술들을 적용함으로써 또한 인코딩된다. 데이터 스트림으로부터 영상 시퀀스를 복원하는 디코더는 인코딩 프로세스를 리버스(reverse)한다. 이러한 디코더는 엔트로피 디코더(예를 들어, 가변 길이 디코더), 역 이산 코사인 변환 프로세서, 모션 보상 프로세서, 보간 필터를 사용한다.In the encoding process, pixel data may require motion compensated differential coding prior to discrete cosine transform, and the blocks of transformed coefficients are also encoded by applying run-length and variable length encoding techniques. . A decoder that reconstructs the picture sequence from the data stream reverses the encoding process. Such decoders use entropy decoders (eg, variable length decoders), inverse discrete cosine transform processors, motion compensation processors, interpolation filters.
도 1은 MPEG-2 인코딩된 화상을 처리하는 선행 기술의 종래 비디오 디코딩 시스템의 하이 레벨 블록도이다. 후속 프로세싱, 다운 컨버젼 또는 포맷 컨버젼없이, MPEG-2 인코딩된 화상을 디코드하는데 사용되는 일반적인 방법은 MPEG-2 표준에 의해 설명된다. 상기 비디오 디코딩 시스템은 엔트로피 디코더(ED; 110)를 포함하는데, 이것은 가변 길이 디코더(VLD; 210)와 런 길이 디코더(212)를 포함할 수 있다. 상기 시스템은 역 양자화기(214)와 역 이산 코사인 변환(IDCT) 프로세서(218)를 또한 포함한다. 제어기(207)는 ED(110)에 의해 입력 비트 스트림으로부터 검색된 제어 정보에 응답하는 상기 디코딩 시스템의 다양한 성분들을 제어한다. 예측 영상들의 처리를 위해서, 상기 시스템은 기준 프레임 메모리(222)를 가지는 메모리(199)와, 합산 네트워크(230)와, 모션 벡터 프로세서(221)와 하프-픽셀 발생기(228)를 구비할 수 있는 모션 보상 프로세서(206a)를 더 포함한다.1 is a high level block diagram of a prior art video decoding system for processing MPEG-2 encoded pictures. The general method used to decode MPEG-2 encoded pictures without subsequent processing, down conversion or format conversion is described by the MPEG-2 standard. The video decoding system includes an entropy decoder (ED) 110, which may include a variable length decoder (VLD) 210 and a run length decoder 212. The system also includes an inverse quantizer 214 and an inverse discrete cosine transform (IDCT) processor 218. Controller 207 controls the various components of the decoding system in response to control information retrieved from the input bit stream by ED 110. For processing prediction images, the system may include a memory 199 having a reference frame memory 222, a summing network 230, a motion vector processor 221, and a half-pixel generator 228. It further includes a motion compensation processor 206a.
상기 ED(110)는 인코딩된 비디오 영상 신호를 수신하고, 양자화된 주파수-영역(DCT) 계수 값들의 마크로블럭들 및 현재 디코드되고 있는 예측 화상의 매크로블록에 대응하는 이전의 디코드된 영상에서의 매칭된 매크로블록의 상대 변위를 설명하는 모션 벡터를 포함하는 제어 정보를 생성하기 위해 인코딩 프로세스를 리버스한다. 상기 역 양자화기(214)는 양자화된 DCT 변환 계수들을 수신하고, 특정 매크로블록에 대한 양자화된 DCT 계수들을 재구성한다. 특정 블록에 사용되는 양자화 행렬은 ED(110)로부터 수신된다.The ED 110 receives the encoded video image signal and matches the macroblocks of quantized frequency-domain (DCT) coefficient values and the previous decoded image corresponding to the macroblock of the predicted image currently being decoded. Reverse the encoding process to generate control information that includes a motion vector describing the relative displacement of the macroblock. The inverse quantizer 214 receives the quantized DCT transform coefficients and reconstructs the quantized DCT coefficients for a particular macroblock. The quantization matrix used for the particular block is received from the ED 110.
IDCT 프로세서(218)는 재구성된 DCT계수들을 공간 영역(매크로블록의 휘도 또는 크로미넌스 성분들을 나타내는 8×8 행렬 값들의 각 블록에 대해서 및 예측된 매크로블록의 차분 휘도 또는 차분 크로미넌스의 성분들을 나타내는 8×8 행렬 값들의 각 블록에 대해서)에서의 픽셀 값들로 변환한다.The IDCT processor 218 may reconstruct the reconstructed DCT coefficients for each block of 8x8 matrix values representing the luminance or chrominance components of the macroblock and the components of the predicted differential or differential luminance of the macroblock. For each block of 8 by 8 matrix values).
현재 매크로블록이 예측적으로 인코딩되지 않는다면, IDCT 프로세서(218)에 의해 제공된 출력 행렬 값들은 현재 비디오 영상의 대응하는 매크로블록의 픽셀 값들이다. 매크로블록이 프레임간(interframe) 인코딩된다면, 이전 비디오 화상 프레임의 대응하는 매크로블록은 모션 보상 프로세서(206)에 의해 사용되도록 메모리(199)에 저장된다. 모션 보상 프로세서(206)는 모션 벡터에 응답하는 메모리(199)로부터 이전에 디코된 매크로블록을 수신하고 나서 이전 매크로블록을 합산 네트워크(230)의 현재 IDCT 매크로블록(현재 예측적으로 인코딩된 프레임의 잔차(residual) 성분에 대응하는)에 가산하여, 현재 비디오 영상을 위한 픽셀들의 대응하는 매크로블록을 생성하고, 이것은 메모리(199)의 기준 프레임 메모리(222)로 저장된다. If the current macroblock is not predictively encoded, the output matrix values provided by IDCT processor 218 are the pixel values of the corresponding macroblock of the current video image. If a macroblock is interframe encoded, the corresponding macroblock of the previous video picture frame is stored in memory 199 for use by motion compensation processor 206. The motion compensation processor 206 receives the previously decoded macroblock from the memory 199 responsive to the motion vector and then adds the previous macroblock to the current IDCT macroblock (currently predictively encoded frame) of the network 230. Corresponding to the residual component) to generate a corresponding macroblock of pixels for the current video image, which is stored in the reference frame memory 222 of the memory 199.
도 1은 종래 기술의 비디오 디코더의 하이 레벨 블록도.1 is a high level block diagram of a prior art video decoder.
도 2는 본 발명의 예시적인 실시예에 의해 사용된 다운 컨버젼 시스템의 하이 레벨 블록도.2 is a high level block diagram of a down conversion system used by an exemplary embodiment of the present invention.
도 3A는 3:1 데시메이션을 사용한 4:2:0 비디오 신호에 대한 입력 및 데시메이트된 출력 픽셀들을 도시하는 매크로블록도.3A is a macroblock diagram illustrating input and decimated output pixels for a 4: 2: 0 video signal using 3: 1 decimation.
도 3B는 2:1 데시메이션을 사용한 4:2:0 비디오 신호에 대한 입력 및 데시메이트된 출력 픽셀들을 도시하는 픽셀 블록도.3B is a pixel block diagram illustrating input and decimated output pixels for a 4: 2: 0 video signal using 2: 1 decimation.
도 4A는 본 발명의 3:1 과 2:1 예시적 실시예에 대한 서브픽셀 위치들과 대응하는 예측된 픽셀들을 도시하는 픽셀 챠트.4A is a pixel chart showing predicted pixels corresponding to subpixel locations for 3: 1 and 2: 1 exemplary embodiments of the present invention.
도 4B는 본 발명의 예시적 실시예에 대한 입력 매크로블록의 각 행에 대해 수행되는 업샘플링 프로세스를 도시하는 플로챠트도.4B is a flow chart illustrating an upsampling process performed for each row of an input macroblock for an exemplary embodiment of the invention.
도 5는 블록 미러 필터의 예시적 실시예의 제 1 및 제 2 출력 픽셀 값들에 대한 곱셈 쌍들을 도시하는 픽셀 챠트.FIG. 5 is a pixel chart showing multiplication pairs for first and second output pixel values of an exemplary embodiment of a block mirror filter. FIG.
도 6은 직렬로 된(cascaded) 1차원 IDCT 로 구현된 수평 및 수직 성분들을 처리하는 2 차원 시스템에 대한 다운-컨버젼을 위한 필터의 예시적 구현을 도시하는 블록도.FIG. 6 is a block diagram illustrating an example implementation of a filter for down-conversion for a two-dimensional system that processes horizontal and vertical components implemented with cascaded one-dimensional IDCT. FIG.
본 발명은 디지털 비디오 신호 다운 컨버젼 시스템을 위한 업샘플링 필터(upsampling filter)에 구현된다. 다운 컨버젼 시스템은 비디오 영상을 표현하는 디지털적으로 인코딩된 비디오 신호를 디코딩하고, 서브샘플링된 영상 신호를 생성하기 위해 디코드된 신호를 데시메이트(decimate)한다. 상기 서브샘플링된 신호는 앞서 디코드된 영상과 관련하여 차분 픽셀 값들로써 인코딩되는 후속적으로 수신되는 인코딩된 영상 신호를 디코드하는데 사용하도록 저장된다. 차분 픽셀 값들을 표현하는 후속 영상 신호가 수신되고 디코드될 때, 디코드된 영상 신호를 생성하기 위해 디코드된 차분 픽셀 값들과 결합될 수 있는 디코드된 영상 픽셀 값들을 생성하기 위해, 저장된 영상의 세그먼트들은 본 발명에 따른 필터를 사용하여 검색되고 업샘플링된다. 본 발명에 따르는 업샘플링 필터는 프로그램 가능한 계수 값들과 다수의 필터 계수 세트들을 가지는 업샘플링 필터를 포함하고, 각 계수 세트는 개별 서브샘플링 위상에 대응한다. 필터는, 인코딩된 영상 신호로부터 모션 벡터를 수신하고, 저장된 영상에서 원하는 세그먼트의 위치를 찾기 위해 수신된 모션 벡터를 처리하고, 원하는 세그먼트의 서브샘플링 위상을 결정하는 회로를 또한 포함한다. 이러한 결정에 응답하여, 상기 회로는 저장된 영상 데이터에서 식별된 위치로부터 원하는 세그먼트를 검색하고, 필터를 적절한 필터 계수 세트로 프로그램하고, 디코드된 차분 영상 데이터를 매칭시키는 기준 영상 데이터를 제공하기 위해 상기 검색된 세그먼트를 필터링한다.The present invention is implemented in an upsampling filter for a digital video signal down conversion system. The down conversion system decodes the digitally encoded video signal representing the video image and decimates the decoded signal to produce a subsampled video signal. The subsampled signal is stored for use in decoding subsequently received encoded video signals that are encoded with differential pixel values in relation to the previously decoded video. When a subsequent image signal representing differential pixel values is received and decoded, segments of the stored image are viewed to produce decoded image pixel values that can be combined with the decoded differential pixel values to produce a decoded image signal. The filter according to the invention is searched and upsampled. The upsampling filter according to the invention comprises an upsampling filter having programmable coefficient values and a plurality of filter coefficient sets, each coefficient set corresponding to a separate subsampling phase. The filter also includes circuitry for receiving the motion vector from the encoded video signal, processing the received motion vector to locate the desired segment in the stored video, and determining the subsampling phase of the desired segment. In response to this determination, the circuit retrieves the desired segment from the location identified in the stored image data, programs the filter with the appropriate set of filter coefficients, and provides the retrieved image data to match the decoded differential image data. Filter the segments.
본 발명의 또 다른 양상에 따라서, 인코딩된 비디오 신호의 모션 벡터들은 한 픽셀 위치의 2분의 1의 해상도로 원하는 세그먼트의 위치를 정의하고, 다수의 계수 세트들은 수 2N 계수 세트들을 포함하는데, 여기서 N 은 서브샘플링된 영상을 생성하기 위해 디코드된 영상에 인가되는 데시메이션 팩터(decimation factor)이다.According to another aspect of the invention, the motion vectors of the encoded video signal define the position of the desired segment at a resolution of one half of the pixel position, the plurality of coefficient sets comprising a number 2N coefficient sets, wherein N is a decimation factor applied to the decoded image to produce a subsampled image.
본 발명의 또 다른 양상에 따라서, 인코딩된 비디오 신호의 모션 벡터들은 한 픽셀 위치의 2분의 1의 해상도로 원하는 세그먼트의 위치를 정의하고, 다수의 계수 세트들은 수 N 계수 세트들을 포함하는데, 여기서 N 은 서브샘플링된 영상을 생성하기 위해 디코드된 영상에 인가되는 데시메이션 팩터이고, 필터는, 필터된 원하는 세그먼트의 픽셀 값들로부터 2분의 1 픽셀 위치만큼 옮겨진 출력 픽셀 값들을 생성하기 위해 필터된 원하는 세그먼트에서 인접한 픽셀들을 평균하는 선형 보간기를 더 포함한다.According to another aspect of the invention, the motion vectors of the encoded video signal define the position of the desired segment at a resolution of one half of the pixel position, the plurality of coefficient sets comprising a number N coefficient sets, wherein N is a decimation factor applied to the decoded image to produce the subsampled image, and the filter is a desired filter filtered to produce output pixel values shifted by a half pixel position from the pixel values of the desired segment being filtered. It further includes a linear interpolator that averages adjacent pixels in the segment.
본 발명의 또 다른 양상에 따라서, 필터는 다수의 데시메이션 팩터들 중 하나에 의해 디코드된 비디오 영상을 데시메이트하도록 프로그램 가능하고, 계수 세트들의 다수의 그룹들을 포함하고, 각 그룹은 다수의 데시메이션 팩터들 중 하나에 대응한다.According to another aspect of the invention, the filter is programmable to decimate a decoded video image by one of a plurality of decimation factors, and comprises a plurality of groups of coefficient sets, each group having a plurality of decimations. Corresponds to one of the factors.
본 발명의 이러한 및 다른 특징들과 장점들이 첨부된 도면과 함께, 다음 상세한 설명으로부터 명백해질 것이다.These and other features and advantages of the present invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings.
본 발명의 예시적 실시예들은 MPEG-2 표준 및 특히, 메인 프로파일 하이 레벨(MP@HL)과 메인 프로파일 메인 레벨(MP@ML) MPEG-2 표준들에 따라서 인코딩된 종래의 HDTV 신호들을 디코딩하고, 다수의 포맷들 중 선택된 하나를 가지는 수신된 HDTV 신호들보다 더 낮은 해상도를 가진 비디오 신호들로써 디코드된 신호들을 제공한다.Exemplary embodiments of the invention decode conventional HDTV signals encoded according to the MPEG-2 standard and in particular the Main Profile High Level (MP @ HL) and Main Profile Main Level (MP @ ML) MPEG-2 standards. Provide decoded signals as video signals having a lower resolution than received HDTV signals having a selected one of a number of formats.
다운 컨버젼 디코더Down-conversion decoder
도 2는 이러한 DCT 필터링 동작을 사용하는 본 발명의 하나의 예시적 실시예를 포함하는 다운 컨버젼 시스템의 하이 레벨 블록도이며, 이것은 본 발명의 예시적 실시예에 의해 사용될 수 있다. 도 2에 도시된 것처럼, 다운 컨버젼 시스템은 가변 길이 디코더(VLD:210), 런-길이(R/L) 디코더(212), 역 양자화기(214), 역 이산 코사인 변환(IDCT) 프로세서(218)를 포함한다. 또한, 다운 컨버젼 시스템은 인코딩된 화상들의 필터링을 위한 다운 컨버젼 필터(216)와 다운 샘플링 프로세서(232)를 포함한다. 다음은 MP@HL 인코딩된 입력을 위한 예시적 실시예를 설명하는 반면에, 본 발명은 어떤 유사하게 인코딩된 고해상도 영상 비트 스트림으로 실행될 수 있다.2 is a high level block diagram of a down conversion system that includes one exemplary embodiment of the present invention using such a DCT filtering operation, which may be used by exemplary embodiments of the present invention. As shown in FIG. 2, the down conversion system includes a variable length decoder (VLD) 210, a run-length (R / L) decoder 212, an inverse quantizer 214, an inverse discrete cosine transform (IDCT) processor 218. ). The down conversion system also includes a down conversion filter 216 and a down sampling processor 232 for filtering the encoded pictures. The following describes an exemplary embodiment for MP @ HL encoded input, while the present invention may be practiced with any similarly encoded high resolution video bit stream.
본 발명에 따른 다운 컨버젼 시스템에 의해 사용되는 업샘플링 필터와 하프-픽셀 발생기는 업샘플링 프로세서(226)와 하프-픽셀 발생기(228)를 포함하고, 기준 프레임 메모리(222)를 사용한다. 다운 컨버젼 시스템은 모션 벡터(MV) 트랜슬레이터(220)와 모션 블럭 발생기(224)를 포함하는 모션 보상 프로세서(206)를 또한 포함한다.The upsampling filter and half-pixel generator used by the down-conversion system according to the present invention includes an upsampling processor 226 and a half-pixel generator 228 and uses a reference frame memory 222. The down conversion system also includes a motion compensation processor 206 that includes a motion vector (MV) translator 220 and a motion block generator 224.
도 2의 시스템은 수직 프로그램 가능한 필터(vertical programmable filter)(VPF:282)와 수평 프로그램 가능한 필터(horizontal programmable filter)(HZPF:284)를 가지는 디스플레이 컨버젼 블록(280)을 또한 포함한다. 디스플레이 컨버젼 블록(280)은 다운샘플링된 영상들을 원래의 영상보다 더 낮은 해상도를 가진 특정 디스플레이 장치에 디스플레이하기 위한 영상들로 변환한다.The system of FIG. 2 also includes a display conversion block 280 having a vertical programmable filter (VPF) 282 and a horizontal programmable filter (HZPF: 284). Display conversion block 280 converts the downsampled images into images for display on a particular display device having a lower resolution than the original image.
다운 컨버젼 필터(216)는 주파수 영역에서 고해상도(예, 메인 프로파일 하이 레벨 DCT) 계수들의 저역 필터링(low-pass filtering)을 수행한다. 다운 샘플링 프로세서(232)는, MP@HL 화상을 디스플레이하는데 요구되는 것보다 더 낮은 해상도를 가진 모니터에 디스플레이될 수 있는 픽셀값들의 세트를 생성하기 위해 필터된 메인 프로파일 하이 레벨 화상의 데시메이션에 의해 공간 픽셀들을 제거한다. 예시적인 기준 프레임 메모리(222)는 다운-샘플링된 화상에 대응하는 해상도를 가진 적어도 하나의 이전에 디코드된 기준 프레임에 대응하는 공간 픽셀값들을 저장한다. 프레임간(interframe) 인코딩을 위해서, MV 트랜슬레이터(220)는 해상도의 감소에 일치하는 수신된 화상의 각 블록에 대한 모션 벡터들을 스케일하고, 고해상도 모션 블록 발생기(224)는 기준 프레임 메모리(222)에 의해 제공된 저해상도 모션 블록들을 수신하고, 이러한 모션 블록들을 업샘플링하고, 디코드되고 필터된 차분 픽셀 블록들에 대응하는 픽셀 위치들을 가지는 모션 블록들을 제공하는데 요구되는 하프-픽셀 보간을 수행한다.The down conversion filter 216 performs low-pass filtering of high resolution (eg, main profile high level DCT) coefficients in the frequency domain. The down sampling processor 232 is further configured by decimation of the filtered main profile high level picture to produce a set of pixel values that can be displayed on a monitor with a lower resolution than required to display the MP @ HL picture. Remove the spatial pixels. Exemplary reference frame memory 222 stores spatial pixel values corresponding to at least one previously decoded reference frame having a resolution corresponding to the down-sampled picture. For interframe encoding, the MV translator 220 scales the motion vectors for each block of the received picture that corresponds to a decrease in resolution, and the high resolution motion block generator 224 stores the reference frame memory 222. Receive the low resolution motion blocks provided by, upsample these motion blocks, and perform the half-pixel interpolation required to provide the motion blocks with pixel positions corresponding to the decoded and filtered differential pixel blocks.
도 2의 다운 컨버젼 시스템에서, 고품위 영상들이 아니라 다운샘플링된 영상들이 저장되고, 결과적으로 기준 영상들을 저장하는데 요구되는 메모리의 상당한 감소를 가져온다는 것을 주목하라.Note that in the down conversion system of FIG. 2, downsampled images, rather than high quality images, are stored, resulting in a significant reduction in the memory required to store the reference images.
인트라-프레임(intra-frame) 인코딩을 위한 본 발명의 예시적인 다운-컨버젼 시스템의 동작이 이제 설명된다. MP@HL 비트-스트림이 수신되고, VLD(210)에 의해 디코드된다. HDTV 시스템에 의해 사용되는 헤더 정보에 부가하여, VLD(210)은 각 블록 및 매크로블록에 대해서 DCT 계수들을 그리고, 모션 벡터 정보를 제공한다. DCT 계수들은 R/L 디코더(212)에서 런 길이 디코드되고, 역 양자화기(214)에 의해 역 양자화된다.The operation of the exemplary down-conversion system of the present invention for intra-frame encoding is now described. The MP @ HL bit-stream is received and decoded by the VLD 210. In addition to the header information used by the HDTV system, the VLD 210 draws DCT coefficients for each block and macroblock and provides motion vector information. The DCT coefficients are run length decoded at R / L decoder 212 and inverse quantized by inverse quantizer 214.
DCT 계수들에 의해 표현되는 수신된 비디오 영상은 고해상도 화상이기 때문에, 본 발명의 예시적 실시예는 고해상도 비디오 영상의 데시메이션전에 각 블록의 DCT 계수들의 저역 필터링을 사용한다. 역 양자화기(214)는 DCT 계수들을 IDCT 프로세서(218)로 제공하기 전에, DCT 계수들에 소정의 필터 계수 값들로 가중치를 주므로써 주파수 영역에서의 저역 필터링을 수행하는 DCT 필터(216)에 DCT 계수들을 제공한다. 본 발명의 하나의 예시적 실시예에서, 이러한 필터링 동작은 블록 단위를 기초로 하여 수행된다.Since the received video image represented by the DCT coefficients is a high resolution image, an exemplary embodiment of the present invention uses low pass filtering of the DCT coefficients of each block before decimation of the high resolution video image. Inverse quantizer 214 prior to providing the DCT coefficients to IDCT processor 218, DCT to DCT filter 216 to perform low pass filtering in the frequency domain by weighting the DCT coefficients to predetermined filter coefficient values. Provide coefficients. In one exemplary embodiment of the present invention, this filtering operation is performed on a block basis.
IDCT 프로세서(218)는 필터된 DCT 계수들의 역 이산 코사인 변환(inverse discrete cosine transform)을 수행함으로써 공간 픽셀 샘플값들을 제공한다. 다운 샘플링 프로세서(232)는 소정의 데시메이션 비(decimation ratio)에 따라서 공간 픽셀 샘플값들을 제거함으로써 화상 샘플 크기를 감소시키고, 따라서 더 낮은 해상도 화상을 저장하는 것은 더 높은 해상도 MP@HL 화상을 저장하는데 요구되는 것과 비교하여 더 작은 프레임 메모리를 사용한다.IDCT processor 218 provides spatial pixel sample values by performing an inverse discrete cosine transform of the filtered DCT coefficients. The down sampling processor 232 reduces the picture sample size by removing spatial pixel sample values according to a given decimation ratio, so storing a lower resolution picture stores a higher resolution MP @ HL picture. Use smaller frame memory compared to what is required to do.
인코딩 표준의 예측 프레임들을 위한 본 발명의 다운-컨버젼 시스템의 예시적 실시예의 동작이 이제 설명된다. 이러한 예에서, 현재 수신된 영상 DCT 계수들은 예측된 영상 매크로블록들의 잔차 성분들의 DCT 계수들을 나타낸다. 설명된 예시적 실시예에서, 예측된 프레임에 대한 모션 벡터들의 수평 성분들은, 메모리에 저장된 이전 프레임들의 저해상도 기준 화상들이 고해상도 예측된 프레임(MP@HL)과 동일한 수의 픽셀들을 가지지 않기 때문에 스케일된다.The operation of an exemplary embodiment of the down-conversion system of the present invention for prediction frames of the encoding standard is now described. In this example, the currently received picture DCT coefficients represent the DCT coefficients of the residual components of the predicted picture macroblocks. In the described exemplary embodiment, the horizontal components of the motion vectors for the predicted frame are scaled because the low resolution reference pictures of the previous frames stored in memory do not have the same number of pixels as the high resolution predicted frame MP @ HL. .
도 2를 참조하면, VLD(210)에 의해 제공된 MP@HL 비트 스트림의 모션 벡터들은 MV 트랜슬레이터(220)로 제공된다. 각 모션 벡터는 기준 프레임 메모리(222)에 저장된 이전 영상의 기준 프레임의 적절한 예측 블록을 참조하기 위해 MV 트랜슬레이터(220)에 의해 스케일된다. 검색된 블록의 크기(픽셀값들의 수)는 IDCT 프로세서(218)에 의해 제공된 블록보다 더 작다; 따라서, 검색된 블록은, 블록들이 합산 네트워크(230)에 의해 결합되기 전에, IDCT 프로세서(218)에 의해 제공된 잔차 블록과 같은 개수의 픽셀들을 가지는 예측 블록을 형성하도록 업샘플링된다.Referring to FIG. 2, the motion vectors of the MP @ HL bit stream provided by the VLD 210 are provided to the MV translator 220. Each motion vector is scaled by the MV translator 220 to reference the appropriate prediction block of the reference frame of the previous picture stored in the reference frame memory 222. The size of the retrieved block (number of pixel values) is smaller than the block provided by IDCT processor 218; Thus, the retrieved block is upsampled to form a predictive block having the same number of pixels as the residual block provided by IDCT processor 218 before the blocks are combined by summing network 230.
예측 블록은 원래의 고해상도 픽셀 블록에 대응하는 블록을 발생하기 위해 MV 트랜슬레이터(220)로부터의 제어 신호에 응답하는 업샘플링 프로세서(226)에 의해 업샘플링되고, 하프-픽셀 발생기(228)에서 업-샘플링된 예측 블록을 위해 모션 벡터에 의해 표시된다면, 하프-픽셀 값들이 발생되어 예측 블록의 적절한 공간 정렬을 보장한다. 업샘플링되고 정렬된 예측 블록은 합산 네트워크(230)에서 현재 필터된 블록에 가산되고, 이것은 예를 들어, 예측 블록으로부터 감소된 해상도 잔차 성분이다. 모든 처리가 매크로블록 단위에 기초하여 행해진다. 현재 고-해상도 매크로블록에 대해서 모션 보상 프로세스가 완성된 후에, 재구성된 매크로블록은 다운 샘플링 프로세서(232)에 따라서 데시메이트된다. 이러한 프로세스는 영상의 해상도를 감소시키지 않지만 저해상도 필터된 영상으로부터 중복(redundant) 픽셀들을 간단히 제거한다.The predictive block is upsampled by an upsampling processor 226 in response to a control signal from the MV translator 220 to generate a block corresponding to the original high resolution pixel block, and up-graded in the half-pixel generator 228. If indicated by the motion vector for the sampled prediction block, half-pixel values are generated to ensure proper spatial alignment of the prediction block. The upsampled and aligned prediction block is added to the currently filtered block in summing network 230, which is, for example, a reduced resolution residual component from the prediction block. All processing is performed based on macroblock units. After the motion compensation process is completed for the current high-resolution macroblock, the reconstructed macroblock is decimated according to the down sampling processor 232. This process does not reduce the resolution of the image but simply removes redundant pixels from the low resolution filtered image.
저해상도 포맷을 위한 다운 샘플링(Down Sampling for Low Resolution Formats)Down Sampling for Low Resolution Formats
다운 샘플링은 다운컨버트된 영상에서 픽셀들의 개수를 감소시키기 위하여 도 2의 다운 샘플링 프로세서(232)에 의해 달성된다. 도 3A는 3:1 데시메이션을 위한 4:2:0 신호 포맷에 대한 입력과 데시메이트된 출력 픽셀들을 도시한다. 도 3B는 4:2:0 크로미넌스 타입 2:1 데시메이션에 대한 입력과 데시메이트된 출력 픽셀들을 도시한다. 테이블 1은 도 3A와 도 3B의 휘도 및 크로미넌스 픽셀들에 대한 범례 식별을 나타낸다. 도 3A와 도 3B의 다운 컨버젼 전과 후의 픽셀 위치들은 각각 비월주사되고(interlaced)(3:1 데시메이션) 프로그레시브(2:1 데시메이션) 경우들이다.Down sampling is accomplished by the down sampling processor 232 of FIG. 2 to reduce the number of pixels in the downconverted image. 3A shows input and decimated output pixels for a 4: 2: 0 signal format for 3: 1 decimation. 3B shows the input and decimated output pixels for 4: 2: 0 chrominance type 2: 1 decimation. Table 1 shows legend identification for the luminance and chrominance pixels of FIGS. 3A and 3B. Pixel positions before and after downconversion in FIGS. 3A and 3B are interlaced (3: 1 decimation) and progressive (2: 1 decimation) cases, respectively.
테이블 1Table 1
1920*1080 픽셀 영상으로부터의 640*1080 픽셀 수평 압축된 영상으로의 컨버젼이 될 수 있는 비월주사된 영상의 다운 샘플링을 위해서, 매 3개의 픽셀들 중 2개가 수평축 상에서 데시메이트된다. 예시적인 3:1 데시메이션을 위해서, 다운 컨버젼 프로세스 후에는 3개의 다른 매크로블록 타입들이 있다. 도 3A에서, 원래의 매크로블록들은 MB0, MB1, MB2로 정의된다. MB0에서 다운 샘플링된 휘도 픽셀들은 원래의 매크로블록의 제 1 픽셀에서 시작하지만, MB1, MB2 에서는 다운 샘플링된 픽셀들이 제 3 및 제 2 픽셀들에서 시작한다. 또한, 각 매크로블록에서 다운-샘플링된 픽셀들의 개수는 동일하지 않다. MB0에서, 수평으로 6개의 다운-샘플링된 픽셀들이 있지만, MB1, MB2에서는 5개의 픽셀들이 있다. 이러한 3개의 MB 타입들이 반복되고 있고, 따라서 모듈로 3 산술이 이루어져야 한다. 테이블 2는 다운샘플링 픽셀들과 각 입력 매크로블록 MB0, MB1, MB2에 대한 오프셋들의 수를 요약한다.For down sampling of an interlaced image, which can be converted from a 1920 * 1080 pixel image to a 640 * 1080 pixel horizontal compressed image, two of every three pixels are decimated on the horizontal axis. For the example 3: 1 decimation, there are three different macroblock types after the down conversion process. In Fig. 3A, the original macroblocks are defined as MB0, MB1, MB2. Luminance pixels down sampled in MB0 start at the first pixel of the original macroblock, while down sampled pixels start at the third and second pixels in MB1, MB2. Also, the number of down-sampled pixels in each macroblock is not the same. In MB0, there are six down-sampled pixels horizontally, while in MB1, MB2 there are five pixels. These three MB types are being repeated, so modulo 3 arithmetic must be done. Table 2 summarizes the downsampling pixels and the number of offsets for each input macroblock MB0, MB1, MB2.
테이블 2Table 2
프로그레시브 포맷 영상의 다운샘플링을 위해서, 휘도 신호는 모든 제 2 샘플에 대해서 수평적으로 서브샘플링된다. 크로미넌스 신호를 위해서, 다운-샘플링된 픽셀은 원래의 영상의 픽셀 위치에서 2분의 1 아래에 있는 공간 위치를 가진다.For downsampling of progressive format pictures, the luminance signal is subsampled horizontally for every second sample. For the chrominance signal, the down-sampled pixel has a spatial position that is one half below the pixel position of the original image.
다운 컨버젼을 위한 매크로블록 예측(Macroblock Prediction for Downconversion)Macroblock Prediction for Downconversion
예시적인 다운 컨버젼 프로세스를 위해서, 이전 영상들의 기준 프레임들이 수평 방향으로 축소(down sized)되기 때문에, 이러한 프레임들을 포인팅하는 수신된 모션 벡터들은 컨버젼 비(conversion ratio)에 따라서 또한 트랜슬레이트될 수 있다. 다음은 수평 방향에서 휘도 블록에 대한 모션 트랜슬레이션을 설명한다. 당업자는 원한다면, 다음의 논의를 수직 방향에서의 모션 트랜슬레이션으로 연장시킬 수 있을 것이다. x와 y를 원래 영상 프레임의 현재 매크로블록 주소로 정의하고, Dx를 수평 데시메이션 팩터(decimation factor)로 정의하고, mvx를 원래 영상 프레임의 하프 픽셀 수평 모션 벡터로 정의하고, 원래 영상 프레임의 모션 블록의 상부 좌측 픽셀의 주소를 하프 픽셀 유닛의 XH로 정의하면, 다음 식[1]이 주어진다. For the exemplary down conversion process, since the reference frames of previous images are down sized in the horizontal direction, the received motion vectors pointing to these frames can also be translated according to the conversion ratio. The following describes motion translation for a luminance block in the horizontal direction. Those skilled in the art will be able to extend the following discussion to motion translation in the vertical direction, if desired. Define x and y as the current macroblock address of the original picture frame, Dx as the horizontal decimation factor, mvx as the half pixel horizontal motion vector of the original picture frame, and motion in the original picture frame If the address of the upper left pixel of the block is defined as XH of the half pixel unit, the following equation [1] is given.
[수학식 1][Equation 1]
XH = 2x + mvx XH = 2x + mv x
다운-샘플링된 영상에서 모션 블록 개시에 대응하고 x* 와 y*으로 정의되는 주소를 가진 픽셀은 방정식[2]를 사용하여 결정될 수 있다.Pixels with addresses corresponding to the motion block initiation in the down-sampled image and defined by x * and y * may be determined using equation [2].
[수학식 2][Equation 2]
방정식[2]의 나눗셈은 끝 수를 버리는(truncation) 정수 나눗셈이다.The division of equation [2] is an integer division that truncates.
예시적인 필터(216)와 다운 샘플링 프로세서(232)는 단지 영상의 수평 성분들만을 축소시키므로, 모션 벡터의 수직 성분은 영향받지 않는다. 크로미넌스 데이터에 대해서, 모션 벡터는 원래 화상의 휘도 모션 벡터의 2분의 1이다. 따라서, 크로미넌스 모션 벡터를 트랜슬레이트시키는 정의는 2개의 방정식 [1], [2]를 또한 사용할 수 있다.The exemplary filter 216 and down sampling processor 232 only reduce the horizontal components of the image, so that the vertical components of the motion vector are not affected. For chrominance data, the motion vector is one half of the luminance motion vector of the original image. Thus, the definition of translating the chrominance motion vector may also use two equations [1], [2].
모션 예측은 2 단계 프로세스에 의해 행해진다. 먼저, 원래 영상 프레임의 픽셀 정확도 모션 추정이 도 2A와 도 2B의 업샘플링 프로세서(226)에서 다운-샘플링된 영상 프레임의 업샘플링에 의해 달성될 수 있고, 그후 하프 픽셀 발생기(228)는 가장 인접한 픽셀 값들을 평균함으로써 하프 픽셀 보간을 수행한다.Motion prediction is done by a two step process. First, pixel accuracy motion estimation of the original image frame may be achieved by upsampling of the down-sampled image frame in the upsampling processor 226 of FIGS. 2A and 2B, and then the half pixel generator 228 is the nearest neighbor. Half pixel interpolation is performed by averaging pixel values.
기준 영상 데이터는 IDCT 프로세서(218)에 의해 제공된 출력 데이터에 가산된다. 합산 네트워크(230)의 출력 값들은 고해상도 포맷에 일치하는 다수의 픽셀들을 가진 영상에 대응하기 때문에, 이러한 값들은 더 낮은 해상도를 가진 디스플레이에 디스플레이하기 위해 다운샘플링될 수 있다. 다운 샘플링 프로세서(232)에서의 다운샘플링은 영상 프레임의 서브샘플링에 실질적으로 동등하지만, 조정들이 컨버젼 비에 기초해서 이루어질 수 있다. 예를 들어, 3:1 다운샘플링의 경우에, 수평으로 다운샘플링된 픽셀들의 수는 각 입력 매크로블록에 대해서 6 또는 5 이고, 제 1 다운샘플링된 픽셀들이 항상 입력 매크로블록의 제 1 픽셀이 되는 것은 아니다.The reference image data is added to the output data provided by the IDCT processor 218. Since the output values of summing network 230 correspond to an image with multiple pixels that match the high resolution format, these values can be downsampled for display on a lower resolution display. Downsampling at downsampling processor 232 is substantially equivalent to subsampling of the image frame, but adjustments can be made based on the conversion ratio. For example, in the case of 3: 1 downsampling, the number of horizontally downsampled pixels is 6 or 5 for each input macroblock, and the first downsampled pixels are always the first pixel of the input macroblock. It is not.
다운-샘플링된 영상로부터 정확한 모션 예측 블록을 얻은 후에, 업샘플링은 고해상도 화상에서 대응 예측 블록을 얻기 위해 사용된다. 따라서, 모션 블록 예측에서 서브픽셀 정확도는 다운 샘플링된 화상에서 바람직하다. 예를 들어, 3:1 데시메이션을 사용하여, 다운컨버트된 화상에서 모션 예측의 1/3(또는 1/6) 서브픽셀 정확도를 가지는 것이 바람직하다. 다운-샘플링된 모션 블록에 부가하여, 모션 벡터에 의해 얻어지는 제 1 픽셀인 서브픽셀이 결정된다. 그리고 나서, 후속되는 서브픽셀 위치들이 다음에서 설명되는 모듈로 계산을 사용하여 결정된다. 서브픽셀 위치들은 방정식 [3]에서 주어진 대로 xs로 정의된다.After obtaining the correct motion prediction block from the down-sampled image, upsampling is used to obtain the corresponding prediction block in the high resolution image. Thus, subpixel accuracy in motion block prediction is desirable in down sampled pictures. For example, using 3: 1 decimation, it is desirable to have 1/3 (or 1/6) subpixel accuracy of motion prediction in downconverted pictures. In addition to the down-sampled motion block, a subpixel is determined that is the first pixel obtained by the motion vector. Subsequent subpixel positions are then determined using the modulo calculation described below. The subpixel positions are defined by x s as given in equation [3].
[수학식 3][Equation 3]
여기서"%"는 모듈로 나눗셈을 나타낸다.Where "%" represents division by module.
예를 들어, xs 의 범위는 3:1 업샘플링에 대해서 0,1,2 이고, 2:1 업샘플링에 대해서 0,1 이다. 도 4A는 3:1과 2:1 예들에 대한 서브픽셀 위치들과 대응하는 17 예측 픽셀들을 도시하고, 테이블 3은 도 4A의 범례를 보여준다.For example, the range of x s is 0,1,2 for 3: 1 upsampling and 0,1 for 2: 1 upsampling. FIG. 4A shows 17 prediction pixels corresponding to subpixel locations for 3: 1 and 2: 1 examples, and Table 3 shows the legend of FIG. 4A.
테이블 3Table 3
전술한 것처럼, 업샘플링 필터들은 업샘플링 다상 필터들일 수 있고, 테이블 4는 이러한 업샘플링 다상 보간 필터들의 특징을 나타낸다.As mentioned above, the upsampling filters can be upsampling polyphase filters, and Table 4 characterizes these upsampling polyphase interpolation filters.
테이블 4Table 4
다음 두 테이블들, 테이블 5와 테이블 6은 예시적 3:1 및 2:1 업샘플링 다상 필터들에 대한 다상 필터 계수들을 나타낸다.The following two tables, Tables 5 and 6, show the polyphase filter coefficients for the exemplary 3: 1 and 2: 1 upsampling polyphase filters.
테이블 5 3:1 업샘플링 필터Table 5 3: 1 Upsampling Filter
테이블 6 2:1 업샘플링 필터Table 6 2: 1 Upsampling Filter
고정 소수점 표시에서, 테이블 5와 테이블 6의 괄호안의 수들은 9비트로 2의 보수 표시이고, 대응하는 배정도 수들이 좌측에 있다. 다운샘플링된 기준 영상 프레임의 모션 예측 블록의 서브픽셀 위치에 따라서, 다상 보간 필터의 하나의 대응 위상이 사용된다. 또한, 예시적 실시예를 위해서, 좌 및 우측에 있는 부가의 픽셀들이 원래 영상 프레임의 17 수평 픽셀들을 보간하는데 사용된다. 예를 들어, 3:1 데시메이션의 경우에, 최대 6개의 수평 다운샘플링된 픽셀들이 각 입력 매크로블록에 대해서 생성된다. 그러나, 업샘플링할 때에는, 필터가 동작하도록 업샘플링 필터가 경계 외부의 더 많은 좌 및 우측 픽셀들을 요구하기 때문에 9개의 수평 픽셀들은 대응하는 모션 예측 블록 값들을 생성하는데 사용된다. 예시적 실시예는 하프 픽셀 모션 추정을 사용하기 때문에, 17 픽셀들은 가장 인접한 두 픽셀 샘플들의 평균값들인 16 하프 픽셀들을 얻기 위해 요구된다. 하프 픽셀 보간기는 픽셀들의 블록에 하프-픽셀 해상도를 제공하는 보간 동작을 수행한다. 테이블 7A는 서브픽셀 위치들과 다상 필터 요소들 사이의 예시적 매핑을 예시하고, 업샘플링 프로세스를 위해 업샘플링된 블록의 픽셀들에 부가하여 요구되는 다수의 좌측 픽셀들을 도시한다. In fixed-point display, the numbers in parentheses in Tables 5 and 6 are 9-bit complement representations of two bits, with corresponding double-precision numbers on the left. According to the subpixel position of the motion prediction block of the downsampled reference picture frame, one corresponding phase of the polyphase interpolation filter is used. Also, for the exemplary embodiment, additional pixels to the left and right are used to interpolate 17 horizontal pixels of the original image frame. For example, in the case of 3: 1 decimation, up to six horizontal downsampled pixels are generated for each input macroblock. However, when upsampling, nine horizontal pixels are used to generate corresponding motion prediction block values because the upsampling filter requires more left and right pixels outside the boundary for the filter to work. Since the exemplary embodiment uses half pixel motion estimation, 17 pixels are required to obtain 16 half pixels, which are average values of two nearest pixel samples. The half pixel interpolator performs an interpolation operation that provides half-pixel resolution to a block of pixels. Table 7A illustrates an example mapping between subpixel positions and polyphase filter elements and shows the number of left pixels required in addition to the pixels of the upsampled block for the upsampling process.
테이블 7ATable 7A
도 4B는 입력 매크로블록의 각 행에 대해 수행되는 업샘플링 프로세스를 요약한다. 먼저, 단계(310)에서, 처리되고 있는 입력 영상 프레임의 블록에 대한 모션 벡터가 수신된다. 단계(312)에서, 모션 벡터는 메모리의 다운샘플링된 기준 프레임에 대응하도록 트랜슬레이트된다. 단계(314)에서, 스케일된 모션 벡터는 메모리(130)에 저장된 기준 영상 블록의 좌표들을 계산하는데 사용된다. 단계(316)에서, 블록에 대한 서브픽셀 포인트가 결정되고, 그후 업샘플링을 위한 초기 다상 필터 값들이 단계(318)에서 결정된다. 저장된 다운샘플링된 기준 프레임의 기준 블록에 대한 식별된 픽셀들은 그후 단계(320)에서 메모리(130)로부터 검색된다.4B summarizes the upsampling process performed for each row of the input macroblock. First, in step 310, the motion vector for the block of the input image frame being processed is received. In step 312, the motion vector is translated to correspond to a downsampled reference frame of memory. In step 314, the scaled motion vector is used to calculate the coordinates of the reference image block stored in memory 130. In step 316, the subpixel point for the block is determined, and then initial polyphase filter values for upsampling are determined in step 318. The identified pixels for the reference block of the stored downsampled reference frame are then retrieved from memory 130 at step 320.
필터링 단계(324)에서 제 1 통과 전에, 필터의 레지스터들은 단계(322)에서 초기화될 수 있고, 단계(322)는 예시적인 실시예로써 레지스터들을 초기 3 또는 5 픽셀 값들로 로드시키는 단계를 포함한다. 그리고 나서 필터링 단계(324)후에, 단계(326)에서 프로세스는 모든 픽셀들이 처리되어졌는지 결정하는데, 예시적 실시예는 17 픽셀들이다. 만약 모든 픽셀들이 처리되었다면, 업샘플링된 블록은 완료된다. 예시적인 실시예에서, 17×9 픽셀 블록은 더 위의 또는 더 낮은 모션 블록을 위해서 되돌려진다. 만약 모든 픽셀들이 처리되어지지 않았다면, 위상은 단계(328)에서 갱신되고, 위상이 0 값인지 검사된다. 만약 위상이 0 이라면, 레지스터들은 픽셀 값들의 다음 세트를 위해서 갱신된다. 단계(328)에서 위상을 갱신하는 것은, 예시적인 3:1 업샘플링에 대한 필터 루프 주기에 대해서는 위상값을 0,1,2로 갱신하고, 2:1 업샘플링에 대한 필터 루프 주기에 대해서는 0,1로 갱신한다. 최-좌측 픽셀이 영상 화상의 경계의 외부인 경우에, 영상 화상의 제 1 픽셀값은 반복될 수 있다.Prior to the first pass in filtering step 324, the registers of the filter may be initialized in step 322, which step 322 includes loading registers with initial 3 or 5 pixel values as an exemplary embodiment. . Then, after filtering step 324, the process at step 326 determines whether all pixels have been processed, an exemplary embodiment is 17 pixels. If all the pixels have been processed, the upsampled block is complete. In an exemplary embodiment, the 17x9 pixel block is returned for higher or lower motion blocks. If all the pixels have not been processed, the phase is updated at step 328 and checked if the phase is zero. If phase is zero, the registers are updated for the next set of pixel values. Updating the phase in step 328 updates the phase value to 0,1,2 for the filter loop period for the exemplary 3: 1 upsampling, and zero for the filter loop period for the 2: 1 upsampling. Update to 1 If the left-most pixel is outside the boundary of the video image, the first pixel value of the video image can be repeated.
예시적인 실시예를 위해서, 업샘플링 필터링 동작은 다음 가이드라인들에 따라서 구현될 수 있다. 먼저, 몇 개의 팩터들이 사용될 수 있다. 1) 하프-픽셀 모션 예측 동작은 두 개의 풀(full) 픽셀들을 평균하고, 대응 필터 계수들은 하프-픽셀 필터 계수를 제공하도록 또한 평균된다. 2) 필터 탭들의 수와 동등할 수 있는, 고정된 수의 필터 계수들, 예컨대 5,이 특정 다운 컨버젼에 관계없이 사용될 수 있다. 3) 5개의 병렬 입력 포트들이 각 포워드, 백워드, 하부, 상부 블록에 대한 업샘플링 블록에 제공될 수 있고, 각 기준 블록에 대해서 각 클럭 천이에 대한 5개의 입력 픽셀들 LWR(0)-LWR(4)이 하나의 출력 픽셀을 제공하기 위해 대응하는 필터 계수들과 결합된다. 4) 각 픽셀들 LWR(0)-LWR(4)와 결합된 필터 계수들 h(0)-h(4)의 합은 샘플링 블록의 출력 픽셀을 제공한다.For an exemplary embodiment, the upsampling filtering operation may be implemented in accordance with the following guidelines. First, several factors can be used. 1) The half-pixel motion prediction operation averages two full pixels, and the corresponding filter coefficients are also averaged to provide half-pixel filter coefficients. 2) A fixed number of filter coefficients, such as 5, which may be equivalent to the number of filter taps, may be used regardless of the particular down conversion. 3) Five parallel input ports can be provided in the upsampling block for each forward, backward, lower, and upper block, and five input pixels LWR (0) -LWR for each clock transition for each reference block. (4) is combined with the corresponding filter coefficients to provide one output pixel. 4) The sum of the filter coefficients h (0) -h (4) combined with each pixel LWR (0) -LWR (4) provides the output pixel of the sampling block.
곱셈 배열(ordering)은 필터 계수들의 정규(normal) 배열과는 반대이기 때문에, 필터 계수들은 바람직하게는 리버스되고, 몇몇 계수들은 제로로 하는 것이 바람직할 수 있다. 테이블 7B는 3:1 업샘플링 필터에 대한 예시적 계수들을 나타내고, 테이블 7C는 2:1 업샘플링 필터에 대한 예시적 계수들을 나타낸다.Since the ordering is the opposite of the normal arrangement of filter coefficients, it may be desirable for the filter coefficients to be reversed and some coefficients to zero. Table 7B shows example coefficients for a 3: 1 upsampling filter, and Table 7C shows example coefficients for a 2: 1 upsampling filter.
테이블 7BTable 7B
테이블 7CTable 7C
테이블들 7B와 7C에서, x*는 방정식들 [1]과 [2]에서 정의된 다운샘플링된 픽셀 위치이고, 서브픽셀 위치 xs는 방정식[3]으로부터 방정식[3']로 재정의된다.In tables 7B and 7C, x * is the downsampled pixel position defined in equations [1] and [2] and the subpixel position x s is redefined from equation [3] to equation [3 '].
[수학식 3'][Equation 3 ']
xs = (XH)%(2Dx)x s = (XH)% (2Dx)
예시적인 구현의 크로미넌스 값들을 위해서, XH는 2로 스케일되고, 방정식들 [1], [2], [3']가 적용된다. 한 실시예에서, 위상과 하프 픽셀 정보(2비트와 1비트로 각각 코드화된)는 도 2B의 모션 보상 프로세서(220)와 하프-픽셀 발생기(228)에 의해 사용된다. 예를 들어, 기준 블록 픽셀들은 먼저 U 픽셀들, 다음 V 픽셀들, 마지막으로 Y 픽셀들로 제공된다. U 와 V 픽셀들은 40 사이클 동안 클록(clock)되고, Y 픽셀들은 144 사이클 동안 클록된다. 기준 블록들은 처음 5개의 픽셀들을 제공하고, 두 번 반복하고, 하나씩 데이터를 시프트시키고, 한 행이 끝날 때까지 반복하는 것에 의해 3:1 데시메이션을 위해 제공될 수 있다. 동일한 방법이, 두 번이 아니라 한번 반복된다는 것을 제외하고는 2:1 데시메이션을 위해 사용될 수 있다. 데시메이션이 모션 보상으로부터의 출력의 가산과 잔차 값을 가진 하프-픽셀 발생을 따르기 때문에 입력 픽셀들은 반복된다. 따라서, 3:1 데시메이션을 위해서, 3개의 픽셀들 중 2개가 삭제되고, 이러한 픽셀 값들에 대한 더미(dummy) 픽셀들은 중요하지 않다.For the chrominance values of the exemplary implementation, XH is scaled to 2 and equations [1], [2], [3 '] apply. In one embodiment, phase and half pixel information (coded in two and one bits respectively) is used by motion compensation processor 220 and half-pixel generator 228 of FIG. 2B. For example, the reference block pixels are provided first with U pixels, then with V pixels, and finally with Y pixels. U and V pixels are clocked for 40 cycles, and Y pixels are clocked for 144 cycles. The reference blocks may be provided for 3: 1 decimation by providing the first five pixels, repeating twice, shifting the data one by one, and repeating until one row is over. The same method can be used for 2: 1 decimation except that it is repeated once rather than twice. The input pixels are repeated because decimation follows half-pixel generation with addition and residual values of the output from motion compensation. Thus, for 3: 1 decimation, two of the three pixels are deleted, and the dummy pixels for these pixel values are not important.
DCT 계수들의 가중치를 사용하는 DCT 영역 필터링(DCT Domain Filtering Employing Weighting of DCT Coefficients)DCT Domain Filtering Employing Weighting of DCT Coefficients
본 발명의 예시적 실시예는, 주파수 영역에서 DCT 계수들을 처리하고 공간 영역에서 저역-통과 필터 동작을 대체하는 도 2의 DCT 필터(216)와 함께 사용된다. MPEG 또는 JPEG 표준들에 의해 고려되어진 것처럼, DCT 코드화된 화상들을 위한 공간 영역 필터링 대신에 DCT 영역 필터링에는 몇가지 장점들이 있다. 가장 주목할 만한 것은, DCT 영역 필터가 공간 픽셀 샘플 값들에 적용되는 공간 영역 필터보다 계산상으로 더 효율적이고 더 적은 하드웨어를 요구한다. 예를 들어, N 탭들을 가진 공간 필터는 각 공간 픽셀 샘플값에 대해서 N 개의 부가적인 곱셈과 덧셈을 사용할 수 있다. 이것은 DCT 영역 필터에서 오로지 하나의 부가적인 곱셈에 비교된다.An exemplary embodiment of the present invention is used with the DCT filter 216 of FIG. 2 which processes DCT coefficients in the frequency domain and replaces the low-pass filter operation in the spatial domain. As contemplated by the MPEG or JPEG standards, there are several advantages to DCT domain filtering instead of spatial domain filtering for DCT coded pictures. Most notably, the DCT domain filter is computationally more efficient and requires less hardware than the spatial domain filter applied to the spatial pixel sample values. For example, a spatial filter with N taps may use N additional multiplications and additions for each spatial pixel sample value. This is compared to only one additional multiplication in the DCT domain filter.
종래 기술의 가장 간단한 DCT 영역 필터는 높은 주파수 DCT 계수들의 제거(truncation)이다. 그러나, 높은 주파수 DCT 계수들의 제거는 평탄한 필터를 초래하지 않고, 디코드된 화상의 가장자리들 근처에서 "울림(ringing)"과 같은 단점들을 가진다. 본 발명의 예시적 실시예의 DCT 영역 저역-통과 필터는 공간 영역에서 블록 미러 필터로부터 얻어진다. 블록 미러 필터에 대한 필터 계수 값들은, 예를 들어, 공간 영역에서 숫자상의 분석에 의해 최적화되고, 이러한 값들은 그후 DCT 영역 필터의 계수들로 변환된다.The simplest DCT domain filter of the prior art is the truncation of high frequency DCT coefficients. However, the removal of high frequency DCT coefficients does not result in a flat filter and has disadvantages such as "ringing" near the edges of the decoded picture. The DCT region low-pass filter of the exemplary embodiment of the present invention is obtained from a block mirror filter in the spatial domain. Filter coefficient values for the block mirror filter are optimized, for example, by numerical analysis in the spatial domain, and these values are then converted into coefficients of the DCT domain filter.
비록 예시적 실시예가 단지 수평 방향에서 DCT 영역 필터링을 보여주지만, DCT 영역 필터링은 수평 또는 수직 방향 또는 수평 및 수직 필터들을 결합하는 것에 의해 행해질 수 있다.Although the exemplary embodiment only shows DCT region filtering in the horizontal direction, DCT region filtering can be done by combining the horizontal or vertical direction or the horizontal and vertical filters.
DCT 영역 필터 계수들의 유도(Derivation of the DCT Domain Filter Coefficients)Derivation of the DCT Domain Filter Coefficients
본 발명과 함께 사용되는 하나의 예시적인 DCT 필터는 두 개의 구속으로부터 유도된다. 첫째, 필터는 화상의 이전 블록들로부터의 정보를 사용하지 않고 영상의 각 블록에 대해서 블록 단위를 기초하여 영상 데이터를 처리한다는 것과 둘째, 필터는 필터가 경계 픽셀 값들을 처리할 때 일어나는 블록 경계들의 가시도를 감소시킨다는 것이다.One exemplary DCT filter for use with the present invention is derived from two restraints. First, the filter processes the image data on a block-by-block basis for each block of the image without using information from previous blocks of the image. Second, the filter is a block of block boundaries that occur when the filter processes boundary pixel values. Decreases visibility.
첫째 구속에 따라서, MPEG 영상 시퀀스의 DCT 기반 압축에서, 예를 들어 N×N DCT 계수들은 N×N 공간 픽셀 값들을 생기게 한다. 따라서, 본 발명의 예시적인 실시예는 수신된 화상의 현재 블록을 단지 처리하기만 하는 DCT 영역 필터를 구현한다.According to the first constraint, in DCT-based compression of an MPEG picture sequence, for example, N × N DCT coefficients give rise to N × N spatial pixel values. Thus, an exemplary embodiment of the present invention implements a DCT region filter that merely processes the current block of the received picture.
둘째 구속에 따라서, 필터가 공간 주파수 계수들의 블록에 단순히 적용된다면, 필터의 나머지를 채우기 위해 경계를 넘어서는 불충분한 수의 공간 픽셀 값들에 의해 발생되는 블록 경계에서의 필터링 동작의 변이가 있다. 즉, N-탭 필터가 단지 N/2 탭들에 대한 값들을 가지고, 나머지 값들은 블록의 경계를 넘기 때문에, 블록의 가장자리에서 계수 값들은 적절하게 필터링될 수 없다. 빠뜨린 픽셀 값들을 공급하는 몇 개의 방법이 있다. 1) 경계를 넘어서 소정의 상수 픽셀 값을 반복 2) 경계 픽셀 값과 동일한 픽셀 값을 반복 3) 처리된 블록에 인접한 픽셀 값들의 이전 및 후속 블록들을 시뮬레이트하기 위해 블록의 픽셀 값들을 반영. 이전 또는 후속하는 블록의 내용들에 관한 사전 정보 없이 반복되는 픽셀 값들의 미러링 방법은 양호한 방법으로 간주된다. 따라서, 본 발명의 한 실시예는 필터를 위해 이러한 미러링 방법을 사용하고, "블럭 미러 필터"로 칭해진다.According to a second constraint, if the filter is simply applied to a block of spatial frequency coefficients, there is a variation in the filtering operation at the block boundary caused by an insufficient number of spatial pixel values beyond the boundary to fill the rest of the filter. That is, because the N-tap filter only has values for N / 2 taps, and the remaining values cross the block boundary, the coefficient values at the edge of the block cannot be properly filtered. There are several ways to supply missing pixel values. 1) repeating a predetermined constant pixel value across a boundary 2) repeating a pixel value equal to a boundary pixel value 3) reflecting pixel values of the block to simulate previous and subsequent blocks of pixel values adjacent to the processed block. A method of mirroring pixel values that is repeated without prior information about the contents of the preceding or subsequent blocks is considered to be a good method. Thus, one embodiment of the present invention uses this mirroring method for the filter and is referred to as a "block mirror filter".
다음은, 블록의 8 입력 공간 픽셀 샘플 값들을 저역-통과 필터링하는 수평 블록 미러 필터를 구현하는 예시적 실시예를 설명한다. 입력 블록의 크기가 픽셀 샘플값들의 8×8 블록 행렬이라면, 수평 필터링은 8 픽셀 샘플 값들의 각 행에 블록 미러 필터를 적용함으로써 행해질 수 있다. 필터링 프로세스가 필터 계수들을 열 방향으로 블록 행렬에 적용함으로써 구현될 수 있다는 것 또는 다차원 필터링이 행들을 필터링하고 나서 블록 행렬의 열들을 필터링함으로써 달성될 수 있다는 것은 당업자에게 명백할 것이다.The following describes an example embodiment of implementing a horizontal block mirror filter that low-pass filters the eight input spatial pixel sample values of a block. If the size of the input block is an 8x8 block matrix of pixel sample values, horizontal filtering may be done by applying a block mirror filter to each row of 8 pixel sample values. It will be apparent to those skilled in the art that the filtering process may be implemented by applying the filter coefficients to the block matrix in the column direction or that multidimensional filtering may be accomplished by filtering the rows and then filtering the columns of the block matrix.
도 5는 입력 픽셀 값들 x0 내지 x7(그룹 X0)와 탭 값들 h0 내지 h14에 의해 나타내지는 15 탭 공간 필터를 사용하는 8 입력 픽셀들을 위한 예시적인 미러 필터를 위한 필터 탭들 사이의 예시적 대응을 보여준다. 입력 픽셀들은 그룹 X1으로 보여진 그룹 X0의 좌측과, 그룹 X2로 보여진 그룹 X0의 우측에 반영된다. 필터의 출력 픽셀 값은 대응하는 픽셀 샘플 값들과 함께 필터 탭 계수 값들의 15 곱셈들의 합이다. 도 5는 제 1 및 제 2 출력 픽셀 값들에 대한 곱셈 쌍들을 예시한다.5 shows an example between filter taps for an example mirror filter for 8 input pixels using the 15 tap spatial filter represented by input pixel values x 0 to x 7 (group X 0 ) and tap values h 0 to h 14 . Shows the enemy response. The input pixels are reflected on the left side of group X0 shown as group X1 and on the right side of group X0 shown as group X2. The output pixel value of the filter is the sum of 15 multiplications of the filter tap coefficient values with corresponding pixel sample values. 5 illustrates multiplication pairs for first and second output pixel values.
다음은 공간 영역에서 블록 미러 필터가 DCT 영역 필터와 동등하다는 것을 보여준다. 미러 필터링은 2N 포인트들(N=8)을 가진 순환 콘벌루션(circular convolution)에 관한 것이다.The following shows that the block mirror filter in the spatial domain is equivalent to the DCT domain filter. Mirror filtering relates to circular convolution with 2N points (N = 8).
벡터 x'을 방정식 [4]에 보여진 것처럼 정의한다.Define the vector x 'as shown in equation [4].
[수학식 4][Equation 4]
x'(n)=x(n)+x(2N-1-n), 0 = n < = 2N-1x '(n) = x (n) + x (2N-1-n), 0 = n <= 2N-1
N=8의 경우에, In the case of N = 8
x'=(x0,x1,x2,x3,x4,x5,x6,x7,x7,x6,x5,x4,x3,x2,x1,x0)x '= (x0, x1, x2, x3, x4, x5, x6, x7, x7, x6, x5, x4, x3, x2, x1, x0)
필터 탭 값들 h0 내지 h14를 재배열하고, 재배열된 값들을 h'에 의해 정의하면,If we rearrange filter tap values h 0 to h 14 and define the rearranged values by h ',
h'=(h7,h8,h9,h10,h11,h12,h13,h14,0,h0,h1,h2,h3,h4,h5,h6)h '= (h7, h8, h9, h10, h11, h12, h13, h14,0, h0, h1, h2, h3, h4, h5, h6)
따라서, 미러 필터된 출력 y(n)은 방정식 [5]에 의해 주어지는 x'(n)과 h'(n)의 순환 콘벌루션이다.Thus, the mirror filtered output y (n) is a cyclic convolution of x '(n) and h' (n) given by equation [5].
[수학식 5][Equation 5]
y(n)=x'(n)ⓧh'(n)y (n) = x '(n) ⓧh' (n)
이것은 방정식 [6]과 동일하다.This is equivalent to equation [6].
[수학식 6][Equation 6]
여기서, x'[n-k]는 x'(n)의 순환 모듈로이고,Where x '[n-k] is a cyclic modulo of x' (n),
x'[n]=x'(n), n >=0x '[n] = x' (n), n> = 0
x'[n]=x'(n+2N), n < 0 이다.x '[n] = x' (n + 2N), n <0.
방정식 [5]에서 보여진 공간 영역에서 순환 콘벌루션은 이산 푸리에 변환(DFT) 영역에서 스칼라 곱에 대응한다. Y(k)를 y(n)의 DFT로 정의하면, 방정식 [5]는 DFT 영역에서 방정식 [7]로 된다.The cyclic convolution in the spatial domain shown in equation [5] corresponds to a scalar product in the Discrete Fourier Transform (DFT) domain. If Y (k) is defined as the DFT of y (n), equation [5] becomes equation [7] in the DFT domain.
[수학식 7][Equation 7]
Y(k)=X'(k)·H'(k)Y (k) = X '(k) H' (k)
여기서 X'(k) 와 H'(k)는 각각 x'(n)과 h'(n)의 DFT 이다.Where X '(k) and H' (k) are the DFT of x '(n) and h' (n), respectively.
방정식들 [4] 내지 [7]은 2N 보다 더 작은 수의 탭들을 가진 필터에 유효하다. 또한, 필터는 홀수의 탭들을 가진 대칭 필터로 제한되고, 이러한 구속들과 함께 H'(k)는 실수이다. 따라서, X'(k) 즉, x'(n)의 DFT는 필터링 동작을 구현하기 위해 공간 영역에서의 2N 곱셈과 2N 가산 동작들 대신에 DFT 주파수 영역에서의 실수 H'(k)로 가중될 수 있다. x(n)의 N-포인트 DCT는 x(n)과 그것의 미러 x(2N-1-n)로 구성된 조인트 시퀀스인 x'(n)의 2N-포인트 DFT에 의해 얻어지기 때문에, X'(k)의 값들은 원래의 N-포인트 x(n)의 DCT 계수들과 매우 밀접하게 관련되어 있다.Equations [4] to [7] are valid for filters with fewer taps than 2N. The filter is also limited to a symmetric filter with odd taps, with H '(k) being a real number. Thus, the DFT of X '(k), i. Can be. Since the N-point DCT of x (n) is obtained by the 2N-point DFT of x '(n), which is a joint sequence consisting of x (n) and its mirror x (2N-1-n), X' ( The values of k) are very closely related to the DCT coefficients of the original N-point x (n).
다음은, 홀수의 탭들, 2N-1 을 가진 대칭 필터를 가정함으로써, 공간 필터의 DFT 계수들, H'(k)의 유도를 설명하는데, 여기서 h(n)=h(2N-2-n)이고, 동등하게 h'(n)=h'(2N-n), h'(N)=0 이다. H'(k)는 방정식[8]에서 정의한다.The following describes the derivation of the DFT coefficients of the spatial filter, H '(k), by assuming a symmetric filter with odd taps, 2N-1, where h (n) = h (2N-2-n) And h '(n) = h' (2N-n) and h '(N) = 0 equally. H '(k) is defined in equation [8].
[수학식 8][Equation 8]
여기서 W2N kn=exp{-2πkn/(2N)}, H'(k)=H'(2N-k) 이다.Where W 2N kn = exp {-2πkn / (2N)} and H '(k) = H' (2N-k).
본 발명자는 x'(n)의 2N-포인트 DFT, X'(k)가 방정식 [9]에서 보여진 대로 그것의 DCT 계수들에 의해 표현될 수 있다고 결정했다.The inventors determined that the 2N-point DFT of x '(n), X' (k), can be represented by its DCT coefficients as shown in equation [9].
[수학식 9][Equation 9]
반면에, x(n)의 DCT 계수,C(k)는 방정식[10]에 의해 주어진다.On the other hand, the DCT coefficient of x (n), C (k), is given by equation [10].
[수학식 10][Equation 10]
인 경우이고 Is
그리고 그 외의 경우에 C(k)=0 이다.And in other cases C (k) = 0.
x'(n)의 DFT 계수들, X'(k)의 값들은 방정식[11]의 행렬에 의해 x'(n)의 DCT 계수들, C(k)에 의해 표현될 수 있다.The DFT coefficients of x '(n), the values of X' (k) can be represented by the DCT coefficients of x '(n), C (k) by the matrix of equation [11].
[수학식 11][Equation 11]
원래의 공간 픽셀 샘플값들, x(n)은 방정식[12]에 의해 보여진 IDCT(역 이산 코사인 변환)에 의해 또한 얻어질 수 있다.The original spatial pixel sample values, x (n), can also be obtained by IDCT (inverse discrete cosine transform) shown by equation [12].
[수학식 12][Equation 12]
여기서 k=0에 대해 α(k)=1/2이고, 그 외의 경우는 1이다.Here, α (k) = 1/2 with respect to k = 0 and 1 otherwise.
0<=n<=N-1에 대해서 y(n)의 값들은 [13]에서 주어진 X'(k)H'(k)의 IDFT에 의해 얻어진다.The values of y (n) for 0 <= n <= N-1 are obtained by IDFT of X '(k) H' (k) given in [13].
[수학식 13][Equation 13]
방정식[13]의 값들 y(n)은 C(k)H'(k)의 IDCT의 공간 값들이다. 따라서, 공간 필터링은 H'(k)로 영상 블록을 표현하는 입력 주파수-영역 계수들의 DCT 가중과 공간 영역에서 필터된 픽셀 값들을 재구성하기 위해 가중된 값들의 IDCT를 수행함으로써 대체될 수 있다.The values y (n) of equation [13] are the spatial values of IDCT of C (k) H '(k). Thus, spatial filtering can be replaced by performing a DCT weighting of the input frequency-domain coefficients representing the image block with H '(k) and IDCT of the weighted values to reconstruct the filtered pixel values in the spatial domain.
본 발명의 예시적인 블록 미러 필터링의 한 실시예는 다음 단계들에 의해서 얻어진다. 1) 일차원 저역-통과 대칭 필터가 2N 탭들보다 더 작은 홀수의 탭들로 선택된다. 2) 필터 계수들이 제로를 덧붙이는 것에 의해 2N 값들까지 증가된다. 3) 원래의 중간 계수가 좌측 순환 시프트에 의해 영번째 위치에 가도록 필터 계수들이 재배열된다. 4) 재배열된 필터 계수들의 DFT 계수들이 결정된다. 5) DCT 계수들이 필터의 실수 DFT 계수들로 승산된다. 6) 필터된 DCT 계수들의 역 이산 코사인 변환(IDCT)이 데시메이션을 위해 준비된 저역-통과-필터링된 픽셀들의 블록을 제공하도록 수행된다.One embodiment of exemplary block mirror filtering of the present invention is obtained by the following steps. 1) One-dimensional low-pass symmetric filter is selected with odd number of taps smaller than 2N taps. 2) Filter coefficients are increased to 2N values by adding zero. 3) The filter coefficients are rearranged such that the original intermediate coefficients go to the zeroth position by the left cyclic shift. 4) DFT coefficients of the rearranged filter coefficients are determined. 5) DCT coefficients are multiplied by the real DFT coefficients of the filter. 6) An Inverse Discrete Cosine Transform (IDCT) of the filtered DCT coefficients is performed to provide a block of low-pass-filtered pixels ready for decimation.
저역-통과 필터의 차단 주파수는 데시메이션 비에 의해 결정된다. 하나의 예시적인 실시예를 위해서, 차단 주파수는 3:1 데시메이션에 대해서는 π/3이고 2:1 데시메이션에 대해서는 π/2이며, 여기서 π는 샘플링 주파수의 2분의 1에 대응한다.The cutoff frequency of the lowpass filter is determined by the decimation ratio. For one exemplary embodiment, the cutoff frequency is π / 3 for 3: 1 decimation and π / 2 for 2: 1 decimation, where π corresponds to one half of the sampling frequency.
역 양자화기와 블록들의 IDCT 프로세싱이 종래 기술의 디코더에 이미 존재하기 때문에 MPEG 와 JPEG 디코더들의 DCT 영역 필터는 메모리 요구사항들이 감소되어 지는 것을 허용하고, DCT 영역 필터에 의한 DCT 계수들의 부가적인 스칼라 곱만이 요구된다. 따라서, 별도의 DCT 영역 필터 블록 곱셈이 특정 구현에서 물리적으로 요구되지 않으며, 본 발명의 또다른 실시예는 DCT 영역 필터 계수들에 IDCT 프로세싱 계수들을 단순히 결합하고, 결합된 계수들을 IDCT 동작에 적용한다.The DCT domain filter of MPEG and JPEG decoders allows the memory requirements to be reduced because the IDCT processing of the inverse quantizer and blocks is already present in prior art decoders, and only an additional scalar product of the DCT coefficients by the DCT domain filter Required. Thus, no separate DCT domain filter block multiplication is physically required in a particular implementation, and another embodiment of the present invention simply combines IDCT processing coefficients with DCT domain filter coefficients and applies the combined coefficients to an IDCT operation. .
본 발명의 예시적인 다운 컨버젼 시스템을 위해서, DCT 계수들의 수평 필터링과 데시메이션들이 고려되었고, 다음은 두 개의 예시적인 구현들에 관한 것이다.For the exemplary down conversion system of the present invention, horizontal filtering and decimation of DCT coefficients have been considered, and the following relates to two exemplary implementations.
1. 1920H 대 1080V 비월주사를 640 대 1080 비월주사로 컨버젼1.Convert 1920H vs 1080V interlaced to 640 vs 1080 interlaced
(수평 3:1 데시메이션)(Horizontal 3: 1 decimation)
2. 1280H 대 720V 프로그레시브를 640 대 720 프로그레시브로 컨버젼2. Convert 1280H to 720V progressive to 640 to 720 progressive
(수평 2:1 데시메이션)(Horizontal 2: 1 decimation)
테이블 8은 DCT 블록 미러 필터(가중된) 계수들을 보여주고, 테이블 8에서 괄호안의 수들은 10 비트 2의 보수 표시들이다. 테이블 8의 " * " 은, 값이 1보다 크기 때문에, 10 비트 2의 보수 표시에 대한 경계 초과 값을 나타낸다. 그러나, 당업자에게 공지된 것처럼, 블록의 열 계수들과 *으로 표시된 값들과의 곱은, 계수 값을 필터 값의 나머지 값(나머지)에 의해 승산된 계수에 가산함으로써 쉽게 구현될 수 있다.Table 8 shows the DCT block mirror filter (weighted) coefficients, and the numbers in parentheses in Table 8 are 10 bit two's complement representations. " * " In Table 8 represents the over-boundary value for the 10-bit two's complement indication, because the value is greater than one. However, as is known to those skilled in the art, the product of the column coefficients of a block and the values marked with * can be easily implemented by adding the coefficient value to the coefficient multiplied by the remaining value of the filter value (rest).
테이블 8Table 8
이러한 수평 DCT 필터 계수들은 인코딩된 비디오 영상의 DCT 계수들의 8×8 블록의 각 열에 가중치를 준다. 예를 들어, 제 0 열의 DCT 계수들은 H[0]에 의해 가중되고, 제 1 열의 DCT 계수들은 H[1]에 의해 가중되는 등이다.These horizontal DCT filter coefficients weight each column of an 8x8 block of DCT coefficients of the encoded video image. For example, the DCT coefficients in column 0 are weighted by H [0], the DCT coefficients in column 1 are weighted by H [1], and so on.
상기 설명은 일차원 DCT들을 사용하는 수평 필터 구현을 나타낸다. 디지털 신호 프로세싱 기술에서 공지된 것처럼, 그러한 프로세싱은 이차원 시스템들로 확장될 수 있다. 방정식[12]는 일차원 경우에 대한 IDCT를 예시하고, 따라서 방정식[12']는 좀더 일반적인 이차원 IDCT를 부여한다.The above description shows a horizontal filter implementation using one-dimensional DCTs. As is known in the digital signal processing technique, such processing can be extended to two-dimensional systems. Equation [12] illustrates the IDCT for the one-dimensional case, so equation [12 '] gives the more general two-dimensional IDCT.
[수학식 12'][Equation 12 ']
여기서, C(u),C(v)는 u,v = 0 인 경우에 이고, 그밖의 경우에는 1 이다.Where C (u), C (v) is u, v = 0 And otherwise 1.
여기서 f(x,y)는 공간 영역 표시이고, x와 y는 샘플 영역의 공간 좌표들이고, u, v는 변환 영역의 좌표들이다. 계수들 C(u),C(v)는 코사인 항의 값들로 알려져 있기 때문에, 단지 변환 영역 계수들은 프로세싱 알고리즘들을 위해 제공될 필요가 있다.Where f (x, y) is the spatial domain representation, x and y are the spatial coordinates of the sample domain, and u, v are the coordinates of the transform domain. Since the coefficients C (u), C (v) are known as the values of the cosine term, only transform domain coefficients need to be provided for the processing algorithms.
이차원 시스템에서, 입력 시퀀스는 이제 값들의 행렬로 표현되는데, 각각은 변환 영역에서 각각의 좌표를 나타내고, 행렬은 주기 M을 가진 열 시퀀스에서 주기적이고 주기 N을 가진 행 시퀀스에서 주기적인 시퀀스들을 가진 것으로 보여질 수 있으며, N과 M은 정수들이다. 이차원 DCT는 입력 시퀀스의 열들 상에 수행되는 제 1 일차원적 DCT와 DCT 프로세스된 입력 시퀀스의 행들 상에 수행되는 제 2 일차원적 DCT로 구현될 수 있다. 또한, 해당 기술에서 알려진 대로, 이차원 IDCT는 단일 프로세스로서 구현될 수 있다.In a two-dimensional system, the input sequence is now represented by a matrix of values, each representing its coordinates in the transform domain, the matrix having periodic sequences in a column sequence with period M and a row sequence with period N as It can be seen that N and M are integers. The two-dimensional DCT may be implemented with a first one-dimensional DCT performed on columns of the input sequence and a second one-dimensional DCT performed on rows of the DCT processed input sequence. In addition, as known in the art, two-dimensional IDCT may be implemented as a single process.
도 6은 직렬 연결된 일차원적 IDCT들로 구현되는 수평 및 수직 성분들을 처리하는 이차원 시스템을 위한 다운-컨버젼을 위한 필터의 예시적인 구현을 도시한다. 도 6에서 도시된 대로, 도 2의 DCT 필터 마스크(216)와 IDCT(218)은 수직 DCT 필터(530)와 수직 IDCT(540)을 포함하는 수직 프로세서(510)와 수직 성분들에 대해 구현되어진 것과 동일한 수평 DCT 필터와 수평 IDCT를 포함하는 수평 프로세서(520)에 의해 구현될 수 있다. 필터링과 IDCT 프로세스들은 선형이기 때문에, 상기 프로세스들을 구현하는 순서는 재배열될 수 있다.(예를 들어, 수평 및 수직 DCT 필터링을 먼저, 수평 및 수직 IDCT를 두 번째로, 또는 반대로 수직 프로세서(520)를 먼저, 수평 프로세서(510)를 두 번째로)6 shows an example implementation of a filter for down-conversion for a two-dimensional system that processes horizontal and vertical components implemented with serially connected one-dimensional IDCTs. As shown in FIG. 6, the DCT filter mask 216 and IDCT 218 of FIG. 2 are implemented for a vertical processor 510 and vertical components that include a vertical DCT filter 530 and a vertical IDCT 540. It may be implemented by a horizontal processor 520 that includes the same horizontal DCT filter and horizontal IDCT. Since filtering and IDCT processes are linear, the order in which they are implemented may be rearranged (e.g., horizontal and vertical DCT filtering first, horizontal and vertical IDCT second, or vice versa. ) First, horizontal processor (510) second)
도 6에서 보여진 특정한 구현에서, 수직 프로세서(510) 다음에 블록 전치 오퍼레이터(block Transpose Operator:550)가 이어지고, 이것은 수직 프로세서에 의해 제공된 수직 처리된 값들의 블록의 행들과 열들을 스위치한다. 이러한 동작은 수평 프로세서(520)에 의한 처리를 위해 블록을 준비함으로써 계산의 효율성을 증가시키는데 사용될 수 있다.In the particular implementation shown in FIG. 6, a vertical processor 510 is followed by a block transpose operator (550), which switches the rows and columns of the block of vertically processed values provided by the vertical processor. This operation may be used to increase the efficiency of the calculation by preparing the block for processing by the horizontal processor 520.
인코딩된 비디오 블록, 예를 들어 행렬 값들의 8×8 블록이 수직 DCT 필터(530)에 의해 수신되고, 이것은 블록의 각 행 엔트리를 원하는 수직 데시메이션에 대응하는 DCT 필터 값들에 의해 가중시킨다. 다음, 수직 IDCT(540)는 블록의 수직 성분들에 대해 역 DCT를 수행한다. 전술한 것처럼, 양 프로세스들은 행렬 승산과 가산을 단순히 수행하기 때문에, DCT LPF 계수들은 행렬 승산들과 가산 동작들을 위해서 수직 DCT 계수들과 결합될 수 있다. 수직 프로세서(510)는 그후 수직으로 처리된 블록들을 전치 오퍼레이터(550)로 공급하고, 이것은 수직으로 처리된 값들의 전치된 블록을 수평 프로세서(520)로 제공한다. IDCT 연산이 행 또는 열에 의해서만 단지 행해진다면, 전치 오퍼레이터(550)는 필요하지 않다. 수평 프로세서(520)는 원하는 수평 필터링에 대응하는 블록의 각 열 엔트리의 DCT 필터 값들에 의한 가중화를 수행하고, 블록의 수평 성분들에 대해서 역 DCT를 수행한다.An encoded video block, e.g., an 8x8 block of matrix values, is received by the vertical DCT filter 530, which weights each row entry of the block by DCT filter values corresponding to the desired vertical decimation. Next, vertical IDCT 540 performs inverse DCT on the vertical components of the block. As mentioned above, since both processes simply perform matrix multiplication and addition, the DCT LPF coefficients may be combined with the vertical DCT coefficients for matrix multiplication and addition operations. Vertical processor 510 then supplies the vertically processed blocks to pre-operator 550, which provides the horizontally processed processor with a transposed block of vertically processed values. If the IDCT operation is only performed by row or column, then pre-operator 550 is not necessary. The horizontal processor 520 performs weighting by the DCT filter values of each column entry of the block corresponding to the desired horizontal filtering, and performs inverse DCT on the horizontal components of the block.
방정식[12']를 참조해서 설명된 것처럼, 변환 영역에서의 계수들만이 프로세싱 알고리즘들에 제공되고, 단지 이러한 계수들에 수학적 연산들을 허용하는 연산들은 선형이다. 방정식[12']로부터 이미 명백한 것처럼, IDCT에 대한 연산들은 곱들의 합(sum of products)을 형성한다. 따라서, 하드웨어 구현은 ROM(도시되지 않음), 입력 변환 좌표들의 행렬로부터 선택된 계수들뿐만 아니라 ROM으로부터 이러한 계수들을 수신하는 승산 및 가산 회로들의 한 그룹(도시되지 않음)등의 메모리에 알려진 계수들이 저장되는 것을 요구한다. 좀 더 진보된 시스템에서, 수학적 연산들의 순서가 곱들의 합 구현으로부터 비트-직렬 구현으로 변환하는 분산된 산술에 따라 수정된다면, ROM-누산기 방법이 사용될 수 있다. 그러한 기술들은 예를 들어, Stanley A. White, 디지털 신호 프로세싱에 분산된 산술의 응용, A Tutorial Review, IEEE ASSP Magazine, July,1989 에 설명되고, 이것은 곱들의 합 구현에서 총 게이트 카운트를 감소시키는 계산들에서 대칭을 이용한다.As described with reference to equation [12 '], only the coefficients in the transform domain are provided to the processing algorithms, and only operations that allow mathematical operations on these coefficients are linear. As is already apparent from equation [12 '], the operations on IDCT form a sum of products. Thus, a hardware implementation stores known coefficients in memory, such as a ROM (not shown), coefficients selected from a matrix of input transform coordinates, as well as a group of multiplication and addition circuits (not shown) that receive these coefficients from the ROM. It needs to be. In more advanced systems, the ROM-accumulator method can be used if the order of the mathematical operations is modified according to distributed arithmetic that translates from the sum implementation of the products to the bit-serial implementation. Such techniques are described, for example, in Stanley A. White, Application of Distributed Arithmetic to Digital Signal Processing, A Tutorial Review, IEEE ASSP Magazine, July, 1989, which calculates the total gate count in the implementation of the sum of the products. Symmetry in the field.
본 발명의 선택적인 실시예에서, DCT 필터 동작은 역 DCT(IDCT) 동작과 결합될 수 있다. 그러한 실시예를 위해서, 필터링과 역 변환 동작들은 선형이기 때문에, 필터 계수들은 수정된 IDCT를 형성하는 IDCT의 계수들과 결합될 수 있다. 해당 기술에서 알려진 것처럼, 수정된 IDCT 그리고 따라서 결합된 IDCT 와 DCT 다운컨버젼 필터링은 단순한 IDCT 연산에서의 것과 유사한 하드웨어 구현을 통하여 수행될 수 있다.In alternative embodiments of the invention, the DCT filter operation may be combined with an inverse DCT (IDCT) operation. For such an embodiment, since the filtering and inverse transform operations are linear, the filter coefficients may be combined with the coefficients of the IDCT forming the modified IDCT. As is known in the art, modified IDCT and thus combined IDCT and DCT downconversion filtering can be performed through a hardware implementation similar to that of a simple IDCT operation.
본 발명의 예시적인 실시예들이 여기에서 도시되고 설명되었지만, 그러한 실시예들은 단지 사례에 의해 제공된 것이라는 것을 이해해야 할 것이다. 다양한 변경들, 변이들, 대체들이 본 발명의 정신을 이탈하지 않고 당업자에게 발생할 것이다. 따라서, 첨부된 청구범위는 본 발명의 범위 내에 있는 모든 그러한 변화들을 포괄하도록 의도된다.While illustrative embodiments of the invention have been shown and described herein, it will be appreciated that such embodiments are provided by way of example only. Various modifications, variations, and substitutions will occur to those skilled in the art without departing from the spirit of the invention. Accordingly, the appended claims are intended to cover all such changes as fall within the scope of the invention.
Claims (9)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019980709104A KR100563015B1 (en) | 1997-03-12 | 1998-03-11 | Upsampling Filter and Half-Pixel Generator for HDTV Downconversion System |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US60/040,517 | 1997-03-12 | ||
KR1019980709104A KR100563015B1 (en) | 1997-03-12 | 1998-03-11 | Upsampling Filter and Half-Pixel Generator for HDTV Downconversion System |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20000010955A KR20000010955A (en) | 2000-02-25 |
KR100563015B1 true KR100563015B1 (en) | 2007-04-25 |
Family
ID=41635694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019980709104A KR100563015B1 (en) | 1997-03-12 | 1998-03-11 | Upsampling Filter and Half-Pixel Generator for HDTV Downconversion System |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100563015B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010104059A (en) * | 2000-05-12 | 2001-11-24 | 박종섭 | Fault detecter in MPEG encoder |
-
1998
- 1998-03-11 KR KR1019980709104A patent/KR100563015B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20000010955A (en) | 2000-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0908057B1 (en) | Upsampling filter and half-pixel generator for an hdtv downconversion system | |
US6175592B1 (en) | Frequency domain filtering for down conversion of a DCT encoded picture | |
US6249549B1 (en) | Down conversion system using a pre-decimation filter | |
JP3631642B2 (en) | Effective down-conversion in 2: 1 decimation | |
KR100667606B1 (en) | Up-sampling filter for a down conversion system | |
US6539120B1 (en) | MPEG decoder providing multiple standard output signals | |
US6788347B1 (en) | HDTV downconversion system | |
WO1998041012A9 (en) | Mpeg decoder providing multiple standard output signals | |
WO1998041011A9 (en) | Hdtv downconversion system | |
US20030043918A1 (en) | Method and apparatus for performing video image decoding | |
US6493391B1 (en) | Picture decoding method and apparatus | |
KR100563015B1 (en) | Upsampling Filter and Half-Pixel Generator for HDTV Downconversion System | |
KR100518477B1 (en) | HDTV Down Conversion System | |
KR100526905B1 (en) | MPEG decoder provides multiple standard output signals |
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 | ||
LAPS | Lapse due to unpaid annual fee |