KR20060132972A - 컨버터를 이용하는 비디오 인코더 - Google Patents

컨버터를 이용하는 비디오 인코더 Download PDF

Info

Publication number
KR20060132972A
KR20060132972A KR1020067020345A KR20067020345A KR20060132972A KR 20060132972 A KR20060132972 A KR 20060132972A KR 1020067020345 A KR1020067020345 A KR 1020067020345A KR 20067020345 A KR20067020345 A KR 20067020345A KR 20060132972 A KR20060132972 A KR 20060132972A
Authority
KR
South Korea
Prior art keywords
information
video stream
format
output
encoded
Prior art date
Application number
KR1020067020345A
Other languages
English (en)
Other versions
KR100797215B1 (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 KR20060132972A publication Critical patent/KR20060132972A/ko
Application granted granted Critical
Publication of KR100797215B1 publication Critical patent/KR100797215B1/ko

Links

Images

Classifications

    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

시스템이 디코더, 인코더, 및 기억 디바이스를 포함할 수 있다. 디코더는 제1 포맷을 갖는 인코딩된 비디오 정보를 중간 비디오 정보로 디코딩할 수 있다. 디코더는 또한 상기 인코딩된 비디오 정보로부터 모션 벡터들을 추출할 수 있다. 인코더는 상기 중간 비디오 정보를 제2 포맷을 갖는 출력 비디오 정보로 인코딩할 수 있다. 인코더는 또한 상기 인코딩된 비디오 정보로부터 추출된 모션 벡터들을 이용하여 그것의 인코딩을 수행할 수 있다. 기억 디바이스는 상기 인코더로부터의 상기 출력 비디오 정보를 저장할 수 있다.
디코더, 인코더, 기억 디바이스, 중간 비디오 정보, 모션 벡터, 컨버터

Description

컨버터를 이용하는 비디오 인코더{CONVERTER-ASSISTED VIDEO ENCODER}
청구 발명의 실시예들은 미디어 인코딩에 관한 것으로, 특히, 수신된 비디오 정보를 인코딩하는 것에 관한 것이다.
비디오 정보를 인코딩하는 몇 가지 이유가 존재할 수 있다. 몇몇 경우에, 저장 및/또는 표시를 위하여 비디오 정보를 하나의 포맷에서 또 다른 포맷으로 트랜스코딩(transcode) 또는 재인코딩(re-encode)하기를 원할 수 있다. 그러한 트랜스코딩 또는 재인코딩은 비디오 정보를 제1 포맷에서 이 제1 포맷과는 여러 가지 점에서 다른 제2 포맷으로 직접 변환하는 것을 수반할 수 있다. 다르게는, 그것은 제1 포맷을 제3의 중간 포맷으로 디코딩한 다음 이 제3의 포맷을 제2 포맷으로 인코딩하는 것을 수반할 수 있다. 다른 경우에, 나중에 이용할 비디오 정보를 소정의 품질 레벨로 저장하기를 원할 수 있다. 비디오 정보를 인코딩하기를 원하는 여기서 구체적으로 언급되지 않은 다른 이유들이 존재할 수 있다.
그러나, 비디오 정보를 고품질 레벨로 인코딩하는 것은, 비교적 대량의 프로세싱 능력을 필요로 할 수 있다. 또한, 기술적 장애가 소정의 비디오 정보의 인코딩을 방해할 수 있다.
이 명세서에 통합되어 그 일부를 구성하는 첨부 도면들은 본 발명의 원리들과 일치(consistent)하는 하나 이상의 실시예들을 예시하고, 발명의 상세한 설명과 더불어, 그러한 실시예들을 설명한다. 이 도면들은 반드시 일정한 비율로 되어 있을 필요는 없고, 그보다는 본 발명의 원리들을 예시하는 데 비중을 둔다.
도 1은 본 발명의 원리들과 일치하는 시스템 예를 예시한다.
도 2는 도 1의 시스템의 일부분의 일 실시예를 예시한다.
도 3은 본 발명의 원리들과 일치하는 비디오 정보를 인코딩하는 프로세스를 예시하는 흐름도이다.
이하의 상세한 설명은 첨부 도면들을 참조한다. 동일 또는 유사한 구성 요소들을 식별하기 위해 서로 다른 도면들에서 동일한 참조 번호들이 이용될 수 있다. 이하의 설명에서는, 한정이 아닌 설명의 목적으로, 본 발명의 여러 가지 양태들에 대한 철저한 이해를 제공하기 위하여, 특정 구조, 아키텍처, 인터페이스, 기법 등과 같은 특정한 상세들이 제시된다. 그러나, 본 개시 내용을 읽어본 숙련된 당업자라면 본 발명의 여러 가지 양태들이 이 특정한 상세들에서 벗어난 다른 예들에서 실시될 수도 있다는 것을 분명히 알 것이다. 어떤 경우에, 잘 알려진 디바이스, 회로 및 방법에 대해서는, 불필요한 상세로 본 발명에 대한 설명을 모호하게 하지 않기 위해, 그 설명이 생략된다.
도 1은 본 발명의 원리들과 일치하는 시스템(100)의 예를 예시한다. 시스템(100)의 실시예들은 퍼스널 비디오 리코더(PVRs : personal video recorders) 또는 디지털 다용도 디스크 리코더(DVD-Rs : digital versatile disc recorders)를 포함할 수 있다. 그러나, 청구 발명이 이와 관련하여 한정되는 것은 아니다. 예를 들면, 시스템(100)은 범용 컴퓨터, 포터블 디바이스, 또는 다른 전기적 시스템 내에서 구현될 수 있다. 시스템(100)은 단일 디바이스 내에 구현될 수 있지만, 일부 실시예에서는 시스템(100)의 어떤 컴포넌트들이 시스템(100)의 다른 컴포넌트들로부터 멀리 떨어져 있거나 및/또는 물리적으로 분리될 수도 있다. 또한, 시스템(100)은 이산(discrete) 컴포넌트들을 포함하는 것으로 예시되어 있지만, 이들 컴포넌트들은 하드웨어나, 소프트웨어/펌웨어나, 또는 그들의 어떤 조합으로 구현될 수도 있다. 하드웨어로 구현되는 경우, 시스템(100)의 몇몇 컴포넌트들은 소정의 칩 또는 디바이스에서 결합될 수 있다.
시스템(100)은 미디어 소스(110), 컨버터(120), 인코더(140), 선택적인 기억/출력 장치(150), 및 기억 장치(160)를 포함할 수 있다. 컨버터(120)는 중간 미디어 정보(132)를 인코더(140)에 및 선택적인 기억/출력 장치(150)(만일 있다면)에 송신할 수 있다. 컨버터(120)는 또한 다른 정보(134)를 인코더(140)에 송신할 수 있고, 일부 실시예에서 다른 정보(134)는 중간 미디어 정보(132)에 관한 메타(meta)-정보를 포함할 수 있다.
미디어 소스(110)는 시스템(100)의 나머지 것들에 미디어 정보를 제공하는 디바이스를 포함할 수 있다. 미디어 소스(110)에 제공되는 미디어 정보는 MPEG-1, MPEG-2, MPEG-4, H.264, 윈도 미디어 비디오 버전 9(WMV9) 및 AVS(Advanced Video System) 포맷들과 같은 포맷으로 인코딩된 비디오 정보를 포함할 수 있다. 청구 발명은 여기에서 구체적으로 언급된 포맷들에 한정되지 않고, 여기에서 교시된 방식들에 따라서 임의의 현재 알려진 또는 나중에 개발되는 미디어 포맷들이 이용될 수 있다. 일부 실시예에서, 미디어 소스(110)에 의해 제공되는 미디어 정보는 모션 벡터(motion vectors)를 포함할 수 있다.
일부 실시예에서, 미디어 소스(110)는 비디오 정보(예컨대, 고해상(HD) MPEG-2 정보)의 스트림 또는 채널을 미디어 정보의 다른 스트림 또는 채널로부터 분리시키는 튜너를 포함할 수 있다. 일부 실시예에서, 미디어 소스(110)는 기억 매체로부터 미디어 정보를 판독하는 판독기(reader)를 포함할 수 있다. 예를 들면, 그러한 판독기는 DVD, 하드 디스크, 반도체 기억 장치, 또는 다른 기억 매체로부터 비디오 정보를 추출하는 광학적, 자기적, 및/또는 전기적 판독기를 포함할 수 있다.
컨버터(120)는 미디오 소스(110)로부터의 비디오 정보를 중간 미디어 정보(132) 및 다른 정보(134)로 변환할 수 있다. 일부 실시예에서, 컨버터(120)는 미디어 소스(110)로부터의 비디오 정보로부터, 그 비디오 정보가 중간 미디어 정보(132)로 변환되기 전에, 다른 정보(134)를 추출할 수 있다. 일부 실시예에서, 컨버터(120)는 비디오 정보를 중간 미디어 정보(132)로 디코딩(예컨대, 그것의 인코딩을 실질적으로 리버스(reverse))할 수 있다. 일부 실시예에서, 컨버터(120)는 비디오 정보를 중간 미디어 정보(132)로 변환(예컨대, 그것의 인코딩을 리버스하지 않고 변경(modify))할 수 있다. 컨버터(120)의 하나의 가능한 실시예가 도 2에 예시되어 있다.
도 2는 시스템(100)의 일부분의 일 실시예를 예시한다. 도 2의 컨버터(120)는 디코더(210), 프레임 스토어(220), 및 디지털 대 아날로그(D/A) 컨버터(230)를 포함할 수 있다. 디코더(210)는 입력된 데이터 스트림으로부터의 비디오 정보를 디코딩하여 압축복원된 픽셀들의 비디오 스트림(decompressed video stream of pixels)을 D/A 컨버터(230)에 출력할 수 있다. 순전히 설명을 목적으로, 디코더(210)는, 예를 들면, MPEG-2 포맷으로 인코딩된 HD 정보를, NTSC(National Television System Committee) 표준, PAL(Phase Alternating Line) 표준, 또는 보다 고해상도의 비디오 포맷과 같은, 다른 포맷의 디지털 버전으로 디코딩할 수 있지만, 청구 발명은 이와 관련하여 제한되지 않는다.
디코더(210)는 또한 그것의 입력 비디오 정보로부터 다른 정보(134)를 추출할 수도 있다. 그러한 다른 정보(134)는 비디오 정보 내의 매크로블록들의 변위(displacements)를 기술하는 모션 벡터를 포함할 수 있다. 그러한 모션 벡터들은 비디오 정보의 최초의 인코더에 의해 발생될 수도 있고, 디코더(210)에 의해 그 정보로부터 추출될 수도 있다. 디코더(210)는 또한 양자화 데이터(예컨대, 이산 코사인 변환(DCT) 계수들을 표현하는 데 필요한 비트 수를 줄이기 위해 그 계수들의 가변 균일 양자화(variable uniform quantizatin)에서 사용되는 것) 및 픽처 데이터(picture data)(예컨대, 소정의 프레임이 I(intracoded) 픽처를 포함하는지, P(predicted) 픽처를 포함하는지, 또는 B(bi-directionally predicted) 픽처를 포함하는지)를 추출할 수도 있다. 일부 실시예에서, 디코더(210)는, 나중에 비디오 정보를 인코딩하기 위해 재사용될 수 있는 정보에 초점을 맞추는 대신, 다른 정보(134) 내에 소정의 정보(예컨대, 브로드캐스트 플래그 또는 다른 권리 관리(rights management) 정보)를 포함하지 않을 수 있다.
디코더(210)는 그것의 디코딩 또는 다른 프로세싱 중에 필요에 따라 정보를 버퍼링하기 위해 프레임 스토어(220)를 이용할 수 있다. D/A 컨버터(230)는 디코더(210)로부터 압축복원된 픽셀들의 비디오 스트림을 수신할 수 있고, 그 스트림을 아날로그 신호(예컨대, 중간 미디어 정보(132))로 변환할 수 있다. D/A 변환의 성질 때문에, D/A 컨버터(230)는 디코더(210)로부터 수신된 압축복원된 픽셀들의 비디오 스트림에 대하여 아날로그 중간 미디어 정보(132) 내에 일부 에러를 도입할 수 있다.
도 2의 다른 정보(134)는 모션 벡터, 양자화 데이터, 및 픽처 데이터를 포함할 수 있지만, 그러한 데이터는 기술된 예시적인 포맷(예컨대, MPEG-2)의 특징을 나타낼 수 있고, 청구 발명을 제한하는 것으로 해석되어서는 안 된다. 비디오 정보의 다른 포맷들은, 모션 벡터, 양자화 데이터, 및 픽처 데이터 대신에, 또는 그에 더하여, 디코더(210)가 추출할 수 있고 다른 정보(134) 내에 포함시킬 수 있는 정보를 포함할 수 있다. 유사하게, 도 2에서는 중간 미디어 정보(132)가 아날로그 비디오를 포함할 수 있지만, 다른 실시예들에서, 도 2의 컨버터(120)는 디코더(210)와 D/A 컨버터(230) 중 하나 이상을 포함하지 않을 수 있다. 따라서, 일부 실시예에서, 중간 미디어 정보(132)는 아날로그 비디오를 포함하지 않을 수 있다.
도 1로 되돌아가서, 인코더(140)는 다른 정보(134)를 이용하여 출력 비디오 정보를 발생시킴으로써 중간 미디어 정보(132)를 인코딩할 수 있다. 일부 실시예에서, 인코더(140)는, 출력 비디오 정보의 품질을 의도적으로 변경하거나 변경하지 않고, 중간 미디어 정보(132)를 미디오 소스(110)로부터의 최초의 비디오 정보와 동일한 포맷으로 인코딩(예컨대, 재인코딩(re-encoding))할 수 있다. 일부 실시예에서, 인코더(140)는, 출력 비디오 정보의 품질을 의도적으로 변경하거나 변경하지 않고, 중간 미디어 정보(132)를 미디오 소스(110)로부터의 최초의 비디오 정보와 상이한 포맷으로 인코딩(예컨대, 트랜스코딩(transcoding))할 수 있다. 인코더(140)의 하나의 가능한 실시예가 도 2에 예시되어 있다.
도 2에서, 인코더(140)는 아날로그 대 디지털(A/D) 컨버터(240), 프레임 제어 블록(250), 압축 블록(260), 레이트 제어 블록(270), 및 프레임 스토어(280)를 포함할 수 있다. 순전히 설명을 목적으로, 도 2의 인코더(140)는, 예를 들면, MPEG-2 포맷으로 HD 정보를 인코딩할 수 있지만, 청구 발명은 이와 관련하여 제한되지 않는다.
A/D 컨버터(240)는 아날로그 중간 미디어 정보(132)를 대응하는 디지털 픽셀들의 스트림으로 변환할 수 있다. 그러나, A/D 컨버터(240)는, 변환 시에 일부 양자화 에러를 도입할 수 있다. 따라서, A/D 컨버터(240)를 떠나는 디지털 픽셀들의 스트림은 이중 변환으로 인해 D/A 컨버터(230)에 들어가는 디지털 픽셀들과 다를 수 있다. 그러나, A/D 컨버터(240)로부터의 디지털 픽셀들은 디코더(210)로부터의 모션 벡터, 양자화 데이터 및 픽처 데이터(예컨대, 다른 정보(234))의 재사용을 허용할 만큼 충분히 유사할 수 있다.
프레임 제어 블록(250)은 A/D 컨버터(240)로부터의 디지털 픽셀 스트림의 캡처를 제어할 수 있고 그 데이터를 압축 블록(260)에 송신할 수 있다. 프레임 제어 블록(250)은 그것의 프로세싱 중에 필요에 따라 정보를 버퍼링하기 위해 프레임 스토어(280)를 이용할 수 있다. 압축 블록(260)에 입력되는 데이터는 디코딩된 후에 모션 벡터들에 의해 지시된 픽셀 블록들(blocks of pixels)은 물론, 그 픽셀 블록과 관련된 에러 데이터일 수 있다. 그러나, 일부 실시예에서, 그 관련 에러 데이터는 디코더(210)에 의해 추출된 다른 정보(134)에 포함될 수 있다.
레이트 제어 블록(270)은 디코더(210)로부터 다른 정보(134) 내의 양자화 데이터 및 픽처 데이터를 수신할 수 있다. 만일, 예를 들어, 픽처 데이터가 특정 프레임이 I 프레임이거나 또는 특정 프레임이 프레임 내(intra-frame) 블록으로서 코딩되어 있음을 나타낸다면, 픽셀들의 블록은 프레임 제어 블록(250)으로부터 압축 블록(260)으로 직접 입력될 수 있다. 압축 블록(260)은 수신된 픽처 정보를, MPEG-2 인코딩된 데이터의 경우 DCT, 양자화, 및 가변 길이 코딩(VLC : variable length coding) 연산들과 같은, 소정의 방식을 거쳐, 압축/인코딩하도록 구성될 수 있다.
인코더(140)의 프레임 스토어(280) 내의 디지털 픽셀들은 컨버터(120)의 프레임 스토어(220) 내의 대응하는 픽셀들과 상이할 수 있기 때문에, 에러 데이터도 상이할 수 있다. 에러 데이터의 이러한 차이는 결국 압축 블록(260)에 의해 출력되는 압축된 스트림에 대해 상이한 데이터 레이트로 나타날 수 있다. 레이트 제어 블록(270)은 비트 레이트를 목표 비트 레이트로 끌어내릴 필요가 있을 때 양자화 파라미터들을 증가시키도록 설계될 수 있다. 유사하게, 레이트 제어 블록(270)은, 필요하다면, 양자화 파라미터들을 변경하여, 압축 블록(260)의 출력 비트 레이트를 증가시킬 수도 있다. 그렇지 않으면, 레이트 제어 블록(270)은 다른 정보(134) 내의 양자화 데이터에서 디코더(210)에 의해 그것에게 주어진 클루들(clues)을 따를 것이다.
프레임 제어 블록(250)이 최초의 비디오 스트림으로부터 추출된 모션 벡터들을 재사용하는 것은 압축 블록(260)이 모션 추정 프로세싱을 제거할 수 있게 하여, 다수의 계산을 덜어준다. 일부 실시예에서, 압축 블록(260)은 A/D 컨버터(240)가 픽셀들을 재차 디지털화함으로써 도입되는 에러들을 보상하기 위해 비교적 단순한 국부적인 모션 검색(localized motion search)을 수행할 수 있다. 예를 들면, 전형적인 비디오 압축에서 블록 매칭은 꽤 큰 영역에 걸친 검색을 수반한다. 전형적으로, 100×70 픽셀 검색창이 사용될 수 있고, 서브픽셀 레벨에서 매칭이 행해져서, 초당 수십억의 연산을 필요로 한다. 디코더(210)로부터의 다른 정보(134) 내의 모션 벡터들을 재사용하는 것은 프레임 제어 블록(250)이 D/A 및 A/D 변환에서 도입된 에러들을 보상하기 위해 훨씬 작은, 아마도 ±2 픽셀만큼 작은 검색창을 사용하는 것을 가능하게 할 수 있다.
레이트 제어 블록(270)의 연산은 또한 최초의 스트림으로부터 추출되는 다른 정보(134) 내의 양자화 데이터 및 픽처 데이터의 재사용에 의해 현저히 감소될 수 있다. 압축 블록(260)에 의해 발생된 출력 비디오 정보의 스트림이 디코더(210)에 입력된 최초의 스트림과 일치하지 않을 수 있을지라도, 사용자는 출력 비디오 정보가 재생될 때 실질적으로 동일한 비디오 품질을 경험할 수 있다. 본 명세서에서 기술된 방식들은 다른 방법으로 가능한 것보다 덜 복잡하고 보다 적은 계산 능력을 필요로 하는 인코더(140)의 설계를 가능케 한다.
도 2의 인코더(140)는 소정의 컴포넌트들을 포함할 수 있지만, 그런 것들은 설명된 예시적인 인코딩 포맷(예컨대, MPEG-2)의 특징을 나타낼 수 있고, 청구 발명을 제한하는 것으로 해석되어서는 안 된다. 수신된 중간 미디어 정보(132)를 위한 다른 인코딩 포맷들은 도 2에 예시된 엘리먼트들(240-280)에 대해 부가적인 또는 대안적인 컴포넌트들을 포함할 수 있다.
도 1로 되돌아가서, 선택적인 기억/출력 장치(150)는 중간 미디어 정보(132)를 저장 또는 출력하도록 구성될 수 있다. 일부 실시예에서, 기억/출력 장치(150)는 다른 시스템 또는 시스템(100)의 다른 컴포넌트(도시되지 않음)에게 중간 미디어 정보(132)에의 액세스를 제공하는 출력 인터페이스를 포함할 수 있다. 그러한 물리적 출력 인터페이스는 광학적, 전기적 등일 수 있고, 비디오 정보용의 하나 이상의 기존의 인터페이스 사양을 준수할 수 있다.
일부 실시예에서, 기억/출력 장치(150)는 중간 미디어 정보(132)를 저장하기 위한 기억 장치를 포함할 수 있다. 예를 들면, 기억/출력 장치(150)는 정보(132)를 저장하기 위한 하드 디스크 또는 플래시 메모리를 포함할 수 있다. 일부 실시예에서, 기억/출력 장치(150)는 중간 미디어 정보(132)를 휴대 가능한 기억 매체에 전송하기 위한 기입 가능한 광 드라이브(예컨대, DVD-RW 등)를 포함할 수 있다. 일부 실시예에서, 선택적인 기억/출력 장치(150)는 존재하지 않을 수 있고, 중간 미디어 정보(132)는 인코더(140)에 의해서만 사용될 수 있다.
기억 장치(160)는 인코더(140)에 의해 출력된 인코딩된 비디오 정보를 저장하기 위한 기억 장치를 포함할 수 있다. 프로세서(도시되지 않음)는 나중에 재생을 위하여 또는 어떤 다른 목적으로 기억 장치(160) 내의 인코딩된 비디오 정보에 액세스할 수 있다. 일부 실시예에서, 기억 장치(160)는 인코딩된 비디오 정보를 저장하기 위한 하드 디스크 또는 플래시 메모리를 포함할 수 있다.
일부 실시예에서, 기억 장치(160)는 인코딩된 비디오 정보를 광 기억 매체에 전송하기 위한 기입 가능한 광 드라이브(예컨대, DVD-RW 등)를 포함할 수 있다. 기억 장치(160)에 대하여 몇몇 예시적인 실시예가 논의되었지만, 청구 발명은 명시적으로 언급된 것들에 제한되지 않고, 대신에 인코더(140)로부터의 인코딩된 비디오 정보를 저장할 수 있는 임의의 디바이스를 포함한다.
도 3은 본 발명의 원리들과 일치하는 비디오 정보를 인코딩하는 프로세스(300)를 예시하는 흐름도이다. 설명의 편의를 위하여 프로세스(300)는 시스템(100)과 관련하여 설명될 수 있지만, 청구 발명은 이에 관련하여 제한되지 않는다. 프로세싱은 컨버터(120)가 미디어 소스(110)로부터 수신하는 인코딩된 비디오 정보로부터 다른 정보를 추출하는 것으로 시작할 수 있다[액트 310]. 다른 정보(134)는, 예를 들면, 모션 벡터를 포함할 수 있고 및/또는 다른 정보는 생성하기에 계산상 집약적(computationally intensive to generate)일 수 있다. 일부 실시예에서, 다른 정보(134)는 또한 양자화 데이터, 에러 데이터, 및/또는 픽처 데이터와 같은, 더 추출된 정보를 포함할 수 있다.
프로세싱은 컨버터(120)가 인코딩된 비디오 정보를 중간 미디어 정보(132)용의 중간 포맷으로 변환하는 것으로 계속될 수 있다[액트 320]. 일부 실시예에서, 중간 포맷은 도 2에서와 같이 아날로그 픽셀 데이터를 포함할 수 있다. 그러한 실시예에서, 컨버터(120)는 디코더(예컨대, 디코더(210))로서 기능할 수 있다. 일부 실시예에서, 중간 포맷은 픽셀 데이터와 동일하게 대응하지 않는 인코딩된 포맷 또는 디지털 픽셀 데이터를 포함할 수 있다. 그러한 실시예에서, 컨버터(120)는 인코딩된 비디오 정보를 단지 디코딩하는 것 이외에 어떤 다른 변환을 수행하는 부분 디코더, 트랜스코더 등으로 기능할 수 있다. 그러한 포맷들을 핸들링하는 인코더(140)의 설계 및 능력에 따라서, 각종 중간 포맷들이 가능하고 구상된다.
인코더(140)는 컨버터(120)에 의해 추출된 다른 정보(134)를 이용하여 중간 미디어 정보(132)를 인코딩할 수 있다[액트 330]. 일부 실시예에서(예컨대, 도 2에서), 인코더(140)는 중간 미디어 정보(132)를 컨버터(120)에 의해 수신된 인코딩된 비디오 정보의 최초 포맷으로 재인코딩할 수 있다. 일부 실시예에서, 인코더(140)는 중간 미디어 정보(132)를 컨버터(120)에 의해 수신된 인코딩된 비디오 정보의 것과는 상이한 포맷으로 인코딩할 수 있다. 한 예로서, 인코더(140)는 최초에는 MPEG-2 포맷으로 되어 있던 중간 미디어 정보(132)를 H.264 포맷으로 인코딩할 수 있다. 다른 트랜스코딩들이 가능하고 본 발명의 원리들과 일치한다.
일부 실시예에서, 인코더(140)는 중간 미디어 정보(132)를 인코딩하는 것을 돕기 위해 다른 정보(134)로부터의 모션 벡터들을 이용할 수 있다. 인코더(140)는 또한, 중간 미디어 정보(132)를 인코딩하는 것을 돕기 위해, 이용 가능하다면, 다른 정보(134) 내의 양자화 데이터, 픽처 데이터, 및/또는 에러 데이터 중 하나 이상을 이용할 수 있다. 일부 실시예에서, 인코더(140)는 중간 미디어 정보(132)를 인코딩하는 것을 돕기 위해 모션 벡터들에 더하여 또는 그 대신에 재생성하기에 계산상 비용이 들고(computationally expensive to generate) 컨버터(120)에 의해 추출될 수 있는 임의의 다른 정보를 이용할 수 있다.
프로세싱은 기억 장치(160)가 인코더(140)에 의해 출력된 인코딩된 비디오 정보를 저장하는 것으로 계속된다[액트 340]. 그러한 저장은 그러한 인코딩된 비디오 정보를 저장할 수 있는 자기적, 반도체, 광학적, 또는 임의의 다른 적당한 매체 또는 디바이스 상에서 일어날 수 있다. 일부 실시예에서, 액트 340은, 부가적으로 또는 대안적으로, 시스템(100)의 다른 부분(도시되지 않음) 또는 다른 시스템에 의해 이용(예컨대, 재생, 전송)하기 위해 인코더(140)로부터 인코딩된 비디오 정보를 출력하는 것을 포함할 수 있다. 도 3에 명시적으로 도시되어 있지는 않지만, 액트 340은 또한, 또는 대안적으로, 기억/출력 장치(150)에 의한 중간 미디어 정보의 저장 또는 출력을 포함할 수 있다. 본 명세서에서 기술된 방식들은, 일부 실시예에서, 입력된 비디오 정보를 재압축하거나 재인코딩하기 위해 컨버터(120)로부터의 디지털 클루들 및 아날로그 픽셀들의 조합을 이용할 수 있다.
본 발명의 원리들과 일치하는 하나 이상의 실시예들에 대한 전술한 설명은 예시 및 설명을 제공하지만, 총망라(exhaustive)하거나 또는 발명의 범위를 개시된 바로 그 형태로 제한하려고 의도하는 것은 아니다. 상기 교시 내용에 비추어 변형들 및 변경들이 가능하고 발명의 다양한 실시예들의 실시로부터 획득될 수 있다.
예를 들면, 컨버터(120)에 입력된 미디어 데이터 내의 임의의 오디오 정보가 아날로그로 변환되고 인코더(140)에 의한 재압축을 위해 다시 디지털로 변환될 수 있다. 그 이유는 요구되는 계산 에너지가 비교적 극미하기 때문이다. 또한, 도 1에서는 직접 접속된 것으로 도시되어 있지만, 중간 미디어(132) 및 다른 정보(134) 중 하나 이상이 유선 또는 무선 통신 링크를 통하여 컨버터(120)로부터 인코더(140)로 전송될 수 있다.
더욱이, 도 3의 액트들은 도시된 순서로 실시될 필요는 없고; 그 액트들 전부가 반드시 수행될 필요도 없다. 또한, 다른 액트들에 의존하지 않는 액트들은 다른 액트들과 병행하여 수행될 수 있다. 또한, 이 도면 내의 액트들 중 적어도 일부가 명령들, 또는 명령 그룹들로 실시될 수 있고, 머신 판독 가능한 매체로 실시될 수도 있다.
본원의 설명에서 사용된 어떠한 엘리먼트, 액트, 또는 명령도 명시적으로 그렇게 기술되지 않는 한 본 발명에 중대하거나 필수 불가결한 것으로 해석되어서는 안 된다. 또한, 본 명세서에서 사용된 관사 "a"는 하나 이상의 아이템을 포함하는 것으로 의도한다. 하나의 아이템만 의도되는 경우에는, "one" 또는 유사한 언어가 사용된다. 본 발명의 사상 및 원리를 실질적으로 벗어나지 않고 위에 설명된 실시예(들)에 대해 변형 및 변경이 행해질 수 있다. 그러한 모든 변형 및 변경은 이 명세서의 범위 내에 포함되고 이하의 청구항들에 의해 보호되는 것으로 의도한다.

Claims (27)

  1. 제1 포맷을 갖는 인코딩된 비디오 정보를 중간 비디오 정보로 디코딩하고 상기 인코딩된 비디오 정보로부터 모션 벡터들을 추출하는 디코더와;
    상기 인코딩된 비디오 정보로부터 추출된 모션 벡터들을 이용하여 상기 중간 비디오 정보를 제2 포맷을 갖는 출력 비디오 정보로 인코딩하는 인코더와;
    상기 인코더로부터의 상기 출력 비디오 정보를 저장하는 디바이스
    를 포함하는 시스템.
  2. 제1항에 있어서, 상기 제1 포맷 및 상기 제2 포맷은 공통 포맷을 갖는 시스템.
  3. 제2항에 있어서, 상기 공통 포맷은 MPEG-1, MPEG-2, MPEG-4, H.264, 윈도 미디어 비디오 버전 9(WMV9) 또는 AVS(Advanced Video System)를 포함하는 시스템.
  4. 제1항에 있어서, 상기 제1 포맷은 MPEG-2를 포함하고,
    상기 제2 포맷은 H.264를 포함하는 시스템.
  5. 제1항에 있어서, 상기 디코더는 상기 인코딩된 비디오 정보로부터 양자화 데이터, 픽처(picture) 데이터, 또는 에러 데이터를 추출하도록 구성된 시스템.
  6. 제1항에 있어서, 상기 인코더는 디지털 대 아날로그 컨버터를 포함하고,
    상기 중간 비디오 정보는 아날로그 픽셀 정보를 포함하는 시스템.
  7. 제1항에 있어서, 상기 중간 비디오 정보는 디지털 픽셀 정보를 포함하는 시스템.
  8. 제1항에 있어서,
    상기 중간 비디오 정보를 출력하는 출력 포트를 더 포함하는 시스템.
  9. 인코딩된 비디오 스트림으로부터 모션 정보를 추출하는 단계와;
    상기 인코딩된 비디오 스트림을 중간 비디오 스트림으로 변환하는 단계와;
    상기 인코딩된 비디오 스트림으로부터 추출된 모션 정보를 이용하여 상기 중간 비디오 스트림을 출력 비디오 스트림으로 인코딩하는 단계
    를 포함하는 방법.
  10. 제9항에 있어서, 상기 추출하는 단계는, 상기 인코딩된 비디오 스트림으로부터 양자화 데이터 또는 픽처 데이터를 획득하는 단계를 포함하고,
    상기 인코딩하는 단계는, 상기 인코딩된 비디오 스트림으로부터 획득된 상기 모션 정보 및 상기 양자화 데이터 또는 상기 픽처 데이터를 이용하여 상기 중간 비 디오 스트림을 인코딩하는 단계를 포함하는 방법.
  11. 제9항에 있어서, 상기 변환하는 단계는, 상기 인코딩된 비디오 스트림을 디코딩하여 비압축된 픽셀 데이터의 스트림을 생성하는 단계를 포함하는 방법.
  12. 제11항에 있어서, 상기 변환하는 단계는, 상기 비압축된 픽셀 데이터의 스트림을 아날로그 형태로부터 변환하여 상기 중간 비디오 스트림을 생성하는 단계를 더 포함하는 방법.
  13. 제9항에 있어서, 상기 인코딩된 비디오 스트림 및 상기 출력 비디오 스트림은 공통 인코딩 포맷을 공유하는 방법.
  14. 제9항에 있어서, 상기 인코딩된 비디오 스트림 및 상기 출력 비디오 스트림은 상이한 인코딩 포맷들을 갖는 방법.
  15. 제9항에 있어서,
    상기 출력 비디오 스트림을 저장하는 단계를 더 포함하는 방법.
  16. 제9항에 있어서,
    상기 중간 비디오 스트림을 저장하는 단계를 더 포함하는 방법.
  17. 입력 미디어 정보를 중간 포맷을 갖는 중간 미디어 정보로 변환하고 상기 입력 미디어 정보로부터 다른 정보를 추출하는 컨버터와;
    상기 입력 미디어 정보로부터 추출된 상기 다른 정보를 이용하여 상기 중간 미디어 정보를 출력 포맷을 갖는 출력 미디어 정보로 인코딩하는 인코더
    를 포함하는 장치.
  18. 제17항에 있어서, 상기 입력 미디어 정보는 상기 출력 포맷으로 인코딩되어 있는 장치.
  19. 제17항에 있어서, 상기 입력 미디어 정보는 상기 출력 포맷과 상이한 입력 포맷으로 인코딩되어 있는 장치.
  20. 제17항에 있어서, 상기 중간 미디어 정보는 아날로그 데이터를 포함하는 장치.
  21. 제17항에 있어서, 상기 입력 미디어 정보는 인코딩되어 있고,
    상기 컨버터는 상기 인코딩된 입력 미디어 정보를 디코딩하여 상기 중간 미디어 정보를 생성하는 디코더를 포함하는 장치.
  22. 제17항에 있어서, 상기 다른 정보는 모션 벡터들을 포함하는 장치.
  23. 제17항에 있어서,
    상기 인코더로부터의 상기 출력 미디어 정보를 저장하는 기억 디바이스를 더 포함하는 장치.
  24. 인코딩된 비디오 스트림으로부터 적어도 모션 백터들을 획득하는 단계와;
    상기 인코딩된 비디오 스트림을 디코딩하여 아날로그 비디오 스트림을 생성하는 단계와;
    상기 인코딩된 비디오 스트림으로부터 획득된 상기 모션 벡터들을 이용하여 상기 아날로그 비디오 스트림을 인코딩하여 출력 비디오 스트림을 생성하는 단계
    를 포함하는 방법.
  25. 제24항에 있어서, 상기 획득하는 단계는 상기 인코딩된 비디오 스트림으로부터 양자화 데이터 및 픽처 데이터를 획득하는 단계를 더 포함하는 방법.
  26. 제25항에 있어서,
    상기 양자화 데이터 및 상기 픽처 데이터를 이용하여 상기 인코딩의 레이트를 제어하는 단계를 더 포함하는 방법.
  27. 제24항에 있어서,
    상기 출력 비디오 스트림을 저장하는 단계를 더 포함하는 방법.
KR1020067020345A 2004-03-31 2005-03-31 컨버터를 이용하는 비디오 인코더 KR100797215B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/816,031 US20050229231A1 (en) 2004-03-31 2004-03-31 Converter-assisted video encoder
US10/816,031 2004-03-31

Publications (2)

Publication Number Publication Date
KR20060132972A true KR20060132972A (ko) 2006-12-22
KR100797215B1 KR100797215B1 (ko) 2008-01-23

Family

ID=34964780

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067020345A KR100797215B1 (ko) 2004-03-31 2005-03-31 컨버터를 이용하는 비디오 인코더

Country Status (7)

Country Link
US (1) US20050229231A1 (ko)
EP (1) EP1730966A1 (ko)
JP (1) JP2007531477A (ko)
KR (1) KR100797215B1 (ko)
CN (1) CN1934869A (ko)
TW (1) TWI259724B (ko)
WO (1) WO2005099272A1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101147744B1 (ko) * 2005-02-22 2012-05-25 엘지전자 주식회사 비디오 트랜스 코딩 방법 및 장치와 이를 이용한 pvr
US9648281B2 (en) 2005-05-23 2017-05-09 Open Text Sa Ulc System and method for movie segment bookmarking and sharing
US8141111B2 (en) 2005-05-23 2012-03-20 Open Text S.A. Movie advertising playback techniques
US8145528B2 (en) 2005-05-23 2012-03-27 Open Text S.A. Movie advertising placement optimization based on behavior and content analysis
EP2309738A1 (en) 2005-05-23 2011-04-13 Thomas S. Gilley Distributed scalable media environment
KR20080096768A (ko) * 2006-02-06 2008-11-03 톰슨 라이센싱 사용 가능한 움직임 정보를 비디오 인코딩을 위한 움직임추정 예측자로서 재사용하는 방법 및 장치
US8599841B1 (en) 2006-03-28 2013-12-03 Nvidia Corporation Multi-format bitstream decoding engine
US8593469B2 (en) * 2006-03-29 2013-11-26 Nvidia Corporation Method and circuit for efficient caching of reference video data
US7884742B2 (en) * 2006-06-08 2011-02-08 Nvidia Corporation System and method for efficient compression of digital data
US8700387B2 (en) * 2006-09-14 2014-04-15 Nvidia Corporation Method and system for efficient transcoding of audio data
US20130101023A9 (en) * 2007-03-12 2013-04-25 Vixs Systems, Inc. Video encoder with video decoder reuse and method for use therewith
FR2915047B1 (fr) * 2007-04-13 2009-10-30 Streamwide Soc Par Actions Sim Architecture de transcodage de flux multimedia.
US8576918B2 (en) 2007-07-09 2013-11-05 Broadcom Corporation Method and apparatus for signaling and decoding AVS1-P2 bitstreams of different versions
EP2467786B1 (en) 2009-08-17 2019-07-31 Akamai Technologies, Inc. Method and system for http-based stream delivery
US20110296048A1 (en) * 2009-12-28 2011-12-01 Akamai Technologies, Inc. Method and system for stream handling using an intermediate format
US20110158310A1 (en) * 2009-12-30 2011-06-30 Nvidia Corporation Decoding data using lookup tables
US8880633B2 (en) 2010-12-17 2014-11-04 Akamai Technologies, Inc. Proxy server with byte-based include interpreter
JP5698644B2 (ja) * 2011-10-18 2015-04-08 株式会社Nttドコモ 動画像予測符号化方法、動画像予測符号化装置、動画像予測符号化プログラム、動画像予測復号方法、動画像予測復号装置及び動画像予測復号プログラム
US20140037005A1 (en) * 2012-08-02 2014-02-06 Penne Y. LEE Transcoding video data
US10432961B2 (en) * 2015-03-10 2019-10-01 Apple Inc. Video encoding optimization of extended spaces including last stage processes
US10547846B2 (en) * 2017-04-17 2020-01-28 Intel Corporation Encoding 3D rendered images by tagging objects

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6370198B1 (en) * 1997-04-07 2002-04-09 Kinya Washino Wide-band multi-format audio/video production system with frame-rate conversion
US6181711B1 (en) * 1997-06-26 2001-01-30 Cisco Systems, Inc. System and method for transporting a compressed video and data bit stream over a communication channel
US5920354A (en) * 1998-01-13 1999-07-06 Thomson Consumer Electronics HDTV to NTSC transcoder system
JP4426689B2 (ja) * 1999-02-25 2010-03-03 パナソニック株式会社 動画像符号化方式の変換方法及びその装置
US6532593B1 (en) * 1999-08-17 2003-03-11 General Instrument Corporation Transcoding for consumer set-top storage application
US6441754B1 (en) * 1999-08-17 2002-08-27 General Instrument Corporation Apparatus and methods for transcoder-based adaptive quantization
US6658057B1 (en) * 2000-08-31 2003-12-02 General Instrument Corporation Digital transcoder with logo insertion
US6407680B1 (en) * 2000-12-22 2002-06-18 Generic Media, Inc. Distributed on-demand media transcoding system and method

Also Published As

Publication number Publication date
KR100797215B1 (ko) 2008-01-23
TW200539710A (en) 2005-12-01
JP2007531477A (ja) 2007-11-01
EP1730966A1 (en) 2006-12-13
US20050229231A1 (en) 2005-10-13
WO2005099272A1 (en) 2005-10-20
TWI259724B (en) 2006-08-01
CN1934869A (zh) 2007-03-21

Similar Documents

Publication Publication Date Title
KR100797215B1 (ko) 컨버터를 이용하는 비디오 인코더
CN109644269B (zh) 图像处理设备、图像处理方法和存储介质
JPH11275592A (ja) 動画像符号列変換装置及びその方法
US8165411B2 (en) Method of and apparatus for encoding/decoding data
KR101147744B1 (ko) 비디오 트랜스 코딩 방법 및 장치와 이를 이용한 pvr
KR19980063690A (ko) Dct 베이스 기술을 사용하여 압축된 정보를 기억함에 의해 압축해제에 필요한 메모리를 감축하는 방법 및 이 방법을 구현하기 위한 디코더
US20100020883A1 (en) Transcoder, transcoding method, decoder, and decoding method
JP2007104231A (ja) トランスコーダ、記録装置及びトランスコード方法
US20040013399A1 (en) Information processing method and apparatus
WO2006114954A1 (ja) 映像情報記録装置、映像情報記録方法、映像情報記録プログラム、及び映像情報記録プログラムを記録した記録媒体
JP2005064569A (ja) トランスコーダ及びこれを用いた撮像装置及び信号処理装置
US7346108B2 (en) Encoded-data converting apparatus and method for the same
JP4742018B2 (ja) 画像符号化装置及び画像符号化方法
CN1973548B (zh) 用于选择性地转换输入信号的代码的设备和方法
JP2007306370A (ja) 画像符号化記録装置
KR20050112587A (ko) 동영상 인코딩, 디코딩 장치 및 그 방법
CN102204253B (zh) 基于运动估计的视频编码/解码装置和方法
JP5240230B2 (ja) トランスコーダ、記録装置及びトランスコード方法
US20120002720A1 (en) Video encoder with video decoder reuse and method for use therewith
JP2006033014A (ja) 映像信号変換装置、変換方法及びこれを用いた映像信号記録装置
US20120002719A1 (en) Video encoder with non-syntax reuse and method for use therewith
WO2020054190A1 (ja) 変換装置、復号装置、変換方法および復号方法
JP2005079621A (ja) マルチフォーマット符号化器及びこれを含む記録システム、並びに符号化処理用1チップlsi
JP2004297184A (ja) 情報処理装置および情報処理方法ならびに記憶媒体、プログラム
JP2008141530A (ja) 画像符号化装置及び画像符号化方法

Legal Events

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

Payment date: 20120110

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee