KR20050026484A - 하이브리드 비디오 코덱 비트스트림간 트랜스코딩 방법 및장치 - Google Patents

하이브리드 비디오 코덱 비트스트림간 트랜스코딩 방법 및장치 Download PDF

Info

Publication number
KR20050026484A
KR20050026484A KR1020057000845A KR20057000845A KR20050026484A KR 20050026484 A KR20050026484 A KR 20050026484A KR 1020057000845 A KR1020057000845 A KR 1020057000845A KR 20057000845 A KR20057000845 A KR 20057000845A KR 20050026484 A KR20050026484 A KR 20050026484A
Authority
KR
South Korea
Prior art keywords
input
frame
macroblock
codec
output
Prior art date
Application number
KR1020057000845A
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 KR20050026484A publication Critical patent/KR20050026484A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/66Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission for reducing bandwidth of signals; for improving efficiency of transmission
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • 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/513Processing of motion vectors
    • 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/55Motion estimation with spatial constraints, e.g. at image or region borders
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/12Systems in which the television signal is transmitted via one channel or a plurality of parallel channels, the bandwidth of each channel being less than the bandwidth of the television signal

Abstract

원래의 비트스트림을 디코딩/압축해제하고 이것을 제2 포맷으로 재코딩/재압축할 때의 자원보다 더 적은 양의 자원을 사용하는 하이브리드 비디오 코덱에 의해 코딩된 비트스트림간의 트랜스코딩을 수행하는 방법 및 장치를 제공한다. 양호한 실시예에 따르면, 본 발명의 방법에서는 가능한 한, 인입 비트스트림의 인코딩된 파라미터를, 출력 비트스트림용 순응 데이터를 구성하는 인코딩된 파라미터로 직접 변환시키는 표준 비디오 압축 알고리즘의 유사성을 활용할 수 있다.

Description

하이브리드 비디오 코덱 비트스트림간 트랜스코딩 방법 및 장치{METHOD AND APPARATUS FOR TRANSCODING BETWEEN HYBRID VIDEO CODEC BITSTREAMS}
본 출원은 2002년 7월 17일에 출원된 제60/396891호, 2002년 7월 17일제 출원된 제60/396689호, 2002년 10월 1일에 출원된 제60/417831호, 2002년 12월 4일에 출원된 제60/431054호(이상 미국 가출원임)의 우선권을 주장하는 바이며, 상기 문헌들은 본 명세서에 참조로서 원용된다.
연방에서 후원하는 검색 및 개발 하에 이루어졌으되 적용할 수는 없는 본 발명의 권리에 관한 설명.
본 발명은 일반적으로 전기통신 기술에 관한 것이다. 보다 구체적으로, 본 발명은 하이브리드 비디오 CODEC 비트스트림간 트랜스코딩 방법 및 장치를 제공한다. 단순히 예를 들면, 본 발명은 전기통신 네트워크 환경에 적용되어 왔지만, 본 발명은 그 적용 가능성이 훨씬 넓다는 것을 인식할 수 있을 것이다.
시간의 진전에 따라, 전기통신 기술도 발전하여 왔다. 현재에는 통신 링크를 통해 오디오 및 비디오 신호를 코딩하는 몇 가지의 표준이 존재한다. 공통 표준을 지원하지 않는 단말기는 장치들간에 추가의 장치, 트랜스코더가 있는 경우에만 공동으로 사용 가능하다. 트랜스코더는 코딩된 신호를 하나의 표준에서 다른 표준으로 전환시킨다.
ㆍI 프레임은 정지 화상으로서 코딩되며 다른 프레임과는 별개로 디코딩될 수 있다.
ㆍP 프레임은 프레임의 유사성을 활용하기 위해 선행의 I 또는 P 프레임 또는 프레임들과는 다르게 코딩된다.
MPEG-4비디오 코덱과 같은 일부 하이브리드 비디오 코덱 역시 프레임 헤더 뒤에 코딩된 데이터를 포함하지 않는 "코딩되지 않은" 프레임을 지원한다. 표준의 예에 관해서는 상세히 후술한다.
H.261, H.263, H.264 및 MPEG-4 비디오 코덱 등의 특정의 표준들은 모두 소스 비디오 프레임을 16 x 16 화소(픽셀) 매크로블록으로 분해한다. H.261, H.263 및 MPEG-4 비디오 코덱은 또한 각각의 매크로블록을 추가 분할하고 각각의 매크로블록은 6개의 8 x 8 픽셀 블록으로 추가 분할된다. 상기 6개의 블록들 중 4개의 블록이 매크로블록용 16 x 16 휘도값에 대응하고 나머지 2개의 블록이 상기 매크로블록의 서브 샘플링된 단색 성분에 대응한다. H.264 비디오 코덱은 각각의 매크로블록을 24개의 4 x 4 픽셀 블록으로 재분할하되, 휘도용으로 16 블록, 재샘플링 크로미넌스용으로 8 블록으로 재분할한다.
하이브리드 비디오 코덱은 모두 일반적으로 유사한 기술을 이용하여 소스 매크로블록을 인코딩된 매크로블록으로 변환시킨다. 각각의 블록은 먼저 공간 변환을 한 후 변환 계수를 양자화함으로써 인코딩된다. 이를 변환 인코딩이라 한다. 이러한 상황에서 H.261, H.263 및 MPEG-4 비디오 코덱은 이산 코사인 변환(DCT)을 사용한다. H.264 비디오 코덱은 정수 변환을 사용한다.
논-제로 양자화 변환 계수는 런 렝스 및 가변 렝스 코딩을 이용하여 추가로 인코딩된다. 이러한 제2 단계를 VLC(가변 렝스 코딩) 인코딩이라 한다. 그 반대의 프로세스를 각각 VLC 디코딩 및 변환 디코딩이라 한다. 매크로블록은 3가지 방식을 코딩된다.
ㆍ"인트라 코딩" 매크로블록은 코딩되는 소스 프레임으로부터 직접 복사된 픽셀값을 갖는다.
ㆍ"인터 코딩" 매크로블록은 현재 소스의 픽셀값과 기준 프레임의 픽셀값간의 차이로부터 형성되는 픽셀값을 갖는다. 기준 프레임에 대한 값은 이전에 인코딩된 프레임을 위해 인코딩된 데이터를 디코딩함으로써 도출된다. 상기 차이를 계산할 때 사용되는 기준 프레임의 영역은 현재 프레임의 매크로블록과 기준 프레임의 최적의 일치간의 변위를 지정하는 움직임 벡터나 벡터들에 의해 제어된다. 움직임 벡터(들)는 인터 프레임에 대한 양자화 계수와 함께 송신된다. 픽셀값들에서의 차이가 충분히 작은 경우에는, 필요한 움직임 벡터만을 송신한다.
일반적으로 모든 하이브리드 비디오 코덱은 예를 들어 매크로블록 당 움직임 벡터의 수, 벡터의 해상도, 벡터의 범위 및 기준 프레임을 벗어나서 벡터들이 가리키는 것을 허용하는 지와 같이, 허용하는 움직임 벡터의 형태로 차이를 갖는다. 움직임 벡터를 추정하는 프로세스를 "움직임 추정"이라 한다. 이것은 하이브리드 비디오 인코더의 계산 상 가장 집중적인 부분 중 하나이다.
ㆍ"인코딩되지 않은" 매크로블록이란 이전의 프레임에 비해 거의 변하지 않은 매크로블록을 말하며 이러한 매크로블록에 있어서는 움직임 또는 계수 데이터가 송신되지 않는다.
소정의 프레임에 포함되어 있는 매크로블록의 유형은 프레임 유형에 좌우된다. 이러한 알고리즘에 흥미 있는 프레임 유형에 있어서, 허용되는 매크로블록 유형으로는 다음과 같다.
ㆍI 프레임은 인트라 코딩 매크로블록만을 포함할 수 있다.
ㆍP 프레임은 인트라, 인터 및 "인코딩되지 않은" 매크로블록을 포함할 수 있다.
상기 매크로블록에 대한 인코딩된 데이터를 송신하기 전에, 상기 데이터는 무손실 가변 렝스 코딩(VLC 코딩)을 이용해서 추가 압축된다.
하이브리드 비디오 코덱들에 있어서 차이가 나는 또다른 영역은 비디오 프레임 크기에 대한 지원 여부이다. MPEG-4 및 H. 264는 임의적 프레임 크기를 지원하고, 높이 및 폭이 16의 배수인 제한이 있는 반면, H.261 및 H.263은 한정된 세트의 프레임 크기만을 지원한다.
트랜스코딩에 대한 종래의 방식은 탠덤 트랜스코딩(tandem transcoding)으로 공지되어 있다. 탠덤 트랜스코더는 종종 인입하는 코딩된 신호를 완전히 디코딩하여, 있는 그대로의 (압축되지 않은) 포맷의 데이터를 생성한 다음 상기 있는 그대로의 데이터를 원하는 목표 표준에 따라 다시 인코딩하여 압축된 신호를 생성한다. 단순하지만, 탠덤 비디오 트랜스코더는 "브루트 포스(brute-force)" 방식으로 간주되어 상당한 양의 계산 자원을 소비한다. 탠덤 트랜스코딩에 대한 다른 대안으로는 입력 스트림에서 움직임 벡터의 정보를 사용하여 출력 비트스트림에 대한 움직임 벡터를 추정하는 것을 들 수 있다. 그러한 대안의 방식 역시 한계가 있으며 이 또한 브루트 포스 기술로 간주된다.
이상으로부터, 효율 좋고 경제적인 방식으로 서로 다른 전기통신 포맷 사이를 변환시키는 향상된 방식이 요망된다.
도 1은 제2 하이브리드 코덱이 본 발명의 실시예에 따라 제1 하이브리드 코덱의 특징을 지원하는 경우 제1 하이브리드 비디오 코덱으로부터 제2 하이브리드 비디오 코덱으로의 트랜스코더 접속을 설명하는 개략적인 블록도이다.
도 2는 본 발명의 실시예에 따라 H.263으로부터 MPEG-4로의 트랜스코더 접속을 설명하는 개략적인 블록도이다.
도 3은 본 발명의 실시예에 따라 제1 하이브리드 비디오 코덱으로부터 제2 하이브리드 비디오 코덱으로의 트랜스코더 접속을 설명하는 개략적인 블록도이다.
도 4는 본 발명의 실시예에 따라 제1 하이브리드 비디오 코덱으로부터 제2 하이브리드 비디오 코덱으로의 트랜스코더 접속의 최적화 모드를 설명하는 개략적인 블록도이다.
도 5는 본 발명의 실시예에 따라 H.263 인코딩 동안 기준 프레임과 매크로블록 버퍼를 어떻게 사용하는지를 설명하는 개략도이다.
본 발명에 따르면, 전기통신 기술이 제공된다. 보다 구체적으로, 본 발명은 하이브리드 비디오 CODEC 비트스트림간 트랜스코딩 방법 및 장치를 제공한다. 단순히 예를 들면, 본 발명은 전기통신 네트워크 환경에 적용되어 왔지만, 본 발명은 그 적용 가능성이 훨씬 넓다는 것을 인식할 수 있을 것이다.
하이브리드 코덱은 데이터 압축에 대한 2가지 방식, 즉 소스 코딩 및 채널 코딩을 사용하는 압축 방식이다. 소스 코딩은 데이터를 지정하고 그 데이터의 특성을 활용한다. 비디오의 경우, 소스 코딩이란 변환 규칙에 따라 픽셀의 기본 성분을 추출하는 변환(예를 들어 이산 코사인 변환 또는 웨이브릿 변환(Wavelet transform)) 등의 기술을 말한다. 그에 따라 변환 계수는 일반적으로 데이터 대역폭을 감소시키기 위해 양자화된다(이것이 압축의 손실부분이다). 한편 채널 코딩은 데이터 방식과는 관계없이 데이터의 통계적 속성을 사용하는 독립 소스이다. 채널 코딩의 예로는 허프만 및 산술 코딩과 같은 통계적 코딩 방식을 들 수 있다. 비디오 코딩은 통상적으로 호프만 코딩을 사용하며, 이 코딩에서는 데이터의 통계적 발생에 기초하여 심벌(예를 들어 '0'과 '1')로 송신되는 데이터를 대체한다. 빈번한 데이터일수록 스트링을 더 짧게 해서 나타내어, 전체 비트스트림을 나타내는데 사용되는 비트 수를 감소시킨다.
채널 코딩의 다른 예로는 스트림 내의 데이터 요소의 반복을 활용하는 런-렝스 코딩을 들 수 있다. 그래서 N개의 연속적인 데이터 요소를 송신하는 대신에, 그 요소 및 그 반복 카운트를 송신한다. 이러한 개념은 변환된 매트릭스의 DCT 계수를 그 양자화 후 지그재그 방식으로 스캐닝하는 비디오 코딩에서 활용된다. 이것은 변환된 매트릭스의 하위 우측 부분에 위치하는 높은 주파수 성분이 통상적으로 제로이고(양자화 후) 지그재그 방식으로 매트릭스의 상부 좌측에서부터 하부 우측으로 스캐닝할 때, 반복된 제로의 스트링이 출현한다는 것을 의미한다. 런-렝스 인코딩은 이러한 반복된 제로를 나타내기 위해 가변 렝스 코딩에 의해 요구되는 비트 수를 감소시킨다. 전술한 소스 및 채널 기술은 이미지 및 비디오 코딩에 모두에 적용된다.
하이브리드 비디오 코덱에서 사용되는 다른 기술로서는 움직임 추정 및 보상이 있다. 움직임 추정 및 보상은 연속적인 비디오 프레임에서 시간과 관련된 용장성을 제거한다. 이것은 움직임 추정 및 보상에서 2가의 주요 방식에 의해 달성된다. 먼저, ("변화"를 정의하는 일부의 임계치 내에서) 변화하지 않은 픽셀 블록들을 동일한 움직임 벡터인 것으로 간주하여, 그 동일한 움직임 벡터를 2개의 연속하는 프레임 사이에서 그러한 픽셀 블록이 어떻게 제거되는지를 나타내는데 사용한다. 둘째, 예측 코딩을 사용하여, 픽셀 블록에 대한 직선 DCT, 양자화, 지그재그, VLC 인코딩에 의해 요구되는 비트 수를 감소시키는데, 이는 상기 문제의 블록과 선행 프레임의 가장 근접한 매칭 블록 사이의 위치상의 어떠한 변화를 나타내는데 필요한 움직임 벡터 외에, 상기 두 블록 사이의 차이의 동작에 대해 이러한 시퀀스를 수행함으로써 이루어진다. 이에 따라 상기 문제의 블록을 나타내는데 필요한 비트 수를 상당히 감소시킨다. 이 예측 코딩 방법은 하나 또는 복수의 예측 프레임을 고려하는 많은 변형을 갖는다(전방향 및 후방향으로 복수회 반복되는 프로세스). 결국 예측 코딩에서 생기는 에러는 누적될 수 있고, 중요하게 될 왜곡의 시작 전에 인트라 코딩 (예측 모드는 없으며 및 현재 프레임의 픽셀들만이 고려된다) 사이클은 그것을 인코딩하기 위한 블록에 대해 수행되어 이때까지 누적되어 있는 에러를 제거한다.
본 발명의 실시예에 따르면, 스마트 기술(smart techniques)을 사용하는 2개의 하이브리드 비디오 코덱간에 트랜스코딩을 수행하는 기술이 제공된다. 트랜스코딩에서의 지능은 하이브리드 비디오 코덱이 활용하는 범용 코딩 원리의 유사성의 활용에 기인하며, 비트스트림이 비디오 시퀀스의 인코딩을 포함한다는 사실은 비트스트림이 다른 하이브리드 비디오 코딩 표준을 목표로 하는 프로세스를 크게 간략하게 할 수 있는 정보를 포함할 수 있다. 대조적으로 탠덤 비디오 트랜스코딩은 인입하는 비트스트림을 픽셀 표현(휘도 및 크로미넌스 표현)인 YUY 화상 표현으로 디코딩한 다음 픽셀들을 목표 비디오 표준에 대해 다시 인코딩한다. 소스 코딩이나 채널 코딩에 관한 비트스트림상의 모든 정보(픽셀 용장도, 시간과 관련된 용장도, 또는 움직임 정보)는 사용되지 않는다.
대안의 실시예에 따르면, 본 발명은 디코딩된 입력 비트스트림에서 사용 가능한 파라미터와 출력 비트스트림을 인코딩하는데 필요한 파라미터간의 관계를 활용함으로써 트랜스코더의 계산의 복잡함을 덜 수 있다. 비트스트림을 트랜스코딩하는데 필요한 계산 사이클의 횟수를 감소시키거나 비트스트림을 트랜스코딩하는데 필요한 메모리를 감소시킴으로써 상기 복잡함을 덜 수 있다.
트랜스코더에 대한 출력 코덱이 입력 코덱의 모든 특징(움직임 벡터 포맷, 프레임의 크기 및 공간 변환의 유형)을 지원할 때, 장치는 상기 인입하는 비트스트림에 대한 VLC 디코더, 시맨틱 매핑 모듈, 출력 비트스트림의 VLC 인코더를 포함한다. VLC 디코더는 비트스트림 신택스를 디코딩한다.. 시맨틱 매핑 모듈은 제1 코덱의 디코딩된 심벌들을 제2 코덱 포맷에서 인코딩하는데 적합한 심벌들로 변환시킨다. 신택스 요소는 그런 다음 출력 비트스트림을 형성하기 위해 인코딩된다.
트랜스코더에 대한 출력 코덱이 입력 코덱의 모든 특징(움직임 벡터 포맷, 프레임의 크기 및 공간 변환의 유형)을 지원하지 않을 때, 장치는 입력 코덱용 디코딩 모듈, 입력 코덱 심벌을 유효 출력 코덱 값으로 변환시키는 모듈, 및 출력 비트스트림을 발생하는 인코딩 모듈을 포함한다.
본 발명은 입력 프레임 크기를 유효 출력 코덱 프레임 크기로 변환시키는 방법을 제공한다. 한 가지 방법은 출력 프레임 크기를 입력 프레임 크기보다 크게 하여 색상이 일정한 출력 프레임의 여분의 영역을 채우는 것이다. 제2 방법은 출력 프레임의 크기를 입력 프레임의 크기보다 작게 하여 출력 프레임을 생성하도록 입력 프레임을 크로핑하는 것이다.
본 발명은 입력 움직임 벡터를 유효 출력 움직임 벡터로 변환시키는 방법을 제공한다.
입력 코덱이 매크로블록 당 복수의 움직임 벡터를 지원하고 출력 코덱이 매크로블록 당 동일한 수의 움직임 벡터를 지원하지 않는 경우, 입력 벡터의 수는 사용 가능한 출력 구성에 일치되도록 변환된다. 출력 코덱이 입력 움직임 벡터의 수보다 많은 움직임 벡터를 지원하는 경우 입력 벡터는 유효 출력 벡터를 형성하기 위해 복사되며, 예를 들어 매크로블록 입력 당 2개의 움직임 벡터는 각각의 입력 벡터를 복사함으로써 매크로블록 당 4개의 움직임 벡터로 변환될 수 있다. 역으로, 출력 코덱이 입력 코덱보다 적은 매크로블록 당 움직임 벡터를 지원하는 경우, 입력 벡터는 출력 벡터나 벡터들을 형성하기 위해 결합된다.
가장 최근에 디코딩된 프레임이 기준 프레임이 아닌 P 프레임을 입력 코덱은 지원하지만 출력 코덱은 지원하지 않는 경우, 입력 벡터는 스케일링될 필요가 있고 그러므로 움직임 벡터는 이제 가장 최근에 디코딩된 프레임을 참조한다.
출력 코덱에서의 움직임 벡터의 해상도가 입력 코덱에서의 움직임 벡터의 해상도보다 떨어지는 경우, 입력 움직임 벡터 구성요소는 가장 근접한 유효 출력 움직임 벡터 구성요소 값으로 변환된다. 예를 들어, 입력 코덱이 1/4 픽셀 움직임 보상을 지원하고 출력 코덱이 1/2 픽셀 움직임 보상만을 지원하는 경우, 입력에서의 모든 1/4 픽셀 움직임 벡터는 가장 근접한 1/2 픽셀값으로 변환된다.
출력 코덱에서의 움직임 벡터에 허용 가능한 범위가 출력 코덱에서의 움직임 벡터에 허용 가능한 범위보다 뒤쳐지는 경우, 디코딩되거나 계산된 움직임 벡터를 체크하고 필요하다면 허용되는 범위 내에 일치되도록 조정된다.
장치는 벡터인 입력 움직임 벡터가 유효 출력 움직임 벡터인 매크로블록을 위한 최적의 동작 모드를 갖는다. 이 경로는 입력 및 출력 코덱이 동일한 공간 변환, 동일한 기준 프레임 및 동일한 양자화를 사용해야만 하는 또다른 제한을 갖는다. 이 모드에서, 양자화 변환 계수 및 그 역변환 픽셀값은 트랜스코더의 디코딩부분으로부터 인코딩 부분으로 바로 전달되어, 트랜스코더의 인코딩 부분에서의 변환, 양자화, 역양자화 및 역변환에 대한 필요를 제거한다.
본 발명은 P 프레임을 I 프레임으로 변환하는 방법을 제공한다. 사용되는 방법은 출력 프레임 유형을 I 프레임으로 설정하고 입력 비트스트림의 매크로블록에 관계없이 각각의 매크로블록을 인트라 매크로블록으로 설정한다.
본 발명은 "인코딩되지 않은" 프레임을 P 프레임으로 변환시키거나 이것들을 트랜스코딩된 비트스트림으로부터 버리는 것이다.
본 발명의 실시예는 MPEG-4(심플 프로파일) 코덱과 H.263(기준선) 비디오 코덱간의 트랜스코딩 방법 및 장치이다.
대안의 특정한 실시예에서, 본 발명은 움직임 벡터의 범위가 제공되는 인코더나 트랜스코더에서 인코딩되는 매크로블록의 소정의 근처 내에로 제한되게 메모리를 감소시키는 감소 방법을 제공한다. 상기 방법은 움직임 보상을 위해 기준 프레임 내에서 하나 이상의 픽셀을 결정하는 단계 및 상기 인코딩되는 매크로블록의 소정의 근처 내에 제공된 상기 하나 이상의 픽셀 내에 상기 움직임 벡터의 범위가 제공되는 동안 상기 매크로블록을 인코딩하는 단계를 포함한다. 상기 방법은 버퍼에 다른 인코딩된 매크로블록이 저장되어 있는 동안 상기 인코딩된 매크로블록을 상기 버퍼에 저장하는 단계도 포함한다.
지식이 가장 새로운 본 발명의 목적, 특징 및 이점은 첨부된 클레임에서 특이성과 함께 설명된다. 본 발명은 다른 목적 및 이점과 함께 그 구성 및 동작의 방식 모두가 첨부된 도면을 참조하여 후술되는 설명으로부터 분명하게 이해될 것이다.
본 발명에 따르면, 전기통신 기술이 제공된다. 보다 구체적으로, 본 발명은 하이브리드 비디오 CODEC 비트스트림간 트랜스코딩 방법 및 장치를 제공한다. 단순히 예를 들면, 본 발명은 전기통신 네트워크 환경에 적용되어 왔지만, 본 발명은 그 적용 가능성이 훨씬 넓다는 것을 인식할 수 있을 것이다.
본 발명의 방법 및 장치에 대해서는 상세히 후술된다. 후술되는 설명에서, 설명의 목적 상, 본 발명을 보다 잘 이해하기 위해 몇 가지의 특정한 사항이 설명된다. 설명의 목적 및 예시를 위해 심플 프로파일 MPEG-4 및 기준선 H.263의 경우를 사용한다. 본 명세서에서 설명되는 방법은 일반적인 것이며 모든 하이브리드 코덱 쌍 사이의 트랜스코딩에 적용된다. 관련분야의 기술인은 다른 단계, 구성 및 배열을 본 발명의 정신 및 범주를 벗어남이 없이 사용 가능하다.
도 1은 본 발명의 실시예에 따라 제1 코덱(입력 비트스트림)이 제2 코덱(출력 비트스트림)의 특징의 서브세트를 지원하는 2개의 코덱간 트랜스코딩에 대한 양호한 실시예를 나타내는 블록도이다. 이 도면은 단순히 예시를 위한 것이며 본 발명의 청구범위를 제한하려는 것이 아니다. 당업자는 많은 변형, 대안 및 수정을 인식할 수 있을 것이다. 입력 스트림은 가변 렝스 디코더에 의해 디코딩된다. 제1 비디오 코덱에서의 디코딩된 심벌의 시맨틱과 제2 비디오 코덱에서의 시맨틱에서의 모든 차이는 시맨틱 변환 모듈(2)에서 해결된다. 상기 계수는 출력 비트스트림(3)을 형성하기 위해 코딩되는 가변 렝스이다. 스테이지(1)의 출력은 매크로블록 유형, 움직임 벡터 및 변환 계수 등의 코덱 심벌의 목록이다. 스테이지(2)의 출력은 제2 코덱용 심벌 변환을 행하는데 필요한 모든 변환을 갖는 이전의 목록이다. 스테이지(3)의 출력은 제2 코덱 표준에서 코딩된 비트스트림이다.
도 2는 본 발명의 실시예에 따라 기준선 H.263 비트스트림으로부터 MPEG-4 비트스트림으로 트랜스코딩하는 양호한 실시예의 블록도이다. 이 블록도는 단순히 예시를 위한 것이며 많은 변형, 대안 및 수정을 인식할 수 있을 것이다. 입력 비트스트림은 가변 렝스 디코더(4)에 의해 디코딩된다. 매크로블록이 인트라 코딩 매크로블록이면, 디코딩된 계수는 역 인트라 예측(6)이다. DC DCT 계수의 인트라 예측은 의무적이다. 트랜스코더는 선택 인트라 AC 계수 예측을 사용할 것인지를 선택할 수 있다. 이 프로세스는 MPEG-4 표준에 지정된 인트라 예측과는 반대이다. 계수는 출력 비트스트림(8)을 형성하기 위해 코딩된 가변 렝스이다.
H.263 비트스트림을 MPEG-4 비트스트림으로 트랜스코딩할 때, 트랜스코더는 MPEG-4 비주얼오브젝트시퀀스(VisualObjectSequence), 비주얼오브젝트(VisualObject) 및 비디오오브젝트레이어(VideoObjectLayer) 헤더를 제1 트랜스코딩된 비디오 프레임 전의 출력 비트스트림에 삽입한다. 시맨틱 변환 모듈(2)은 입력 목록의 제1 심벌 전에 비주얼오브젝트시퀀스, 비주얼오브젝트 및 비디오오브젝트레이어를 삽입한다.
H.263 비트스트림을 MPEG-4 비트스트림으로 트랜스코딩할 때, H.263 비트스트림의 픽처 헤더는 트랜스코딩된 비트스트림의 비디오오브젝트플레인 헤더로 변환시킨다. 시맨틱 변환 모듈(2)은 "픽처 헤더"의 모든 발생을 "비디오오브젝트플레인 헤더"로 대체한다.
H.263 비트스트림을 MPEG-4 비트스트림으로 트랜스코딩할 때, H.263 비트스트림이 GOB 헤더를 포함하는 경우, GOB 헤더들은 출력 비트스트림의 비디오 패킷 헤더로 변환된다. 시맨틱 변환 모듈(2)은 "GOB 헤더"의 모든 발생을 "비디오 패킷 헤더"로 대체한다.
도 3은 본 발명의 실시예에 따라 트랜스코더에 대한 출력 코덱이 입력 코덱의 특징(움직임 벡터 포맷, 프레임 크기 및 공간 변환의 유형)을 지원하지 않는 경우 2개의 하이브리드 비디오 코덱간의 트랜스코딩에 대한 양호한 실시예의 블록도이다. 이 도면은 단순히 예시를 위한 것이며 본 발명의 청구범위를 제한하려는 것이 아니다. 당업자는 많은 변형, 대안 및 수정을 인식할 수 있을 것이다. 인입하는 비트스트림은 가변 렝스 디코딩되어(9) 매크로블록 유형, 움직임 벡터 및 변환 계수와 같은 코덱 심벌의 목록을 생성한다. 변환 계수는 역양자화되고(10) 그런 다음 역변환(11)은 상기 계수를 픽셀 도메인으로 변환시켜 현재 매크로블록용 디코딩 화상을 생성한다. 인터 코딩 매크로블록의 경우, 이 화상을 기준 프레임(14)으로부터 복구된 움직임 보상 매크로블록 화상에 더한다(12). 이것은 입력 하이브리드 비디오 코덱용 표준 디코더를 포함한다.
일부의 출력 비디오 코덱 표준은 디코더로 하여금 입력 코덱에 의해 지원되는 프레임 크기의 서브세트만을 지원하게 한다. 출력 코덱이 입력 프레임 크기를 지원하지 않는 경우, 트랜스코더는 입력 프레임 전체를 포함하는 최대의 적법한 출력 프레임을 출력하고 프레임 크기 변환(15)을 수행한다. 출력 프레임은 입력 프레임의 중앙에 위치한다. 입력 프레임이 I 프레임인 경우, 입력 프레임을 벗어나 있는 출력 프레임의 영역은 적절한 배경 색상으로 코딩된다. 입력 프레임이 P 프레임인 경우, 입력 프레임을 벗어나 있는 출력 프레임의 영역은 코딩되지 않은 매크로블록으로서 코딩된다.
프레임 크기 변환을 달성하기 위한 대안의 방법은 트랜스코더가 입력 프레임 내에 완전하게 일치하는 최대의 적법한 출력 프레임 크기를 출력하는 것이다. 이 경우, 프레임 크기 변환 모듈(15)은 입력 프레임을 크로핑하여, 출력 프레임 경계를 벗어나 있는 모든 입력 매크로블록을 버린다.
입력 코덱에 의해서는 지원되지만 출력 코덱에 의해서는 지원되지 않는 움직임 벡터의 4가지 특징이 있다. 이 4가지 특징은 매크로블록 당 움직임 벡터의 수에서의 차이이고, 움직임 보상에 사용되는 기준 프레임에서의 차이이고, 움직임 벡터 구성요소의 해상도에서의 차이이며, 움직임 벡터의 허용 범위에서의 차이이다. 각각의 경우, 트랜스코더의 움직임 벡터 변환 유닛(6)은 입력 움직임 벡터 정보에 가장 근사하는 유효 출력 움직임 벡터를 선택해야만 한다. 이러한 변환은 화질의 손상 및/또는 출력 비트스트림 크기의 증가에서 발생한다.
입력 움직임 벡터(들)가 출력 움직임 벡터(들)와 다를 때에는, 인코더 기준 프레임(25)을 사용하여 인코딩 스테이지 동안 매크로블록 에러를 다시 계산할 필요가 있다.
입력 코덱이 매크로블록 당 복수의 움직임 벡터를 지원하고 출력 코덱이 매크로블록 당 동일한 수의 움직임 벡터를 지원하지 않는 경우, 움직임 벡터의 수는 사용 가능한 출력 구성을 일치시키도록 변환된다. 출력 코덱이 입력 움직임 벡터의 수보다 많은 매크로블록 당 움직임 벡터를 지원하는 경우 입력 벡터들은 유효 출력 벡터를 형성하기 위해 변환될 수 있으며, 예를 들어 매크로블록 입력 당 2개의 움직임 벡터는 각각의 입력 벡터를 복사함으로써 매크로블록 당 4개의 움직임 벡터로 변환될 수 있다. 역으로, 출력 코덱이 입력 코덱보다 적은 매크로블록 당 움직임 벡터를 지원하는 경우, 입력 벡터는 출력 벡터나 벡터들을 형성하기 위해 결합된다. 예를 들어, H.263 트랜스코더에 대한 MPEG-4가 4 움직임 벡터를 갖는 입력 매크로블록과 직면할 때, 단일의 출력 움직임 벡터를 얻기 위해서는 4 벡터를 결합하여야 한다.
움직임 벡터를 결합하는 한 가지 방법은 입력 벡터들의 x 및 y 구성요소의 방법을 사용하는 것이다.
다른 방법은 입력 벡터들의 x 및 y 구성요소의 메디언을 취하는 것이다.
복수의 입력 움직임 벡터로부터 출력 움직임 벡터의 필요한 수로의 변환은 항상 먼저 수행되고 그 결과적인 벡터(들)를 필요에 따라 다음의 변환을 위한 입력으로서 사용한다.
가장 최근에 디코딩된 프레임이 기준 프레임이 아닌 P 프레임을 입력 코덱은 지원하지만 출력 코덱은 지원하지 않는 경우, 입력 벡터는 스케일링될 필요가 있고 그러므로 움직임 벡터는 이제 가장 최근에 디코딩된 프레임을 참조한다. 스케일링은 입력 벡터의 각 구성요소를 스킵된 기준 프레임 플러스 1의 수로 분할함으로써 수행된다.
출력 코덱에서의 움직임 벡터의 해상도가 입력 코덱에서의 움직임 벡터의 해상도보다 떨어지는 경우, 입력 움직임 벡터 구성요소는 가장 근접한 유효 출력 움직임 벡터 구성요소 값으로 변환된다. 예를 들어, 입력 코덱이 1/4 픽셀 움직임 보상을 지원하고 출력 코덱이 1/2 픽셀 움직임 보상만을 지원하는 경우, 입력에서의 모든 1/4 픽셀 움직임 벡터는 가장 근접한 1/2 픽셀값으로 변환된다.
하나 또는 2개의 구성요소가 출력 코덱에서 허용되는 범위를 벗어나는 입력 움직임 벡터와 트랜스코더가 직면할 때는 상기 벡터를 허용 출력값으로 변환시켜야 한다. 입력 움직임 벡터가 비디오 프레임 경계를 벗어나는 영역을 가리킬 수 있을 때와 출력 움직임 벡터가 화상 내에서만 가리키는 것으로 제한 받을 때 유사한 상황이 일어난다. 알고리즘은 양자의 경우 입력 벡터에 기초하여 유효 출력 벡터를 선택한다.
한 가지 변환 방법은 출력 움직임 벡터 구성요소를 가장 근접한 허용 가능 값으로 클램핑하는 것이다. 예를 들어, MPEG-4 움직임 벡터는 -16 내지 15.5 픽셀의 H.263 범위보다 더 넓게 될 수 있다. 이 경우 계산된 H.263 벡터 μ의 x 성분은 다음과 같이 주어진다.
제2 변환 방법은 입력 벡터와 동일한 방향의 최대 유효 출력 벡터를 출력 벡터로 하는 것이다.
프레임 크기 및 움직임 벡터 변환 후, 디코딩된 매크로블록 픽셀은 움직임 보상 기준값(25)을 인터 매크로블록에 대해 감산한 후(17), 공간적으로 변환된다(19). 변환 계수는 양자화되고(20), 송신되기 전에 가변 렝스 인코딩된다(21). 양자화 변환 계수는 역양자화(22)이고 역변환(23)에 의해 픽셀 도메인으로 변환된다. 인트라 매크로블록의 경우, 픽셀은 기준 프레임 메모리(25)에 바로 저장된다. 인터 매크로블록은 기준 프레임 메모리(25)에 저장되기 전에 움직임 보상 기준 픽셀에 더해진다(24).
도 4는 본 발명의 실시예에 따라 트랜스코더에 대한 출력 코덱이 입력 코덱의 특징(움직임 벡터 포맷, 프레임 크기 및 공간 변환의 유형)을 지원하지 않는 경우 2개의 하이브리드 비디오 코덱간의 트랜스코딩에 대한 양호한 실시예의 블록도이다. 이 도면은 단순히 예시를 위한 것이며 본 발명의 청구범위를 제한하려는 것이 아니다. 당업자는 많은 변형, 대안 및 수정을 인식할 수 있을 것이다. 입력 코덱과 출력 코덱이이 동일한 공간 변환, 동일한 기준 프레임 및 동일한 양자화를 사용할 때만 최적화 모드를 사용할 수 있다. 최적화 모드는 적법한 출력 움직임 벡터인 입력 움직임 벡터들을 갖는 인터 매크로블록에 사용된다. 최적화 모드에서, 역 양자화기(10)의 출력 및 역 공간 변환(11)의 출력은 프레임 크기 변환 후, 가변 렝스 인코더(21) 및 프레임 저장 갱신(24)에 각각 직접 공급된다. 이 모드는 인코딩 측면 공간 변환(19), 양자화기(20), 역양자화기(22) 및 역변환(23) 모듈을 사용하지 않기 때문에 훨씬 더 효과적이다. 디코더 움직임 보상(12) 및 인코더 움직임 보상(24)가 상이한 라운딩 변환(rounding conversion)을 사용하는 경우, 원래의 비트스트림과 트랜스코더 출력간에 비지블 드리프트(visible drift)가 존재하지 않음을 보증하기 위해 도 3에 도시된 완전한 트랜스코드 경로를 통해 주기적으로 각각의 프레임을 실행할 필요가 없다.
H.263 표준은 각각의 매크로블록이 132 프레임마다 적어도 한 번 인트라 코딩되어야 함을 명시한다. MPEG-4 표준에는 유사한 조건이 없다. 본 발명의 방법에서는, 각각의 매크로블록이 H.263 인트라 코딩 제약을 만족시키도록 하기 위해, 트랜스코더는 최종 MPEG-4 프레임이래 프레임 수를 추적하고, 131 P 프레임 이상이 최종 I 프레임 이해 MPEG-4 스트림에 존재하는 경우, 디코딩된 P 프레임을 I 프레임으로서 인코딩한다.
입력 코덱은 "코딩되지 않은" 프레임을 지원하지만 출력 코덱은 지원하지 않는 경우 장치는 프레임을 변환시킨다. 한 가지 변환 방법은 트랜스코딩된 비트스트림으로부터 상기 프레임을 전체적으로 트랜스코더가 드롭시키는 것이다. 제2 변환 방법은 모든 매크로블록이 "코딩되지 않은" 매크로블록으로 코딩된 P 프레임으로서 상기 프레임을 트랜스코더가 송신하는 것이다.
기준 프레임 메모리(24, 25)는 종래의 디코더 및 인코더에서 2개의 개별 프레임으로서 정상적으로 수행된다. 하나는 기준 프레임(이전에 인코딩된 프레임)이고 다른 하나는 현재 인코딩된 프레임이다. 코덱 움직임 벡터가 제한된 범위의 값을 취하도록 허용될 때만, 이러한 저장 조건이 감소될 수 있다.
본 발명의 방법에서는, 매크로블록이 인코딩될 때 사용되는 기준 프레임 매크로블록만이 최대 허용 움직임 벡터 값의 범위 내에 있는 그 이웃하는 매크로블록임을 인식함으로써 저장 조건이 상당히 감소된다.
도 5는 그 기본적인 매크로블록의 9 x 11 그리드가 기준선 H.263에서 인코딩되는 QCIF 크기의 프레임(26)을 사용하는 매크로블록 버퍼링 과정의 예를 나타낸다. 이 도면은 단순히 예시를 위한 것이며 본 발명의 청구범위를 제한하려는 것이 아니다. 당업자는 많은 변형, 대안 및 수정을 인식할 수 있을 것이다. 현재 인코딩되는 매크로블록(27)을 바로 에워싸는 매크로블록(28)은 인코딩 동안 움직임 보상을 위해 사용될 수 있는 기준 프레임의 픽셀을 포함한다. 인코딩되는 매크로블록(27)에 선행하는 매크로블록은 이미 인코딩되어 있다(29). 기준선 H.263 움직임 벡터의 최대 범위는 -16 내지 15.5 픽셀이다. 현재의 화상을 저장하는 대신, 화상 로우 플러스 1로 매크로블록의 수를 유지할 수 있는 매크로블록 버퍼(30)에 유지한다. 각각의 매크로블록이 코딩된 후, 버퍼 내에서 가장 오래된 매크로블록이 기준 화상 내의 그 위치에 기록되고 현재 매크로블록이 상기 버퍼에 기록된다.
상기 버퍼 역시 상기 버퍼 내의 각각의 매크로블록이 코딩되는지 "코딩되지 않는"지를 저장할 수 있다. "코딩되지 않는" 매크로블록의 경우, 본 발명의 방법은 매크로블록 픽셀 값들은 기준 프레임 내의 값들로부터 변하지 않기 때문에, 이러한 매크로블록을 버퍼에 기록하는 것과 기준 프레임에 다시 기록하는 것을 스킵한다.
양호한 실시예에 대한 위의 설명은 당업자가 본 발명을 수행하거나 사용할 수 있도록 제공된다. 이러한 실시예에 대한 다양한 변형이 당업자에게는 자명하며, 본 명세서에서 정의되는 일반적인 원리는 창조적 능력을 사용함이 없이 다른 실시예에 적용될 수 있다. 그러므로, 본 발명은 본 명세서에 설명된 실시예에 제한하고자 함이 아니며 본 명세서에 서술된 원리 및 새로운 특징과 일치하는 가장 넓은 범위에 일치되도록 하기 위한 것이다.

