KR100515199B1 - 트랜스코딩 방법 - Google Patents

트랜스코딩 방법 Download PDF

Info

Publication number
KR100515199B1
KR100515199B1 KR10-2000-7009136A KR20007009136A KR100515199B1 KR 100515199 B1 KR100515199 B1 KR 100515199B1 KR 20007009136 A KR20007009136 A KR 20007009136A KR 100515199 B1 KR100515199 B1 KR 100515199B1
Authority
KR
South Korea
Prior art keywords
bitstream
pictures
motion information
motion
motion vector
Prior art date
Application number
KR10-2000-7009136A
Other languages
English (en)
Other versions
KR20010041095A (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 KR20010041095A publication Critical patent/KR20010041095A/ko
Application granted granted Critical
Publication of KR100515199B1 publication Critical patent/KR100515199B1/ko

Links

Classifications

    • 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

Abstract

트랜스코딩(transcoding) 방법은 식별 가능한 코딩 파라미터(parameter)들을 갖는 압축이미지 데이터의 제 1 비트스트림(bitstream: 이진 정보흐름)을 수신하여 수행된다. 제 1 비트스트림에 나타난 화상들이 필드나 프래임 화상들이고, 그리고/혹은 제 1 비트스트림에 나타난 화상들이 인터레이스 시퀀스 또는 순차 시퀀스 인지에 관계없이, 이 파라미터들은 제 1 비트스트림에 나타난 화상의 크기인 제 1 비트스트림에 나타난 화상의 GOP 구조와 관련이 있다. 제 1 움직임 정보는 제 1 비트스트림에서 얻을 수 있고, 또 압축이미지 데이터의 제 2 비트스트림을 위한 제 2 움직임정보를 외삽(extrapoltion)을 하기 위해 사용된다. 상기 제 2 비트스트림은 제 1 비트스트림의 파라미터와는 다른, 하나 이상의 파라미터들을 갖으며, 트랜스 코딩된 출력으로 제공된다.

Description

트랜스코딩 방법{TRANSCODING METHOD}
정부의 라이센스권미(美)합중국정부는 본 발명에 있어 지불필(paid-up) 라이센스와 미국 국립 표준 및 기술 연구소가 부여한 계약번호 70NANB5H1171에 의해 규정되는 합당한 조건으로 특허소유자가 타인에게 라이센스를 허가해 주도록 요구하는 제한된 상황의 권한을 갖고 있다. 본 발명은 일반적으로 비디오시퀀스를 트랜스코딩 함에 있어 움직임추정(motion estimation:動作推定)에 관련한 것이며, 또 특히 수신된 비디오시퀀스로부터 외삽(extrapolated) 된 움직임정보(motion information:動作情報)를 이용하고 그로써 트랜스코딩 처리과정에서 움직임추정을 최소화하거나 제거시킴으로써 수신된 비디오시퀀스를 트랜스코딩하기 위한 기술에 관련된 것이다.
데이터 압축기술은 상대적으로 작은 대역폭으로도 대용량의 데이터가 전송될 수 있게 한다. 압축시스템에서 사용되는 알고리즘은 이용 가능한 대역폭 혹은 저장용량, 응용할 때 요구되는 특징, 그리고 압축 알고리즘(디코더 와 인코더)을 구현할 때 필요한 하드웨어의 입수가능성(affordability)에 따라 좌우된다. 동화상 전문가 그룹-2(MPEG-2 : Moving Pictures Expert Group 2) 압축 표준은 본 명세서에 참조로 통합되었으며, 비디오데이터를 압축하기 위한 기술로 잘 알려져 있다. 움직임추정은 비디오인코더가 움직임벡터를 계산하기 위해 사용하는 처리과정이며, 일반적으로 인코딩(encoding) 처리과정 중 가장 비용이 많이 드는 부분으로 간주된다. 마찬가지로, 움직임추정은 비디오시퀀스가 디코딩(decode)되고, 그 다음에 새로운 파라미터로 다시 인코딩(encode)되는 트랜스코딩 처리과정 중에서도 가장 비용이 많이 드는 부분일 가능성이 있다. 고화질TV(HDTV)의 출현으로, 이것은 TV방송실이 화상데이터의 MPEG-2 비트스트림을 한 포맷에서 다른 포맷으로 트랜스코딩 하도록 요구될 것이므로 중요한 관심사가 된다. 예를 들어, HDTV표준을 채택한 TV방송실은 MPEG-2 비트스트림을 한 그룹의 화상("GOP")구조에서 다른 구조로, 하나의 화상크기에서 다른 크기로, 그리고 하나의 비트 율에서 다른 비트 율로 트랜스코딩 할 수 있어야한다. 이런 TV방송실은 MPEG-2 화상을 필드화상에서 프레임화상으로, 프레임 화상에서 필드화상으로 트랜스코딩 하는 것을 필요로 하는 경우도 있을 것이다. 방송실이 MPEG-2 화상을 인터레이스(interlaced)된 시퀀스에서 순차 시퀀스로, 혹은 순차 시퀀스에서 인터레이스 시퀀스로 트랜스코딩 하는 것을 필요로 하는 경우도 역시 있을 것이다. 트랜스코딩은 입력이 주(主)이미지(main image)을 나타내고, 트랜스코딩된 출력이 주(主)화상 내의 부(副)이미지(sub-image)을 나타내는 크로핑(cropping) 기능을 수행하는 데 역시 사용될 수 있다.
도 1은 움직임벡터 외삽법의 기본원리를 도해(圖解:설명)하는 도면.
도 2는 본 발명의 원리에 따라 구축된 트랜스코딩 시스템을 도해(설명)하는 도면.
도 3은 본 발명의 원리에 따라 화상을 하나의 GOP구조에서 다른 구조로 트랜스코딩 하는 과정을 도해(설명)하는 도면.
도 4는 움직임벡터 외삽법의 일반적인 경우로, 트랜스코딩에 응용된 움직임벡터 외삽법을 더 잘 이해하기 위해서 사용될 수 있는 도면.
따라서 본 발명의 목적은 움직임추정을 최소화하거나 아예 제거하는, 비디오시퀀스를 트랜스코딩하기 위한 기술을 제공함에 있다. 또 다른 목적은 입력 비트스트림에서 온 움직임정보가 트랜스코딩된 출력 비트스트림을 위한 움직임 벡터를 생성하는 데 이용될 수 있는 비디오시퀀스를 트랜스코딩 하는 기술을 제공함에 있다. 그리고 또 다른 목적은 모든 MPEG-2 예측모드를 지원하는 트랜스코딩처리를 위한 움직임추정기술을 제공함에 있다.
이러한 목적 및 다른 목적들은 식별가능한 코딩파라미터를 갖는 압축이미지데이터의 제 1 비트스트림을 수신함으로써 수행되는 트랜스코딩 방법을 통해, 본 발명의 원리에 따라서 성취될 수 있다. 제 1 비트스트림에 나타난 화상이 필드 화상이든 또는 프레임 화상이든지, 및/또는 제 1 비트스트림에 나타난 화상이 순차시퀀스이든 인터레이스 시퀀스이든지, 이들 파라미터들은 제 1 비트스트림에 나타난 화상의 GOP구조, 즉, 제 1 비트스트림에 나타난 화상의 크기에 관련된 것일 수도 있다. 제 1 움직임정보는 제 1 비트스트림에서 얻고, 압축이미지데이터의 제 2 비트스트림을 위한 제 2 움직임정보를 외삽 추정하는 데 이용된다. 제 2 비트스트림은 제 1 비트스트림의 파라미터와는 다른 하나 이상의 파라미터를 갖게되며, 트랜스코딩된 출력으로 제공된다.
본 발명에 대한 더욱 완전한 인지와 본 발명의 많은 부수적인 장점은, 동일한 사항이 첨부 도면과 관련하여 고려되는 경우, 다음의 자세한 설명을 참조하여 더욱 이해가 잘 될때, 아주 명백해질 것이다.
이제 도면으로 돌아와서 도 1을 참조하면, 움직임벡터 외삽법의 기본원리가 도해(설명)되고 있다. 일반적으로, 움직임벡터 외삽법은 움직임이 그 시퀀스의 다른 곳에 알려졌을 때, 비디오시퀀스에서 하나의 이미지에 대한 움직임을 추정하는 기술이다. 도 1에서, 화상 B에 있는 볼드체(bold-typed) 사각형은 비디오화상내의 각각의 픽셀(a.k.a., pel)블록을 나타낸다. 화상 내의 각 블록은 고정된 위치를 갖는다고 가정한다. MPEG-2에서는 이 블록들은 "매크로블록(macroblock)"들로 간주되며, 각 블록은 16x16 픽셀블록으로 구성된다. 도 1에서 실선 화살표는 블록이 화상 A에서 화상 B로 이동할 때, 볼드체 블록의 공지된 이동을 나타낸다. 실제로, 이동하는 것은 고정된 위치에 있는 블록 그 자체가 아니고 블록 내에 있는 상(imagery)이다. 하나의 움직임 벡터에 의해서 정해지는 이러한 공지된 움직임은 블록이 화상 B에서 화상 C로 이동할 때 블록의 움직임을 외삽하는 데 사용된다. 도 1의 점선화살표는 외삽된 움직임 벡터를 나타낸다. 도 1(첨부된 다른 도면도 마찬가지다)은, 한 블록내에 관련된 벡터는 기준화상에 있는 그 블록의 소스를 가리킨다는 더 공통적인 코딩규정(coding convention)을 사용하기 때문에, 도 1의 화살표는 실제로 움직임에 반대되는 방향을 가리킨다. 실제로, 주어진 움직임 벡터는 두 화상 사이에 있는 한 개의 블록의 수평 및 수직 움직임을 각각 나타내는 x 와 y의 좌표 세트로 표시된다. 외삽법은 일반적으로 움직임은 시간적으로는 균일하며, 공간적으로는 평탄(smooth)하다고 가정한다. 따라서, 화상 B의 블록은 화상 C에 보이는 위치로 이동 할 것이라고 예상되고, 또 상기 블록이 겹쳐지는(overlap) 모든 블록들은 대략 같은 움직임을 할 것이라고 예상된다.
이제 도 2를 참고하면, 본 발명의 원리에 따라 만들어진 하나의 트랜스코딩 시스템이 도시된다. 도 2에서, 트랜스코딩 시스템(200)은 MPEG-2 압축이미지데이터의 입력 비트스트림(201)을 수신한다. 이 입력 비트스트림(201)은 특정한 비트율을 나타내는데, 주어진 크기와 GOP구조를 갖는 화상들을 나타낸다. 입력 비트스트림(201)의 화상데이터는 필드 혹은 프레임 화상으로 구성될 수 있고, 또 인터레이스 혹은 순차 시퀀스를 나타낼 수 있다. MPEG-2 디코더(202)는 해당 분야에 공지되어 있으며, 입력 비트스트림(201)을 수신하여 압축이 풀린 디지털 이미지데이터(203)를 생성하기 위해 그 입력 비트스트림(201)을 디코딩한다. 디코더(202)도 역시 입력 비트스트림(201)으로부터 나온 움직임정보(즉, 움직임 벡터)를 별도의 출력(204)으로서 제공한다. 디지털이미지데이터(203)는 중간처리장치(205)로 입력되고, 이 장치는 픽셀영역(pixel domain)에서 움직임하며, 이미 알려진 방법으로 디지털 이미지데이터에 의해 표시되는 화상의 크기를 조정할 수 있다. 화상의 크기를 조정하는 것 외에도, 중간처리장치(205)는 디지털 이미지데이터(203)로 표시된 주(主)이미지내에서 부(副)이미지을 분리하고, 또 부(副)이미지을 표시하는 데이터의 출력을 제공함으로써, 이미 알려진 크로핑(cropping)기능을 수행할 수 있다. 중간처리장치(205) 역시 공지된 인터레이스 및 디인터레이스 연산(de-interlacing operation)을 수행할 수 있으며, 이 연산은 순차 시퀀스 화상을 인터레이스되는 비디오시퀀스로 트랜스코딩 할 때와 인터레이스되는 비디오시퀀스를 (존재하는 경우) 순차 시퀀스 화상으로 트랜스코딩 할 때 필요하다. 중간 처리장치(205)는 처리연산 중 어느 것이 수행되는가를 나타내고, 그런 처리에 사용되는 파라미터를 추가적으로 나타내는 외부입력(206)에 응답하여 연산작업을 수행한다. 중간처리장치(205)의 연산작업은 선택적이기 때문에, 만약 화상크기조정, 크로핑, 인터레이스, 디인터레이스가, 주어진 트랜스코딩 응용을 위해, 수행되지 않으면, 중간처리장치(205)는 단순히 통과장치(pass-through unit)로 움직임하며, 임의의 픽셀영역처리도 하지 않는 디지털 이미지데이터(207)의 출력을 공급한다. 이 경우에는, 디지털 이미지데이터(207)와 디지털 이미지 데이터(203)는 명백하게 동일하다. 대안적으로, 하나 이상의 처리연산이 주어진 트랜스코딩 응용을 위해 수행이 된다면, 중간처리 장치(205)는 픽셀영역 처리연산(들)을 수행하고, 또 최종적으로 처리된 디지털 이미지데이터의 출력을 제공한다. 디지털 이미지 데이터(207)는 중간 처리장치(205)에 의해서 처리가 되든 되지 않든, 외부입력(209)으로 표시되는 새로운 파라미터를 가지고 수신된 이미지데이터(207)을 다시 인코딩하는 MPEG-2 인코더(208)에 입력된다. 예를 들면, 인코더(208)는 입력 비트스트림(201)이 표시하는 화상들의 GOP구조와 다른 GOP구조의 화상을 나타내기 위해, 디지털 이미지 데이터(207)를 인코딩할 수도 있고, 및/또는 비트율을 조정할 수도 있다. 인코더(208)는 역시 디지털 이미지데이터(207)를 필드 혹은 프레임 화상으로서 인코딩할 수도 있다. 인코딩과정을 수행하기 위해서, 인코더(208)는 화상들이 다시 인코딩 되도록 움직임벡터를 외삽하기 위해 디코더(202)에서 나온 출력(204)의 움직임정보를 이용한다. 그이후, 다시 인코딩된 화상들은 MPEG-2 압축 디지털 이미지데이터의 출력 비트스트림으로서 트랜스코딩 시스템(200)으로부터 제공된다.
앞에서 언급한 것처럼, 이 출력 비트스트림(210)은 입력 비트스트림(201)의 크기와 GOP구조와는 다른 화상의 크기와 GOP구조를 나타낼 수 있고, 그리고 출력 비트스트림(210)의 비트율은 입력 비트스트림(201)의 비트율과는 다르게 조정될 수 있다. 게다가, 입력 비트스트림(201)이 프레임화상을 나타내는 데 반해서, 출력 비트스트림(210)은 필드화상을 나타낼 수 있고, 혹은 입력 비트스트림(201)이 필드화상을 나타내는 데 반해서, 출력 비트스트림(210)은 프레임화상을 나타낼 수 있다. 비슷하게 입력 비트스트림(201)이 순차 시퀀스를 나타낼 수 있는 반면, 출력 비트스트림(210)은 인터레이스 시퀀스를 나타낼 수 있고, 혹은 입력 비트스트림(201)이 인터레이스 시퀀스를 나타낼 수 있는 반면, 출력 비트스트림(210)은 순차 시퀀스를 나타낼 수 있다. 역시, 출력 비트스트림(210)은 입력 비트스트림(201)의 크로핑 된 버전을 나타낼 수 있다. 본질적으로, 트랜스코딩 시스템(200)은 특정 파라미터들을 갖는 입력 비트스트림(201)을 수신하고, 그리고 입력 비트스트림(201)의 파라미터들과는 다른 하나 이상의 파라미터들을 갖는 출력 비트스트림(210)을 생성하기 위해 입력 비트스트림(201)을 트랜스코딩 한다. 이 트랜스코딩 시스템(200)은 출력 비트스트림(210)을 위한 움직임정보를 외삽하기 위해 입력 비트스트림(201)으로부터 나온 움직임정보를 이용한다는 점에서 유일하다.
이제 도 3으로 돌아와서 보면, 본 발명의 원리에 따라 화상들을 한 GOP구조로부터 다른 구조로 트랜스코딩 하는 처리과정이 도해(설명)되어 있다. 도 3에서는, 하나의 입력 비트스림이 인트라코딩된(intra-coded) 화상{"I-화상"(I-picture)}, 양방향으로 예측이 가능하게(bidirectionally-predictive) 코딩된 화상{"B-화상"(B-picture)}, 하나의 B-화상, 그리고 예측이 가능하게 코딩된(predictive coded) 화상{"P-화상"(P-picture)}들의 GOP구조를 갖는 화상들을 나타낸다. 즉, 입력 비트스트림이 "IBBP" GOP구조를 나타내는 것이다. 도 3에 나타나 있듯이, 입력 비트스트림의 두 개의 연속적인 B-화상들이 명확성을 위해 B1, B2로 표시되어 있다. 이 입력 비트스트림은 도 2의 입력 비트스트림(201)과 유사하다. 트랜스코딩 되는 동안에, "IBBP" GOP구조를 갖는 입력 비트스트림은 "IPPP" GOP구조를 갖는 출력 비트스트림으로 변환된다. 도 3에 나타나 있듯이, 출력 비트스트림 중에서 세 개의 연속적인 P-화상들이 명확하게 P1, P2, P3으로 표시되어 있다. 이 출력 비트스트림은 도 2의 출력 비트스트림(210)과 비슷하다. 혼란을 최소화하기 위해서, 각각의 화상들을 구성하는 매크로블록(macroblock)들은 도 3 에서는 도시되지 않는다. 트랜스코딩처리를 수행하기 위해서, 입력 비트스트림에서 나온 I-P 그리고 P-B2 움직임벡터가 출력 비트스트림을 위한 움직임벡터를 외삽하기 위해 사용된다. 예를 들면, 도 3이 나타내듯이, 입력 비트스림에서 나온 I-P 움직임벡터가 출력 비트스트림을 위한 P1-P2 움직임벡터를 추정하는 데 사용될 수 있다. 비슷하게, 입력 비트스트림에서 나온 P-B2 움직임벡터는 출력 비트스트림을 위한 P2-P3 움직임벡터를 추정하는 데 사용될 수 있다.
본 발명의 움직임벡터 외삽법의 더 자세한 설명은 도 4를 참조하여 이제 제공될 것이다. 도 4는 비디오시퀀스에서 4개의 화상을 보여주고 있다. 개념적으로 볼 때, 이 4개의 화상들은 입력 비트스트림뿐 아니라 출력 비트스림에도 존재할 것이고, 그리고 이것은 실제로 일반적인 경우 일 것이다. 어떤 경우에도, 도 4에서 화상(T)는 화상(R)에 상대적인 움직임이 결정되는 "목표" 화상이다. 이 두 화상 모두 출력 비트스트림에 존재할 것이다. 화상(KR 과 KT)은 상대적인 움직임이 입력 비트스림으로부터 알려져 있는 화상들이다. 본 발명의 원리에 따라, 화상(KR 과 KT)사이에서 이미 알려진 움직임은 출력 비트스트림을 위한 움직임벡터를 외삽하는 데 이용될 수 있다. 화상(KR 과 KT)은 "기본 쌍(base pair)"으로 불리며, 또 화상(R 과 T)은 "현재의 쌍(current pair)"이라고 지칭된다. 몇 개의 '기본 쌍'들은 한 개의 '현재 쌍'의 움직임을 추정하는 데 유용할 수 있다. 일반적으로, '현재 쌍'에 임시로 인접된 임의의 '기본 쌍'도 이런 목적에 잠재적으로 유용하다.
트랜스코딩 처리를 하는 동안, 화상(T)의 일부 블록들은 움직임외삽정보를 수신하지 못하는 경우도 있을 수 있다. 즉, 화상(T)의 일부 블록들은 가까운 '기본 쌍'들 안에 있는 임의의 블록들의 움직임에 의해서 겹쳐지지 않는 경우가 있을 것이라는 것이다. 화상(T)내의 그런 블록들은 간단하게 인트라코딩(intra-code)될 수 있고 , 또는 이 블록들의 움직임은 전통적인 방법으로 계산될 수 있다. 대안적으로, 그런 블록들의 움직임은 가까이 있는 블록들로부터 추측되거나, 보간될 수 있다. 그러나, 대부분의 경우에, '기본 쌍' 내의 서너 블록들은 화상(T)내의 대부분의 블록과 겹칠 것이고, 그러면 그 임무는 서너 개의 후보 움직임벡터들 사이로부터 가장 적당한 움직임벡터를 선택하는 것이다. '기본 쌍'으로부터 온 각각의 겹치는 블록은 한 개의 단일 후보움직임벡터를 제공한다. 다수의 후보움직임벡터들로부터 선택을 할 때는, 각 움직임벡터에 가중치(weight:加重値)를 부여하고, 가장 큰 가중치를 갖는 움직임벡터를 선택하는 것이 유용하다.
예로서, 도 4의 화상들을 사용하여, 각 후보움직임벡터(MV)를 위한 가중치는 다음과 같이 계산된다.
총 가중치(Total Weight)(MV)={겹쳐치는 가중치(Overlap Weight)} * {화상 가중치(Picture Weight)} * {라운딩 가중치(Rounding Weight)}.................(1)
여기서,
겹치는 가중치(Overlap Weight)={화상(T)의 해당하는 블록 내에서 픽셀과 겹치는 화상(KT)의 블록내의 픽셀 수}.........................................(2)
화상가중치=1/[1+abs{임시가중치(Temporal Weight)}.....................(3)
여기서,
임시가중치=(tKT-tKR)*[(tKR+tKT)-(tT+tR)].............................(4)
그리고,
라운딩가중치=[1-(수평라운딩오류)]*[1-(수직라운딩오류)]...............(5)
전술한 방정식{(1)부터 (5)까지}에서, tKR,tKT,tR 그리고 tT는 각각 화상 KR, KT, R 그리고 T의 디스플레이 시간을 나타낸다. 기호( * 과 abs)는 곱하기연산자와 절대값 지정을 각각 나타낸다. 수평 및 수직 라운딩 오류는 외삽된 벡터가 가장 가까운 반 픽셀(nearest half pixel)로 반올림되었을 때 발생하고, 따라서 각각은 영(0)에서 이분의 일(1/2)까지의 값을 취한다. 비록 방정식{(1)에서 (5)}가 도 4의 화상들에 응용되는 것처럼 보여지지만, 이런 일반 방정식들이 다른 화상구성에 응용될 수 있다는 것은 인지되어야 한다.
가장 큰 가중치를 갖는 후보움직임벡터를 간단히 선택하는 기술 외에도, 본 발명은 주어진 블록을 위해 최고(best)의 움직임벡터(들)를 획득하는 다른 방법도 고려(contemplate)하고 있다. 대안적인 구현방법에 따라, 우리는 앞의 방정식{(1)에서 (5)}을 이용하여, 가중치가 계산되는 경우 가중평균을 계산할 수 있다. 그러면, 이 가중치들을 이용하면, 가중치가 부여된 성분을 생성하기 위해 상응하는 움직임벡터의 x 혹은 y 성분과 가중치들을 곱하고, 그리고 가중치가 부여된 성분을 기초로 하여 최고의 움직임벡터가 계산될 수 있다.
앞에 나온 '가중치평균(weighted average)'기술은 클러스터(cluster)를 기초로 수행될 수 있다. 즉, 만약 후보움직임벡터들의 x-y좌표가 한 개 이상의 움직임벡터 클러스터{즉, 가까이 있는 것을 하나의 그룹으로 묶음(i.e., close grouping)}을 보여준다면, 하나의 최고 움직임벡터는 각 클러스터를 위해 계산될 수 있다는 것이다. 이것은 클러스터의 중심 혹은 "질량 중심(center of mass)"이다. 그러면, 하나의 최종, 최고의 움직임벡터는 각각의 클러스터들의 최고 움직임벡터들로 부터 선택될 수 있다.
가중치를 전혀 사용하지 않고 다수의 후보움직임벡터들사이 에서부터 하나의 최고 움직임벡터가 역시 선택될 수 있다는 사실을 주목해야한다. 예를 들면, 블록들 사이의 픽셀차이를 나타내는 MSE(mean-square error: 평균제곱오차) 나 혹은 MAD( mean-absolute-difference:평균절대차이) 계산은 최고의 움직임벡터를 확인하는 데 수행될 수있다. 역시, MSE 와 MAD 계산은 종래 기술에 널리 공지되어 있다.
표 1에 열거된 다음의 알고리즘(algorithm)은 목표화상{즉, 도 4의 화상(T)}을 예측 할 수 있는 각 모드를 위한 최고의 움직임벡터를 찾기 위한 단계들을 보여주고 있다. 이 단계들은 의사(pseudo)-코드로 표시되며 종래 기술에 공지된 임의의 프로그램언어로도 프로그램 할 수 있다.
*************************************************************************
표 1 : 최고의 움직임벡터를 찾아 내기 위한 의사코드
**************************************************************************
-목표화상(현재 쌍)을 위해 고려될 수 있는 각 예측방식을 위한 각 예측 모드와,
-적용 가능 모드의 각 필드나 혹은 프레임(최상위 필드, 최하위 필드, 프레임)에 대하여.
-목표화상 내의 블록별로 색인(index:목록이 기록)된 표를 초 기화(initialize: 처음 상태로 만들기)하기,
-하나의 현재 쌍을 위해 유용하다고 생각되는 각 기본 쌍과(즉, 하 나의 기본 쌍은 그것이 이미 정해진 범위 내에서 임시로 가까이 있다면, 일반적으로 유용하다고 간주된다),
-기본 쌍의 목표 내에 있는 각 상호-코딩(inter-coded)된 블록의 각 움직임벡터에 대하여,
-움직임벡터들이 블록을 목표화상 내에서 어디로 이동시킬 것인가를 결정하기.
-벡터의 가중치를 계산하거나, 혹은 그것의 매칭 (match)(즉, MSE, MAD)을 평가하기.
-관련된 목표화상 블록의 표 엔트리(table entries)에 정보를 저장하기.
-목표화상 내의 각 블록에 대하여,
-필드나 혹은 프레임을 위한 최고의 움직임벡터를 결정하기.
-목표화상 내의 각 블록에 대하여,
-최고의 예측모드와 그에 상응하는 움직임벡터(들)를 결정하기.
**************************************************************************
다수의 움직임벡터들은 프레임화상을 위한 필드예측과 P-화상들을 위한 이중프라임(dual prime)과 같은 일부의 예측모드에서 주어진 하나의 블록과 연관이 있다는 점을 주목하라. 역시, B-화상을 위해, 인코더는 순방향예측을 사용할 것인가, 혹은 역방향예측을 이용할 것인가, 아니면 둘 다를 사용할 것인가를 각 블록마다 결정해야 한다. 어떤 경우에는 어떠한 예측모드도 수용 가능한 결과를 산출하지 못한다. 이것은 ,어떤 후보움직임벡터도 없거나, 혹은 앞에서 언급한 기술들 중 하나에 따라 결정된 최고의 움직임 벡터가 특정응용에 충분히 좋지 않을 때, 발생한다. 추가적으로, 인코더가 입력시퀀스에서 (변화되지 않고) 온 움직임벡터를 출력 시퀀스를 위해 간단히 사용할 수 있는 경우도 있다.
도 4에서, 크기를 다시 조정하지 않고 프레임화상을 위해 프레임예측을 사용하는 상황을 가정해 보자. 화상(KT)내의 한 블록이 하나의 관련된 벡터(vK)를 갖고, 화상(T)내의 하나 이상의 블록들은 다음과 같이 정의된 하나의 관련 벡터(v)를 갖게 될 것이다라고 하자.
v=Tv*vK . . . . . . . . . . . . . . . . . . . . . . . . . . . .(6)
여기서,
Tv=(tT-tR)/(tKT-tKR). . . . . . . . . . . . . . . . . . . . . . (7)
여기서, Tv는 벡터들을 위한 임시 스케일링(scaling) 인자이며, tKR, tKT, tR 그리고 tT는 화상(KR, KT, R, T)의 디스플레이 시간을 각각 나타낸다. 필드가 다른 시간에 디스플레이되는 프레임화상들을 위한 디스플레이 시간에는 애매 모호함이 있다. 그런 경우에, 시간은 필드 각각의 평균이어야 한다. 화상(KT)에서 화상(T)까지의 블록의 움직임을 추적하기 위해서, 특정 블록의 상위 왼손편 코너에 한 점이 있다고 고려하자. 도 4에 관련해, 이 점은 화상(KT) 내의 점(qK)으로 표시되며, 화상(T) 내에서는 점(q)으로 표시된다. 점(q)의 움직임은 다음식 으로 움직임된다.
q=qK-(Tb*vK). . . . . . . . . . . . . . . . . . . . . . . . . (8)
여기서,
Tb=(tT-tKT)/(tKT-tKR) . . . . . . . . . . . . . . . . . . . . .(9)
크기가 다시 조정된 화상들을 포함하는 트랜스코딩처리에서, 화상(KR 과 KT)은 화상(R 과 T)과 같은 크기는 갖지 않을 것이다. 크기를 다시 조정하는 방법은 다음과 같이 조정(accommodate) 한다. Rx 와 Ry가 화상들이 수평 및 수직으로 확대되는 것을 나타내게 하자. 이것은:
Rx={화상(T)의 폭}/{화상(KT)의 폭(width)}. . . . . .. . . . . . (10)
그리고,
Ry={화상(T)의 높이}/{화상(KT)의 높이} . . . . . . . . . . . . .(11)
화상의 크기를 다시 조정하기 위해서는 방정식{(6) 그리고 (8)}이 다음과 같이 수정될 필요가 있다.
v=R(Tv*vK) . . . . . . . . . . . . . . . . . . . . . . . . . . (12)
그리고,
q=R(qK-(Tb*vK)) . . . . . . . . . . . . . . . . . . . . . . . (13)
앞의 방정식은 다음 표기법을 도입한다:
R(v)=(Vx*Rx, Vy*Ry) . . . . . . . . . . . . . . . . . . . . . (14)
여기서, V는 두 성분의 점(픽셀) 혹은 벡터이다. R은 크기가 다른 화상을 의미하고 크기가 다른 블록을 의미하지 않는다.
크기재조정은 크기가 재조정된 이미지뿐아니라, 관련 필드와 프레임화상, 또 관련 필드 및 프레임 예측에 적용된다. (필드 및 프레임 화상 모두의) 필드예측을 조정하기 위해서는, 최하위필드들은 그들 좌표가 나타내는 것보다 0.5픽셀이 낮다는 점을 주의하라. 하나의 필드 혹은 프레임 화상의 변위(displacement) 벡터(dX)는 다음과 같이 정의된다:
dX=(0,0) X가 최상위 필드 혹은 프레임인 경우. . . . . . . . . . (15)
그리고,
dX=(0,0.5) X가 최하위 필드인 경우 . . . . . . . . . . . . . . .(16)
이것을 방정식{(12) 와 (13)}에 응용시키면, v 와 q를 위한 새로운 방정식들은 다음과 같다.
v=R(Tv*(vK+dKR-dKT))+dT-dR . . . . . . . . . . . . . . . . .(17)
그리고,
q=R(qK+dKT-[Tb*(vK+dKR-dKT)])-dT. . . . . . . . . . . . . . .(18)
따라서, 본 발명의 실행에 사용되는 최종 방정식들은 방정식{(7), (9), 그리고 (14)에서 (18)까지}이다.
마지막으로, 도 2의 중간 처리장치(205)가 이미지들을 얻는다고 추측해보자. 위의 방정식들은 다음과 같이 응용될 수 있다. 우리는 출력화상은 적당한 위치에서 화상 내 삽입되어 있는 상태에서, 화상(R 과 T)이 원래의 화상과 같은 크기라고 생각한다. 중요한 지역과 겹치는 블록들만 유일하게 와삽추정법에 이용된다. 그래서, 이 블록들에서 유도된 방정식들뿐아니라, 도 1에서 도 4까지가 이 경우에 응용된다.
앞에서 언급된 명세(disclosure)는 동일함을 시사할 수도 있다. 즉, 만약 화상(T)이 필드기반 예측법을 사용하는 프레임 화상이라면, 그러면 화상(KT)도 역시 필드기반 예측법을 사용하는 프레임 화상이다는 사실이다. 그러나, 앞에서 이야기한 공식들은 다음의 예제가 알려주듯이, 더욱 일반적이다.
화상(T)은 프레임 기반 예측법을 사용하고, 화상(KT)은 필드기반 예측법을 사용한다고 생각해보자. 본 발명에서는 화상(KT)이 필드화상이거나 혹은 프레임화상이든 상관이 없다. 어느 경우이든 화상 KT의 움직임벡터는 필드기반이므로 Ry=2 그리고 Rx=1이 된다. 만약 화상(KT)이 프레임 화상이라면, 그것의 블록은 16x8이다; 그러나, 그것은 앞의 공식에 대해 자명하다(transparent to the foregoing formula). 만약 한 블록이 16x8 예측법을 사용한다면, 그러면 두 개의 절반들(two halves)은 두 개의 별개의 블록으로서, 취급되어야 한다. 화상(T)과 화상(KT) 모두가 필드기반 예측법을 사용한다고 생각해보자. 여기서, 두 화상의 벡터들은 같은 크기의 이미지으로 간주되기 때문에, 크기의 재조정은 필요치 않고, Rx= Ry=1이다. 즉, 본 발명의 실행에서, 필드 화상 과 프레임 화상이 혼합되어 있거나 또는, 필드 및 프레임예측이 혼합되어 있다는 것은 상기 방정식에 부적절하다.
앞에서 언급된 명세가 의미하듯이, 만약 화상(KT) 내의 블록 하나가 이중 프라임(dual-prime)을 사용한다면, 그러면 아마도 다른 가중치를 가지고, 두 개의 벡터가 별도로 응용된다. 역시, 이중프라임을 위해 화상(T)을 평가하는 것은 양방향 보간법(interpolation)을 위해 같은 화상을 평가하는 것과 같다. 즉, 각 벡터가 별도로 평가되고, 그리고 나서, 조합(combination)이 평가된다는 것이다. 따라서, 본 발명은 모든 MPEG-2 예측모드를 지원한다: 즉, 프레임화상을 위한 프레임, 필드, 이중 프라임 예측법이 있고, 그리고 필드화상을 위한 필드, 이중 프라임 그리고 16x8 예측법이 있다. 본 명세서에 밝힌 방정식들은 일반적으로 비선형(non-linear) 움직임보다는 선형(linear) 움직임의 상황에 관한 것이다. 예를 들면, 비선형 움직임은 카메라 지터나 혹은 화상내의 목표물을 일정하게 가속시킴으로써 얻을 수 있다. 비선형 움직임의 그런 예는 다음과 같이 취급될 수있다. 카메라 지터와 관련된 비선형 움직임에 대해서, 블록 움직임을 비교하기 전에 전체적인 움직임의 인자를 찾아내는 것(factor out global motion)이 바람직할지 모른다. 이미 알고있는 MSE 와 MAD계산들은 이런 목적을 위해 이용될 수 있다. 목표물의 일정한 가속과 연관된 비선형 움직임에 대해서는, 두 개 보다는 세 개의 화상을 이용하여 이런 움직임을 외삽하는 것이 바람직하다.본 발명의 바람직한 실시예로 간주되는 것을 기술하고 설명하고 있지만, 여러 변경과 수정들이 이루어질 수도 있고, 그것(본 발명)의 등가물(equivalent)들이 본 발명의 범위로부터 벗어나지 않고 본 발명의 요소들을 대체할 수도 있다는 사실이 당업자에 의해서 이해될 것이다. 게다가, 많은 수정이 본 발명의 중심 범위을 벗어나지 않고 이루어 질 수도 있다. 따라서, 본 발명은, 발명을 수행시키기 위해 고려된 최고의 모드로 개시된 특별한 실시예에 국한되지 않지만 본 발명이 첨부된 청구항의 범주 내에 해당하는 모든 실시예들을 포함한다는 것이 의도된다.
상술된 바와 같이, 본 발명은 비디오시퀀스를 트랜스코딩 함에 있어 움직임추정에 이용가능하다.
삭제
삭제

Claims (22)

  1. 제 1 화상 그룹(GOP : Group of Pictures) 구조를 갖는 압축데이터의 제 1 비트스트림을 수신하는 단계,
    상기 제 1 비트스트림으로부터 제 1 및 제 2 움직임정보(motion information)를 얻는 단계,
    상기 제 1 및 제 2 움직임 정보를 가중(weighting)하는 단계,
    상기 제 1 움직임 정보가 상기 제 2 움직임 정보를 능가(outweigh)한다면 압축 데이터의 제 2 비트스트림에 대해 제 3 움직임 정보를 외삽(extrapolate)하기 위해 상기 제 1 움직임 정보를 이용하는 단계로서, 상기 제 2 비트스트림은 화상 그룹 (GOP) 중 제 1 화상 그룹 구조와는 다른 제 2 화상 그룹(GOP) 구조를 갖는, 상기 제 1 움직임 정보 이용 단계, 및
    상기 제 2 비트스트림을 출력하는 단계를 포함하는 트랜스코딩 방법.
  2. 제 1 항에 있어서, 상기 제 1 비트스트림의 비트율이 상기 제 2 비트스트림의 비트율과 다르게 하기 위해서 상기 제 2 비트스트림의 비트율을 조절하는 단계를 더 포함하는, 트랜스코딩 방법.
  3. 제 1 항에 있어서, 상기 제 2 비트스트림에 의해 표시되는 화상들이 상기 제 1 비트스트림에 의해 표시되는 화상들의 크기와 다른 크기를 나타내도록 상기 제 1 비트스트림에 의해 표시되는 화상들의 크기를 조정하는 단계를 더 포함하는, 트랜스코딩 방법.
  4. 제 2 항에 있어서, 상기 제 2 비트스트림에 의해 표시되는 화상들이 상기 제 1 비트스트림에 의해 표시되는 화상들의 크기와 다른 크기를 나타내도록 상기 제 1 비트스트림에 의해 표시되는 화상들의 크기를 조정하는 단계를 더 포함하는 트랜스코딩 방법.
  5. 제 4 항에 있어서, 상기 제 1 비트스트림에 의해 표시되는 화상들이 프레임화상들로서 인코딩될 때, 상기 제 2 비트스트림에 의해서 표시되는 상기 화상들을 필드 화상으로서 인코딩하는 단계를 더 포함하는 트랜스코딩 방법.
  6. 제 4 항에 있어서, 상기 제 1 비트스트림에 의해서 표시되는 화상들이 필드화상들로서 인코딩될 때, 제 2 비트스트림에 의해서 표시되는 화상들을 프레임 화상으로서 인코딩하는 단계를 더 포함하는 트랜스코딩 방법.
  7. 제 4 항에 있어서, 상기 제 2 비트스트림에 의해서 표시되는 상기 화상들이 인터레이싱된 시퀀스로 출력되도록 하기 위해서, 상기 제 1 비트스트림에 의해 표시되는 화상들이 순차 시퀀스로서(as a progressive sequence) 수신될 때, 상기 제 1 비트스트림에 의해 표시되는 화상들을 인터레이싱하는 단계를 더 포함하는 트랜스코딩 방법.
  8. 제 4 항에 있어서, 상기 제 2 비트스트림에 의해서 표시되는 상기 화상들이 순차 시퀀스로서 출력되도록 하기 위해서, 상기 제 1 비트스트림에 의해 표시되는 화상들이 인터레이스된 시퀀스로서 수신될 때, 제 1 비트스트림에 의해 표시되는 화상들을 디인터레이스(de-interlacing)하는 단계를 더 포함하는 트랜스코딩 방법.
  9. 제 1 항에 있어서, 상기 제 1 비트스트림에 의해서 표시되는 화상들이 프레임 화상들로서 인코딩될 때, 제 2 비트스트림에 의해서 표시되는 화상들을 필드화상으로서 인코딩하는 단계를 더 포함하는 트랜스코딩 방법.
  10. 제 1 항에 있어서, 제 1 비트스트림에 의해서 표시되는 화상들이 필드 화상들로서 인코딩될 때, 제 2 비트스트림에 의해서 표시되는 화상들을 프레임 화상으로 인코딩하는 단계를 더 포함하는 트랜스코딩 방법.
  11. 제 1 항에 있어서, 상기 제 2 비트스트림에 의해서 표시되는 상기 화상들이 인터레이스된 시퀀스로서 출력되도록 하기 위해서, 상기 제 1 비트스트림에 의해 표시되는 화상들이 순차 시퀀스로서 수신될 때, 상기 제 1 비트스트림에 의해 표시되는 화상들을 인터레이스하는 단계를 더 포함하는 트랜스코딩 방법.
  12. 제 1 항에 있어서, 상기 제 2 비트스트림에 의해서 표시되는 화상들이 순차 시퀀스로서 출력되도록 하기 위해서, 상기 제 1 비트스트림에 의해 표시되는 화상들이 인터레이스된 시퀀스로서 수신될 때, 상기 제 1 비트스트림에 의해 표시되는 화상들을 디인터레이스하는 단계를 더 포함하는 트랜스코딩 방법.
  13. 주 이미지(main image)를 나타내는 압축 이미지 데이터의 제 1 비트스트림을 수신하는 단계,
    상기 제 1 비트스트림으로부터 제 1 및 제 2 움직임 정보를 얻는 단계,
    상기 제 1 및 제 2 움직임 정보를 가중하는 단계,
    상기 제 1 움직임 정보가 상기 제 2 움직임 정보를 능가한다면 압축 이미지 데이터의 제 2 비트스트림에 대해 제 3 움직임 정보를 외삽하기 위해 상기 제 1 움직임 정보를 이용하는 단계로서, 상기 제 2 비트 스트림은 상기 주 이미지의 일부를 나타내는, 상기 제 1 움직임 정보 이용 단계, 및
    상기 제 2 비트스트림을 출력하는 단계를 포함하는 트랜스코딩 방법.
  14. 제 1 항에 있어서, 상기 제 1 및 제 2 움직임 정보를 얻는 단계는,
    검사된 움직임 정보(examined motion information)가 미리 결정된 시간 범위(predetermined temporal range) 내에 있는지를 결정하는 단계와,
    상기 검사된 움직임 정보가 상기 미리 결정된 시간 범위 내에 있는 것으로 결정되면 상기 검사된 움직임 정보를 얻는 단계를 포함하는 트랜스코딩 방법.
  15. 제 1 항에 있어서, 상기 제 1 및 제 2 움직임 정보를 가중하는 단계는
    선택된 움직임 정보에 대해 오버랩 가중치(overlap weight), 시간 가중치(temporal weight), 및 라운딩 가중치(rounding weight) 중 하나 이상을 계산하는 단계와,
    상기 계산된 가중치 중 하나 이상에 기초하여 상기 선택된 움직임 정보에 대해 가중값(weight value)을 유도하는 단계를 포함하는 트랜스코딩 방법.
  16. 입력 코딩 파라미터를 가지는 압축 데이터의 입력 비트스트림을 수신하는 단계,
    상기 입력 비트스트림으로부터 제 1 및 제 2 움직임 벡터를 얻는 단계,
    상기 제 1 및 제 2 움직임 벡터를 가중하는 단계,
    상기 제 1 움직임 벡터가 상기 제 2 움직임 벡터를 능가한다면 압축 이미지 데이터의 출력 비트스트림에 대해 제 3 움직임 벡터를 외삽하기 위해 상기 제 1 움직임 벡터를 이용하는 단계로서, 상기 출력 비트스트림은 상기 입력 비트스트림의 상기 입력 코딩 파라미터와는 다른 출력 코딩 파라미터를 가지는, 상기 제 1 움직임 벡터 이용 단계, 및
    상기 압축 데이터의 출력 비트스트림을 출력하는 단계를 포함하는 트랜스코딩 방법.
  17. 제 16 항에 있어서, 상기 제 1 및 제 2 움직임 벡터를 얻는 단계는
    검사된 움직임 벡터가 미리 결정된 시간 범위 내에 있는지를 결정하는 단계와,
    상기 검사된 움직임 벡터가 상기 미리 결정된 시간 범위 내에 있는 것으로 결정되면 상기 검사된 움직임 벡터를 얻는 단계를 포함하는 트랜스코딩 방법.
  18. 제 16 항에 있어서, 상기 제 1 및 제 2 움직임 벡터를 가중하는 단계는
    선택된 움직임 벡터에 대해 오버랩 가중치, 시간 가중치, 및 라운딩 가중치 중 하나 이상을 계산하는 단계와,
    상기 계산된 가중치 중 하나 이상에 기초하여 상기 선택된 움직임 벡터에 대해 가중값을 유도하는 단계를 포함하는 트랜스코딩 방법.
  19. 제 16 항에 있어서, 상기 제 1 및 제 2 움직임 벡터를 가중하는 단계는
    선택된 움직임 벡터에 대해 오버랩 가중치, 임시 가중치, 및 라운딩 가중치 중 하나 이상을 계산하는 단계와,
    상기 계산된 가중치 중 하나 이상에 기초하여 상기 선택된 움직임 벡터의 x 및 y 성분에 대해 가중값을 유도하는 단계를 포함하는 트랜스코딩 방법.
  20. 제 16 항에 있어서, 상기 입력 코딩 파라미터는 화상 그룹(GOP : Group of Pictures) 구조, 화상 크기, 비트율, 프레임 화상 포맷, 필드 화상 포맷, 순차 시퀀스, 및 인터레이스 된 시퀀스 중 하나 이상인 트랜스코딩 방법.
  21. 제 16 항에 있어서, 상기 출력 코딩 파라미터는 화상 그룹(GOP) 구조, 화상 크기, 비트율, 프레임 화상 포맷, 필드 화상 포맷, 순차 시퀀스, 및 인터레이스 된 시퀀스 중 하나 이상인 트랜스코딩 방법.
  22. 제 16 항에 있어서, 상기 제 1 및 제 2 움직임 벡터는 제 1 및 제 2 움직임 벡터 클러스터(motion vector clusters)인 트랜스코딩 방법.
KR10-2000-7009136A 1998-02-20 1999-02-02 트랜스코딩 방법 KR100515199B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/027,140 US6058143A (en) 1998-02-20 1998-02-20 Motion vector extrapolation for transcoding video sequences
US09/027,140 1998-02-20

Publications (2)

Publication Number Publication Date
KR20010041095A KR20010041095A (ko) 2001-05-15
KR100515199B1 true KR100515199B1 (ko) 2005-09-16

Family

ID=21835928

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-7009136A KR100515199B1 (ko) 1998-02-20 1999-02-02 트랜스코딩 방법

Country Status (10)

Country Link
US (1) US6058143A (ko)
EP (1) EP1057341B1 (ko)
JP (1) JP4514081B2 (ko)
KR (1) KR100515199B1 (ko)
CN (1) CN1245029C (ko)
AU (1) AU2578799A (ko)
BR (1) BR9908063A (ko)
DE (1) DE69908562T2 (ko)
RU (1) RU2251820C2 (ko)
WO (1) WO1999043162A1 (ko)

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6339656B1 (en) * 1997-12-25 2002-01-15 Matsushita Electric Industrial Co., Ltd. Moving picture encoding decoding processing apparatus
JPH11275592A (ja) * 1998-01-22 1999-10-08 Victor Co Of Japan Ltd 動画像符号列変換装置及びその方法
US6466623B1 (en) * 1998-03-27 2002-10-15 Industrial Technology Research Institute Method and apparatus for motion estimation for high performance transcoding
US6477706B1 (en) 1998-05-01 2002-11-05 Cogent Technology, Inc. Cable television system using transcoding method
US6128047A (en) * 1998-05-20 2000-10-03 Sony Corporation Motion estimation process and system using sparse search block-matching and integral projection
GB2339101B (en) * 1998-06-25 2002-09-18 Sony Uk Ltd Processing of compressed video signals using picture motion vectors
KR100686480B1 (ko) * 1998-09-29 2007-02-23 코닌클리케 필립스 일렉트로닉스 엔.브이. 코딩된 비디오 데이터 수정 방법
US6310915B1 (en) * 1998-11-20 2001-10-30 Harmonic Inc. Video transcoder with bitstream look ahead for rate control and statistical multiplexing
US6434197B1 (en) * 1999-01-07 2002-08-13 General Instrument Corporation Multi-functional transcoder for compressed bit streams
JP3855522B2 (ja) * 1999-02-23 2006-12-13 松下電器産業株式会社 動画変換装置
US6567557B1 (en) * 1999-12-10 2003-05-20 Stmicroelectronics, Inc. Method for preventing dual-step half-pixel motion compensation accumulation errors in prediction-rich MPEG-2 sequences
WO2000070879A1 (en) * 1999-05-13 2000-11-23 Stmicroelectronics Asia Pacific Pte Ltd. Adaptive motion estimator
EP1067798A3 (en) * 1999-06-30 2005-11-30 Media Glue Corporation Apparatus, method and computer program product for transcoding a coded moving picture sequence
US6300973B1 (en) * 2000-01-13 2001-10-09 Meir Feder Method and system for multimedia communication control
DE60143927D1 (de) * 2000-03-13 2011-03-10 Sony Corp Verfahren und vorrichtung zur erzeugung von kompakten metadateien für transcodierungshinweise
KR100796177B1 (ko) * 2000-04-18 2008-01-21 코닌클리케 필립스 일렉트로닉스 엔.브이. 공동 비트율 트랜스코딩의 비트율 할당
US7168069B1 (en) * 2000-07-12 2007-01-23 Stmicroelectronics, Inc. Dynamic generation of multimedia code for image processing
US6754270B1 (en) 2000-09-29 2004-06-22 Lucent Technologies, Inc. Encoding high-definition video using overlapping panels
US6407680B1 (en) * 2000-12-22 2002-06-18 Generic Media, Inc. Distributed on-demand media transcoding system and method
US7266148B2 (en) * 2001-01-05 2007-09-04 Lg Electronics Inc. Video transcoding apparatus
EP1231794A1 (en) * 2001-02-09 2002-08-14 STMicroelectronics S.r.l. A process for changing the resolution of MPEG bitstreams, a system and a computer program product therefor
DE10119214A1 (de) * 2001-04-19 2002-10-24 Highlight Comm Ag Pfaeffikon Verfahren zum Komprimieren von Videodaten
US7266150B2 (en) 2001-07-11 2007-09-04 Dolby Laboratories, Inc. Interpolation of video compression frames
KR100440953B1 (ko) * 2001-08-18 2004-07-21 삼성전자주식회사 영상 압축 비트 스트림의 트랜스코딩 방법
US7236529B2 (en) * 2001-10-30 2007-06-26 Industrial Technology Research Institute Methods and systems for video transcoding in DCT domain with low complexity
KR100460950B1 (ko) * 2001-12-18 2004-12-09 삼성전자주식회사 트랜스코더 및 트랜스코딩 방법
US7216295B2 (en) * 2001-12-20 2007-05-08 Canon Kabushiki Kaisha Method of automatic production of image presentations
US7236521B2 (en) * 2002-03-27 2007-06-26 Scientific-Atlanta, Inc. Digital stream transcoder
US7295610B2 (en) * 2002-03-27 2007-11-13 Scientific-Atlanta, Inc. Hybrid rate control in a digital stream transcoder
US7190723B2 (en) * 2002-03-27 2007-03-13 Scientific-Atlanta, Inc. Digital stream transcoder with a hybrid-rate controller
JP4193406B2 (ja) * 2002-04-16 2008-12-10 三菱電機株式会社 映像データ変換装置および映像データ変換方法
US7362374B2 (en) * 2002-08-30 2008-04-22 Altera Corporation Video interlacing using object motion estimation
US7636481B2 (en) * 2002-10-09 2009-12-22 Sony Corporation Image processing apparatus, method, storage medium, and program for compressing an input image using a motion vector that is detected based on stored position information of pixels
JP4003128B2 (ja) * 2002-12-24 2007-11-07 ソニー株式会社 画像データ処理装置および方法、記録媒体、並びにプログラム
EP1455534A1 (en) * 2003-03-03 2004-09-08 Thomson Licensing S.A. Scalable encoding and decoding of interlaced digital video data
US6993073B2 (en) * 2003-03-26 2006-01-31 James Foong Optimization software module and method for video compression under MPEG
US7457438B2 (en) * 2003-12-23 2008-11-25 Genesis Microchip Inc. Robust camera pan vector estimation using iterative center of mass
KR101196429B1 (ko) * 2004-03-12 2012-11-01 삼성전자주식회사 동영상 트랜스코딩 방법 및 그 장치, 이에 사용되는움직임 벡터 보간방법
US7965774B2 (en) * 2006-01-06 2011-06-21 International Business Machines Corporation Method for visual signal extrapolation or interpolation
US7916791B2 (en) * 2006-06-16 2011-03-29 International Business Machines Corporation Method and system for non-linear motion estimation
US8250618B2 (en) 2006-09-18 2012-08-21 Elemental Technologies, Inc. Real-time network adaptive digital video encoding/decoding
FR2908585B1 (fr) * 2006-11-15 2008-12-26 Canon Kk Procede et dispositif de transmission de donnees video.
US8494053B2 (en) * 2007-01-03 2013-07-23 International Business Machines Corporation Method and apparatus of temporal filtering for side information interpolation and extrapolation in Wyner-Ziv video compression systems
US8233527B2 (en) * 2007-05-11 2012-07-31 Advanced Micro Devices, Inc. Software video transcoder with GPU acceleration
US8861591B2 (en) * 2007-05-11 2014-10-14 Advanced Micro Devices, Inc. Software video encoder with GPU acceleration
US8184715B1 (en) 2007-08-09 2012-05-22 Elemental Technologies, Inc. Method for efficiently executing video encoding operations on stream processor architectures
US8121197B2 (en) 2007-11-13 2012-02-21 Elemental Technologies, Inc. Video encoding and decoding using parallel processors
EP2061248A1 (en) * 2007-11-13 2009-05-20 IBBT vzw Motion estimation and compensation process and device
JP4296218B1 (ja) * 2008-02-21 2009-07-15 シャープ株式会社 映像表示装置
KR20120120280A (ko) * 2010-02-09 2012-11-01 니폰덴신뎅와 가부시키가이샤 움직임 벡터 예측 부호화 방법, 움직임 벡터 예측 복호 방법, 동화상 부호화 장치, 동화상 복호 장치 및 그들의 프로그램
ES2901803T3 (es) 2010-02-09 2022-03-23 Nippon Telegraph & Telephone Procedimiento de codificación predictiva para vector de movimiento, procedimiento de decodificación predictiva para vector de movimiento, dispositivo de codificación de imagen, dispositivo de decodificación de imagen, y programas para ello
KR20120112724A (ko) * 2010-02-09 2012-10-11 니폰덴신뎅와 가부시키가이샤 움직임 벡터 예측 부호화 방법, 움직임 벡터 예측 복호 방법, 동화상 부호화 장치, 동화상 복호 장치 및 그들의 프로그램
US9094689B2 (en) * 2011-07-01 2015-07-28 Google Technology Holdings LLC Motion vector prediction design simplification
US9369723B2 (en) 2011-07-14 2016-06-14 Comcast Cable Communications, Llc Preserving image quality in temporally compressed video streams
EA201101158A1 (ru) * 2011-09-01 2012-06-29 Закрытое Акционерное Общество "Импульс" Способ уменьшения шумов в видеоизображении
RU2487489C2 (ru) * 2011-10-18 2013-07-10 Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский университет "МИЭТ" Способ поиска векторов перемещений в динамических изображениях
BR112014010539A2 (pt) 2011-11-04 2017-04-18 Motorola Mobility Llc escalonamento de vetor de movimento para rede de vetor de movimento não uniforme
US8908767B1 (en) * 2012-02-09 2014-12-09 Google Inc. Temporal motion vector prediction
US9172970B1 (en) 2012-05-29 2015-10-27 Google Inc. Inter frame candidate selection for a video encoder
US11317101B2 (en) 2012-06-12 2022-04-26 Google Inc. Inter frame candidate selection for a video encoder
US9503746B2 (en) 2012-10-08 2016-11-22 Google Inc. Determine reference motion vectors
US9485515B2 (en) 2013-08-23 2016-11-01 Google Inc. Video coding using reference motion vectors
US9521176B2 (en) 2014-05-21 2016-12-13 Sony Corporation System, method, and computer program product for media publishing request processing

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3930964A1 (de) * 1989-09-15 1991-03-28 Thomson Brandt Gmbh Fernsehuebertragungssystem
WO1992020189A1 (de) * 1991-04-25 1992-11-12 Deutsche Thomson-Brandt Gmbh Verfahren, coder und decoder zur kompatiblen übertragung und/oder aufzeichnung von progressiv abgetasteten bildsignalen im zwischenzeilen-format
NL9301358A (nl) * 1993-08-04 1995-03-01 Nederland Ptt Transcodeerinrichting.
US5537440A (en) * 1994-01-07 1996-07-16 Motorola, Inc. Efficient transcoding device and method
US5541852A (en) * 1994-04-14 1996-07-30 Motorola, Inc. Device, method and system for variable bit-rate packet video communications
US5512953A (en) * 1994-08-09 1996-04-30 At&T Corp. Method and apparatus for conversion of compressed bit stream representation of video signal
US5708473A (en) * 1994-08-30 1998-01-13 Hughes Aircraft Company Two stage video film compression method and system
JP3293369B2 (ja) * 1994-10-12 2002-06-17 ケイディーディーアイ株式会社 画像情報の再符号化方法及び装置
US5600646A (en) * 1995-01-27 1997-02-04 Videoserver, Inc. Video teleconferencing system with digital transcoding
JPH09512410A (ja) * 1995-02-15 1997-12-09 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ ビデオ信号の符号変換方法および装置
US5530484A (en) * 1995-05-19 1996-06-25 Thomson Multimedia S.A Image scanning format converter suitable for a high definition television system
SE515535C2 (sv) * 1996-10-25 2001-08-27 Ericsson Telefon Ab L M En transkoder

Also Published As

Publication number Publication date
EP1057341B1 (en) 2003-06-04
DE69908562D1 (de) 2003-07-10
WO1999043162A1 (en) 1999-08-26
CN1293872A (zh) 2001-05-02
EP1057341A1 (en) 2000-12-06
AU2578799A (en) 1999-09-06
JP4514081B2 (ja) 2010-07-28
DE69908562T2 (de) 2004-04-29
RU2251820C2 (ru) 2005-05-10
KR20010041095A (ko) 2001-05-15
US6058143A (en) 2000-05-02
JP2002504789A (ja) 2002-02-12
BR9908063A (pt) 2000-10-31
CN1245029C (zh) 2006-03-08

Similar Documents

Publication Publication Date Title
KR100515199B1 (ko) 트랜스코딩 방법
US8036273B2 (en) Method for sub-pixel value interpolation
USRE38563E1 (en) Prediction and coding of bi-directionally predicted video object planes for interlaced digital video
US7349473B2 (en) Method and system for selecting interpolation filter type in video coding
US6542642B2 (en) Image coding process and motion detecting process using bidirectional prediction
US5745183A (en) Image motion estimation system which derives candidate block from interpolated motion vectors
EP1993292B1 (en) Dynamic image encoding method and device and program using the same
KR100246168B1 (ko) 격행비디오를 위한 계층적 움직임 추정
US20150365677A1 (en) Motion picture encoding device and motion picture decoding device
KR19990006678A (ko) 입력 비디오 시퀀스를 스케일링하고 복원하기 위한 방법과 비디오 객체면을 코딩하기 위한 방법 및, 입력 비디오 시퀀스를 복원하기 위한 디코더 장치
US20070092007A1 (en) Methods and systems for video data processing employing frame/field region predictions in motion estimation
KR20020030100A (ko) 화상 부호화 장치 및 화상 부호화 방법
US6539058B1 (en) Methods and apparatus for reducing drift due to averaging in reduced resolution video decoders
US20040066466A1 (en) Progressive conversion of interlaced video based on coded bitstream analysis
JP2004056400A (ja) 動画像符号化方法及び動画像復号方法
JP2001086508A (ja) 動画像復号方法及び動画像復号装置
KR100240620B1 (ko) 양방향의 반화소 움직임 추정을 위한 대칭 탐색 윈도우를 형성하는 방법 및 장치
JP2883592B2 (ja) 動画像復号化装置及び動画像復号化方法
EP0923250A1 (en) Method and apparatus for adaptively encoding a binary shape signal
JP2883585B2 (ja) 動画像符号化装置及び動画像符号化方法
JP2758378B2 (ja) 動画像復号化装置及び動画像復号化方法

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120821

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20130819

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140825

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20150819

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee