KR100975155B1 - 압축된 비디오 스트림으로부터 추출된 정보를 이용하여 움직임 보상된 픽처율 상향 변환을 하기 위한 방법 및 시스템 - Google Patents
압축된 비디오 스트림으로부터 추출된 정보를 이용하여 움직임 보상된 픽처율 상향 변환을 하기 위한 방법 및 시스템 Download PDFInfo
- Publication number
- KR100975155B1 KR100975155B1 KR1020080107041A KR20080107041A KR100975155B1 KR 100975155 B1 KR100975155 B1 KR 100975155B1 KR 1020080107041 A KR1020080107041 A KR 1020080107041A KR 20080107041 A KR20080107041 A KR 20080107041A KR 100975155 B1 KR100975155 B1 KR 100975155B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- block
- motion vectors
- pictures
- pruc
- Prior art date
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 173
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 20
- 239000013598 vector Substances 0.000 claims abstract description 120
- 238000013139 quantization Methods 0.000 claims abstract description 22
- 230000006837 decompression Effects 0.000 claims abstract description 17
- 238000001914 filtration Methods 0.000 claims description 34
- 238000012545 processing Methods 0.000 claims description 30
- 238000000605 extraction Methods 0.000 claims description 4
- 238000003672 processing method Methods 0.000 claims 1
- 230000009467 reduction Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 6
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000008520 organization Effects 0.000 description 4
- 230000000750 progressive effect Effects 0.000 description 4
- 230000000903 blocking effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 230000003595 spectral effect Effects 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 241000255925 Diptera Species 0.000 description 1
- 101000969688 Homo sapiens Macrophage-expressed gene 1 protein Proteins 0.000 description 1
- 102100021285 Macrophage-expressed gene 1 protein Human genes 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- 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/0127—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level by changing the field or frame frequency of the incoming video signal, e.g. frame rate converter
-
- 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/587—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
-
- 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/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear 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/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/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/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- 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
- 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
- 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
- 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
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
압축된 비디오 스트림으로부터 추출된 정보를 이용하여 움직임 보상된 픽처율 상향 변환(PRUC)을 하기 위한 방법 및 시스템은, 압축된 비디오 데이터 스트림이 비디오 압축해제 엔진(202)에 의해 압축해제되고 있는 동안에, 압축된 비디오 데이터 스트림으로부터 PRUC 데이터를 추출하는 동작을 포함할 수 있다. PRUC 데이터는 예를 들어, 국부 블록 움직임 벡터들, 블록 코딩 모드 정보, 양자화 레벨들, 양자화 나머지 데이터 및 디코딩된 픽처들을 포함할 수 있다. 복수의 내삽 픽처들이 PRUC 데이터를 추출하는 것에 기초하여 생성될 수 있다.
Description
본 발명의 일부 실시예들은 디지털 비디오 프로세싱에 관련된 것이다. 더 상세하게는, 본 발명의 일부 실시예들은 압축된 비디오 스트림으로부터 추출된 정보를 이용하여 움직임 보상된 픽처율 상향 변환(PRUC: picture rate up-conversion)을 하기 위한 방법 및 시스템에 관련된 것이다.
비디오 디스플레이 기술 분야에 중대한 혁명적인 한가지 사건은 액정 디스플레이(LCD) 또는 플라즈마 디스플레이 패널(PDP) 기술 중 하나에 기초한 평판 스크린들이 지난 반 세기 넘게 주요 디스플레이 장치로서 역할을 해왔던 음극선관(CRT) 기술을 빠르게 대체하는 중이라는 것이다. 새로운 비디오 디스플레이 기술들이 가져온 중대한 결과는 영상들이 이제 평면 스크린 상에서 프로그래시브 스캐닝(progressive scanning)을 통해 더 높은 픽처율(picture rate)로 디스플레이될 수 있다는 점이다. 이러한 새로운 비디오 디스플레이 기술들은 또한 표준 해상도 텔레비전(SDTV)에서 고해상도 텔레비전(HDTV)로 더욱 빠른 전환을 촉진시킬 수 있다. 그러나, 기존의 비디오 압축 시스템들은 여전히 낮은 픽처율을 가진 포맷들을 이용하고 있고, 따라서 최신의 디스플레이 화면들 상에 구식 비디오를 최적으로 디스플레이하는 것이 가능하지 않을 수도 있다.
낮은 픽처율의 영상들을 디스플레이하는 데에 악영향을 줄 수 있는 채널 용량 상의 제한이 있을 수 있다. 예를 들어, 모바일 네트워크를 통해 브로드캐스팅될 수 있는 30 Hz 비디오 시퀀스를 고려할 경우에, 단말기들, 예를 들어 휴대 전화들은 서버로부터 인코딩된 상태의 비디오 시퀀스를 수신하게 될 수 있다. 그러나, 대역폭 한계로 인하여, 오직 낮은 비디오 시퀀스만이 통신될 수 있다. 그 결과, 인코더는 전송이 될 수 있게 매 세 개의 영상들 중 두 개를 제거할 수 있으며, 예를 들어 10 Hz 정도의 픽처율을 가지는 시퀀스라는 결과를 가져올 수 있다. 단말기는 30 Hz에서 비디오를 디스플레이할 수 있겠지만, 이 단말기는 10 Hz 비디오를 수신하기 때문에, 소정 형태의 픽처율 변환을 수행해야만 할 수도 있다.
기존의 전통적인 접근법에 따른 다른 한계점들 및 단점들은 당해 기술 분야의 숙련된 자에게, 본 출원의 나머지 부분들에서 도면들을 참조하여 설명되는 본 발명의 몇몇 측면들과 종래의 시스템들의 비교를 통해 명백해질 것이다.
청구범위에서 더욱 완전하게 설명될, 도면 중의 적어도 하나와 함께 나타내지거나 또는 설명되는 바와 본질적으로 같은, 압축된 비디오 스트림으로부터 추출된 정보를 이용하여 움직임 보상된(motion compensated) 픽처율 상향 변환(PRUC)을 하기 위한 방법 및 시스템이 제공된다.
본 발명의 일 측면에 따르면, 비디오 데이터를 프로세싱하는 방법은
수신되는 압축된 비디오 데이터로부터 픽처율 상향 변환(PRUC: picture rate up conversion) 데이터를 추출하는 단계; 및
상기 추출된 PRUC 데이터에 기초하여 복수의 내삽 픽처들(interpolated pictures)을 생성하는 단계를 포함한다.
바람직하게는, 상기 추출된 PRUC 데이터는 블록 움직임 벡터들(block motion vectors), 블록 코딩 모드들(block coding modes), 양자화 레벨들(quantization levels), 양자화 나머지 데이터(quantized residual data) 내지 디코딩된 픽쳐들 또는 이들의 조합 중 하나 또는 다수를 포함한다.
바람직하게는, 상기 방법은 상기 수신되는 압축된 데이터의 압축해 제(decompression)에 기초하여, 상기 디코딩된 픽처들을 생성하는 단계를 포함한다.
바람직하게는, 상기 방법은 노이즈를 감소시킬 수 있도록 상기 디코딩된 픽쳐들을 필터링하는 단계를 포함한다.
바람직하게는, 상기 방법은 상기 블록 움직임 벡터들에 기초하여 하나 또는 다수의 움직임 벡터들을 생성한다.
바람직하게는, 상기 생성된 하나 또는 다수의 움직임 벡터들은, 하나 또는 다수의 국부 움직임 벡터들(local motion vectors) 내지 전역 움직임 벡터(global motion vector) 중 하나 또는 둘 모두를 포함한다.
바람직하게는, 상기 방법은 상기 전역 움직임 벡터를 생성할 수 있도록 복수의 상기 블록 움직임 벡터들을 누산(accumulating)하는 단계를 포함한다.
바람직하게는, 상기 방법은 상기 생성된 하나 또는 다수의 움직임 벡터들을 축척 조절(scaling)하는 단계를 포함한다.
바람직하게는, 상기 방법은 상기 축척 조절에 기초하여 하나 또는 다수의 픽셀 움직임 벡터들(pixel motion vectors)을 생성하는 단계를 포함한다.
바람직하게는, 상기 방법은 상기 양자화 나머지 데이터에 기초하여, 상기 생성된 하나 또는 다수의 움직임 벡터들의 확신성 값(confidence value) 내지 일관성 값(consistency value) 중 하나 또는 둘 모두를 생성하는 단계를 포함한다.
바람직하게는, 상기 방법은 상기 생성된 복수의 내삽 픽처들을 움직임 보상하는 단계를 포함한다.
바람직하게는, 상기 방법은 상기 생성된 후 움직임 보상된 복수의 내삽 픽처들을 비선형 필터링(non-linear filtering)하는 단계를 포함한다.
바람직하게는, 상기 수신되는 압축된 비디오 데이터로부터 픽처율 상향 변환(PRUC) 데이터를 추출하는 단계는 상기 수신되는 압축된 비디오 데이터가 압축해제되고 있는 동안에 일어난다.
일 측면에 따르면, 비디오 데이터를 처리하기 위한 시스템은,
수신되는 압축된 비디오 데이터로부터 픽처율 상향 변환(PRUC) 데이터의 추출을 가능하게 하는 하나 또는 다수의 회로들을 포함하며,
상기 하나 또는 다수의 회로들은 상기 추출된 PRUC 데이터에 기초한 복수의 내삽 픽처들의 생성을 가능하게 한다.
바람직하게는, 상기 추출된 PRUC 데이터는 블록 움직임 벡터들, 블록 코딩 모드들, 양자화 레벨들, 양자화 나머지 데이터 내지 디코딩된 픽쳐들 또는 이들의 조합 중 하나 또는 다수를 포함한다.
바람직하게는, 상기 하나 또는 다수의 회로들은 상기 수신되는 압축된 데이터의 압축해제에 기초하여 상기 디코딩된 픽처들의 생성을 가능하게 한다.
바람직하게는, 상기 하나 또는 다수의 회로들은 노이즈를 감소시킬 수 있도록 상기 디코딩된 픽쳐들을 필터링한다.
바람직하게는, 상기 하나 또는 다수의 회로들은 상기 블록 움직임 벡터들에 기초하여 하나 또는 다수의 움직임 벡터들의 생성을 가능하게 한다.
바람직하게는, 상기 생성된 하나 또는 다수의 움직임 벡터들은, 하나 또는 다수의 국부 움직임 벡터들 내지 전역 움직임 벡터 중 하나 또는 둘 모두를 포함한다.
바람직하게는, 상기 하나 또는 다수의 회로들은 상기 전역 움직임 벡터를 생성할 수 있도록 복수의 상기 블록 움직임 벡터들의 누산을 가능하게 한다.
바람직하게는, 상기 하나 또는 다수의 회로들은 상기 생성된 하나 또는 다수의 움직임 벡터들의 축척 조절에 기초하여 하나 또는 다수의 픽셀 움직임 벡터들의 생성을 가능하게 한다.
바람직하게는, 상기 하나 또는 다수의 회로들은 상기 양자화 나머지 데이터에 기초하여, 상기 생성된 하나 또는 다수의 움직임 벡터들의 확신성 값 내지 일관성 값 중 하나 또는 둘 모두의 생성을 가능하게 한다.
바람직하게는, 상기 하나 또는 다수의 회로들은 상기 생성된 복수의 내삽 픽처들의 움직임 보상을 가능하게 한다.
바람직하게는, 상기 하나 또는 다수의 회로들은 상기 생성된 후 움직임 보상된 복수의 내삽 픽처들을 비선형 필터링한다.
바람직하게는, 상기 수신되는 압축된 비디오 데이터로부터 픽처율 상향 변환(PRUC) 데이터의 추출은 상기 수신되는 압축된 비디오 데이터가 압축해제되고 있는 동안에 일어난다.
본 발명에 관한 이러한 장점들 그리고 그 밖의 장점들, 측면들 및 신규한 특징들은 이와 관련하여 예시된 실시예들의 세부사항들과 더불어, 다음의 상세한 설명 및 도면들로부터 더 완벽하게 이해될 수 있을 것이다.
본 발명의 실시예에 따르면, 압축된 비디오 스트림으로부터 추출된 정보를 이용하여 움직임 보상된 픽처율 상향 변환(PRUC)을 할 수 있다.
본 발명의 몇몇 실시예들은 압축 비디오 스트림으로부터 추출된 정보를 이용한 움직임 보상된 픽처율 상향 변환(PRUC: picture rate up-conversion)을 하는 시스템 내지 방법에서 찾아 볼 수 있다. 방법의 여러 측면들은 압축된 비디오 데이터 스트림이 비디오 압축해제 엔진에 의해 압축해제되는 동안에 압축된 비디오 데이터 스트림으로부터 PRUC 데이터를 추출하는 단계를 포함할 수 있다. 상기 PRUC 데이터는 예를 들어, 국부 블록 움직임 벡터들(local block motion vectors), 블록 코딩 모드들(block coding modes), 양자화 수준(quantization levels), 양자화 잔여 데이터(quantized residual data) 및 디코딩된 픽처들(decoded pictures)을 포함할 수 있다. 그렇지만, 상기 추출된 PRUC 데이터는 그렇게 한정되는 것은 아닐 수 있다. 복수의 내삽 픽처들(interpolated pictures)이 상기 PRUC 데이터의 추출에 기초하여 생성될 수 있다.
도 1은 본 발명의 실시예에 따른 예시적인 비디오 프로세싱 시스템의 블록도이다. 도 1을 참조하면, 비디오 프로세싱 블록(102), 프로세서(104), 메모리(106), 인코더(118) 및 데이터/컨트롤 버스(108)가 나타나 있다. 비디오 프로세싱 블록(102)는 레지스터들(110) 및 필터(116)를 포함할 수 있다. 몇몇 예에서는, 상기 비디오 프로세싱 블록(102)은 입력 버퍼(112) 내지 출력 버퍼(114)를 더 포함할 수 있다. 비디오 프로세싱 블록(102)은 비디오 픽처 내의 픽셀들을 필터링하거나 또는 비디오 입력 스트림으로부터 비디오 픽처를 필터링하여 노이즈를 줄이게 할 수 있는 적절한 논리 알고리즘(logic), 회로 조직(circuitry), 명령어 코드(code) 등을 포함할 수 있다. 예를 들어, 비디오 프레임 픽처들(video frame pictures)은 프로그래시브(progressive) 비디오 신호들을 가지는 비디오 시스템들에서 이용될 수 있는 반면에, 비디오 필드(video field pictures)들은 인터레이스(interlaced) 비디오 신호들을 가지는 비디오 시스템들에서 이용될 수 있다. 비디오 필드들은 탑 필드(top field)와 바텀 필드(bottom field) 사이에서 짝(parity)을 반복할 수 있다. 인터레이스 시스템에서 탑 필드 및 바텀 필드는 디인터레이스(deinterlaced)되거나 또는 결합(combined)됨으로써 하나의 비디오 프레임을 형성할 수 있다.
비디오 프로세싱 블록(102)은 비디오 입력 스트림을 수신하도록 구성될 수 있고, 몇몇 경우에서는, 그 수신된 비디오 입력 스트림의 적어도 일부분을 입력 버퍼(112)에 버퍼링하도록 구성될 수 있다. 이 경우에, 입력 버퍼(112)는 이러한 수신된 비디오 입력 스트림의 적어도 일 부분을 저장할 수 있도록 작동될 수 있는 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다. 이와 유사하게, 비디오 프로세싱 블록(102)은 필터링된 비디오 출력 스트림을 생성하여 비디오 디코더로 전달하도록 작동될 수 있으며, 몇몇 경우에 따라서는, 그렇게 생성된 필터링된 비디오 출력 스트림의 적어도 일 부분을 출력 버퍼(114)에 버퍼링하도록 작동될 수 있다. 이 경우에, 출력 버퍼(114)는 필터링된 비디오 출력 스트림의 적어도 일 부분을 저장할 수 있도록 작동될 수 있는 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다.
상기 비디오 프로세싱 블록(102) 내의 필터(116)는 현재 픽셀에 대해 노이즈 제거와 관련된 필터링 동작을 수행하도록 작동될 수 있는 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다. 이 경우에, 필터(116)는, 각각이 복수의 지원 필터링 동작들 중 하나와 연관되어 있을 수 있는 복수의 필터링 모드들로서 동작하도록 작동될 수 있다. 상기 필터(116)는, 선택된 필터링 모드에 따라, 비디오 목차(video content), 필터 계수들, 문턱값 레벨들 내지 여러 가지 상수들을 이용하여 필터링된 비디오 출력 스트림을 생성할 수 있다. 이 경우에 있어서, 상기 비디오 프로세싱 블록(102)은 선택된 적절한 필터링 모드와 함께 이용될 수 있는 혼합 인자들(blending factors)을 생성할 수도 있다. 비디오 프로세싱 블록(102) 내에 있는 레지스터들(110)은 예를 들어 필터 계수들, 문턱값 레벨들 내지 상수 값들에 상응하는 정보를 저장하도록 작동될 수 있는 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다. 더 나아가, 상기 레지스터들(110)은 선택된 필터링 모드에 상응하는 정보를 저장하도록 구현될 수 있다.
프로세서(104)는 데이터를 처리하고 시스템 제어 동작들을 수행할 수 있도록 작동될 수 있는 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다. 상기 프로세서(104)는 비디오 프로세싱 블록(102)의 동작들 중 적어도 일 부분을 제어할 수 있도록 작동될 수 있다. 예를 들어, 프로세서(104)는 비디오 프로세싱 블록(102) 내에서 필터링 모드의 선정을 제어하기 위한 적어도 하나의 신호를 생성할 수 있다. 나아가, 상기 프로세서(104)는 상기 레지스터들(110)의 적어도 일 부분에 저장되는 필터 계수들, 문턱값 레벨들 내지 상수들을 프로그래밍, 갱신 내지 변경시킬 수 있도록 작동될 수 있다. 예를 들어, 상기 프로세서(104)는 상기 메모리(106) 내에 저장되어 있을 수 있는 미리 저장된 필터 계수들, 문턱값 레벨들 내지 상수들을 읽어 가져오도록(retrieve) 하는 적어도 하나의 신호를 생성할 수 있고, 또한 수령된 정보를 상기 데이터/제어 버스(108)를 통해 레지스터들(110)로 전송할 수 있다.
상기 메모리(106)는 비디오 프로세싱 블록(102)에 의해 비디오 입력 스트림 내의 노이즈를 감소시키는 데에 이용될 수 있는 정보를 저장하도록 작동될 수 있는 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다. 상기 메모리(106)는 비디오 프로세싱 블록(102)에 의해 이용될 수 있도록 예를 들어 필터 계수들, 문턱값 레벨들 내지 상수들을 저장하도록 작동될 수 있다.
상기 인코더(118)는 상기 프로세서(104) 및 비디오 프로세싱 블록(102)으로부터 복수의 통계 입력들을 수신하여 처리할 수 있도록 작동될 수 있다. 상기 인코더(118)는 상기 필터링된 비디오 출력 스트림의 인코딩에 기초하여, 인코딩된 압축 비디오 스트림을 생성하도록 작동될 수 있다.
동작에 있어서, 상기 프로세서(104)는 필터링 동작 모드를 선정할 수 있으며, 이렇게 선정된 필터링 모드를 상기 비디오 프로세싱 블록(102) 내의 레지스터들(110)에 프로그래밍할 수 있다. 나아가, 상기 프로세서(104)는 선정된 필터링 모드에 따라, 필터 계수들, 문턱값 레벨들 내지 상수들에 대한 적절한 값들을 상기 레지스터들(110) 내에 프로그래밍할 수 있다. 비디오 프로세싱 블록(102)은 비디오 입력 스트림을 수신할 수 있으며, 선정된 필터링 모드에 따라 비디오 픽처 내의 픽셀들을 필터링할 수 있다. 몇몇 경우들에 있어서, 비디오 입력 스트림은 프로세싱이 되기 전에 입력 버퍼(112) 내에 저장될 수 있다. 비디오 프로세싱 블록(102)은 상기 프로세서(104)에 의해 선정된 노이즈 감소 필터링 동작을 수행하는 데에 필요로 하는 적절한 혼합 인자들을 생성할 수 있다. 비디오 프로세싱 블록(102)은 노이즈 감소 필터링 동작을 수행한 후, 필터링된 비디오 출력 스트림을 생성할 수 있다. 몇몇 경우에 있어서, 필터링된 비디오 출력 스트림은 비디오 프로세싱 블록(102)으로부터 외부로 전송되기에 앞서 출력 버퍼(114)에 저장될 수도 있다.
상기 프로세서(104)는 상기 비디오 프로세싱 블록(102)의 여러 구성 파트들의 동작 모드를 결정할 수 있다. 예를 들어, 프로세서(104)는 비디오 데이터를 메모리(106)로 DMA(direct memory access) 전송시킬 수 있도록 비디오 프로세싱 블록(102) 내의 데이터 레지스터들을 설정할 수 있다. 프로세서(104)는 또한 이미지 캡쳐링을 개시하도록 하는 명령어들을 이미지 센서로 통신할 수 있다. 상기 메모리(106)는 상기 프로세서(104)에 의해 처리되거나 전달될 수 있는 이미지 데이터를 저장하는 데에 이용될 수 있다. 상기 메모리(106)는 또한 프로세서(104)에 의해 이용될 수 있는 코드 내지 데이터를 저장하는 데에 이용될 수 있다. 상기 메모리(106)는 또한 상기 비디오 프로세싱 블록(102)의 다른 기능들에 관한 데이터를 저장하는 데에 이용될 수도 있다. 예를 들어, 상기 메모리(106)는 음성 통신에 관련되는 데이터를 저장할 수 있다. 상기 프로세서(104)는 비디오 데이터의 종류가 인터레이스 타입인지 프로그레시브 타입인지 여부를 결정할 수 있는 상태 머 신(state machine)을 포함할 수 있다.
도 2는 본 발명의 실시예에 따른 예시적인 픽처율 상향 변환 시스템의 블록도이다. 도 2를 참조하면, 비디오 디코딩 시스템(200)이 나타나 있다. 상기 비디오 디코딩 시스템(200)은 압축해제 엔진(202) 및 픽처율 상향 변환(PRUC) 엔진(204)을 포함할 수 있다. 상기 압축해제 엔진(202)은 엔트로피 디코더(206), 역 양자화(inverse quantization) 블록(208), 역 변환(inverse transform) 블록(210), 합산기(212) 및 움직임 보상 예측 블록(214)을 포함할 수 있다.
상기 PRUC 엔진(204)은 픽셀 움직임 벡터 생성 블록(216), 움직임 벡터 확신성 및 일관성 측정(MVCCM: motion vector confidence and consistency measurement) 블록(222), 움직임 보상 내삽 블록(motion compensated interpolation block)(224), 노이즈 감소 필터(226) 및 비선형 필터링 블록(228)을 포함할 수 있다. 상기 픽셀 움직임 벡터 생성 블록(216)은 블록 움직임 벡터 세밀화 블록(218) 및 스케일링 블록(220)을 포함할 수 있다.
상기 압축해제 엔진(202)은 특정 비디오 표준, 예를 들어 MPEG-2, H.264/MPEG-4 AVC, VC1 및 VP6 등에 관련된 비디오 디코더일 수 있다. 엔트로피 디코더(206)는 어떤 비디오 인코더, 예를 들어 인코더(118)로부터 제공된 압축 비디오 스트림을 수신하도록 작동될 수 있는 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다. 상기 엔트로피 디코더(206)는 특정 비디오 표준, 예를 들어 MPEG-2, H.264/MPEG-4 AVC, VC1 및 VP6에 상응하는 수신된 압축 비디오 스트림을 디코딩하도록 작동될 수 있다. 상기 엔트로피 디코더(206)는 수신된 압축 비 디오 스트림의 디코딩에 기초하여 블록 움직임 벡터들(block motion vectors)을 생성하도록 작동될 수 있다.
상기 역 양자화 블록(208)은 양자화 나머지 데이터(quantized residue data)를 생성하도록 작동될 수 있는 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다. 상기 역 변환 블록(210)은 재구축된 나머지 픽셀들(residual pixels)을 생성하여 상기 합산기(212)로 전달하도록 작동될 수 있는 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다.
상기 움직임 보상 예측 블록(214)은 상기 엔트로피 디코더(206)로부터 하나 또는 다수의 움직임 벡터들을 수신하여 움직임 보상된 픽셀들의 블록(block of pixels)을 생성하도록 작동될 수 있는 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다. 상기 합산기(212)는 상기 움직임 보상된 픽셀들의 블록을 상기 재구축된 나머지 픽셀들에 부가하여 하나 또는 다수의 디코딩된 픽처들을 생성하도록 작동될 수 있다. 하나 또는 다수의 픽처들은 상기 움직임 보상 예측 블록(214)으로 피드백될 수 있다. 움직임 보상 예측 블록(214)은 상기 엔트로피 디코더(226)로부터 하나 또는 다수의 움직임 벡터들을 수신한 것에 기초하여, 기준 영상(reference image) 또는 이전의 출력 픽처로부터 움직임 보상된 픽셀들의 블록을 생성하도록 작동될 수 있다.
상기 PRUC 엔진(204)은 상기 비디오 압축해제 엔진(202)으로부터 정보를, 예를 들어 움직임 벡터들, 픽처 및 매크로블록의 코딩 종류들 및 양자화 나머지 데이터를 추출하도록 작동될 수 있다.
상기 노이즈 감소 필터(226)는 상기 압축해제 엔진(202)으로부터 디코딩된 복수의 픽처들을 수신하도록 작동될 수 있는 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다. 노이즈 감소 필터(226)는 수신된 디코딩된 픽처들에 대해 디블록킹(de-blocking), 디링잉(de-ringing), 또는 그 밖의 노이즈 감소 필터링 동작을 수행하도록 작동될 수 있다. 노이즈 감소 필터(226)는 필터링된 출력을 생성하여 픽셀 움직임 벡터 생성 블록(216), 움직임 보상 내삽 블록(224) 및 비선형 필터링 블록(228)에 전달할 수 있다.
블록화 아티팩트(blockiness artifact)는 양자화기에 의해 블록 변환 도메인의 분포 즉 스펙트럼이 왜곡됨으로써 생겨날 수 있다. 이러한 블록화 아티팩트는 낮은 쪽의 스펙트럼 계수 즉 주파수의 양자화에 따른 왜곡에 관련될 수 있다. 블록화 아티팩트는 블록 경계에서, 예를 들어 MPEG1, 2 및 4의 경우에는 8x8 픽셀들 그리고 예를 들어 MPEG4 파트10 AVC의 경우에는 4x4 픽셀들과 8x8 픽셀들 모두에서 시각적으로 드러날 수 있다. 이러한 블록화 아티팩트는 예를 들어 주어진 어떤 픽처 또는 비디오 내의 평탄한 텍스쳐 표면에서 잘 인지될 수 있다.
링잉 인코딩 아티팩트(ringing encoding artifact)는 한편으로는 모스키토 아티팩트(mosquito artifact)라고 불리기도 하는데, 블록 변환 도메인의 분포 내지 스펙트럼이 양자화기에 의해 왜곡됨으로써 생겨날 수 있다. 이러한 링잉 인코딩 아티팩트는 높은 쪽의 스펙트럼 계수 즉 주파수의 양자화에 따른 왜곡과 관련되어 있을 수 있다. 링잉 인코딩 아티팩트는 예를 들어 모서리들이나 평탄한 텍스쳐 영역을 가지는 텍스트 경계선들에서 시각적으로 나타날 수 있다.
픽셀 움직임 벡터 생성 블록(216)은 엔트로피 디코더(206)로부터 추출된 블록 움직임 벡터들 및 코딩 모드들 정보를 수신하도록 작동될 수 있는 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다. 상기 픽셀 움직임 벡터 생성 블록(216)은 국부 블록(local block) 움직임 벡터들 및 전역(global) 움직임 벡터를 결정할 수 있고, 내삽 및 필터링 모드들을 결정하도록 작동될 수 있다. 상기 픽셀 움직임 벡터 생성 블록(216)은 전역 움직임 벡터(GMV: global motion vector)를 추정할 수 있도록, 복수의 블록 움직임 벡터들을 누산하도록 작동될 수 있다. 상기 픽셀 움직임 벡터 생성 블록(216)은 움직임 벡터들을 하나의 히스토그램(histogram)으로 정렬할 수 있고 GMV를 생성하도록 작동될 수 있다.
블록 움직임 벡터 세밀화 블록(218)은 상기 압축 비디오 스트림으로부터 추출된 움직임 벡터들을 세밀화하고, 블록 움직임 벡터들을 픽셀 움직임 벡터들로 분해(decompose)하도록 작동될 수 있는 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다. 상기 블록 움직임 벡터 세밀화 블록(218)은 국지적인 세밀화 탐색(local refinement search)을 수행하도록 작동될 수 있으며, 움직임 벡터들은 예를 들어 서브 픽셀 정밀도(sub-pixel precision)까지 세밀화될 수 있다.
스케일링 블록(220)은 내삽된(interpolated) 또는 삽입된(inserted) 픽처들을 위해, 위에서 생성된 움직임 벡터들을 적절히 축적 조절(scaling)하도록 작동될 수 있는 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다. 상기 픽셀 움직임 벡터 생성 블록(216)은 예를 들어, 국지적인 적응식 비선형 필터를 이용하여, 픽셀 움직임 벡터들을 생성하도록 작동될 수 있다. 상기 픽셀 움직임 벡 터 생성 블록(216)은 상기 국지적인 움직임 벡터의 일관성 값(consistency value)을 측정할 수 있도록 작동될 수 있다.
MVCCM 블록(222)은 위에서 추출된 양자화 나머지 데이터 및 양자화 레벨에 대해 측정을 하도록 작동될 수 있는 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다. 상기 MVCCM 블록(222)은 인접한 블록 움직임 벡터들을 비교하고 움직임 보상 블록 경계선의 픽셀 사이의 차이들을 이용함으로써 움직임 벡터 일관성 값을 생성하도록 작동될 수 있다. 예를 들어, 더 적은 나머지 데이터를 가지는 더 작은 양자화 레벨들은 더 높은 움직임 벡터 확신성이라는 결과를 가져올 수 있는 반면에, 더 많은 나머지 데이터를 가지는 더 큰 양자화 레벨들은 더 낮은 움직임 벡터 확신성을 생성할 수 있다. 상기 MVCCM 블록(222)은 움직임 벡터 확신성 값 및 움직임 벡터 일관성 값을 생성하여 상기 비선형 필터링 블록(228)으로 전달하도록 작동될 수 있다.
움직임 보상 내삽 블록(224)은 위에서 축척 조절된 국부 및 전역 움직임 벡터들과 노이즈 감소 및 디코딩된 픽처들을 이용하여 내삽된 또는 삽입된 픽쳐들을 생성하도록 작동될 수 있는 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다. 상기 움직임 보상 내삽 블록(224)은 이렇게 생성된 내삽된 픽처들을 상기 비선형 필터링 블록(228)으로 전달하도록 작동될 수 있다.
비선형 필터링 블록(228)은 위와 같이 수신된 내삽된 픽처들을 필터링하여, 최종 출력되는 내삽 픽처들 내에서 아티팩트들을 감소시키도록 작동될 수 있는 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다. 상기 비선형 필터링 블록(228)은 상기 움직임 벡터 확신성 및 일관성 측정 값을 이용하여 움직임 보상된 내삽이 잘 맞지 않을 수 있는지 여부를 판정하도록 작동될 수 있다. 만약 비선형 필터링 블록(228)이 위의 움직임 보상 내삽이 실패할 것 같다고 판정한다면, 상기 PRUC 엔진(204)은 화면의 변화 사이에 걸쳐 픽처의 내삽 기능을 끄고, 이전 픽처들을 반복하도록 작동될 수 있다.
동작에 있어서, 상기 압축해제 엔진(202)은 낮은 픽처율을 가지는 압축된 비디오 스트림들을 수신하고 그 수신된 압축 비디오 스트림들을 압축해제하도록 작동될 수 있다. 상기 PRUC 엔진(204)은 상기 압축 비디오 스트림들로부터 추출된 움직임 벡터들 및 그 밖의 코딩 정보를 이용하여 PRUC를 수행하도록 작동될 수 있다. 상기 PRUC 엔진(204)은 예를 들어 LCD 화면이나 PDP 화면과 같은 최신의 비디오 디스플레이 화면 상에 디스플레이할 수 있도록 프로그레시브 스캐닝을 하는 경우에 높은 픽처율의 내삽 픽처들을 생성하도록 작동될 수 있다.
예를 들어 MPEG-2, MPEG-4, VC1 및 VP6와 같은 디지털 비디오 압축 알고리즘들은 전방향 및 역방향 예측 코딩(forward and backward predictive coding)과 양방향 예측 코딩(bidirectional predictive coding)을 가능하게 할 수 있는데, 이는 각자 P 픽처들 및 B 픽처들의 발생을 가져올 수 있다. 움직임 보상 예측 코딩(motion compensated predictive coding)은 연속하는 픽처들 사이의 시간적인 상관 관계를 활용하도록 작동될 수 있다. 비디오 압축 인코더(118)는 허용된 시간 윈도우(temporal window) 내에 있는 픽처들 사이의 움직임 벡터들(MV: motion vectors)을 생성할 수 있다. 이러한 움직임 벡터들은 비디오 압축 인코딩 및 디코 딩 프로세스 중에 움직임 보상을 위해 이용될 수 있다. 압축 비디오 스트림 내에서, 예를 들어 매크로블록(macroblocks)의 움직임 보상 정보는 코딩된 움직임 벡터 데이터 및 변환된 나머지 데이터를 포함할 수 있다.
움직임 요동(motion judder)으로 알려진 아티팩트는 비디오 스트림의 픽처율이 낮은 경우에 일어날 수 있다. 움직임 요동은 시간 상의 샘플링 속도가 어떤 한 장면 내의 움직임을 정확히 묘사하기에는 다소 낮기 때문일 수 있다. 움직임 보상 내삽 블록(224)은 움직임 요동이 감소하도록 할 수 있다. 움직임 보상 내삽 블록(224)은 픽처율 변환기의 프로세싱을 조절함으로써 인간의 눈과 유사하게 이동 물체들을 쫓아갈 수 있게 작동될 수 있다. 그러한 픽처는 움직일 때에 움직임 요동 없이 깨끗하고 선명하게 보일 수 있을 것이다. PRUC 엔진(204)은 입력 픽처들의 스트림을 분석하여 화면 내에 각각의 물체를 인식하고, 그 물체가 어떻게 이동 중인 것인지를 판정하도록 작동될 수 있다. 상기 PRUC 엔진(204)은 각각의 출력 픽처를 생성하기 위해 서로 다른 시점들에 있는 복수의 물체들의 위치를 내삽하도록 작동될 수 있다.
PRUC 엔진(204)은 이전에 코딩된 픽처들을 반복하는 대신에, 코딩된 픽처들 사이에 추가적인 중간 픽처들(intermediate pictures)을 내삽하도록 작동될 수 있다. 움직임 보상 내삽은 비디오 압축을 하는 동안에 예측 픽처들, 예를 들어 P 픽처들 및 B 픽처들을 생성하는 동작과 유사할 수 있다. 본 발명의 일 실시예에 따르면, PRUC 엔진(204)은 하나 또는 다수의 내삽 픽처들을 생성하는 데에 움직임 벡터 및 나머지 데이터의 전송을 필요로 하지 않을 수 있다. 하나 또는 많은 디스플레이 장치들이, 디코딩된 픽처들을 수신하는 것 이외에 추가적인 정보가 전혀 없이도, 압축된 비디오 스트림으로부터 각자 자신만의 PRUC 동작을 수행할 수 있다.
움직임 벡터들을 가지지 않는 고립된 매크로블록들, 예를 들어 인트라 매크로블록(intra macroblocks)에 대해, 복수의 내삽된 움직임 벡터들이 이용될 수 있다. 본 발명의 일 실시예에 따라, PRUC 엔진(204)은 화면이 바뀌는 동안에 걸쳐 프레임 내삽 동작을 끄고 이전의 프레임을 반복하도록 작동될 수 있다. 비선형 필터링 블록(228)은 예를 들어, 움직임 적응식 가중 메디안 필터링(motion adaptive weighted median filtering)을 이용하여 I 픽처와 이전의 P 픽처 사이에 내삽 픽처들을 생성하도록 작동될 수 있다.
도 3a는 본 발명의 일 실시예에 따른 두 픽처들 사이에 예시적인 내삽 픽처의 삽입을 설명하는 블록도이다. 도 3a를 참조하면, 복수의 코딩된 픽처들, 예를 들어 P1(302) 및 P2(304)와, 내삽된 픽처(306)의 위치가 나타나 있다. 예를 들어, 상기 내삽된 픽처(306)는 코딩된 픽처 P1(302)로부터 k 시간 단위에 삽입될 수 있다.
도 3b는 본 발명의 일 실시예에 따른 내삽 픽처의 예시적인 움직임 벡터들을 설명하는 블록도이다. 도 3b를 참조하면, 복수의 코딩된 픽처들, 예를 들어 P1(352) 및 P2(354), 그리고 내삽된 픽처(356)가 나타나 있다. 예를 들어, 상기 내삽된 픽처(356)는 코딩된 픽처 P1(352)로부터 k 시간 단위에 삽입될 수 있다.
움직임 벡터(358)는 이전 픽처 P1(352)의 한 영역으로부터 다음 픽처 P2(354)의 한 영역 쪽을 가리킬 수 있으며, 그러한 방식을 통해 상기 움직임 벡 터(358)는 두 개의 원본 픽처들 P1(352) 및 P2(354) 사이에서 일어난 움직임을 포착할 수 있다. 움직임 벡터(360)는 움직임 벡터(358)의 변위된 버전(shifted version)이라 할 수 있다. 상기 움직임 벡터(360)는 상기 내삽된 픽처(356)에 맞춰 정렬될 수 있게 변위될 수 있다.
상기 움직임 벡터(360)는 두 개의 움직임 벡터들, 예를 들어 MV1(362) 및 MV2(364)로 분리될 수 있다. 이러한 예측 움직임 벡터들의 각각, 예를 들어 움직임 벡터(360)는 움직임 보상 내삽을 위해 분리되고 축척 조절(scaling)될 수 있다. 두 개의 축척 조절된 움직임 벡터들, 예를 들어 MV1(362) 및 MV2(364)의 방향들은 서로에 대해 반대일 수 있다. 축척 조절된 움직임 벡터, 예를 들어 MV1(362)의 길이는 상기 내삽된 픽처(356)와 원래의 픽처 P1(352) 사이의 시간 상의 차이에 비례할 수 있다. 축척 조절된 움직임 벡터, 예를 들어 MV2(364)의 길이는 상기 내삽된 픽처(356)와 원래의 픽처 P2(354) 사이의 시간 상의 차이에 비례할 수 있다.
도 4는 본 발명의 일 실시예에 따라, 압축 비디오 스트림으로부터 추출된 정보를 이용한 움직임 보상된 픽처율 상향 변환(PRUC)의 예시적인 단계들을 설명하는 순서도이다. 도 4를 참조하면, 예시적인 단계들은 단계(402)에서 시작할 수 있다. 단계(404)에서, 압축해제 엔진(202)이 작동되어 인코더(118)로부터 압축된 비디오 데이터를 수신할 수 있다. 단계(406)에서, PRUC 엔진(204)이 작동되어, 압축된 비디오 데이터가 상기 압축해제 엔진(202)에 의해 압축해제되고 있는 동안에, 압축된 비디오 데이터로부터 PRUC 데이터를 추출할 수 있다. PRUC 데이터는 예를 들어, 국부 블록 움직임 벡터들, 블록 코딩 모드 정보, 양자화 레벨들, 양자화 나머지 데이 터 및 디코딩된 픽처들을 포함할 수 있다. 그럼에도 불구하고, 이러한 추출된 PRUC 데이터는 이러한 예에 한정되는 것이 아닐 수 있다. 단계(408)에서는, 노이즈 감소 필터(226)가 작동되어 앞서 추출된 디코딩된 픽처들에 대하여 디지털 노이즈 감소 필터링을 수행할 수 있다.
단계(410)에서, 픽셀 움직임 벡터 생성 블록(216)이 작동되어 상기 비디오 압축해제 엔진(202)으로부터 복수의 블록 움직임 벡터들을 수신할 수 있고, 이러한 수신된 복수의 블록 움직임 벡터들을 세밀화하고 축척 조절하는 것에 기초하여, 픽셀 움직임 벡터들을 생성할 수 있다. 단계(412)에서는, MVCCM 블록(222)이 작동되어 움직임 벡터 확신성 및 일관성 측정 값을 생성할 수 있다. 단계(414)에서는, 움직임 보상 내삽 블록(224)이 작동되어 내삽된 픽처들을 생성할 수 있도록 움직임 보상 내삽을 수행할 수 있다. 단계(416)에서는, 비선형 필터링 블록(228)이 작동되어 화면 변화를 감지하고 내삽된 픽처들을 필터링하여 최종 출력되는 내삽 픽처들 내에서 아티팩트들을 감소시킬 수 있다. 제어는 이제 최종 단계(418)로 진행한다.
본 발명의 일 실시예에 따라, 압축된 비디오 스트림으로부터 추출된 정보를 이용하여 움직임 보상된 픽처율 상향 변환(PRUC)을 하기 위한 방법 및 시스템은, 압축된 비디오 데이터 스트림이 비디오 압축해제 엔진(202)에 의해 압축해제되고 있는 동안에, 압축된 비디오 데이터 스트림으로부터 PRUC 데이터를 추출하도록 작동될 수 있는 PRUC 엔진(204)을 포함할 수 있다. PRUC 데이터는 예를 들어, 국부 블록 움직임 벡터들, 블록 코딩 모드 정보, 양자화 레벨들, 양자화 나머지 데이터 및 디코딩된 픽처들을 포함할 수 있다. 그럼에도 불구하고, 이러한 추출된 PRUC 데 이터는 이러한 예에 한정되는 것이 아닐 수 있다. 상기 PRUC 엔진(204)은 이러한 추출된 PRUC 데이터에 기초하여 복수의 내삽되는 픽처들을 생성하도록 작동될 수 있다.
상기 압축해제 엔진(202)은 압축된 비디오 데이터 스트림을 압축해제하는 것에 기초하여, 디코딩된 픽처들을 생성할 수 있도록 작동될 수 있다. PRUC 엔진(204)은 픽셀 움직임 벡터 생성 블록(216), 움직임 벡터 확신성 및 일관성 측정(MVCCM) 블록(222), 움직임 보상 내삽 블록(224), 노이즈 감소 필터(226) 및 비선형 필터링 블록(228)을 포함할 수 있다. 상기 픽셀 움직임 벡터 생성 블록(216)은 블록 움직임 벡터 세밀화 블록(218) 및 스케일링 블록(220)을 포함할 수 있다.
상기 노이즈 감소 필터(226)는 노이즈를 감소시킬 수 있도록, 위에서 추출된 디코딩된 픽처들에 대해 디지털 노이즈 감소 필터링을 수행하도록 작동될 수 있다. 픽셀 움직임 벡터 생성 블록(216)은 수신된 블록 움직임 벡터들을 기초로 하여 하나 또는 다수의 움직임 벡터들을 생성하도록 작동될 수 있다. 이렇게 생성되는 움직임 벡터들은 하나 또는 다수의 국부 움직임 벡터들과 하나의 전역 움직임 벡터를 포함할 수 있다. 상기 픽셀 움직임 벡터 생성 블록(216)은 상기 전역 움직임 벡터를 생성할 수 있도록, 복수의 블록 움직임 벡터들을 누산하도록 작동될 수 있다.
상기 스케일링 블록(220)은 이렇게 생성된 움직임 벡터들을 축적 조절하도록 작동될 수 있다. 상기 픽셀 움직임 벡터 생성 블록은 상기 생성된 움직임 벡터들의 축척 조절에 기초하여 픽셀 움직임 벡터들을 생성하도록 작동될 수 있다. 상기 MVCCM 블록(222)은 상기 비디오 압축해제 엔진(202)으로부터 추출된 양자화 나머지 데이터에 기초하여, 상기 생성된 움직임 벡터들의 확신성 값과 일관성 값 중 적어도 한 가지를 생성하도록 작동될 수 있다.
상기 움직임 보상 내삽 블록(224)은 움직임 보상된 내삽 픽처들을 생성하도록 작동될 수 있다. 상기 비선형 필터링 블록(228)은 최종 출력되는 내삽 픽처들 내에서 아티팩트들이 감소될 수 있도록, 상기 생성된 내삽 픽처들을 필터링하도록 작동될 수 있다.
본 발명의 다른 실시예는 기계적 판독가능한 스토리지(machine-readable storage)를 포함할 수 있으며, 여기에는 네트워크 내에서 정보를 전달하기 위한 적어도 하나의 코드부(code section)를 갖는 컴퓨터 프로그램이 저장되어 있는데, 그 적어도 하나의 코드부는 기계 장치에 의해 실행될 수 있어서, 그 기계 장치로 하여금 상술한 바와 같이 압축된 비디오 스트림으로부터 추출된 정보를 이용하여 움직임 보상된 픽처율 상향 변환(PRUC)을 하기 위한 단계들을 수행하도록 한다.
각각의 경우에 따라서, 본 발명은 하드웨어나 소프트웨어, 또는 이들을 조합한 형태로 실현될 수 있다. 본 발명은 적어도 하나의 컴퓨터 시스템 안에 중앙 집중된 방식으로 구현될 수도 있고, 서로 다른 요소들이 여러 개의 상호 연결된 컴퓨터 시스템들에 걸쳐 퍼져있는 분산된 방식으로 구현될 수도 있다. 여기에 설명된 방법들을 수행할 수 있도록 설계된 어떠한 형태의 컴퓨터 시스템 또는 기타 장치도 적합할 수 있다. 통상적으로 하드웨어와 소프트웨어의 조합은 컴퓨터 프로그램이 탑재된 범용 컴퓨터 시스템이 될 수 있으며, 이때 상기 컴퓨터 프로그램은 로딩되어 실행될 경우에 상기 컴퓨터 시스템을 제어하여, 이 컴퓨터 시스템이 여기에서 설명한 방법들을 수행할 수 있게 한다. 본 발명은 그 밖의 기능들도 함께 수행하는 어떤 집적회로의 일 부분을 포함하는 하드웨어 내에서 구현될 수도 있다.
본 발명은 또한 컴퓨터 프로그램 제품(computer program product)에 내장될 수 있다. 이때, 상기 컴퓨터 프로그램 제품은 여기서 설명한 방법들의 구현을 가능하게 하는 모든 특징들을 모두 포함하며, 컴퓨터 시스템에 탑재될 경우에는 그러한 방법들을 수행할 수 있다. 본 발명의 문맥에서 컴퓨터 프로그램이란, 어떠한 종류의 언어, 코드 또는 표기법으로 나타낸, 일단의 명령에 관한 어떠한 종류의 표현을 뜻한다. 이때, 상기 일단의 명령들이란, 정보 처리 능력을 가진 시스템이 어떤 특정한 기능을 직접적으로, 또는 다음의 (a) 다른 프로그램 언어, 코드나 표기법으로 컨버젼(conversion)되거나, (b) 상이한 물질적인 형태로 재생산을 각각 거치거나 또는 두 가지 모두를 거친 후에, 수행하도록 의도된 것들을 말한다.
본 발명이 특정한 실시예들에 관하여 설명되었지만, 본 발명의 사상에서 벗어남이 없이, 다양한 변경이 이뤄질 수 있고 또한 균등물들이 치환될 수 있다는 점은 당해 기술 분야에 숙련된 자들에게 이해될 것이다. 추가적으로, 본 발명의 사상에서 벗어남이 없이, 특정한 상황이나 물적 요건을 본 발명의 지침에 맞게 조절할 수 있도록 다양한 개조가 이뤄질 수 있다. 따라서, 본 발명은 개시된 특정한 실시예에 한정되는 것이 아니며, 본 발명은 첨부된 청구 범위의 사상 내에 들어오는 모든 실시예들을 포함한다.
도 1은 본 발명의 실시예에 따른 예시적인 비디오 프로세싱 시스템의 블록도이다.
도 2는 본 발명의 실시예에 따른 예시적인 픽처율 상향 변환 시스템의 블록도이다.
도 3a는 본 발명의 일 실시예에 따른 두 픽처들 사이에 예시적인 내삽 픽처의 삽입을 설명하는 블록도이다.
도 3b는 본 발명의 일 실시예에 따른 내삽 픽처의 예시적인 움직임 벡터들을 설명하는 블록도이다.
도 4는 본 발명의 일 실시예에 따라, 압축 비디오 스트림으로부터 추출된 정보를 이용한 움직임 보상된 픽처율 상향 변환(PRUC)의 예시적인 단계들을 설명하는 순서도이다.
Claims (10)
- 수신되는 압축된 비디오 데이터로부터 픽처율 상향 변환(PRUC: picture rate up conversion) 데이터를 추출하는 단계;상기 추출된 PRUC 데이터에 기초하여 복수의 내삽 픽처들(interpolated pictures)을 생성하는 단계; 및상기 생성된 복수의 내삽 픽처들을 움직임 보상하는 단계를 포함하되;상기 추출된 PRUC 데이터는 블록 움직임 벡터들(block motion vectors), 블록 코딩 모드들(block coding modes), 양자화 레벨들(quantization levels), 양자화 나머지 데이터(quantized residual data) 내지 디코딩된 픽쳐들 또는 이들의 조합 중 하나 또는 다수를 포함하며,상기 블록 움직임 벡터들에 기초하여 하나 또는 다수의 움직임 벡터들을 생성하는 단계;상기 양자화 나머지 데이터에 기초하여, 상기 생성된 하나 또는 다수의 움직임 벡터들의 확신성 값(confidence value) 내지 일관성 값(consistency value) 중 하나 또는 둘 모두를 생성하는 단계;상기 움직임 벡터 확신성 또는 일관성 측정 값을 이용하여 움직임 보상된 내삽기능을 수행할 것인지 여부를 판정하는 단계; 및상기 움직임 보상 내삽 기능을 수행하지 않을 것으로 판정되는 경우 픽처의 내삽 기능을 끄고, 이전 픽처들을 반복하는 단계를 더 포함하는 비디오 데이터 프로세싱 방법.
- 삭제
- 청구항 1에 있어서, 상기 수신되는 압축된 데이터의 압축해제에 기초하여, 상기 디코딩된 픽처들을 생성하는 단계를 포함하는 것을 특징으로 하는 비디오 데이터 프로세싱 방법.
- 청구항 1에 있어서, 노이즈를 감소시킬 수 있도록 상기 디코딩된 픽쳐들을 필터링하는 단계를 포함하는 것을 특징으로 하는 비디오 데이터 프로세싱 방법.
- 삭제
- 청구항 1에 있어서, 상기 생성된 하나 또는 다수의 움직임 벡터들은, 하나 또는 다수의 국부 움직임 벡터들(local motion vectors) 내지 전역 움직임 벡터(global motion vector) 중 하나 또는 둘 모두를 포함하는 것을 특징으로 하는 비디오 데이터 프로세싱 방법.
- 수신되는 압축된 비디오 데이터로부터 픽처율 상향 변환(PRUC) 데이터의 추출을 가능하게 하는 하나 또는 다수의 회로들을 포함하며,상기 하나 또는 다수의 회로들은상기 추출된 PRUC 데이터에 기초하여 복수의 내삽 픽처들(interpolated pictures)을 생성하고;상기 생성된 복수의 내삽 픽처들을 움직임 보상하는 것을 가능하게 하되;상기 추출된 PRUC 데이터는 블록 움직임 벡터들(block motion vectors), 블록 코딩 모드들(block coding modes), 양자화 레벨들(quantization levels), 양자화 나머지 데이터(quantized residual data) 내지 디코딩된 픽쳐들 또는 이들의 조합 중 하나 또는 다수를 포함하며,상기 하나 또는 다수의 회로들은,상기 블록 움직임 벡터들에 기초하여 하나 또는 다수의 움직임 벡터들을 생성하고;상기 양자화 나머지 데이터에 기초하여, 상기 생성된 하나 또는 다수의 움직임 벡터들의 확신성 값(confidence value) 내지 일관성 값(consistency value) 중 하나 또는 둘 모두를 생성하고;상기 움직임 벡터 확신성 또는 일관성 측정 값을 이용하여 움직임 보상된 내삽기능을 수행할 것인지 여부를 판정하고;상기 움직임 보상 내삽 기능을 수행하지 않을 것으로 판정되는 경우 픽처의 내삽 기능을 끄고, 이전 픽처들을 반복하는 것을 가능하게 하는 것을 특징으로 하는 비디오 데이터 프로세싱 시스템.
- 삭제
- 청구항 7에 있어서, 상기 하나 또는 다수의 회로들은 상기 수신되는 압축된 데이터의 압축해제에 기초하여 상기 디코딩된 픽처들의 생성을 가능하게 하는 것을 특징으로 하는 비디오 데이터 프로세싱 시스템.
- 청구항 7에 있어서, 상기 하나 또는 다수의 회로들은 노이즈를 감소시킬 수 있도록 상기 디코딩된 픽쳐들을 필터링하는 것을 특징으로 하는 비디오 데이터 프로세싱 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/931,942 US8767831B2 (en) | 2007-10-31 | 2007-10-31 | Method and system for motion compensated picture rate up-conversion using information extracted from a compressed video stream |
US11/931,942 | 2007-10-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090045078A KR20090045078A (ko) | 2009-05-07 |
KR100975155B1 true KR100975155B1 (ko) | 2010-08-11 |
Family
ID=40547740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080107041A KR100975155B1 (ko) | 2007-10-31 | 2008-10-30 | 압축된 비디오 스트림으로부터 추출된 정보를 이용하여 움직임 보상된 픽처율 상향 변환을 하기 위한 방법 및 시스템 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8767831B2 (ko) |
EP (1) | EP2063637A3 (ko) |
KR (1) | KR100975155B1 (ko) |
CN (1) | CN101437161B (ko) |
HK (1) | HK1132117A1 (ko) |
TW (1) | TWI486061B (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110026596A1 (en) * | 2009-07-28 | 2011-02-03 | Wei Hong | Method and System for Block-Based Motion Estimation for Motion-Compensated Frame Rate Conversion |
FR2958824A1 (fr) * | 2010-04-09 | 2011-10-14 | Thomson Licensing | Procede de traitement d'images stereoscopiques et dispositif correspondant |
TWI724092B (zh) * | 2017-01-19 | 2021-04-11 | 香港商斑馬智行網絡(香港)有限公司 | 確定融合係數的方法和裝置 |
CN112055205B (zh) * | 2017-12-12 | 2021-08-03 | 华为技术有限公司 | 视频数据的帧间预测方法和装置、视频编解码器、存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006099321A1 (en) | 2005-03-10 | 2006-09-21 | Qualcomm Incorporated | Interpolated frame deblocking operation in frame rate up conversion application |
KR20070040397A (ko) * | 2004-07-20 | 2007-04-16 | 퀄컴 인코포레이티드 | 다중의 기준 프레임 및 가변 블록 크기를 가진 프레임레이트 업 변환을 위한 방법 및 장치 |
KR20070044455A (ko) * | 2004-07-20 | 2007-04-27 | 콸콤 인코포레이티드 | 비디오 압축에 대한 인코더 보조-프레임 레이트 업컨버젼(ea-fruc)을 위한 방법 및 장치 |
JP2007274679A (ja) | 2006-03-09 | 2007-10-18 | Sony Corp | フレームレート変換システム,フレームレート変換方法,送信装置,受信装置 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69426584T2 (de) | 1993-08-06 | 2001-06-13 | Lg Electronics Inc | Einrichtung zur Umsetzung der Vollbildfrequenz |
US6192079B1 (en) | 1998-05-07 | 2001-02-20 | Intel Corporation | Method and apparatus for increasing video frame rate |
WO2002058385A2 (de) * | 2001-01-09 | 2002-07-25 | Micronas Munich Gmbh | Verfahren und vorrichtung zur konversion von video signalen |
JP4198550B2 (ja) | 2002-09-10 | 2008-12-17 | 株式会社東芝 | フレーム補間方法およびこのフレーム補間方法を用いた装置 |
US7974342B2 (en) * | 2003-07-08 | 2011-07-05 | Trident Microsystems (Far East) Ltd. | Motion-compensated image signal interpolation using a weighted median filter |
CN1981536A (zh) | 2004-05-04 | 2007-06-13 | 高通股份有限公司 | 运动补偿帧速率上调方法和设备 |
JP2007536817A (ja) * | 2004-05-04 | 2007-12-13 | クゥアルコム・インコーポレイテッド | 動作補償されたフレームレートアップコンバージョンのための方法および装置 |
BRPI0512816A (pt) * | 2004-07-01 | 2008-04-08 | Qualcomm Inc | método e equipamento para utilizar técnicas de conversão ascendente de taxa de quadro em codificação de vìdeo escalonável |
TW200618610A (en) * | 2004-07-20 | 2006-06-01 | Qualcomm Inc | Method and apparatus for motion vector processing |
US8588513B2 (en) * | 2005-07-18 | 2013-11-19 | Broadcom Corporation | Method and system for motion compensation |
US20070076796A1 (en) * | 2005-09-27 | 2007-04-05 | Fang Shi | Frame interpolation using more accurate motion information |
US9258519B2 (en) * | 2005-09-27 | 2016-02-09 | Qualcomm Incorporated | Encoder assisted frame rate up conversion using various motion models |
US8204104B2 (en) * | 2006-03-09 | 2012-06-19 | Sony Corporation | Frame rate conversion system, method of converting frame rate, transmitter, and receiver |
US8750387B2 (en) * | 2006-04-04 | 2014-06-10 | Qualcomm Incorporated | Adaptive encoder-assisted frame rate up conversion |
US8634463B2 (en) | 2006-04-04 | 2014-01-21 | Qualcomm Incorporated | Apparatus and method of enhanced frame interpolation in video compression |
US8582660B2 (en) * | 2006-04-13 | 2013-11-12 | Qualcomm Incorporated | Selective video frame rate upconversion |
US7916791B2 (en) * | 2006-06-16 | 2011-03-29 | International Business Machines Corporation | Method and system for non-linear motion estimation |
US20080025390A1 (en) * | 2006-07-25 | 2008-01-31 | Fang Shi | Adaptive video frame interpolation |
US8437397B2 (en) * | 2007-01-04 | 2013-05-07 | Qualcomm Incorporated | Block information adjustment techniques to reduce artifacts in interpolated video frames |
KR100809354B1 (ko) * | 2007-02-02 | 2008-03-05 | 삼성전자주식회사 | 복원된 프레임의 프레임율을 업컨버팅하는 장치 및 방법 |
-
2007
- 2007-10-31 US US11/931,942 patent/US8767831B2/en active Active
-
2008
- 2008-10-22 EP EP08018476.5A patent/EP2063637A3/en not_active Ceased
- 2008-10-30 CN CN2008101743538A patent/CN101437161B/zh active Active
- 2008-10-30 KR KR1020080107041A patent/KR100975155B1/ko not_active IP Right Cessation
- 2008-10-31 TW TW097142030A patent/TWI486061B/zh not_active IP Right Cessation
-
2009
- 2009-10-23 HK HK09109846.8A patent/HK1132117A1/xx unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070040397A (ko) * | 2004-07-20 | 2007-04-16 | 퀄컴 인코포레이티드 | 다중의 기준 프레임 및 가변 블록 크기를 가진 프레임레이트 업 변환을 위한 방법 및 장치 |
KR20070044455A (ko) * | 2004-07-20 | 2007-04-27 | 콸콤 인코포레이티드 | 비디오 압축에 대한 인코더 보조-프레임 레이트 업컨버젼(ea-fruc)을 위한 방법 및 장치 |
WO2006099321A1 (en) | 2005-03-10 | 2006-09-21 | Qualcomm Incorporated | Interpolated frame deblocking operation in frame rate up conversion application |
JP2007274679A (ja) | 2006-03-09 | 2007-10-18 | Sony Corp | フレームレート変換システム,フレームレート変換方法,送信装置,受信装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101437161A (zh) | 2009-05-20 |
CN101437161B (zh) | 2011-04-13 |
US20090110074A1 (en) | 2009-04-30 |
HK1132117A1 (en) | 2010-02-12 |
TW200939785A (en) | 2009-09-16 |
KR20090045078A (ko) | 2009-05-07 |
TWI486061B (zh) | 2015-05-21 |
EP2063637A3 (en) | 2014-01-22 |
US8767831B2 (en) | 2014-07-01 |
EP2063637A2 (en) | 2009-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8718143B2 (en) | Optical flow based motion vector estimation systems and methods | |
US9247250B2 (en) | Method and system for motion compensated picture rate up-conversion of digital video using picture boundary processing | |
KR101056096B1 (ko) | 압축 및 압축복원 비디오 비트스트림 모두에 대한 움직임 보상 프레임 레이트 상향 변환을 위한 방법 및 시스템 | |
KR101045199B1 (ko) | 화소 데이터의 적응형 잡음 필터링을 위한 방법 및 장치 | |
JP4334768B2 (ja) | 圧縮映像のブリージングアーチファクトを低減する方法および装置 | |
TWI535296B (zh) | 信號處理方法及系統 | |
EP2323407A1 (en) | Video image encoding method, video image decoding method, video image encoding apparatus, video image decoding apparatus, program and integrated circuit | |
US6931062B2 (en) | Decoding system and method for proper interpolation for motion compensation | |
JP6729170B2 (ja) | 画像処理システム及び画像復号装置 | |
US20090080517A1 (en) | Method and Related Device for Reducing Blocking Artifacts in Video Streams | |
JP2001285867A (ja) | Idctミスマッチについて補償するdctドメイン下方変換システム | |
JP2006109418A (ja) | トランスコーディングのために出力マクロブロック及び動きベクトルを推定する方法及びトランスコーダ | |
KR100975155B1 (ko) | 압축된 비디오 스트림으로부터 추출된 정보를 이용하여 움직임 보상된 픽처율 상향 변환을 하기 위한 방법 및 시스템 | |
EP1352515A1 (en) | Apparatus and method for providing a usefulness metric based on coding information for video enhancement | |
US8848793B2 (en) | Method and system for video compression with integrated picture rate up-conversion | |
US20150208082A1 (en) | Video encoder with reference picture prediction and methods for use therewith | |
US20030081676A1 (en) | Methods and systems for video transcoding in DCT domain with low complexity | |
JPH1056646A (ja) | 映像信号復号化装置 | |
Son et al. | Enhanced Prediction Algorithm for Near-lossless Image Compression with Low Complexity and Low Latency | |
JP2005312072A (ja) | 映像信号復号化装置 | |
CN115550662A (zh) | 用于视频编码的细粒度前瞻增强 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130729 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |