KR20010034255A - 비디오 프레임의 해상도 증가 방법 - Google Patents

비디오 프레임의 해상도 증가 방법 Download PDF

Info

Publication number
KR20010034255A
KR20010034255A KR1020007007935A KR20007007935A KR20010034255A KR 20010034255 A KR20010034255 A KR 20010034255A KR 1020007007935 A KR1020007007935 A KR 1020007007935A KR 20007007935 A KR20007007935 A KR 20007007935A KR 20010034255 A KR20010034255 A KR 20010034255A
Authority
KR
South Korea
Prior art keywords
pixels
block
frame
reference frame
video
Prior art date
Application number
KR1020007007935A
Other languages
English (en)
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 KR20010034255A publication Critical patent/KR20010034255A/ko

Links

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • 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/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/59Methods 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

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)
  • Studio Circuits (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

시스템은 기준 프레임(I) 내의 화소와 비디오의 하나 이상의 이어지는 타겟 프레임(B1, B2) 내의 화소중 적어도 한 부분이 해상도를 증가시킨다. 특히, 시스템은 기준 프레임(I) 내의 화소(49)의 제 1 블록을 선택하고, 이어서 실질적으로 화소의 제 1 블록에 대응하는 화소(46, 51)의 하나 이상의 블록을 N(N≥1)에서 배치시키는데, 여기서 N 타겟 프레임(B1, B2)은 기준 프레임(I)으로부터 분리된다. MPEG 코드된 비디오의 특수한 경우에, N 타겟 프레임 내의 블록은 MPEG 비트 스트림 내에 존재하는 움직임 벡터 정보를 이용하여 배치된다. 부가 화소값은 제 1 블록(49) 내의 화소값 및 하나 이상의 블록(46, 51) 내의 화소값에 기초하여 결정되며, 이후 부가 화소는 제 1 블록의 해상도를 높이기 위하여 제 1 블록(49) 내의 화소들 중에 부가된다.

Description

비디오 프레임의 해상도 증가 방법{Performing resolution upscaling on frames of digital video}
디지털 비디오 프레임의 해상도를 증가시키기 위한 종래의 기술은 프레임 자체의 정보에만 의존한다. 자주 이용되는 한가지 상기 기술은 바이리니어 보간으로 공지된다. 바이리니어 보간은 프레임 내의 하나 이상의 인접 화소에 기초하여 화소값을 결정하고, 프레임의 해상도를 높이기 위하여 상기 값을 화소들간에 간헐적으로 할당하는 프로세스이다.
특히, 도 1에 도시된 바와 같이, 바이리니어 보간은, 예를 들면 포인트 z1, z2, z3및 z4에서의 화소값에 기초하여 포인트 z5에서의 간헐적 "화소"값을 결정하는 단계를 포함한다. 따라서, 바이리니어 보간을 이용하는 함수값, 즉 z1, z2, z3및 z4가 주어지면, 포인트 z5에서의 값을 다음과 같이 구할 수 있다.
다음에, 값 (z5)는 포인트 z5에서의 화소값으로 할당된다. 이것은 그 해상도를 증가시키기 위하여 기준 프레임에서 이루어진다.
바이리니어 보간 및 관련된 기술(예컨대, 복제 및 3차 보간)이 프레임 해상도를 증가시키지만, 이들은 적어도 하나의 중요한 결함을 갖고 있다. 즉, 상기 기술은 현재 프레임에서의 정보에만 의존하기 때문에, 보간된 화소값, 즉 (z5)의 정확도가 제한된다. 그 결과, 현재 프레임의 해상도는 전체적으로 높아지지만, 그 정확도는 감소한다. 상기 정확도의 감소는, 특히 현재 프레임의 크기가 증가되는 현저한 다음의 프레임 스케일링(또는 "주밍(zooming)")이 있어서, 바이리니어 보간으로부터 나타나는 소정의 화소 불일치 또는 불연속을 확대시킬 수 있다.
본 발명은 기준 프레임 내의 화소 및 하나 이상의 "타겟" 프레임 내의 화소에 기초하여 비디오의 "기준" 프레임의 해상도를 증가시키기 위한 시스템에 제공된다. 본 발명은, 특히 MPEG("Motion Picture Experts Group") 표준에 따라 코드된 비디오 프레임으로부터 이미지를 형성하는 디지털 텔레비전과 퍼스널 컴퓨터 같은 장치에 관련하여 유용성이 있다.
도 1은 부가 화소값이 표준 바이리니어 보간을 이용하여 결정되는 화소 블록을 도시한다.
도 2는 본 발명이 실시되는 디지털 텔레비전을 포함한 텔레비전 시스템의 개념도를 도시한다.
도 3은 디지털 텔레비전의 구조를 도시한다.
도 4는 디지털 텔레비전 내의 비디오 디코더에 의해 수행되는 비디오 디코딩 프로세스를 도시한다.
도 5는 비디오의 프레임상에서 수행되는 프로세싱의 유형을 결정하기 위한 프로세스 스텝을 도시한다.
도 6은 비디오 프레임 내의 블록상에 본 발명의 해상도 업스케일링 프로세스를 실행하기 위한 프로세스 스텝을 도시한다.
도 7은 2×2 화소 블록을 도시한다.
도 8은 표준 바이리니어 보간을 이용하는 도 7의 2×2 화소 블록으로부터 결정된 4×4 화소 블록을 도시한다.
도 9는 기준 I 프레임 내의 부가 화소값을 결정하기 위해 타겟 P 프레임으로부터의 역 투사 데이터를 도시한다.
도 10은 B 프레임, 즉 프레임 B1내의 기준 매크로블록을 결정하기 위한 프로세스를 도시한다.
도 11은 기준 I 프레임 내의 부가 화소값을 결정하기 위해 타겟 P 프레임 및 타겟 B 프레임으로부터의 역 투사 데이터를 도시한다.
도 12는 B 프레임, 즉 타겟 P 프레임(P2) 및 기준 B 프레임(B1)을 이용하는 프레임 B2내의 기준 매크로블록을 결정하기 위한 프로세스를 도시한다.
도 13은 하프-펠(half-pel) 움직임 벡터 없이 타겟 블록을 이용하는 기준 블록의 업스케일링을 도시한다.
도 14는 수평 및 수직 방향 모두에서 하프-펠 움직임 벡터를 갖는 타겟 블록을 이용하는 기준 블록의 업스케일링을 도시한다.
도 15는 수평 방향에서의 하프-펠 움직임 벡터와 수직 방향에서의 정수 움직임 벡터를 갖는 타겟 블록을 이용하는 기준 블록의 업스케일링을 도시한다.
도 16은 수직 방향에서의 하프-펠 움직임 벡터와 수평 방향에서의 정수 움직임 벡터를 갖는 타겟 블록을 이용하는 기준 블록의 업스케일링을 도시한다.
따라서, 본 발명의 목적은, 비디오의 스케일 및 비스케일된 프레임 모두의 해상도를 증가시키고, 바이리니어 보간 같은 현재 이용가능한 시스템 보다 더 정확한 시스템을 제공하는데 있다. 결국, 본 발명은 독립항들에서 정의된 바와 같은 방법과 컴퓨터 판독가능한 매체, 장치 및 텔레비전 시스템을 제공한다. 종속항들은 장점을 갖는 실시예들을 정의한다.
본 발명은 기준 프레임 내의 화소들과 비디오의 하나 이상의 타겟 프레임 내의 화소에 기초하여 비디오의 기준 프레임에 대한 부가적인 화소값을 결정함으로써 이전의 요구를 충족시킨다. 다른 프레 임들(즉, 타겟 프레임들)로부터의 화소를 고려하여, 부가적인 화소값을 결정하는 경우, 본 발명은 상술된 종래의 대응부 보다 부가 화소값의 더 정확한 결정을 제공한다. 그 결과, 부가 화소가 기준 프레임 내의 화소들간에 미리 부가될 때, 그 결과의 고해상도 기준 프레임이 또한 스케일되더라도 더 정확하게 나타나게 된다.
따라서, 한 양태에 따르면, 본 발명은 기준 프레임 내의 화소와 비디오의 하나 이상의 타겟 프레임에 기초하여 비디오의 기준 프레임의 적어도 일부의 해상도를 증가시키는 시스템(예컨대, 방법, 장치 및 컴퓨터 실행가능한 처리 단계)이다. 특히, 상기 시스템은 기준 프레임 내의 화소들중 한 블록을 선택하고, 이후 실질적으로 화소의 제 1 블록에 대응하는 화소의 하나 이상의 블록을 N(N31) 타겟 프레임에 배치시키며, 여기서 N 타겟 프레임은 기준 프레임으로부터 분리된다. MPEG 코드된 비디오의 특수한 경우에, N 타겟 프레임 내의 블록은 MPEG 비트스트림 내의 화소값에 기초하여 결정된다. 이후, 부가적 화소값이 제 1 블록 내의 화소값 및 하나 이상의 블록 내의 화소값에 기초하여 결정되며, 이후 부가적 화소가 블록의 해상도를 증가시키도록 제 1 블록 내의 화소중에 부가된다.
본 발명의 양호한 실시예에서, N 타겟 프레임이 기준 프레임 내의 화소에 기초하여 적어도 부분적으로 예측된다. 예측된 프레임을 타겟 프레임으로 이용함으로써, 본 발명은 부가적 화소값을 결정할 때 관련 화소 이동에 대하여 고려할 수 있다.
실질적으로 화소의 제 1 블록에 대응하는 타겟 프레임 내에 화소의 블록이 없는 경우, 본 발명은 N 타겟 프레임들 내의 화소값에 관계없이 제 1 블록 내의 화소값에 기초하여 부가 화소값을 결정한다. 이렇게 수행되는 한가지 방법은 제 1 블록 내의 화소중 적어도 일부를 이용하는 표준 바이리니어 보간을 수행함으로써 이루어진다. 본 발명의 상기 특징에 의해, 대응부를 갖지 않는 블록과 같은 정확도 없이도 타겟 프레임 내의 대응부를 갖지 않는 블록의 해상도를 높일 수 있다.
다른 양호한 실시예에서, 시스템은 제 1 블록 내의 화소들간의 거리를 변화시킨다. 본 발명의 상기 특징은 제 1 블록, 더 일반적으로는 기준 프레임의 크기 스케일링에 제공된다. 블록의 크기가 스케일링을 통해 증가되는 경우, 본 발명은 그 결과의 스케일된 블록을 더 정확하게 할 수 있는데, 이것은 종래의 기술을 이용하는 경우 보다 적은 화소 불일치 또는 불연속을 의미한다.
다른 양태에 따르면, 본 발명은 코드된 비디오 데이터를 수신하고, 상기 코드된 비디오 데이터에 기초하여 이미지를 형성하는 텔레비전 시스템이다. 텔레비전 시스템은 비디오의 프레임을 생성하기 위한 비디오 데이터를 디코드하는 디코더 및, 기준 프레임 내의 화소와 비디오의 적어도 하나의 다른 타겟 내의 화소에 기초하여 비디오 기준 프레임의 해상도를 증가시키는 프로세서를 포함한다. 텔레비전 시스템은 또한 기준 프레임에 기초하여 이미지를 디스플레이하는 디스플레이를 포함한다.
본 발명의 양호한 실시예에서, 프로세서는 기준 프레임 내의 화소의 블록을 선택하고, 각 선택된 블록에 대하여, (ⅰ) 실질적으로 화소의 제 1 블록에 대응하는 화소의 하나 이상의 블록 등을 N(N31) 타겟 프레임에 배치하는데, 여기서 N 타겟 프레임은 기준 프레임으로부터 분리되며, (ⅱ) 선택된 블록 내의 화소값 및 하나 이상의 블록 내의 화소값에 기초하여 부가적 화소값을 결정하며, (ⅲ) 선택된 블록 내의 화소들중에 부가적 화소를 부가함으로써, 기준 프레임의 해상도를 증가시킬 수 있다. MPEG 코드된 비디오의 특수한 경우에, N 타겟 프레임 내의 블록은 MPEG 비트스트림 내에 존재하는 움직임 벡터 정보를 이용하여 위치된다. 본 발명의 상기 특징을 통해, 예컨대 텔레비전 시스템상의 고해상도 디스플레이 같은 디스플레이를 위해 표준 해상도 비디오를 고해상도 비디오로 변환시킬 수 있다.
이것의 간단한 요점은 본 발명의 특성이 빨리 이해될 수 있도록 제공되는 것이다. 본 발명의 더 완전한 이해는 첨부된 도면과 연관하여 그 양호한 실시예의 다음의 상세한 설명을 통해 이루어질 수 있다.
우선, 본 발명은 비디오 포스트 프로세싱 장치, 네트워크된 퍼스널 또는 랩탑 컴퓨터 및 아날로그 또는 디지털 텔레비전 시스템용 셋탑 박스를 포함하는 여러 가지 다른 유형의 비디오 장치 내의 프로세서에 의해 실행될 수 있는데, 이것은 비디오 관련 장치에만 한정되지 않는다. 그러나, 간략화를 위하여, 본 발명은 고선명 텔레비전("HDTV") 같은 독립형 디지털 텔레비전에 관해서만 설명된다.
도 2는 본 발명이 실행될 수 있는 텔레비전 전송 시스템의 일례를 도시한다. 도 2에 도시된 바와 같이, 텔레비전 시스템(1)은 디지털 텔레비전(2), 전송기(4) 및 전송 매체(5)를 포함한다. 전송 매체(5)는 비디오 데이터, 오디오 데이터 및 제어 데이터로 구성된 텔레비전 신호가 전송기(4)와 디지털 텔레비전(2) 사이에 전송될 수 있는 동축케이블, 광섬유 케이블일 수 있다. 도 2에 도시된 바와 같이, 전송 매체(5)는 그 부분들간에 무선 주파수(이후 명세서에서는 "RF") 링크를 포함할 수 있다. 또한, 텔레비전 신호는 RF 링크(6) 같은 RF 링크를 통해서만 전송기(4)와 디지털 텔레비전(2) 사이에 전송될 수 있다.
전송기(4)는 텔레비전 신호를 유저의 디지털 텔레비전에 전송시킬 수 있는 텔레비전 스테이션 또는 스튜디오 같은 중앙식 설비에 배치된다. 상기 텔레비전 신호는 대응하는 오디오 데이터와 함께 다수의 프레임 비디오용 데이터를 포함한다. 상기 비디오 및 오디오 데이터는 전송 전에 코딩된다. 오디오 데이터에 대한 양호한 코딩 방법으로는 AC3 코딩이 있다. 비디오 데이터에 대한 양호한 방법으로는 MPEG(예컨대, MPEG-1, MPEG-2, MPEG-4 등)가 있으나, 다른 디지털 비디오 코딩 기술이 또한 이용될 수 있다.
MPEG가 당 기술에 통상의 지식을 가진 자들에게는 공지되어 있지만, 편의상 그 간단한 설명이 본 명세서에서 제공된다. 이 관점에서, MPEG는 프레임마다 전송되어야 하는 데이터량을 감소시키기 위하여 코드한다. MPEG는 이것을 비디오 내의 프레임들간의 공통적인 장점을 취함으로써 부분적으로 수행한다. 결국, MPEG는 인트라 모드 (I) 프레임, 추정 (P) 프레임 또는 바이리니어 (B) 프레임으로 비디오의 프레임을 코드한다. 이하, 상기 프레임 유형이 설명된다.
특히, I 프레임은 디코딩을 위해 필요한 모든 데이터를 포함하며, 그 안에 포함된 데이터가 P와 B 프레임의 코딩 및 디코딩에 영향을 미치는 "앵커 프레임"을 포함한다. 한편, P 프레임은 I 프레임 내의 데이터와 다른 데이터만을 포함한다. 즉, 실질적으로 이전의 I 프레임(또는, 선택적으로 이전의 P 프레임) 내의 매크로블록에 대응하는 P 프레임의 매크로블록(즉, 16×16 화소 블록)은 코드되지 않으며, 오차로 불리우는 프레임들간의 차만이 코드된다. 대신에, 움직임 벡터가 생성되어 프레임들간의 유사한 매크로블록의 위치에서의 상대적인 차이를 규정한다. 이후, 상기 움직임 벡터는 동일한 매크로블록 대신에 각 P 프레임으로 전송된다. P 프레임의 디코딩중, 미싱(missing) 매크로블록은 이전의 (예컨대, I) 프레임과 움직임 벡터를 이용하여 결정되는 P 프레임 내의 이들의 위치로부터 얻어질 수 있다. B 프레임은 이전의 그리고 다음의 프레임 내의 데이터를 이용하여 보간된다. 이것을 수행하기 위하여, 2개의 움직임 벡터가 매크로블록의 위치를 규정하기 위해 이용되는 B 프레임으로 전송된다.
따라서, MPEG 코딩은 각각이 연관된 독립된 양자화 스케일 값을 갖는 매크로블록으로 프레임을 분할함으로써 비디오 데이터의 프레임상에 수행된다. 상술된 바와 같이, 움직임 추정은 P와 B 프레임에 대한 움직임 벡터를 생성하도록 매크로블록에서 수행되어, 상기 프레임들에 전송되어야 하는 매크로블록의 수를 감소시킬 수 있다. 이후, 각 프레임 내의 나머지 매크로블록(즉, 오차)이 8×8 화소의 각 블록으로 분할된다. 상기 8×8 화소 블록은 64 화소들 각각에 대하여 DCT 계수들을 생성하는 이산 코사인 변환(이후 명세서에서는 "DCT")을 받는다. 이후, 8×8 화소 블록 내의 DCT 계수가 대응하는 코딩 파라미터, 즉 양자화 웨이트(weight)에 의해 분할된다. 부가적 계산은 서로간의 양자화 스케일 값을 참고하기 위하여 DCT 계수들상에 수행된다. 이어서, 가변장 코드가 DCT 계수상에 수행되고, 계수들은 지그재그 스캐닝 같은 미리 정해진 TM캐닝 순서에 따라 MPEG 수신기에 전송된다.
본 발명의 상기 실시예에서, MPEG 수신기는 도 3에 도시된 디지털 텔레비전이다. 도면에 도시된 바와 같이, 디지털 텔레비전(2)은 튜너(7), VSB 복조기(9), 디멀티플렉서(10), 비디오 디코더(11), 디스플레이 프로세서(12), 비디오 디스플레이 스크린(14), 오디오 디코더(15), 증폭기(16), 스피커(17), 중앙 처리 장치(이후 명세서에서는 "CPU"; 19), 모뎀(20), 랜덤 액세스 메모리(이후 명세서에서는 "RAM"; 21), 비활성 기억부(22), 판독 전용 메모리(이후 명세서에서는 "ROM"; 24) 및 입력 장치(25)를 포함한다. 디지털 텔레비전(2)의 상기 특징중 대부분은 당 기술에 숙련된 자들에게는 잘 알려져 있지만, 편의상 본 명세서에서 그 설명을 한다.
이 관점에서, 튜너(7)는 다수의 다른 주파수 채널들상의 전송 매체(5) 또는 RF 링크(6)로부터 텔레비전 신호를 수신하고 상기 수신된 신호를 전송할 수 있는 표준 아날로그 RF 수신 장치를 포함한다. 텔레비전 신호를 수신한 채널 튜너(7)는 CPU(19)로부터 수신된 제어 신호에 좌우된다. 상기 제어 신호는 텔레비전 신호와 함께 수신된 제어 데이터에 대응할 수 있다(예컨대, 대리인의 도켓이 PHA 23.290인 미국 특허 출원 제 09/062,940호 및 국제 축원 PCT/IB99/00260호를 참조). 또한, CPU(19)로부터 수신된 제어 신호는 하나 이상의 입력 장치(25)를 통하는 신호 입력에 대응할 수 있다.
이 점에서, 입력 장치(25)는, 예컨대 원격 제어부, 키보드, 노브, 조이스틱 같은 공지된 임의의 형태의 장치를 포함할 수 있다. 공지된 바와 같이, 상기 신호는 "변화 채널"에 대한 제어 신호를 포함할 수 있다. 그러나, 다른 신호도 또한 입력될 수 있다. 이것은 비디오의 특정 영역을 선택하고 상기 영역상에서 "줌인(zoom-in)"하기 위한 신호 및, 서로간에 디스플레이된 비디오의 해상도를 증가시키기 위한 신호를 포함할 수 있다.
복조기(9)는 튜너(7)로부터 텔레비전 신호를 수신하고, CPU(19)로부터 수신된 제어 신호에 기초하여 텔레비전 신호를 MPEG 디지털 데이터 패킷으로 변환시킨다. 이후, 상기 데이터 패킷은 바람직하게는 초당 20메가비트의 고속으로 복조기(9)로부터 디멀티플렉서(10)로 출력된다. 디멀티플렉서(10)는 복조기(9)로부터 출력된 데이터 패킷을 수신하고 데이터 패킷을 "디샘플"한다. 이것은 패킷이 패킷의 식별된 형태에 좌우되어 비디오 디코더(11), 오디오 디코더(15) 또는 CPU(19)에 출력됨을 의미한다. 특히, CPU(19)는 디멀티플렉서로부터의 패킷이 상기 패킷에 기억된 식별 정보에 기초하여 비디오 데이터, 오디오 데이터 또는 제어 데이터를 포함하는 가의 여부를 식별하고, 이에 따라 디멀티플렉서(10)가 데이터 패킷을 출력하도록 한다. 즉, 비디오 데이터 패킷은 비디오 디코더(11)에 출력되고, 오디오 데이터 패킷은 오디오 디코더(15)에 출력되며, 제어 데이터 패킷은 CPU(19)에 출력된다.
본 발명의 다른 실시예에서, 데이터 패킷은 복조기(9)로부터 직접 CPU(19)로 출력된다. 상기 실시예에서, CPU(19)는 디멀티플렉서(10)의 작업을 수행함으로써, 디멀티플렉서(10)에 대한 요구를 제거한다. 특히, 상기 실시예에서, CPU(19)는 데이터 패킷을 수신하고, 데이터 패킷을 디샘플한 후, 그 안에 기억된 데이터의 유형에 기초하여 데이터 패킷을 출력한다. 즉, 상기 경우와 같이, 비디오 데이터 패킷은 비디오 디코더(11)에 출력되고, 오디오 데이터 패킷은 오디오 디코더(15)에 출력된다. CPU(19)는 이 경우에 제어 데이터 패킷을 유지한다.
비디오 디코더(11)는 CPU(19)로부터 수신된 타이밍 신호 같은 제어 신호에 따라 디멀티플렉서(10)(또는, CPU(19))로부터 수신된 비디오 데이터 패킷을 디코드한다. 본 발명의 바람직한 실시예에서, 비디오 디코더(11)는 MPEG 디코더이지만, 소정의 디코더가 비디오 데이터를 코드하기 위해 이용되는 코딩의 유형에 조화될 수 있다. 이 관점에서, 비디오 디코더(11)는 코드된 비디오 데이터를 디코드하도록 디코딩 모듈(도시되지 않음)을 기억하기 위한 메모리 및 상기 모듈 내의 프로세스 스텝을 실행하기 위한 마이크로프로세서로 구성된 회로(도시되지 않음)를 포함한다. 본 발명과 관련해서 이용될 수 있는 비디오 디코더의 상세한 설명은 미국 특허 출원 제 09/094/828호(대리인의 도켓 PHA 23.420)에 제공된다. 물론, 비디오 디코딩이 CPU(19)에 의해 선택적으로 수행되어, 비디오 디코더(11)에 대한 요구를 제거할 수 있음을 주지해야 한다. 디코딩 프로세스의 상세 설명은 이하에 제공된다. 비디오 디코더(11)는 디코드된 비디오 데이터를 출력하고, 상기 디코드된 비디오 데이터를 CPU(19) 또는 디스플레이 프로세서(12)에 전송한다.
디스플레이 프로세서(12)는 비디오 데이터로부터 이미지를 형성하고 상기 이미지를 디스플레이 스크린(14)에 출력할 수 있는 마이크로프로세서와 마이크로제어기 등을 포함할 수 있다. 동작시, 디스플레이 프로세서(12)는 비디오 디코더(11)로부터 수신된 디코드된 비디오 데이터 및, CPU(19)로부터 수신된 그래픽 데이터에 기초하여 CPU(19)로부터 수신된 제어 신호에 따라 비디오 시퀀스를 출력한다. 특히, 디스플레이 프로세서(12)는 비디오 디코더(11)로부터 수신된 디코드된 비디오 데이터 및 CPU(19)로부터 수신된 그래픽 데이터로부터의 이미지를 형성하고, 디코드된 비디오 데이터로부터 형성된 이미지(즉, 비디오 시퀀스) 내의 적절한 포인트에서 그래픽 데이터로부터 형성된 이미지를 삽입한다. 특히, 디스플레이 프로세서(12)는 비디오 시퀀스에 대한 데이터 스트림 내에 그래픽 데이터를 포함하기 위하여(에컨대, 중첩시킴), 이미지 특성, 크로마-키잉 방법 및 대상 구역 대체 방법을 이용한다. 상기 그래픽 데이터는 스테이션 로고 같은 소정 수의 다른 형태의 이미지에 대응할 수 있다. 또한, 그래픽 데이터는 미국 특허 출원 제 09/062,939호 및 국제 출원 PCT/IB99/00261호(대리인의 도켓 PHA 23.389)에 설명된 것 같은 다른 광고를 포함할 수 있다.
오디오 디코더(15)는 디스플레이 스크린(14)상에 디스플레이된 비디오 데이터와 연관된 오디오 데이터 패킷을 디코드하기 위하여 이용된다. 본 발명의 바람직한 실시예에서, 오디오 디코더는 AC3 오디오 디코더를 포함할 수 있지만, 물론 다른 형태의 오디오 디코더가 오디오 데이터를 코드하기 위하여 이용되는 코딩 유형에 따라 본 발명과 관련하여 이용될 수 있다. 도 3에 도시된 바와 같이, 오디오 디코더(15)는 CPU(19)로부터 수신된 오디오 제어 신호에 따라 동작한다. 상기 오디오 제어 신호는 타이밍 정보 등을 포함하고, 오디오 데이터를 선택적으로 출력하기 위한 정보를 포함할 수 있다. 오디오 디코더(15)로부터의 출력은 증폭기(16)에 제공된다. 증폭기(16)는 입력 장치(25)를 통해 볼륨 같은 입력과 관련된 오디오 제어 신호에 따라 출력 오디오 신호를 조정하는 종래의 오디오 증폭기를 포함한다. 이후, 상기 방식으로 조정된 오디오 신호는 스피커(17)를 통해 출력된다.
CPU(19)는 디지털 텔레비전(2)의 동작을 제어하기 위해 기억된 프로그램 명령(즉, 프로세스 스텝)을 실행할 수 있다. 상기 프로그램 명령은 CPU(19)의 내부 메모리, 비활성 기억부(22) 또는 ROM(24)(예컨대, EPROM)에 기억되며 RAM(21) 외부에서 실행되는 소프트웨어 모듈 또는 그 일부를 포함한다. 상기 소프트웨어 모듈은 모뎀(20) 및/또는 MPEG 비트스트림을 통해 갱신될 수 있다. 즉, CPU(19)는 소프트웨어 모듈 갱신, 비디오 데이터(예컨대, 그래픽 데이터 등), 오디오 데이터 등을 포함하지만 이에 한정되지 않는 MPEG 비트스트림 및 모뎀(20)으로부터 데이터를 수신한다.
도 3은 CPU(19)에 의해 실행될 수 있는 소프트웨어 모듈의 예를 나열한다. 도시된 바와 같이, 상기 모듈은 제어 모듈(27), 유저 인터페이스 모듈(29), 애플리케이션 모듈(30) 및 운영 시스템 모듈(31)을 포함한다. 오퍼레이팅 시스템 모듈(31)은 CPU(19)에서 동작하는 여러 가지 소프트웨어 모듈의 실행을 제어하고, 상기 소프트웨어 모듈간의 통신을 지원한다. 운영 시스템 모듈(31)은 또한 ROM(24) 같은 디지털 텔레비전(2)의 여러 가지 다른 구성과 CPU(19)간의 데이터 전송을 제어할 수 있다. 유저 인터페이스 모듈(29)은 입력 장치(25)로부터 수신된 데이터를 수신하여 처리하고, CPU(19)가 이에 따라 제어 신호를 출력하도록 한다. 결국, CPU(19)는 디지털 텔레비전(2) 내의 여러 가지 구성요소의 동작을 제어하기 위하여 상술된 바와 같이 다른 제어 신호와 함께 상기 제어 신호를 출력하는 제어 모듈(27)을 포함한다.
애플리케이션 모듈(30)은 디지털 텔레비전(2)에서 이용가능한 여러 가지 신호 처리 특성을 실행하기 위한 소프트웨어 모듈을 포함한다. 애플리케이션 모듈(30)은 제조가 설치, 즉 "내장된" 애플리케이션 및 모뎀(20) 및/또는 MPEG 비트스트림을 통해 다운로드된 애플리케이션 모두를 포함할 수 있다. 디지털 텔레비전(2) 내에 포함될 수 있는 공지된 애플리케이션의 예로는 전자 채널 가이드("ECG) 모듈 및 폐쇄 캡션("CC") 모듈이 있다. 애플리케이션 모듈(30)은 또한 필요한 때 바이리니어 보간을 갖는 본 발명의 행상도 업스케일링 처리를 실행하는 해상도 업스케일링 방법을 포함한다. 이러한 관점에서, 본 발명의 업스케일링 프로세서는 비디오 디코딩 또는 이어지는 단계중에 실행될 수 있음을 주시한다. 그러나, 해상도 업스케일링 프로세스는 편의상 비디오 디코딩으로부터 분리하여 설명된다.
이 관점에서, 도 4는 MPEG 코드된 비디오 데이터를 디코딩하기 위한 바람직한 프로세스를 도시한 블록도이다. 상술된 바와 같이, 상기 프로세스는 비디오 디코더(11)에서 수행되는 것이 바람직하지만, 선택적으로 CPU(19)에 의해 수행될 수도 있다. 따라서, 도 4에 도시된 바와 같이, 코드된 데이터는 코드된 비디오 데이터상에 가변장 디코딩을 수행하는 가변장 디코더 블록(36)에 입력된다. 이후, 역 스캔 블록(37)은 코드된 비디오 데이터가 중앙국(예컨대, 텔레비전 스튜디오)으로부터 전송된 미리 지정된 스캐닝 순서에 대한 보정을 위하여 코드된 비디오 데이터를 재순서화한다. 이후, 역 양자화가 블록(38)에서의 코드된 비디오 데이터상에 수행되고, 이어서 블록(39)에서 역 DCT 프로세싱을 한다. 움직임 보상 블록(40)은 디코드된 비디오의 I, P, B 프레임을 생성하도록 역 DCT 블록(39)으로부터 출력된 비디오 데이터상에 움직임 보상을 수행한다. 상기 프레임에 대한 데이터는 비디오 디코더(11)상의 프레임 기억 메모리(41)에 기억된다.
해상도 업스케일링이 수행되지 않으면, 상기 비디오 데이터는 프레임 기억 메모리(41)로부터 이로부터 이미지를 생성하고 상기 이미지를 디스플레이(14)에 출력하는 디스플레이 프로세서(12)에 출력된다. 한편, 해상도 업스케일링이 디코드된 비디오 데이터상에 수행되면, 디코드된 비디오 데이터는 CPU(19)에 출력되는데, 여기서는 해상도 업스케일링 모듈(35)에 의해 프로세스된다. 이 점에서, 상기 프로세싱은 대신에 상기 기능 및 기억 용량에 의존하여 비디오 디코더(11) 또는 디스플레이 프로세서(12)에서 수행될 수 있다.
도 5 및 도 6은 해상도 업스케일링 모듈(35)을 실행하기 위한 프로세스 스텝을 도시한다. 예컨대, CPU(19)에 의해 실행될 때, 상기 프로세스 스텝은 (ⅰ) 기준 프레임 내의 픽셀의 제 1 블록을 선택하고, (ⅱ) 실질적으로 픽셀의 제 1 블록에 대응하는 픽셀의 하나 이상의 블록을 N(N31) 타겟 프레임에 배치하는데, 여기서 N 타겟 프레임은 기준 프레임으로부터 분리되고, (ⅲ) 제 1 블록 내의 화소값 및 하나 이상의 블록의 화소값에 기초하여 부가 화소값을 결정하며, (ⅳ) 제 1 블록 내의 화소들중에 부가 화소를 부가함으로써, 적어도 비디오의 기준 프레임의 일부의 해상도를 증가시킨다.
프로세스를 개시하기 위하여, 스텝 S501은 디코드된 비디오의 기준 프레임을 검색한다. 본 발명의 양호한 실시예에서, 상기 기준 프레임은 프레임 기억 메모리(41)로부터 검색되지만, 또한 다른 소스들로부터 검색될 수 있다. 이후, 스텝 S502에서는 본 발명에 따른 표준 바이리니어 보간 또는 해상도 업스케일링이 검색된 프레임상에서 수행되는가의 여부를 판단한다. 바이리니어 보간 또는 해상도 업스케일링을 수행하기 위한 것으로의 판단은 CPU의 프로세싱 용량, 시간 제한 및 이용가능한 메모리를 포함하지만 이에 한정되지 않는 하나 이상의 다양한 인자에 기초하여 이루어질 수 있다. 해상도 업스케일링이 수행되는 경우, 프로세싱은 이후에 설명되는 스텝 S503으로 진행한다. 한편, 표준 바이리니어 보간이 수행되는 경우, 프로세싱은 스텝 S504로 진행한다.
스텝 S504는 상기 매크로블록에 대한 부가 화소값을 결정하고 매크로블록 내의 화소중에 이미 간헐적으로 있는 상기 값들을 부가하기 위하여 기준 프레임의 각 매크로블록상에 표준 바이리니어 보간을 수행한다. 상술된 바와 같이, 표준 바이리니어 보간은 상기 프레임 내의 정보에 기초하며 다른 프레임 내의 정보에는 상관없이 프레임의 부가 화소값을 판단하는 단계를 포함한다.
따라서, 예를 통해 스텝 S504는 도 7에 도시된 블록(42)과 같이 기준 프레임의 각 2×2 화소 블록을 보간하여, 도 8에 도시된 블록(44) 같은 4×4 화소 블록을 생성한다. 스텝 S504가 매크로블록에서 동작하는 것이 바람직하지만, 여기서는 더 작은 2×2 블록이 편의상 도시된다. 그 결과의 블록은 또한 스케일될 수 있다. 블록 스케일링 프로세스는 이하에 더 상세히 설명된다.
본 발명의 바람직한 실시예에서, 스텝 S504는 이하에 설명되는 수학식 2에 따라 바이리니어 보간을 수행한다. 여기서, 본 예를 위하여, u(m,n)은 블록(42)을 포함하고, v(m,n)은 블록(44)을 포함하고, 블록(42)의 화소(45)는 (o,o)th화소를 포함하며, 화소 블록(42) 외부의 모든 화소값은 제로값을 갖는다.
따라서, 도 7에 도시된 (0,0)th 화소를 예로서 취하여(즉, 여기서 m 및 n은 0이다), 수학식 2에 적절한 값을 입력해서 도 8에 도시된 값에 대응하는 v(0,0), v(0,1), v(1,0), v(1,1) 각각에 대하여 1, 2, 3, 4의 값을 생성한다. 유사한 계산이 또한 도 8에 도시된 나머지 값을 생성하기 위하여 도 7의 나머지 (0,1)th, (1,0)th, (1,1)th화소에 대하여 수행될 수 있다.
스텝 S503로 돌아가면, 상기 스텝은 도 6에 도시된 프로세스를 포함한다. 개시하면, 스텝 S601에서는 기준 프레임이 B 프레임인가의 여부를 판단한다. 이것은 일반적으로 기준 프레임에 포함된 데이터 패킷의 헤더를 시험함으로써 이루어진다. 현재의 프레임이 I 또는 P 프레임이면, 처리는 이하에 설명되는 스텝 S602로 진행한다. 한편, 기준 프레임이 B 프레임이면, 처리는 스텝 S603으로 진행한다. 스텝 S603은 기준 프레임에 앞에와 뒤에 있는 프레임 내의 화소의 블록에 기초하여 기준 프레임 내의 제 1 블록(예컨대, 매크로블록)의 위치를 판단한다.
상기 스텝은 일반적으로 기준 프레임이 B 프레임인 경우에만 수행되는데, 그 이유는 B 프레임이 프레임(즉, 타겟)을 예측하기 위해 이용되지 않으며, 따라서 상기 프레임이 B 프레임 내의 블록에 대응하여 쉽게 식별될 수 없기 때문이다.
특히, 도 9에 도시된 바와 같이, 기준 프레임은 I 또는 P 프레임이고, 타겟 프레임은 P 및 B 프레임이며, 기준 프레임에 관련된 움직임 벡터 mV는 타겟 프레임 내의 블록이 실질적으로 기준 프레임 내의 블록에 대응하는 가의 여부를 판단하기 위하여 이용된다. 상기 정보가 필요한 이유는 이하에 더 상세히 설명된다. 그러나, B 프레임이 다른 프레임을 예측하기 위해 이용되지 않기 때문에, B 프레임은 타겟 프레임 내의 블록들간의 대응 블록을 식별하기 위한 이동 벡터를 갖지 않을 수 있다. 그 결과, 기준 B 프레임과 이후 또는 이전 타겟 프레임 내의 블록들간의 대응성을 판단할 필요가 있다. 이것은 스텝 S603에서 이루어진다. 따라서, 도 10에 도시된 바와 같이, 스텝 S603은 이전 I(또는, 선택적으로 P) 프레임(50) 내의 기준 매크로블록(49) 및 B 프레임(52) 내의 타겟 매크로블록(51)에 기초하여 기준 B 프레임(47) 내의 퓨도우 기준 매크로블록(46)의 위치를 판단한다. 특히, 퓨도우 기준 매크로블록(46)은 I 프레임(50)으로부터 B 프레임(52)으로의 움직임 벡터(54)가 B 프레임(47)과 교차하는 포인트에서 러프하게 집중화된다. 마찬가지로, 도 12는 B 프레임, 즉 타겟 P 프레임(P2) 및 기준 B 프레임(B1)을 이용하는 프레임 B2에서 기준 매크로블록을 판단하는 단계를 도시한다.
다음의 스텝 S603 또는 선택적으로 스텝 S602에서, 처리는 스텝 S602로 진행한다. 스텝 S602는 행상도 업스케일링을 위해 기준 프레임 내의 화소의 매크로블록(예컨대, 도 9의 기준 매크로블록(55))을 선택한다. I 또는 P 프레임의 경우, 상기 선택은 기준 프레임으로 돌아가는 맵인 타겟 프레임(예컨대, 도 9의 타겟 매크로블록(56) 내의 블록인 가의 여부에 따라 판단된다. 즉, 스텝 S602에서, 타겟 프레임 내의 대응하는 블록을 갖는 기준 프레임 내의 소정의 블록이 선택될 수 있다. 그러나, 기준 프레임이 B 프레임인 경우, 스텝 S603에서 결정된 퓨도우 기준 매크로블록이 상기 스텝에서 선택된다. 이후, 스텝 S604는 실질적으로 선택된 매크로블록에 대응하는 이전에 검색된 하나 이상의 타겟 프레임 내에 매크로블록(들)을 배치시킨다. MPEG 코드된 데이터의 경우, 상기 매크로블록(들)은 움직임 벡터를 이용하여 배치된다. 즉, 스텝 S604에서, 타겟 프레임용 움직임 벡터는 타겟 프레임 내에 블록을 배치하기 위하여 이용될 수 있다. 물론, 본 발명은 움직임 벡터를 이용하여 매크로블록(들)을 배치하는 것에 한정되지 않는다. 오히려, 타겟 프레임이 적절한 매크로블록(들)을 위하여 서치될 수도 있다. 소정의 경우에, 스텝 S604가 기준 및 타겟 프레임 내의 매크로블록들간의 정확한 대응성를 필요로 하지 않음을 주의한다. 오히려, 실질적 대응성은 기준 프레임 내의 매크로블록이 타겟 프레임에 대한 매크로블록 내의 데이터와 같은 데이터의 소정량 즉, 데이터의 퍼센트를 갖으면 충분하다. 상기 양 즉, 퍼센트는 원한다면 CPU(19) 내에 설정되거나 해상도 업스케일링 모듈(35)에 "하드-코드"될 수 있다.
상술된 바를 주목하면, 본 발명은 하나 이상의 타겟 프레임 내에 대응하는 매크로블록을 배치할 수 있다. 하나 이상의 타겟 프레임 내에 매크로블록을 배치하는 기능을 포함하여, 본 발명은 단일 기준 프레임 내의 부가적인 화소를 판단시 이용하기 위하여 여러 가지 타겟 프레임으로부터의 정보를 "역 투사"할 수 있다. 이것은 특히, 타겟 프레임이 기준 프레임 내의 화소에 기초하여 적어도 부분적으로 예측되는 경우에 장점이 있다. 즉, 여러 가지 프레임 내의 매크로블록은 기준 프레임 내의 동일한 매크로블록으로부터 예측될 수 있기 때문에, 상기 여러 가지 프레임으로부터의 정보는 기준 프레임 내의 부가 화소를 계산하기 위하여 이용될 수 있다. 상기 여러 가지 매크로블록으로부터의 정보를 이용하여 해상도 업스케일된 기준 프레임의 정확도를 높일 수 있다.
다음의 스텝 S604에서, 처리는 스텝 S605로 진행한다. 스텝 S605는 실질적으로 스텝 S602 내에 선택된 매크로블록에 대응하는 타겟 프레임(들) 내에 소정의 매크로블록이 있는 가의 여부를 판단한다. 이러한 매크로블록이 발견되지 않으면(아니면 타겟 프레임이 존재하지 않는다면), 이것은 선택된 매크로블록이 프레임을 예측하기 위해 이용되지 않음을 의미한다. 이 경우, 처리는 선택된 매크로블록에 대한 부가 화소값이 타겟 프레임 내의 화소와 관계없이 선택된 매크로블록 내의 화소중 적어도 일부에 기초하여 결정되는 스텝 S606으로 진행한다. 상기 화소값을 결정하기 위한 양호한 방법은 도 5와 관련하여 상술된 바이리니어 보간이다(상술된 수학식 2를 참조).
한편, 적어도 하나의 대응하는 매크로블록이 스텝 S605에서 발견되면, 처리는 스텝 S607로 진행한다. 스텝 S607은 매크로블록 내의 이전의 화소값 및 소정의 대응하는 매크로블록 내의 화소값에 기초하여 선택된 매크로블록 내의 부가 화소값을 결정한다. 상기 부가 화소값은 또한 값이 이후에 설명되는 방식으로 판단되는 계수에 따라 판단된다.
특히, 본 발명의 양호한 실시예에서, 스텝 S607은 이하에 설명되는 수학식 3에 따라 해상도 업스케일링을 수행하며, 여기서 u1(m,n)은 선택된 매크로블록(예컨대, 도 9의 블록(55)) 내의 화소값을 포함하고, up1(m,n)은 타겟 프레임으로부터의 대응하는 매크로블록(예컨대, 도 9의 매크로블록(56)) 내의 화소값을 포함하며, v1(m,n)은 u1(m,n) 및 up1(m,n) 내의 화소값에 기초하여 판단되는 해상도 업스케일된 매크로블록에 대한 화소값을 포함한다. 특히, 기준 및 타겟 프레임 내의 각 매크로블록으로부터의 화소값은 v1(m,n)에 대한 화소값을 판단하기 위하여 다음의 수학식에 삽입된다:
여기서, 16×16 화소 매크로블록을 고려하며, 0£m 및 n£15이다. 물론, 상기 값은 다르게 크기화된 블록이 처리되는 경우에 변화할 수 있다.
MPEG의 경우, 움직임 벡터는 정확한 하프-펠(즉, 하프 픽셀)을 갖을 수 있다. 미국 특허 출원 제 09/094,828호(대리인의 도켓 PHA 23.420)를 참조하면, 움직임 벡터가 정확한 하프-펠을 갖는 경우, 본 발명의 정확도는 더 증가할 수 있는데, 그 이유는 하프-펠 움직임 벡터를 갖는 타겟 프레임으로부터의 화소값이 그 값이 판단되는 기준 블록 내의 부가 화소에 관한 정보를 제공하기 때문이다. 예를 들면, 도 13은 하프-펠 움직임 벡터를 포함하지 않는 타겟 블록을 이용하는 업스케일된 블록(71)을 생성하기 위한 업스케일링 기준 블록(70)을 도시한다. "X"는 기준 프레임 화소값을 나타내고, "0"은 공지된 화소값을 나타내며, 반면 "*"은 타겟 프레임 화소값을 나타낸다. 한편, 도 14 내지 도 16은 하프-펠 움직임 벡터를 포함하는 타겟 블록(72)을 이용하여 업스케일된 블록(73, 74, 75)을 각각 생성하는 업스케일링 기준 블록(70)을 도시한다. 도 13과 도 14 내지 도 16을 비교함으로써, 하프-펠 움직임 벡터를 이용하여 업스케일된 블록 내의 미지의 화소값이 이들을 이용하지 않고 업스케일된 블록에서보다 작음은 명백하다. 보간을 제공시, 도 14 내지 도 16에 도시된 경우에 더 정확하게 업스케일된 블록을 제공할 수 있다.
상기 수학식 3에서, 계수 c1과 c2의 값은 0과 1 사이에서 변화하고, 함께 가산되는 경우에는 전체 1이다. 상기 계수의 웨이트의 변화는 각 블록 내의 화소에 주어진 웨이트에 의존한다. 예를 들면, 기준 프레임 내의 화소에 더 큰 웨이트가 주어지면, c1의 값이 c2의 값 보다 높으며, 반대로 가능하다. 이 관점에서, 계수 c1과 c2의 값은 기준 프레임으로부터 선택된 매크로블록 내의 화소와 타겟 프레임에서 확인된 대응하는 매크로블록 내의 화소간의 차이에 기초하여 판단된다. MPEG에서, 상기 차이는 오차를 포함한다. 오차가 높은 DCT 계수를 갖으면, 타겟 프레임으로부터의 대응하는 블록에 대한 계수값은 상대적으로 낮으며 반대도 가능하다.
이전의 예는 단일 타겟 P 프레임으로부터의 매크로블록을 이용하는 기준 프레임 내의 매크로블록에 대한 부가적 화소값을 결정하는 단계를 포함한다. 그러나, 상술된 바와 같이, 여러 가지 타겟 P와 B 프레임으로부터의 매크로블록이 상기 부가 화소값을 판단하기 위하여 이용될 수 있다. 예를 들면, 도 11에 도시된 바와 같이, 프레임(59; B1)과 (60; P1)으로부터의 매크로블록은 기준 프레임(61; I)에 대한 부가 화소값을 판단하기 위하여 이용될 수 있다. 이 관점에서, N(N>1) 타겟 프레임이 기준 프레임 I에 대한 부가 화소값을 판단하기 위하여 이용되는 경우, 상기 수학식 3은 수학식 4로 다음과 같이 귀납된다.
상술된 바에 따르면, 계수 c1, c2...cN+1은 0과 1 사이에서 변화하며, 함께 가산되는 경우에는 전체 1이다.
다시 상기 수학식 4를 참조하면, 또한 비디오의 해상도를 2배로한 특수한 경우를 포함하는데, 여기서는 v1(2m+1,2n)에 대하여 수학식에서 "0.5"를 이용하고, v1(2m+1,2n+1)에 대하여 수학식 "0.25"를 이용한다. 다른 배수의 해상도(예컨대, 3배의 해상도)를 얻기 위하여, 상기 상수 합이 1인 경우에는 다른 상수가 이용될 수 있다. 물론, 이 경우 부가적 수학식이 또한 필요하게 되는데, 그 이유는 더 많은 화소 배치를 판단할 필요가 있기 때문이다. 본 명세서에서 제공된 내용을 접하면, 당 기술에 숙련된 자들은 상기 수학식을 용이하게 생성할 수 있다. 따라서, 그 상세한 설명은 편의상 본 명세서에서는 생략된다.
다음에, 스텝 S608은 판단된 화소를 상술된 스텝 S606 또는 스텝 S607에서 선택된 매크로블록에 부가함으로써, 그 해상도를 높일 수 있다. 이후, 스텝 S609는 선택된 매크로블록을 스케일하는 가의 여부를 판단한다. 스케일링은 매크로블록의 크기를 변화시키기 위하여 매크로블록 내의 화소들간의 거리를 증가 도는 감소시킨다. 이것은 "줌" 명령 같은 유저 입력 명령에 응답하여 수행되거나, 또는 특정한 디스플레이 크기 또는 형태(예컨대, 고해상도 스크린)로 비디오를 제공하기 위하여 본 발명에 의해 자동적으로 수행될 수 있다. 본 발명에 따르면, 스케일링은 상기 스텝 S606 및 S607에서 이루어질 수 있지만, 편의상 여기서는 분리하여 제시된다.
스케일링이 수행되면, 프로세싱은 스텝 S610으로 진행한다. 스텝 S610은 소망하는 블록 크기를 얻기 위하여 선택된 매크로블록 내의 화소로 이동한다(예컨대, 이들간의 거리를 증가 및/또는 감소시킴으로써). 따라서, 본 발명을 이용하여 2배의 크기를 갖는 매크로블록을 생성할 수 있는데, 매크로블록은 실질적으로는 원 매크로블록과 동일한 해상도를 갖으며, 실질적으로 원 매크로블록과 동일한 크기를 갖지만 그 해상도가 수배이다. 또한, 본 발명을 이용하여, 선택된 매크로블록만을 스케일링하여 프레임을 왜곡시킬 수 있다. 소정의 경우에, 다음의 스텝 S610 또는 선택적으로 스텝 S609에서(스케일링이 수행되지 않는 경우), 프로세싱은 스텝 S611로 진행한다.
스텝 S611에서는 프로세스될 필요가 있는 현재의 프레임에 소정의 부가 매크로블록이 있는 가의 여부가 판단된다. 상기 매크로블록이 있는 경우, 프로세싱은 스텝 S601로 되돌아가며, 이후 이전의 프로세수가 반복된다. 한편, 현재의 프레임에 남은 매크로블록이 없다면, 도 6에서의 프로세싱은 종료된다.
도 5로 다시 돌아가면, 프로세스에서의 다음 스텝은 스텝 S505이다. 스텝 S505는 프로세스될 디코드된 비디오의 부가 정보가 있는 가의 여부를 판단한다. 현재의 비디오 시퀀스에 비디오의 부가 프레임이 있는 경우, 프로세싱은 스텝 S501로 되돌아가며, 여기서 이전의 프로세스가 상기 부가 프레임에 대하여 반복된다. 한편, 부가 프레임이 없는 경우, 프로세싱은 종료된다.
상술된 바와 같이, 본 발명이 전용 디지털 텔레비전에 관하여 설명되었지만, 소정의 디지털 비디오 장치에 이용될 수도 있다. 따라서, 예를 들면 본 발명이 셋탑 박스에서 이용되면, 도 5 및 도 6에 도시된 프로세싱은 일반적으로 필요한 계산을 수행하기 위해 설계된 박스의 프로세서 및/또는 등가의 하드웨어에서 수행될 수 있다. 퍼스널 컴퓨터, 비디오 관련 장치 등에서는 마찬가지로 사실이다. 마지막으로, 도 5 및 도 6에서 보여지는 수행 단계는 정확한 요구가 보여질 때 실행되는 것이 필수 적이지 않고, 이러한 요구의 보여짐은 오직 본 발명을 작동하기 위한 방법이다. 그러므로 다른 요구는 본 발명의 기능이 연속적으로 유지되는 동안 허가된다.
본 발명은 특정한 실예가 되는 실시예와 관련되어 설명되었다. 본 발명은 위에서 설명된 실시예와 수정형에만 한정되지 않으며, 다양한 변경과 수정은 첨가된 청구항의 범위에서 분리되지 않고 이 분야의 일반적인 기술에 의해 만들어 질 것이다.
청구항에서, 괄호 사이의 어떠한 참조 부호도 청구항을 한정하기 위하여 구성되지 않는다. 상기 단어"포함하다"는 청구항 안에서 열거된 것 이외의 단계와 요소의 존재를 차단하지 않는다. 상기 단어" a" 및 "an"은 선행하는 요소가 그런 요소의 다수의 존재를 차단하지 않는다. 몇 가지 수단을 열거하는 장치 청구항에서. 이러한 의미중 몇몇은 하드웨어의 같은 아이템에 의해 실시예가 될 수 있다.

Claims (17)

  1. 비디오의 기준 프레임의 적어도 한 부분의 해상도를 증가시키는 방법에 있어서,
    상기 기준 프레임 내의 화소의 제 1 블록을 선택하는 단계(S602);
    상기 화소의 제 1 블록에 실질적으로 대응하는 화소의 하나 이상의 블록을 N 개(N >= 1)의 타겟 프레임 내에 위치시키는 단계로서, 상기 N 개의 타겟 프레임이 기준 프레임으로부터 분리되어 있는 단계(S604)와;
    제 1 블록 내의 화소의 값과 하나 이상이 블록 내의 화소의 값에 기초한 부가적인 화소의 값을 결정하는 단계(S607); 및
    제 1 블록 내의 화소 사이의 부가적인 화소를 부가하는 단계(S608)를 포함하는 해상도 증가 방법.
  2. 제 1항에 있어서,
    상기 N 개의 타겟 프레임은 상기 기준 프레임의 화소에 기초하여 적어도 부분적으로 예측된 비디오의 프레임을 포함하는 해상도 증가 방법.
  3. 제 1항에 있어서,
    상기 결정 단계는 제 1 블록과 하나 이상의 블록에 따라 가중된 상수에 기초한 부가적인 화소의 값을 결정하는 단계를 포함하는 해상도 증가 방법.
  4. 제 3 항에 있어서,
    상기 상수는 제 1 블록의 화소와 다른 하나 이상의 블록의 각각의 블록의 화소 사이의 차이에 기초하여 가중되는 해상도 증가 방법.
  5. 제 4항에 있어서,
    상기 차이는 MPEG 잔여(MPEG residual)를 포함하는 해상도 증가 방법.
  6. 제 1항에 있어서,
    상기 위치 단계가 화소의 제 1 프레임에 실질적으로 대응하는 타겟 프레임 내의 화소의 어떤 블록에 위치하지 않는 경우에, 상기 결정 단계는 N 개의 타겟 프레임 내의 화소의 값에 관계하지 않고 상기 제 1 블록 내의 화소의 값에 기초한 부가적인 화소의 값을 결정하는 해상도 증가 방법.
  7. 제 6항에 있어서,
    상기 결정 단계는 상기 제 1 블록 내의 화소의 적어도 일부를 사용하여 바이 리니어 보간(biliner interpolation)을 실행함으로서 부가적인 화소의 값을 결정하는 해상도 증가 방법.
  8. 제 4항에 있어서,
    상기 비디오의 기준 및 타겟 프레임이 MPEG를 이용하여 코드화 된 경우에, 상기 위치 단계는 MPEG 비트 스트림 내에 존재하는 움직임 백터를 이용한 하나 이상의 블록을 타겟 프레임에 위치하는 단계; 및
    상기 상수는 적어도 하나의 코드 된 잔여의 DCT 값을 이용해 결정되는데, 적어도 상기 하나의 코드화된 잔여는 기준 프레임과 타겟 프레임 사이의 차이를 포함하는 해상도 증가 방법.
  9. 제 1항에 있어서,
    상기 기준 프레임은 2 방향 프레임(B)을 포함하고 있고,
    상기 방법은, 상기 선택 단계 이전에, 기준 프레임에 선행 및 따라오는 프레임 내의 화소의 블록에 기초한 기준 프레임 내의 제 1 블록의 위치를 결정하는 단계(S608)를 더 포함하는 방법.
  10. 제 8항에 있어서,
    상기 기준 프레임은 인트라 모드(I) 프레임과 추정(P) 프레임 중 하나를 포함하고,
    상기 N 타겟 프레임은 적어도 하나의 P 프레임(P) 및 바이리니어(B) 프레임(I)을 포함하는 방법.
  11. 제 1항에 있어서,
    상기 제 1 블록의 크기를 변경하기 위해 상기 제 1 블록의 화소들 사이에 거리를 변경하는 단계를 더 포함하는 방법.
  12. 제 1항에 있어서,
    상기 위치 단계가 화소의 하나 이상의 블록을 위치시키기 위해 상기 기준 프레임에서 상기 타겟 프레임까지의 움직임 벡터를 이용하는 방법.
  13. 제 1항에 있어서,
    상기 위치 단계가 화소의 하나 이상의 블록을 위치하기 위해 N 개의 타겟 프레임을 통해 검색하는 방법.
  14. 비디오의 기준 프레임의 적어도 어느 한 부분의 선명도를 증가시키기 위해서 컴퓨터 실행 가능 프로세스 단계를 저장하는 컴퓨터-판독 가능 매체(computer-readable medium)로서, 상기 컴퓨터 실행 프로세스 단계는 청구항 1의 방법을 실행시키기 위한 코드를 포함하는 방법.
  15. 비디오의 기준 프레임의 적어도 일부의 해상도를 증가시키는 장치에 있어서,
    상기 장치는,
    컴퓨터 실행가능 프로세스 단계들을 저장하는 메모리(22, 24); 및
    청구항 제 1 항의 방법을 실행하도록 상기 프로세스 단계들을 실행하는 프로세서(19)를 구비하는 장치.
  16. 비디오의 기준 프레임의 적어도 일부의 해상도를 증가시키는 장치에 있어서,
    상기 장치는,
    상기 기준 프레임(19, 35)내의 최소의 제 1 블록을 선택하는 수단과,
    N 개의(N>=1) 타겟 프레임 내에, 회소의 제 1 블록 실질적으로 대응하는 하나 이상의 블록을 위치를 지정하는 수단으로서(여기서 N 타겟 프레임들은 상기 기준 프레임(19, 35)과 분리 되어있는 위치 지정 수단과),
    상기 제 1 블록 내의 화소들의 값과 하나 이상의 블록들(19, 35)내의 화소들의 값에 기초한 부가적인 화소들의 값들을 결정하는 수단, 및
    상기 제 1 블록(19, 35)내의 화소들 사이에 부가적인 화소들을 부가하는 수단을 포함하는 해상도 증가 장치.
  17. 코드화된 비디오 데이터를 수신하고, 코드화된 비디오 데이터에 기초한 영상들을 형성하는 텔레비전 시스템(1)에 있어서,
    상기 텔레비전 시스템은,
    비디오의 프레임들을 생성하기 위해 비디오 데이터를 디코드하는 디코더(11)와,
    상기 기준 프레임내의 화소들과 상기 비디오의 적어도 하나의 다른 타겟 프레임내의 화소들에 기초한 상기 비디오의 기준 프레임의 해상도를 증가시키는 프로세서(19), 및
    상기 기준 프레임에 기초한 영상을 디스플레이하는 디스플레이(14)를 구비하고,
    상기 프로세서(19)는 상기 기준 프레임내의 블록들을 선택함으로써, 각각의 선택된 블록에 대해 ⅰ) N 개의(N>=1) 타겟 프레임들에서, 상기 제 1 블록의 화소들에 실질적으로 대응하는 하나 또는 그 이상의 블록들의 화소들의 위치를 지정하고(여기서 N 타겟 프레임들은 상기 기준 프레임에서 분리된다), ⅱ) 상기 선택된 블록에서의 화소들의 값들과 상기 하나 또는 그 이상의 블록들에서의 화소들의 값들에 근거하여 추가 화소들의 값들을 결정하고, ⅲ) 상기 선택된 블록에서의 화소들 사이의 추가 화소들을 추가함으로써, 상기 기준 프레임의 상기 해상도를 증가시키고,
    상기 프로세서(19)는 상기 선택된 블록의 화소들에 실질적으로 대응하는 상기 타겟 프레임들에서의 임의의 블록들의 화소들의 위치를 지정하지 않는 경우, 상기 프로세서(19)는 상기 N 개의 타겟 프레임내에서의 화소들의 값들에 상관없이 상기 선택된 블록에서의 화소들의 값들에 근거하여 추가 화소들의 값들을 결정하는 텔레비전 시스템(1).
KR1020007007935A 1998-11-20 1999-10-27 비디오 프레임의 해상도 증가 방법 KR20010034255A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/197,314 US20020141501A1 (en) 1998-11-20 1998-11-20 System for performing resolution upscaling on frames of digital video
US09/197,314 1998-11-20
PCT/EP1999/008245 WO2000031978A1 (en) 1998-11-20 1999-10-27 Performing resolution upscaling on frames of digital video

Publications (1)

Publication Number Publication Date
KR20010034255A true KR20010034255A (ko) 2001-04-25

Family

ID=22728897

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020007007935A KR20010034255A (ko) 1998-11-20 1999-10-27 비디오 프레임의 해상도 증가 방법

Country Status (5)

Country Link
US (1) US20020141501A1 (ko)
EP (1) EP1051852A1 (ko)
JP (1) JP2002531018A (ko)
KR (1) KR20010034255A (ko)
WO (1) WO2000031978A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100135131A (ko) * 2009-06-16 2010-12-24 엘지전자 주식회사 디스플레이 장치에서 영상 처리 방법 및 디스플레이 장치
KR101116800B1 (ko) * 2011-01-28 2012-02-28 주식회사 큐램 저해상도 이미지로부터 고해상도 이미지를 생성하는 해상도 변환 방법

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8824553B2 (en) * 2003-05-12 2014-09-02 Google Inc. Video compression method
US7129987B1 (en) 2003-07-02 2006-10-31 Raymond John Westwater Method for converting the resolution and frame rate of video data using Discrete Cosine Transforms
JP2005150808A (ja) * 2003-11-11 2005-06-09 Ntt Data Corp 監視映像記録システム
US7953152B1 (en) 2004-06-28 2011-05-31 Google Inc. Video compression and encoding method
JP2010114474A (ja) * 2007-02-19 2010-05-20 Tokyo Institute Of Technology 動画像の動き情報を利用した画像処理装置及び画像処理方法
US8326075B2 (en) 2008-09-11 2012-12-04 Google Inc. System and method for video encoding using adaptive loop filter
WO2010131167A1 (en) * 2009-05-13 2010-11-18 Koninklijke Philips Electronics N.V. A display apparatus and a method therefor
US8780971B1 (en) 2011-04-07 2014-07-15 Google, Inc. System and method of encoding using selectable loop filters
US8781004B1 (en) 2011-04-07 2014-07-15 Google Inc. System and method for encoding video using variable loop filter
US8780996B2 (en) 2011-04-07 2014-07-15 Google, Inc. System and method for encoding and decoding video data
GB2506172B (en) * 2012-09-24 2019-08-28 Vision Semantics Ltd Improvements in resolving video content
US10133472B2 (en) * 2013-03-15 2018-11-20 Disney Enterprises, Inc. Gesture based video clipping control
US11381825B2 (en) * 2018-11-27 2022-07-05 Advanced Micro Devices, Inc. Variable rate rendering based on motion estimation

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5579054A (en) * 1995-04-21 1996-11-26 Eastman Kodak Company System and method for creating high-quality stills from interlaced video
US5774593A (en) * 1995-07-24 1998-06-30 University Of Washington Automatic scene decomposition and optimization of MPEG compressed video
US5883678A (en) * 1995-09-29 1999-03-16 Kabushiki Kaisha Toshiba Video coding and video decoding apparatus for reducing an alpha-map signal at a controlled reduction ratio
KR100519871B1 (ko) * 1997-12-22 2005-10-11 코닌클리케 필립스 일렉트로닉스 엔.브이. 고해상도 정지 화상의 생성 방법 및 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100135131A (ko) * 2009-06-16 2010-12-24 엘지전자 주식회사 디스플레이 장치에서 영상 처리 방법 및 디스플레이 장치
KR101116800B1 (ko) * 2011-01-28 2012-02-28 주식회사 큐램 저해상도 이미지로부터 고해상도 이미지를 생성하는 해상도 변환 방법

Also Published As

Publication number Publication date
WO2000031978A1 (en) 2000-06-02
JP2002531018A (ja) 2002-09-17
EP1051852A1 (en) 2000-11-15
US20020141501A1 (en) 2002-10-03

Similar Documents

Publication Publication Date Title
US8218638B2 (en) Method and system for optical flow based motion vector estimation for picture rate up-conversion
EP0676900B1 (en) Motion compensation for interlaced digital video signals
RU2251820C2 (ru) Экстраполяция вектора движения для перекодировки видеопоследовательности
US5657087A (en) Motion compensation encoding method and apparatus adaptive to motion amount
JP4159606B2 (ja) 動き推定
KR100294999B1 (ko) 디지탈비디오데이타스트림의시간적인압축방법및탐색프로세서
US6151075A (en) Device and method for converting frame rate
US6791624B1 (en) Television receiver image processing using display of different image quality adjusted images
JP3386142B2 (ja) 画像復号装置および画像復号方法
EP1101358B1 (en) Encoding a video signal with high resolution encoding for regions of interest
JPH07193823A (ja) 映像データ・ブロック変換システム
JP4739651B2 (ja) ビデオ符号化における中間画素高精度高速探索を実現する装置及び方法
KR20010034255A (ko) 비디오 프레임의 해상도 증가 방법
KR20040035777A (ko) 움직임 추정 및/또는 보상
US7224733B1 (en) Interpolation filtering method for accurate sub-pixel motion assessment
JPH09261662A (ja) ディジタルビデオ符号化器における動き推定方法および装置
US20020094030A1 (en) Apparatus and method of transcoding image data in digital TV
US5686956A (en) Object-by background information coding apparatus and method
US6909748B2 (en) Method and system for image compression using block size heuristics
US7224842B2 (en) Object recognition apparatus and object recognition method
KR100367468B1 (ko) 픽셀들을 가지는 디지털화 된 화상에서 동작을추정하기위한 방법 및 장치
WO2004049730A1 (en) A method for vector prediction
US7068721B2 (en) Method and configuration for coding a digitized picture, and method and configuration for decoding a digitized picture
US20020064230A1 (en) Decoding apparatus, decoding method, decoding processing program and computer-readable storage medium having decoding processing program codes stored therein
KR100240620B1 (ko) 양방향의 반화소 움직임 추정을 위한 대칭 탐색 윈도우를 형성하는 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
NORF Unpaid initial registration fee