Claims (27)

  1. 제1 하이브리드 비디오 코덱으로부터 코딩된 비디오 비트스트림을 제2 하이브리드 비디오 코덱에서 코딩된 비트스트림으로 처리하는 장치에 있어서,
    상기 제1 하이브리드 비디오 코덱으로부터 인입 비디오 비트스트림을 디코딩하고, 디코딩된 비트스트림을 출력하도록 적응된 가변 길이 디코더;
    디코딩된 심벌들의 시맨틱 변환을 수행하되, 상기 시맨틱 변환은 상기 디코딩된 비트스트림이 상기 제2 하이브리드 비디오 코덱과 호환 가능하도록 상기 디코딩된 비트스트림의 일부를 처리하는, 유닛; 및
    상기 유닛의 출력으로부터의 출력 비트스트림을 상기 제2 하이브리드 비디오 코덱으로 인코딩하는 가변 길이 인코더
    를 포함하는 것을 특징으로 하는 장치.
  2. 제1항에 있어서,
    상기 제1 비디오 코덱은 기준선 H.263이고, 상기 제2 비디오 코덱은 MPEG-4이며, 상기 유닛에서의 상기 시맨틱 변환은 하나 이상의 소정의 파라미터에 기초하여 복수의 인트라 매크로블록 계수의 역 인트라 AC 예측을 포함하는 것을 특징으로 하는 장치.
  3. 제2항에 있어서,
    상기 인트라 AC 예측을 수행하기 위한 상기 하나 이상의 소정의 파라미터는 매크로블록 단위로 제공되며 상기 매크로블록 단위로 처리가 제공되는 것을 특징으로 하는 장치.
  4. 제1 하이브리드 비디오 코덱으로부터 코딩된 비디오 비트스트림을 제2 하이브리드 비디오 코덱으로 코딩된 비트스트림으로 처리하는 장치에 있어서,
    상기 제1 하이브리드 코덱으로부터 복수의 매크로블록을 포함하되 상기 복수의 매크로블록 사이에서 매크로블록 단위로 포함하는 입력 비트스트림을 디코딩하는 단계;
    상기 복수의 매크로블록의 입력 프레임 크기가 상기 제2 하이브리드 코덱에 의해 지원되는지를 결정하는 단계;
    상기 입력 프레임 크기가 상기 제2 하이브리드 코덱에 의해 지원되지 않는 경우 상기 입력 프레임 크기를 상기 제2 하이브리드 코덱에 의해 지원되도록 변환시키는 단계;
    복수의 입력 움직임 벡터 중 하나 이상이 상기 제2 하이브리드 코덱에 의해 지원되는지를 결정하는 단계;
    트랜스코딩된 데이터를 형성하기 위해, 상기 하나 이상의 입력 움직임 벡터가 상기 제2 하이브리드 코덱에 의해 지원되지 않는 경우 상기 하나 이상의 입력 움직임 벡터를 상기 제2 하이브리드 코덱에 의해 지원되도록 변환시키는 단계; 및
    상기 복수의 매크로블록의 상기 트랜스코딩된 데이터를 매크로블록 단위로 인코딩하는 단계
    를 포함하는 것을 특징으로 하는 장치.
  5. 제4항에 있어서,
    상기 제1 비디오 코덱은 심플 프로파일(Simple Profile) MPEG4이고 상기 제2 비디오 코덱은 기준선(Baseline) H.263인 것을 특징으로 하는 장치.
  6. 제4항에 있어서,
    유효 출력 프레임 크기가 아닌 상기 입력 비디오 프레임은 상기 출력 프레임 크기를 상기 입력 프레임 크기보다 큰 최소 유효 출력 프레임 크기로 설정함으로써 변환되며,
    프레임 내의 경우에는 상기 출력 프레임 내의 추가의 매크로블록을 고정값으로 인코딩하며,
    인터프레임의 경우에는 상기 출력 프레임 내의 추가의 매크로블록을 "코딩되지 않은" 매크로블록으로 인코딩하는 것을 특징으로 하는 장치.
  7. 제4항에 있어서,
    유효 출력 프레임 크기가 아닌 상기 입력 비디오 프레임은 상기 출력 프레임 크기를 상기 입력 프레임 크기보다 작은 최대 유효 출력 프레임 크기로 설정하고, 상기 출력 프레임에 맞지 않는 입력 프레임에서 매크로블록을 크로핑함으로써 변환되는 것을 특징으로 하는 장치.
  8. 제4항에 있어서,
    복수의 움직임 벡터를 갖는 상기 입력 매크로블록은 상기 움직임 벡터를 복사함으로써 더 큰 수의 출력 움직임 벡터로 변환되는 것을 특징으로 하는 장치.
  9. 제4항에 있어서,
    복수의 움직임 벡터를 갖는 상기 입력 매크로블록은 산술 평균이나 메디안 프로세스를 포함하는 하나 이상의 프로세스에 의해 더 작은 수의 출력 움직임 벡터로 변환되는 것을 특징으로 하는 장치.
  10. 제4항에 있어서,
    출력 코덱 기준 프레임과는 다른 기준 프레임을 참조하는 상기 입력 움직임 벡터는 상기 출력 움직임 벡터를 형성하도록 스케일링되는 것을 특징으로 하는 장치.
  11. 제4항에 있어서,
    상기 출력 코덱에 의해 지원되는 것보다 높은 해상도를 사용하는 상기 입력움직임 벡터는 가장 가까운 유효 출력 움직임 벡터로 라운딩되는 것을 특징으로 하는 장치.
  12. 제4항에 있어서,
    유효 출력 움직임 벡터의 범위 밖의 상기 입력 움직임 벡터는 최대 허용 출력값들로 구성성분을 클리핑함으로써 변환되는 것을 특징으로 하는 장치.
  13. 제4항에 있어서,
    유효 출력 움직임 벡터의 범위 밖의 상기 입력 움직임 벡터는 동일한 방향의 최대 유효 출력 벡터를 입력 벡터로서 선택함으로써 변환되는 것을 특징으로 하는 장치.
  14. 제4항에 있어서,
    상기 결정하는 단계, 변환시키는 단계, 결정하는 단계 및 변환시키는 단계는 컴퓨터 코드에 제공되는 것을 특징으로 하는 장치.
  15. 제9항에 있어서,
    4 움직임 벡터를 갖는 MPEG-4 매크로블록은 산술 평균이나 메디언 프로세스를 포함하는 하나 이상의 프로세스에 의해 평균화함으로써 단일 움직임 벡터로 변환되는 것을 특징으로 하는 장치.
  16. 제12항에 있어서,
    유효 H.263 움직임 벡터의 범위 밖의 MPEG-4 움직임 벡터는 최대 허용 H.263 값들로 구성성분을 클리핑함으로써 변환되는 것을 특징으로 하는 장치.
  17. 제13항에 있어서,
    유효 H.263 움직임 벡터의 범위 밖의 MPEG-4 움직임 벡터는 동일한 방향의 최대 허용 H.263 벡터를 MPEG-4 벡터로서 선택함으로써 변환되는 것을 특징으로 하는 장치.
  18. 제12항에 있어서,
    비디오 프레임의 외측을 나타내는 MPEG-4 움직임 벡터는 상기 벡터의 구성성분을 프레임 엣지로 클리핑함으로써 변환되는 것을 특징으로 하는 장치.
  19. 제4항에 있어서,
    상기 제1 하이브리드 코덱 및 상기 제2 하이브리드 코덱은 동일한 공간 변환, 동일한 기준 프레임 및 양자화, 및 입력 움직임 벡터가 유효 출력 움직임 벡터인 동일한 인터매크로블록을 가지며,
    상기 유효 출력 움직임 벡터는
    입력 비트스트림 매크로블록을 디코딩하는 단계;
    복수의 매크로블록의 입력 프레임 크기가 상기 제2 하이브리드 코덱에 의해 지원되는지를 결정하는 단계;
    상기 입력 프레임 크기가 상기 제2 하이브리드 코덱에 의해 지원되지 않는 경우 상기 입력 프레임 크기를 상기 제2 하이브리드 코덱에 의해 지원되도록 변환시키는 단계;
    디코딩된 입력 비트스트림 매크로블록 중에서 복수의 양자화 변환 계수 중 하나 이상으로 VLC 인코딩 프로세스를 수행하는 단계; 및
    상기 디코딩된 입력 비트스트림 매크로블록 중에서 매크로블록 픽셀 값들 중 하나 이상을 사용하여 인코더 기준 프레임을 갱신하는 단계
    를 포함하는 방법에 의해 트랜스코딩되는 것을 특징으로 하는 장치.
  20. 제19항에 있어서,
    적어도 결정하는 단계, 변환시키는 단계 및 수행하는 단계의 트랜스코딩 프로세스에서 드리프트(drift)를 구축하기 위해 소정의 주파수로 최적의 모드를 건너 띄는 단계를 더 포함하는 것을 특징으로 하는 장치.
  21. 제19항에 있어서,
    상기 제1 비디오 코덱은 심플 프로파일 MPEG4이고 상기 제2 비디오 코덱은 기준선 H.263인 것을 특징으로 하는 장치.
  22. 제4항에 있어서,
    상기 유닛은 선택된 입력 P 프레임을 I 프레임으로 변환시키도록 더 적응된 것을 특징으로 하는 장치.
  23. 제4항에 있어서,
    상기 디코딩된 비트스트림으로부터 MPEG-4 "코딩되지 않은" 프레임을 제거하는 단계를 더 포함하는 것을 특징으로 하는 장치.
  24. 제4항에 있어서,
    하나 이상의 MPEG-4 "코딩되지 않은" 프레임을, 각각의 매크로블록이 "코딩되지 않은" 매크로블록으로 코딩된 H.263 프레임으로 변환시키는 단계를 더 포함하는 것을 특징으로 하는 장치.
  25. 인코딩되는 매크로블록의 소정의 이웃하는 소정의 근처에 움직임 벡터의 범위가 제공되는, 인코더 또는 트랜스코더에서의 감소된 메모리 사용을 제공하는 방법에 있어서,
    움직임 보상을 위해 기준 프레임 내에서 하나 이상의 픽셀을 결정하는 단계;
    상기 인코딩되는 매크로블록의 소정의 근처 내에 제공된 상기 하나 이상의 픽셀 내에 상기 움직임 벡터의 범위가 제공되는 동안 상기 매크로블록을 인코딩하는 단계; 및
    버퍼에 다른 인코딩된 매크로블록이 저장되어 있는 동안 상기 인코딩된 매크로블록을 상기 버퍼에 저장하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  26. 제25항에 있어서,
    상기 버퍼에는 코딩되지 않은 매크로블록이 전혀 없는 것을 특징으로 하는 방법.
  27. 제25항에 있어서,
    상기 인코더 또는 트랜스코더는 기준선 H.263 인코더 또는 트랜스코더이며,
    단일의 기준 프레임의 경우 버퍼에, 하나의 프레임 로우 플러스 하나의 매크로블록을 나타내는 일련의 매크로블록을 저장하는 단계;
    기준 프레임에 대해 가장 오래된 매크로블록을 상기 버퍼에 기록하는 단계; 및
    상기 버퍼 내의 상기 가장 오래된 매크로블록을 인코딩된 매크로블록으로 대체하는 단계
    를 포함하는 것을 특징으로 하는 방법.
