KR100975155B1 - 압축된 비디오 스트림으로부터 추출된 정보를 이용하여 움직임 보상된 픽처율 상향 변환을 하기 위한 방법 및 시스템 - Google Patents

압축된 비디오 스트림으로부터 추출된 정보를 이용하여 움직임 보상된 픽처율 상향 변환을 하기 위한 방법 및 시스템 Download PDF

Info

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
Application number
KR1020080107041A
Other languages
English (en)
Other versions
KR20090045078A (ko
Inventor
셔먼(시에민) 첸
브라이언 헹
Original Assignee
브로드콤 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 브로드콤 코포레이션 filed Critical 브로드콤 코포레이션
Publication of KR20090045078A publication Critical patent/KR20090045078A/ko
Application granted granted Critical
Publication of KR100975155B1 publication Critical patent/KR100975155B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0127Conversion 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0135Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
    • H04N7/014Conversion 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

압축된 비디오 스트림으로부터 추출된 정보를 이용하여 움직임 보상된 픽처율 상향 변환을 하기 위한 방법 및 시스템{METHOD AND SYSTEM FOR MOTION COMPENSATED PICTURE RATE UP-CONVERSION USING INFORMATION EXTRACTED FROM A COMPRESSED VIDEO STREAM}
본 발명의 일부 실시예들은 디지털 비디오 프로세싱에 관련된 것이다. 더 상세하게는, 본 발명의 일부 실시예들은 압축된 비디오 스트림으로부터 추출된 정보를 이용하여 움직임 보상된 픽처율 상향 변환(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)

  1. 수신되는 압축된 비디오 데이터로부터 픽처율 상향 변환(PRUC: picture rate up conversion) 데이터를 추출하는 단계;
    상기 추출된 PRUC 데이터에 기초하여 복수의 내삽 픽처들(interpolated pictures)을 생성하는 단계; 및
    상기 생성된 복수의 내삽 픽처들을 움직임 보상하는 단계를 포함하되;
    상기 추출된 PRUC 데이터는 블록 움직임 벡터들(block motion vectors), 블록 코딩 모드들(block coding modes), 양자화 레벨들(quantization levels), 양자화 나머지 데이터(quantized residual data) 내지 디코딩된 픽쳐들 또는 이들의 조합 중 하나 또는 다수를 포함하며,
    상기 블록 움직임 벡터들에 기초하여 하나 또는 다수의 움직임 벡터들을 생성하는 단계;
    상기 양자화 나머지 데이터에 기초하여, 상기 생성된 하나 또는 다수의 움직임 벡터들의 확신성 값(confidence value) 내지 일관성 값(consistency value) 중 하나 또는 둘 모두를 생성하는 단계;
    상기 움직임 벡터 확신성 또는 일관성 측정 값을 이용하여 움직임 보상된 내삽기능을 수행할 것인지 여부를 판정하는 단계; 및
    상기 움직임 보상 내삽 기능을 수행하지 않을 것으로 판정되는 경우 픽처의 내삽 기능을 끄고, 이전 픽처들을 반복하는 단계를 더 포함하는 비디오 데이터 프로세싱 방법.
  2. 삭제
  3. 청구항 1에 있어서, 상기 수신되는 압축된 데이터의 압축해제에 기초하여, 상기 디코딩된 픽처들을 생성하는 단계를 포함하는 것을 특징으로 하는 비디오 데이터 프로세싱 방법.
  4. 청구항 1에 있어서, 노이즈를 감소시킬 수 있도록 상기 디코딩된 픽쳐들을 필터링하는 단계를 포함하는 것을 특징으로 하는 비디오 데이터 프로세싱 방법.
  5. 삭제
  6. 청구항 1에 있어서, 상기 생성된 하나 또는 다수의 움직임 벡터들은, 하나 또는 다수의 국부 움직임 벡터들(local motion vectors) 내지 전역 움직임 벡터(global motion vector) 중 하나 또는 둘 모두를 포함하는 것을 특징으로 하는 비디오 데이터 프로세싱 방법.
  7. 수신되는 압축된 비디오 데이터로부터 픽처율 상향 변환(PRUC) 데이터의 추출을 가능하게 하는 하나 또는 다수의 회로들을 포함하며,
    상기 하나 또는 다수의 회로들은
    상기 추출된 PRUC 데이터에 기초하여 복수의 내삽 픽처들(interpolated pictures)을 생성하고;
    상기 생성된 복수의 내삽 픽처들을 움직임 보상하는 것을 가능하게 하되;
    상기 추출된 PRUC 데이터는 블록 움직임 벡터들(block motion vectors), 블록 코딩 모드들(block coding modes), 양자화 레벨들(quantization levels), 양자화 나머지 데이터(quantized residual data) 내지 디코딩된 픽쳐들 또는 이들의 조합 중 하나 또는 다수를 포함하며,
    상기 하나 또는 다수의 회로들은,
    상기 블록 움직임 벡터들에 기초하여 하나 또는 다수의 움직임 벡터들을 생성하고;
    상기 양자화 나머지 데이터에 기초하여, 상기 생성된 하나 또는 다수의 움직임 벡터들의 확신성 값(confidence value) 내지 일관성 값(consistency value) 중 하나 또는 둘 모두를 생성하고;
    상기 움직임 벡터 확신성 또는 일관성 측정 값을 이용하여 움직임 보상된 내삽기능을 수행할 것인지 여부를 판정하고;
    상기 움직임 보상 내삽 기능을 수행하지 않을 것으로 판정되는 경우 픽처의 내삽 기능을 끄고, 이전 픽처들을 반복하는 것을 가능하게 하는 것을 특징으로 하는 비디오 데이터 프로세싱 시스템.
  8. 삭제
  9. 청구항 7에 있어서, 상기 하나 또는 다수의 회로들은 상기 수신되는 압축된 데이터의 압축해제에 기초하여 상기 디코딩된 픽처들의 생성을 가능하게 하는 것을 특징으로 하는 비디오 데이터 프로세싱 시스템.
  10. 청구항 7에 있어서, 상기 하나 또는 다수의 회로들은 노이즈를 감소시킬 수 있도록 상기 디코딩된 픽쳐들을 필터링하는 것을 특징으로 하는 비디오 데이터 프로세싱 시스템.
KR1020080107041A 2007-10-31 2008-10-30 압축된 비디오 스트림으로부터 추출된 정보를 이용하여 움직임 보상된 픽처율 상향 변환을 하기 위한 방법 및 시스템 KR100975155B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 삼성전자주식회사 복원된 프레임의 프레임율을 업컨버팅하는 장치 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
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