KR1020057000845A 2002-07-17 2003-07-15 하이브리드 비디오 코덱 비트스트림간 트랜스코딩 방법 및장치 KR20050026484A (ko)

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
US39668902P 2002-07-17 2002-07-17
US39689102P 2002-07-17 2002-07-17
US60/396,891 2002-07-17
US60/396,689 2002-07-17
US41783102P 2002-10-10 2002-10-10
US60/417,831 2002-10-10
US43105402P 2002-12-04 2002-12-04
US60/431,054 2002-12-04
US10/620,329 2003-07-14
US10/620,329 US20040057521A1 (en) 2002-07-17 2003-07-14 Method and apparatus for transcoding between hybrid video CODEC bitstreams

Publications (1)

Publication Number Publication Date
KR20050026484A true KR20050026484A (ko) 2005-03-15

Family

ID=30119457

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057000845A KR20050026484A (ko) 2002-07-17 2003-07-15 하이브리드 비디오 코덱 비트스트림간 트랜스코딩 방법 및장치

Country Status (7)

Country Link
US (1) US20040057521A1 (ko)
EP (1) EP1523808A4 (ko)
JP (1) JP2005533468A (ko)
KR (1) KR20050026484A (ko)
CN (1) CN1669235A (ko)
AU (1) AU2003251939A1 (ko)
WO (1) WO2004008734A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2672708A2 (en) * 2011-01-31 2013-12-11 Electronics And Telecommunications Research Institute Method and apparatus for encoding/decoding images using a motion vector
WO2015194896A1 (ko) * 2014-06-18 2015-12-23 삼성전자 주식회사 휘도차를 보상하기 위한 인터 레이어 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6262906A (ja) * 1985-09-13 1987-03-19 Toray Ind Inc 溶融樹脂の押出装置
US8311095B2 (en) * 2002-07-17 2012-11-13 Onmobile Global Limited Method and apparatus for transcoding between hybrid video codec bitstreams
KR100566191B1 (ko) * 2003-07-30 2006-03-29 삼성전자주식회사 H.263 멀티미디어 칩을 이용한 엠펙-4 부호화기
JP4764706B2 (ja) * 2004-11-30 2011-09-07 パナソニック株式会社 動画像変換装置
FR2880724A1 (fr) * 2005-01-11 2006-07-14 France Telecom Procede et dispositif de codage optimise entre deux modeles de prediction a long terme
US8045615B2 (en) * 2005-05-25 2011-10-25 Qualcomm Incorporated Deblock filtering techniques for video coding according to multiple video standards
CN101194513B (zh) * 2005-06-10 2011-07-20 Nxp股份有限公司 上下交替运动矢量
US20070201554A1 (en) * 2006-02-24 2007-08-30 Samsung Electronics Co., Ltd. Video transcoding method and apparatus
US7672377B2 (en) * 2006-04-21 2010-03-02 Dilithium Holdings, Inc. Method and system for video encoding and transcoding
EP2080377A2 (en) * 2006-10-31 2009-07-22 THOMSON Licensing Method and apparatus for transrating bit streams
CN101001371B (zh) * 2007-01-19 2010-05-19 华为技术有限公司 视频转码的方法及其装置
US20080192736A1 (en) * 2007-02-09 2008-08-14 Dilithium Holdings, Inc. Method and apparatus for a multimedia value added service delivery system
WO2008098249A1 (en) * 2007-02-09 2008-08-14 Dilithium Networks Pty Ltd. Method and apparatus for the adaptation of multimedia content in telecommunications networks
CN101459833B (zh) * 2007-12-13 2011-05-11 安凯(广州)微电子技术有限公司 一种用于相似视频码流的转码方法及其转码装置
PT104083A (pt) * 2008-06-02 2009-12-02 Inst Politecnico De Leiria Método para transcodificar imagens de vídeo h.264/avc em mpeg-2
WO2010030569A2 (en) * 2008-09-09 2010-03-18 Dilithium Networks, Inc. Method and apparatus for transmitting video
TWI398169B (zh) * 2008-12-23 2013-06-01 Ind Tech Res Inst 移動向量之編碼模式選擇方法及其相關編碼模式選擇裝置,及其機器可讀取媒體
US8838824B2 (en) * 2009-03-16 2014-09-16 Onmobile Global Limited Method and apparatus for delivery of adapted media
US9049459B2 (en) * 2011-10-17 2015-06-02 Exaimage Corporation Video multi-codec encoders
US8606029B1 (en) 2011-08-12 2013-12-10 Google Inc. Hybridized image encoding based on region volatility
US9185152B2 (en) * 2011-08-25 2015-11-10 Ustream, Inc. Bidirectional communication on live multimedia broadcasts
KR20160118365A (ko) 2012-02-06 2016-10-11 노키아 테크놀로지스 오와이 코딩을 위한 방법 및 장치
JP6977422B2 (ja) * 2017-09-13 2021-12-08 株式会社Jvcケンウッド トランスコード装置、トランスコード方法及びトランスコードプログラム

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960005119B1 (ko) * 1993-09-10 1996-04-20 엘지전자주식회사 디지탈 브이씨알의 기록/재생장치
US5940130A (en) * 1994-04-21 1999-08-17 British Telecommunications Public Limited Company Video transcoder with by-pass transfer of extracted motion compensation data
SE515535C2 (sv) * 1996-10-25 2001-08-27 Ericsson Telefon Ab L M En transkoder
JP2000059790A (ja) * 1998-08-05 2000-02-25 Victor Co Of Japan Ltd 動画像符号列変換装置及びその方法
EP1048173A1 (en) * 1998-11-17 2000-11-02 Koninklijke Philips Electronics N.V. Method of transcoding coded video signals and corresponding transcoder with motion vector selection
US6625216B1 (en) * 1999-01-27 2003-09-23 Matsushita Electic Industrial Co., Ltd. Motion estimation using orthogonal transform-domain block matching
US7088725B1 (en) * 1999-06-30 2006-08-08 Sony Corporation Method and apparatus for transcoding, and medium
US20010047517A1 (en) * 2000-02-10 2001-11-29 Charilaos Christopoulos Method and apparatus for intelligent transcoding of multimedia data
US6647061B1 (en) * 2000-06-09 2003-11-11 General Instrument Corporation Video size conversion and transcoding from MPEG-2 to MPEG-4
US6934334B2 (en) * 2000-10-02 2005-08-23 Kabushiki Kaisha Toshiba Method of transcoding encoded video data and apparatus which transcodes encoded video data
JP4622077B2 (ja) * 2000-10-11 2011-02-02 ソニー株式会社 画像処理装置及び画像処理方法
KR100433516B1 (ko) * 2000-12-08 2004-05-31 삼성전자주식회사 트랜스코딩 방법
US7170932B2 (en) * 2001-05-11 2007-01-30 Mitsubishi Electric Research Laboratories, Inc. Video transcoder with spatial resolution reduction and drift compensation
US6671322B2 (en) * 2001-05-11 2003-12-30 Mitsubishi Electric Research Laboratories, Inc. Video transcoder with spatial resolution reduction
US7145946B2 (en) * 2001-07-27 2006-12-05 Sony Corporation MPEG video drift reduction
JP3874179B2 (ja) * 2002-03-14 2007-01-31 Kddi株式会社 符号化動画像変換装置
JP4275358B2 (ja) * 2002-06-11 2009-06-10 株式会社日立製作所 画像情報変換装置およびビットストリーム変換機ならびに画像情報変換送信方法
JP2004222009A (ja) * 2003-01-16 2004-08-05 Nec Corp 異種網接続ゲートウェイおよび異種網間通信課金システム
US7142601B2 (en) * 2003-04-14 2006-11-28 Mitsubishi Electric Research Laboratories, Inc. Transcoding compressed videos to reducing resolution videos

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2672708A2 (en) * 2011-01-31 2013-12-11 Electronics And Telecommunications Research Institute Method and apparatus for encoding/decoding images using a motion vector
EP2672708A4 (en) * 2011-01-31 2015-01-21 Korea Electronics Telecomm METHOD AND APPARATUS FOR ENCODING / DECODING IMAGES USING A MOTION VECTOR
US10244252B2 (en) 2011-01-31 2019-03-26 Electronics And Telecommunications Research Institute Method and apparatus for encoding/decoding images using a motion vector
EP3930332A1 (en) * 2011-01-31 2021-12-29 Electronics And Telecommunications Research Institute Apparatus for encoding/decoding images using a motion vector
WO2015194896A1 (ko) * 2014-06-18 2015-12-23 삼성전자 주식회사 휘도차를 보상하기 위한 인터 레이어 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
US10547865B2 (en) 2014-06-18 2020-01-28 Samsung Electronics Co., Ltd. Inter-layer video encoding method for compensating for luminance difference and device therefor, and video decoding method and device therefor

Also Published As

Publication number Publication date
WO2004008734A3 (en) 2004-08-26
US20040057521A1 (en) 2004-03-25
EP1523808A2 (en) 2005-04-20
AU2003251939A1 (en) 2004-02-02
AU2003251939A8 (en) 2004-02-02
JP2005533468A (ja) 2005-11-04
EP1523808A4 (en) 2011-01-19
CN1669235A (zh) 2005-09-14
WO2004008734A2 (en) 2004-01-22

Similar Documents

Publication Publication Date Title
KR20050026484A (ko) 하이브리드 비디오 코덱 비트스트림간 트랜스코딩 방법 및장치
US8311095B2 (en) Method and apparatus for transcoding between hybrid video codec bitstreams
US9350996B2 (en) Method and apparatus for last coefficient indexing for high efficiency video coding
US7499495B2 (en) Extended range motion vectors
US6526099B1 (en) Transcoder
US6275531B1 (en) Scalable video coding method and apparatus
EP1457056B1 (en) Skip macroblock coding
US8325797B2 (en) System and method of reduced-temporal-resolution update for video coding and quality control
EP1257127B1 (en) Video transcoder with spatial resolution reduction
US6078617A (en) Apparatus and method for coding and decoding video images
US20040136457A1 (en) Method and system for supercompression of compressed digital video
US10291934B2 (en) Modified HEVC transform tree syntax
US20080159641A1 (en) Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
US20100061447A1 (en) Skip modes for inter-layer residual video coding and decoding
US20080165849A1 (en) Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
US20100118982A1 (en) Method and apparatus for transrating compressed digital video
US20100104015A1 (en) Method and apparatus for transrating compressed digital video
KR100654431B1 (ko) 가변 gop 사이즈를 갖는 스케일러블 비디오 코딩방법및 이를 위한 스케일러블 비디오 인코더
US20070086515A1 (en) Spatial and snr scalable video coding
CN113727108B (zh) 视频解码方法、视频编码方法及相关设备
US20060188023A1 (en) Method of decoding a digital video sequence and related apparatus
EP1618742A1 (en) System and method for rate-distortion optimized data partitioning for video coding using parametric rate-distortion model
KR100382516B1 (ko) 물체 단위 영상신호 부호화/복호화 장치 및 방법
KR101353214B1 (ko) 비디오 코딩 방법 및 그 장치
KR20070033313A (ko) 콘벡스 훌 탐색을 이용한 레이트-왜곡 비디오 데이터 분할

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid