KR20040031644A - 비디오 인코딩 방법, 비디오 디코딩 방법, 비디오 인코딩장치, 비디오 디코딩 장치, 비디오 인코딩 프로그램, 및비디오 디코딩 프로그램 - Google Patents

비디오 인코딩 방법, 비디오 디코딩 방법, 비디오 인코딩장치, 비디오 디코딩 장치, 비디오 인코딩 프로그램, 및비디오 디코딩 프로그램 Download PDF

Info

Publication number
KR20040031644A
KR20040031644A KR1020030069014A KR20030069014A KR20040031644A KR 20040031644 A KR20040031644 A KR 20040031644A KR 1020030069014 A KR1020030069014 A KR 1020030069014A KR 20030069014 A KR20030069014 A KR 20030069014A KR 20040031644 A KR20040031644 A KR 20040031644A
Authority
KR
South Korea
Prior art keywords
frame
time
maximum delay
encoding
video
Prior art date
Application number
KR1020030069014A
Other languages
English (en)
Other versions
KR100603175B1 (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 KR20040031644A publication Critical patent/KR20040031644A/ko
Application granted granted Critical
Publication of KR100603175B1 publication Critical patent/KR100603175B1/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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
    • 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

Landscapes

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

Abstract

비디오 처리 시스템은 비디오 인코딩 장치(1) 및 비디오 디코딩 장치(2)를 제공한다. 인코딩 장치(1)는 비디오 데이타(D0)의 인코딩으로부터 초래되는 인코딩된 데이타(D1)에 추가하여, 역방향 예측에 의해서 초래된 최대 지연 시간을 출력한다. 디코딩 장치(2)는 인코딩 장치(1)로부터의 인코딩된 데이타(D1)에 추가하여, 역방향 예측에 의해서 초래된 최대 지연 시간의 입력을 행한다. 그런 후 디코딩 장치(2)는 동영상 데이타(D2)를 발생시키기 위해서 입력 최대 지연 시간을 참조하여 인코딩된 데이타(D1)를 디코딩한다.

Description

비디오 인코딩 방법, 비디오 디코딩 방법, 비디오 인코딩 장치, 비디오 디코딩 장치, 비디오 인코딩 프로그램, 및 비디오 디코딩 프로그램 {Video encoding method, video decoding method, video encoding apparatus, video decoding apparatus, video encoding program, and video decoding program}
본 발명은 비디오 인코딩 방법, 비디오 디코딩 방법, 비디오 인코딩 장치, 비디오 디코딩 장치, 비디오 처리 시스템, 비디오 인코딩 프로그램, 및 비디오 디코딩 프로그램에 관한 것이다.
비디오 신호 인코딩 기술들은 비디오 신호들의 전송 및 저장-재생을 위해서 이용된다. 공지된 기술들은 예를 들면, ITU-T 추천(recommendation) H.263(본 명세서에서는 H.263으로 참조), ISO/IEC 국제 표준 14496-2(MPEG-4 비주얼(visual), 이하 MPEG-4라고 함)등과 같은 국제 표준 비디오 코딩 방법들을 포함한다. 다른 공지된 보다 새로운 인코딩 방법은 ITU-T 및 ISO/IEC 즉, ITU-T 추천 H.264 및 ISO/IEC국제 표준 14496-10(합동 비디오 사양(joint video specification)의 합동 최종 위원회 초안(joint final committee draft), 이하 H.26L라고 함)에 의한 합동 국제 표준화를 위해서 계획된 비디오 코딩 방법이다. 동영상 신호가 시간에 따라 조금씩 변하는 일련의 이미지들(프레임들(frames))로 구성되기 때문에 인코딩을 위한 타깃(target)으로서 검색된 프레임(현 프레임(current frame))과 다른 프레임(참조 프레임(reference frame))사이에서 프레임간 예측을 실행하고 그것에 의해서 비디오 신호내의 시간적 리던던시(redundancy)를 제거하는 것은 이 비디오 코딩 방법들에서 일반적인 관행이다. 이러한 경우, 즉, 프레임간 예측이 현 프레임 및 현 프레임과 조금 다른 참조 프레임 사이에서 실행되는 경우에, 리던던시는 보다 많이 줄어들 수 있고 인코딩 효율은 증가될 수 있다.
이러한 이유로, 도 6에 도시된 바와 같이, 현 프레임(A1)에 대한 참조 프레임은 현 프레임(A1)에 대해서 시간적으로 이전의 프레임(A0) 또는 시간적으로 후속되는 프레임(A2) 중에 하나가 될 수 있다. 이전의 프레임을 이용한 예측은 순방향 예측으로 불려지고, 반면에 후속되는 프레임을 이용한 예측은 역방향 예측으로 불려진다. 양방향 예측은 두 예측 방법 중에 임의로 하나가 선택되는 예측 또는 두 방법들이 동시에 이용되는 예측으로 정의된다.
일반적으로, 도 6에 도시된 예와 같이, 그런 양방향 예측의 이용을 가지고, 순방향 예측을 위한 참조 프레임으로서 시간적으로 이전의 프레임 및 역방향 예측을 위한 참조 프레임으로서 시간적으로 후속되는 프레임 각각은 현 프레임 이전에 예비적으로 저장된다.
도 7a 및 도 7b는 도 6에 도시된 양방향 예측의 경우에서 프레임들의 디코딩(a) 및 출력(b)을 도시하는 도면들이다. 예를 들면, MPEG-4의 디코딩에서, 현 프레임(A1)이 양방향 프레임간 예측에 의해서 디코딩되는 경우에서, 현 프레임(A1)에 대해서 시간적으로 이전의 프레임인 프레임(A0) 및 시간적으로 후속되는 프레임인 프레임(A2)은 먼저 현 프레임(A1)의 디코딩 이전에 프레임간 예측의 이용없이 프레임간 예측에 의해서 디코딩된 프레임들로서 디코딩되거나 순방향 프레임간 예측에 의해서 디코딩된 프레임들로서 디코딩되고 그것들은 참조 프레임들로 남게된다. 그 후, 현 프레임(A1)은 이렇게 남겨진 두 개의 프레임들(A0, A2)을 이용하여 양방향 예측에 의해서 디코딩된다(도 7a).
그러므로, 이 경우에, 시간적으로 후속 참조 프레임(A2) 및 현 프레임(A1)의 디코딩 시간들의 순서는 그것들 각각의 디코딩된 이미지들의 출력시간들의 순서에 반대이다. 이 프레임들(A0, A1 및 A2)의 각각에 출력시간 정보(0, 1 및 2)가 부여되고, 이렇게 프레임들의 시간적 순서는 이 정보에 따라서 알려질 수 있다. 이러한 이유로, 디코딩된 이미지들은 오른쪽 방향으로 출력된다(도 7b). MPEG-4에서, 출력시간 정보는 절대값들로 기술된다.
최근의 어떤 비디오 코딩 방법들은 도 8에 도시된 바와 같이, 현 프레임에서 더 작은 변화를 가진 프레임으로부터 예측이 가능하도록, 순방향의 하나의 참조 프레임 및 역방향의 하나의 프레임대신에 다수의 참조 프레임들을 이용하면서 수행되는 앞선(foregoing) 프레임간 예측을 허용한다. 도 8은 현 프레임(B2)에 대해서 두 개의 시간적으로 이전의 프레임들(B0, B1) 및 두 개의 시간적으로 후속되는 프레임들(B3, B4)을 현 프레임(B2)에 대한 참조 프레임들로서 이용하는 예를 도시한다.
도 9의 (a) 및 (b)는 도 8에서 도시된 양방향 예측의 경우에 프레임들의 디코딩(a) 및 출력(b)을 도시하는 도면들이다. 예를 들면, H.26L의 디코딩의 경우에, 다수의 참조 프레임들이 참조 프레임들 수의 미리 결정된 상한까지의 범위내에서 남아있을 수 있고, 프레임간 예측을 수행하는 경우에, 최적의(optimal) 참조 프레임이 임의적으로 다수의 참조 프레임들로부터 지정된다. 현 프레임(B2)이 양방향으로 예측된 프레임으로서 디코딩되는 경우에, 참조 프레임들은 현 프레임(B2)의 디코딩 이전에 먼저 디코딩된다. 참조 프레임들은 현 프레임(B2)에 대해서 다수의 시간적으로 이전의 프레임들(즉, 두 프레임들 (B0, B1)) 및 다수의 시간적으로 후속되는 프레임들(즉, 두 프레임들 (B3, B4))을 포함하고, 상기 시간적으로 이전의 프레임들 및 후속되는 프레임들은 디코딩되고, 참조 프레임들로 남겨진다. 현 프레임(B2)은 프레임들(B0, B1, B3 및 B4)로부터 예측을 위해서 이용되는 것으로 임의적으로 지정되는 프레임으로부터 예측될 수 있다(도 9a).
그러므로, 이 경우에, 시간적으로 후속되는 참조 프레임들(B3, B4) 및 현 프레임(B2)의 디코딩 시간들의 순서는 그들 각각의 출력시간들의 순서에 반대로 된다. 이 프레임들(B0-B4)의 각각에 출력시간 정보 또는 출력 순서 정보(0-4)가 부여되고, 프레임들의 시간적 순서는 이 정보에 따라 알려질 수 있다. 이러한 이유로, 디코딩된 이미지들은 오른쪽 방향으로 출력된다(도 9b). 출력시간 정보는 절대값들로서 자주 기술된다. 출력 순서는 프레임 간격들이 일정한 경우에서 이용된다.
시간적으로 후속되는 프레임들을 예측 프레임들로서 이용하는 역방향 예측에의해서 디코딩을 수행하기 위해서, 시간적으로 후속되는 프레임들의 디코딩이 예측 프레임들로서 이용 가능해지기 위해서 현 프레임의 디코딩 이전에 끝나야 하는 조건을 만족하는 것이 필요하다. 이 경우에, 역방향 예측이 적용되지 않은 프레임과 비교했을 때, 현 프레임의 디코딩된 이미지가 이용가능해지기 전에, 지연이 초래된다.
이것은 도 10의 a내지 c를 참조하여 이하에서 명확하게 설명될 것이다. 도 10의 a내지 c는 도 6, 도 7a 및 도 7b에 도시된 예에 대응된다. 먼저, 각 프레임(A0-A2)의 인코딩된 데이타는 프레임간 예측의 실행을 위해서 필요한 순서로 디코딩되고, 프레임들의 간격들은 프레임 비율에 따라 일정한 시간 간격들이며, 프레임간 예측이 적용되는 지의 여부에 관계없이 그리고 프레임간 예측의 방향들에 관계없이 디코딩 동작에 필요한 시간은 각 프레임(A0-A2)에 대해서 무시될 수 있음이 가정된다(도 10a). 실제로, 프레임들(A0-A2)의 디코딩 간격들은 일정할 필요가 없고 프레임들(A0-A2)의 인코딩 비트들의 변화 등과 같은 인자들에 의존해서 변할 수 있다. 그러나, 디코딩 간격들은 평균적으로 일정하다고 가정될 수 있다. 디코딩 동작에 필요한 시간도 0은 아니지만 차이가 프레임들(A0-A2)사이에서 그렇게 크지 않다면 이하의 설명에서 큰 문제를 발생시키지는 않을 것이다.
본명세서에서 역방향 예측으로 인한 지연 및 어떤 다른 프레임(지연 및 순서 반대가 없는 프레임은 이하에서 역방향 예측-비연관된 프레임(backward prediction-nonassociated frame)으로 불려짐)에 대한 디코딩 시간 및 출력시간의 순서의 반대가 없는 프레임(A0)의 디코딩된 이미지가 획득된 시간은 디코딩된 이미지와 상호 관련된 출력시간으로 정의되고, 디코딩된 이미지는 출력시간에 출력되는 것으로 가정된다. 후속되는 프레임이 역방향 예측된 프레임(A1)이라고 가정하면, 그 프레임으로부터 디코딩된 이미지는 시간적으로 후속되는 프레임(A2) 이후에 디코딩되고, 이렇게 지연은 디코딩된 이미지가 획득되기 전에 만들어질 것이다.
이 이유로, 디코딩된 이미지가 역방향 예측-비연관된 프레임(A0)을 위해서 획득되는 시간이 출력시간의 참조로서 정의된다면, 역방향 예측된 프레임(A1)의 디코딩된 이미지는 디코딩된 이미지와 상호 관련된 출력시간에 의해서 획득되지 않는다(도 10b). 즉, 역방향 예측-비연관된 프레임(A0)과 역방향 예측된 프레임(A1)의 디코딩된 이미지 사이의 출력시간 간격이 역방향 예측의 실행에 필요한 지연시간만큼 원래의 시간 간격보다 더 길어지고, 이것은 부자연스러운 비디오 출력을 가져온다.
그러므로, 도 10c에서 도시된 바와 같이, 역방향 프레임간 예측이 비디오 코딩에 적용되는 경우에, 역방향 예측된 프레임(A1)에 대해서 정확히 출력시간 간격을 다룰 수 있기 위해서는 역방향 예측의 실행에 필요한 지연시간만큼 역방향 예측-비연관된 프레임(A0)의 디코딩된 이미지의 출력시간도 마찬가지로 예비적으로 지연시키는 것이 필요하다.
종래에는, 역방향 프레임간 예측이 예측에 대한 더 많은 옵션들을 가지며 그것으로 인해서 단순한 장치 상에서 장치의 실행을 어렵게 만드는 계산적(computational) 복잡성의 증가를 가져오고 지연 시간의 증가는 화상 회의같은 양방향 대화를 포함한 실시간 대화에서 바람직하지 않기 때문에, 역방향 프레임간 예측은 인코딩이 높은 비트(bit) 비율로 실행되며 TV 방송 또는 방송의 누적(accumulation)처럼, TV 방송 신호들의 비율과 같은 초당 30 프레임의 고정된 프레임 비율이 항상 이용되는 상황에서, 비디오 인코딩에 적용되었다.
예를 들면, 이 경우에, MPEG-4에서와 같이, 시간적으로 후속되는 프레임이 역방향 예측을 위한 참조 프레임으로 이용되는 경우에, 역방향 예측의 실행에 필요한 지연 시간은 일정하다. 예를 들면, 프레임 비율이 앞에서 설명된 바와 같이 초당 30프레임인 경우에, 지연 시간은 각 프레임의 시간 간격, 즉, 1/30초이다. 따라서 역방향 예측-비연관된 프레임의 디코딩된 이미지의 출력시간이 지연되는 시간은 똑같이 1/30초로 정해질 수 있다.
그러나, 최근에, 컴퓨터 성능의 개선 및 비디오 서비스들의 다양성의 발전 후, 인터넷 및 이동 통신을 통한 비디오 전송에서 지연은 허용될 수 있고, 낮은 비트 비율에서 인코딩을 요구하는 비디오 코딩에 대한 이용이 증가되고 있다. 낮은 비율에서의 인코딩의 구현을 위해서, 초당 30프레임들보다 작은 프레임 비율이 적용되거나 가변적인 프레임 비율이 인코딩 비트 비율을 제어하기 위해서 프레임 비율을 동적으로 변화시키는 데 이용된다.
그런 비디오 코딩에서, 전술된 역방향 예측이 인코딩 효율을 더욱 증가시키기 위해서 적용되는 경우에, 역방향 예측으로 인한 지연 시간은 전에 이용된 것처럼 항상 1/30초는 아니다. 가변적인 프레임 비율의 적용에서, 프레임 비율들은 일정하지 않다. 예를 들면, 작은 프레임 비율이 시간적인 기초로 이용되는 경우에,각 프레임의 시간 간격은 거기서 커지고, 이렇게 역방향 예측-비연관된 프레임의 디코딩된 이미지의 출력시간이 지연되어야 하는 시간은 특유하게 정해져 있지 않다. 이런 이유로, 역방향 예측-비연관된 프레임의 디코딩된 이미지와 역방향 예측된 프레임의 디코딩된 이미지 사이의 출력시간 간격을 정확하게 다루는 것은 실행 불가능하다.
이런 경우에, 큰 허용 가능한 지연 시간이 역방향 예측을 위해서 예비적으로 허용되고 역방향 예측-비연관된 프레임의 디코딩된 이미지의 출력시간이 이 지연 시간에 의해서 항상 지연되고 그것에 의하여 역방향 예측된 프레임의 디코딩된 이미지에 대한 출력시간 간격을 정확하게 다룰 수 있는 그런 가능한 수단이 있다. 하지만, 이 경우에, 큰 지연이 실제의 역방향 예측에서의 지연 시간에 관계없이, 디코딩된 이미지의 출력시간에 항상 추가된다.
다수의 참조 프레임들이 H.26L에서와 같이 역방향 예측에서 이용되는 때에는, 시간적으로 후속되는 프레임이 되는 모든 참조 프레임들의 디코딩은 현 프레임의 디코딩 이전에 완료되어야 한다. 이것은 역방향 예측의 실행을 위해서 필요한 지연 시간을 더욱 증가시킨다.
이 경우에, 역방향 예측에서 이용되는 참조 프레임들의 수는 현 프레임 이전에 디코딩된, 현 프레임에 대해서 시간적으로 후속되는 프레임들의 수로써 결정되기 때문에, 참조 프레임들의 수는 참조 프레임들의 최대 수의 미리 결정된 상한까지의 범위내에서 선택적으로 변화될 수 있다.
예를 들면, 참조 프레임들의 수의 상한이 4라고 가정하면, 역방향 예측에서이용되는 참조 프레임들의 수는 도 8에서 도시된 바와 같이 2가 되거나 도 11a에서 도시된 바와 같이 1, 또는 도 11b에서 도시된 바와 같이 3이 될 수 있다. 참조 프레임들의 수가 이런 방법으로 변할 수 있기 때문에, 역방향 예측의 실행을 위해서 필요한 지연 시간은 크게 변할 수 있다. 이것은 역방향 예측-비연관된 프레임의 디코딩된 이미지와 역방향 예측된 프레임의 디코딩된 이미지 사이의 출력시간 간격을 정확하게 다루는 것의 실패를 가져온다.
이 때, 역방향 예측에서 이용될 수 있는 참조 프레임들의 최대 수가 참조 프레임들의 수의 상한을 초과하지 않기 때문에, 참조 프레임들의 수의 상한에 따른 지연 시간은 역방향 예측의 실행에서 생길 수 있는 최대 지연 시간이다. 그러므로, 역방향 예측-비연관된 프레임의 디코딩된 이미지의 출력시간이 이 지연 시간만큼 항상 지연된다면, 역방향 예측된 프레임의 디코딩된 이미지에 대한 출력시간 간격은 정확하게 다루어질 수 있다.
그러나, 이 경우에, 역방향 예측된 프레임을 위해서 실제로 사용되는 참조 프레임들의 수에 관계 없이, 큰 지연이 디코딩된 이미지의 출력시간에 항상 추가될 수 있다. 앞에서 설명된 가변적인 프레임 비율들의 적용에서 참조 프레임들의 최대 수는 특유하게 결정될 수 있지만, 최대 지연 시간은 특유하게 결정될 수 없다.
지금까지의 비디오 코딩의 역방향 예측의 적용에서, 고정된 프레임 비율의 이용이 명확해지는 경우를 제외하고, 역방향 예측의 실행을 위해서 필요한 지연 시간을 특유하게 결정하는 것은 실행 불가능했었다. 이것은 역방향 예측-비연관된 프레임의 디코딩된 이미지와 역방향 예측된 프레임의 디코딩된 이미지 사이의 출력시간 간격을 정확하게 다루는 데 실패를 초래하며, 따라서 비디오 출력이 부자연스러워지는 문제를 야기한다.
다수의 참조 프레임들이 역방향 예측에서 이용되는 경우에, 지연 시간을 될 수 있는 한 변화시키기 위해서, 참조 프레임들의 수도 변화될 수 있다. 그러므로, 역방향 예측-비연관된 프레임의 디코딩된 이미지와 역방향 예측된 프레임의 디코딩된 이미지 사이의 시간 간격을 정확하게 다룰때의 실패의 문제가 있다. 이 문제에 대처하기 위해서 최대 지연 시간이 항상 가정되는 경우에, 큰 지연이 디코딩된 이미지의 출력시간에 항상 추가되는 문제가 생긴다.
본 발명은 상기 문제들을 해결하기 위해서 완성되었고, 본 발명의 목적은 역방향 프레임간 예측을 이용하는 적절한 시간 간격들로 디코딩된 이미지들의 출력을 달성할 수 있는 비디오 인코딩 방법, 비디오 디코딩 방법, 비디오 인코딩 장치, 비디오 디코딩 장치, 비디오 인코딩 프로그램 및 비디오 디코딩 프로그램을 제공하는 것이다.
도 1은 비디오 인코딩 장치, 비디오 디코딩 장치 및 비디오 처리 시스템의 개략적인 구조를 도시하는 블록도.
도 2는 양방향 예측이 수행되는 경우에 프레임들의 인코딩의 예를 도시하는 도면.
도 3은 비디오 인코딩 장치의 구성의 예를 도시하는 블록도.
도 4는 비디오 디코딩 장치의 구성의 예를 도시하는 블록도.
도 5의 (a) 및 (b)는 수행되는 도 2에서 도시된 양방향 예측의 경우에 프레임들의 디코딩(a) 및 출력(b)을 도시하는 도면.
도 6은 양방향 수행되는 예측의 경우에 프레임들의 인코딩을 도시하는 도면.
도 7a 및 도 7b는 수행되는 도 6에서 도시된 양방향 예측의 경우에 프레임들의 디코딩(a) 및 출력(b)을 도시하는 도면.
도 8은 수행되는 양방향 예측의 경우에 프레임들의 인코딩을 도시하는 도면.
도 9a 및 도 9b는 수행되는 도 8에서 도시된 양방향 예측의 경우에 프레임들의 디코딩(a) 및 출력(b)을 도시하는 도면.
도 10의 a내지 c는 수행되는 양방향 예측의 경우에 프레임들의 디코딩(a), 출력(b), 및 지연된 출력(c)을 도시하는 도면.
도 11a 및 도 11b는 수행되는 양방향 예측의 경우에 프레임들의 인코딩을 도시하는 도면.
*도면의 주요 부분에 대한 부호의 설명*
1: 비디오 인코딩 장치 2: 비디오 디코딩 장치
10: 인코더 15: 제어기
20: 디코더 21: 입력 버퍼
상기 목적을 달성하기 위해서, 본 발명에 따른 비디오 인코딩 방법은 하나의 프레임과 다른 프레임 사이의 프레임간 예측을 실행하는 비디오 인코딩 방법이고, 상기 비디오 인코딩 방법은 역방향 예측에 의해서 초래된 최대 지연 시간을 출력하는 것은 포함한다.
마찬가지로, 본 발명에 따른 비디오 인코딩 장치는 하나의 프레임과 다른 프레임 사이의 프레임간 예측을 실행하기 위한 비디오 인코딩 장치이고, 상기 비디오인코딩 장치는 역방향 예측에 의해서 초래된 최대 지연 시간을 출력하도록 구성된다.
앞에서 설명된 바와 같이, 본 발명에 따른 비디오 인코딩 방법 및 장치에서, 일련의 프레임들로 구성된 동화상(moving picture)을 인코딩하고 인코딩된 데이타를 출력하는 경우에, 역방향 예측으로 인한 최대 지연 시간은 인코딩된 데이타에 추가하여 출력된다. 이것은 역방향 프레임간 예측을 이용하는 적절한 시간 간격들에서 디코딩된 이미지들의 출력의 달성을 가능하게 한다.
본 발명에 따른 비디오 인코딩 프로그램은 컴퓨터가 하나의 프레임과 다른 프레임 사이의 프레임간 예측을 실행하는 비디오 인코딩을 실행하도록 하는 비디오 인코딩 프로그램이고, 상기 비디오 인코딩 프로그램은 컴퓨터가 역방향 예측에 의해서 초래된 최대 지연 시간을 출력하는 처리를 실행하도록 한다.
앞에서 설명된 바와 같이, 본 발명에 따른 비디오 인코딩 프로그램에서, 동화상을 인코딩하고 동화상의 인코딩된 데이타를 출력하는 경우에, 컴퓨터는 인코딩된 데이타에 추가하여, 최대 지연 시간을 출력하는 처리를 실행하도록 되어있다. 이것은 역방향 프레임간 예측을 이용하는 적절한 시간 간격들에서 디코딩된 이미지들의 출력의 달성을 가능하게 한다.
본 발명에 따른 비디오 디코딩 방법은 하나의 프레임과 다른 프레임 사이의 프레임간 예측을 실행하는 비디오 디코딩 방법이고, 상기 비디오 디코딩 방법은 역방향 예측에 의해서 생성된 최대 지연 시간의 입력을 행하는 것을 포함한다.
유사하게, 본 발명에 따른 비디오 디코딩 장치는 하나의 프레임과 다른 프레임 사이의 프레임간 예측을 실행하기 위한 비디오 디코딩 장치이고, 상기 비디오 디코딩 장치는 역방향 예측에 의해서 초래된 최대 지연 시간의 입력을 행하도록 구성되어 있다.
앞에서 설명된 바와 같이, 본 발명에 따른 비디오 디코딩 방법 및 장치는 동화상을 발생하기 위해서 입력 인코딩된 데이터를 디코딩하는 경우에, 역방향 예측으로 인한 최대 지연 시간은 인코딩된 데이터에 추가하여 들어온다. 이것은 역방향 프레임간 예측을 실행하는 적절한 시간 간격들에서 디코딩된 이미지들의 출력의 달성을 가능하게 한다.
본 발명에 따른 비디오 디코딩 프로그램은 컴퓨터가 하나의 프레임과 다른 프레임 사이의 프레임간 예측을 실행하는 비디오 디코딩을 실행하도록 하기 위한 비디오 디코딩 방법이고, 상기 비디오 디코딩 프로그램은 컴퓨터가 역방향 예측에 의해서 초래된 최대 지연 시간의 입력을 행하는 처리를 실행하도록 한다.
앞에서 설명된 바와 같이, 본 발명에 따른 비디오 디코딩 프로그램에서, 동화상을 발생하기 위해서 인코딩된 데이터를 디코딩하는 경우에, 컴퓨터는 인코딩된 데이터에 추가하여 최대 지연 시간의 입력을 행하는 처리를 실행하도록 만들어진다. 이것은 역방향 프레임간 예측을 이용하는 적절한 시간 간격들에서 디코딩된 이미지들의 출력을 달성하는 것을 가능하게 한다.
다른 비디오 인코딩 방법은 인코딩에 대한 타깃(target)으로서 프레임의 입력을 행하는 입력 단계, 미리 결정된 방법에 의해서 프레임을 인코딩하는 인코딩 단계, 및 프레임의 표시(display) 시간, 인코딩 시간 및 역방향 예측에 의해서 초래된 표시 시간으로부터 프레임의 최대 지연 시간을 계산하는 최대 지연 시간 계산 단계를 포함하는 방법이다.
유사하게, 다른 비디오 인코딩 장치는 인코딩에 대한 타깃으로서 프레임의 입력을 행하는 입력 수단, 미리 결정된 방법에 의해서 프레임을 인코딩하기 위한 인코딩 수단, 및 프레임의 표시 시간, 인코딩 시간 및 역방향 예측에 의해서 초래된 지연 시간으로부터 프레임의 최대 지연 시간을 계산하는 최대 지연 시간 계산 수단을 포함하는 장치이다.
유사하게, 다른 비디오 인코딩 프로그램은 컴퓨터가, 인코딩에 대한 타깃으로서 프레임의 입력을 행하는 입력 처리, 미리 결정된 방법에 의해서 프레임을 인코딩하는 인코딩 처리, 및 프레임의 표시 시간, 인코딩 시간 및 역방향 예측에 의해서 초래된 지연 시간으로부터 프레임의 최대 지연 시간을 계산하는 최대 지연 시간 계산 처리를 실행하도록 하는 프로그램이다.
앞에서 설명된 바와 같이, 본 발명에 따른 비디오 인코딩 방법, 장치 및 프로그램에서, 프레임의 최대 지연 시간은 동화상을 인코딩하는 경우에 계산된다. 이것은 역방향 프레임간 예측을 이용하는 적절한 시간 간격들에서 디코딩된 이미지들의 출력의 달성을 가능하게 한다.
다른 비디오 디코딩 방법은 미리 결정된 방법에 의해서 인코딩된 프레임의 인코딩된 데이타, 프레임의 디코딩 시간 및 최대 지연 시간을 포함하는 이미지 데이타의 입력을 초래하는 입력 단계, 재생된 이미지를 발생하기 위해서 인코딩된 데이타를 디코딩하는 디코딩 단계, 및 디코딩 시간 및 최대 지연 시간에 기초를 두고, 프레임의 표시를 위한 출력시간을 계산하는 이미지 출력시간 계산 단계를 포함한다.
유사하게, 다른 비디오 디코딩 장치는 미리 결정된 방법에 의해서 인코딩된 프레임의 인코딩된 데이타, 프레임의 디코딩 시간 및 최대 지연 시간을 포함하는 이미지 데이타의 입력을 행하는 입력 수단, 재생된 이미지를 발생하기 위해 인코딩된 데이타를 디코딩하는 디코딩 수단, 및 디코딩 시간 및 최대 지연 시간에 기초를 두고, 프레임의 표시를 위한 출력시간을 계산하기 위한 이미지 출력시간 계산 수단을 포함하는 장치이다.
유사하게, 다른 비디오 디코딩 프로그램은 컴퓨터가 미리 결정된 방법에 의해서 인코딩된 프레임의 인코딩된 데이타, 프레임의 디코딩 시간 및 최대 지연 시간을 포함하는 이미지 데이타의 입력을 행하는 입력 처리, 재생된 이미지를 발생하기 위해서 인코딩된 데이타를 디코딩하는 디코딩 처리, 및 디코딩 시간 및 최대 지연 시간에 기초를 두고, 프레임의 표시를 위한 출력시간을 계산하는 이미지 시간 계산 처리를 실행하도록 하는 프로그램이다.
앞에서 설명된 바와 같이, 본 발명에 따른 비디오 디코딩 방법, 장치, 및 프로그램에서 동화상을 발생시키기 위해서 인코딩된 데이타를 디코딩하는 경우에, 프레임의 표시를 위한 출력시간은 최대 지연 시간에 기초해서 계산된다. 이것은 역방향 프레임간 예측을 이용하는 적절한 시간 간격들에서 디코딩된 이미지들의 출력의 달성을 가능하게 한다.
비디오 인코딩 방법, 인코딩 장치 및 인코딩 프로그램에서 출력된 최대 지연시간에 관해서, 최대 지연 시간을 역방향 프레임간 예측이 될 수 밖에 없는 프레임의 발생 시간(occurrence time)과 역방향 예측에서 참조 프레임으로 이용될 수 있는 시간적으로 가장 후속되는 프레임의 발생 시간의 사이의 시간차로 정의하는 것이 바람직하다.
최대 지연 시간의 적용에 관해서, 최대 지연 시간은 전체 인코딩된 데이타에 적용된 정보로서 출력될 수 있다. 다른 실시예에서, 최대 지연 시간은 각 프레임에 적용되는 정보로서 출력될 수 있다. 또 다른 실시예에서, 최대 지연 시간은 최대 지연 시간이 지시되는 프레임 및 앞선 프레임 후에 각각의 시간적으로 후속되는 프레임에 적용되는 정보로서 선택적으로 출력될 수 있다.
비디오 디코딩 방법, 디코딩 장치, 및 디코딩 프로그램에서 입력된 최대 지연 시간과 관련해서, 최대 지연 시간을 다른 프레임에 대해서 디코딩 시간들 및 출력시간들의 순서의 반대가 없는 프레임의 디코딩 시간과 앞선 프레임과 관련된 디코딩된 이미지 출력시간 사이의 시간차로 정의하는 것이 바람직하다. 다른 실시예에서, 게다가, 최대 지연 시간을 기초로 해서 이후에 디코딩된 이미지 출력시간들에 대한 참조로 정하는 것이 바람직하다.
최대 지연 시간의 적용과 관련해서, 최대 지연 시간은 전체 인코딩된 데이타에 적용되는 정보로서 입력된다. 다른 실시예에서, 최대 지연 시간은 각 프레임에 적용되는 정보로서 입력된다. 또 다른 실시예에서, 최대 지연 시간은 최대 지연 시간이 지시되는 프레임 및 앞선 프레임 후에 각각의 시간적으로 후속되는 프레임에 적용되는 정보로서 선택적으로 들어온다.
본 발명에 따른 비디오 처리 시스템은 비디오 인코딩 장치 및 비디오 디코딩 장치를 포함하는 비디오 처리 시스템이고, 상기 인코딩 장치는 앞에서 설명된 비디오 인코딩 장치이며 상기 디코딩 장치는 앞에서 설명된 비디오 디코딩 장치이다.
앞에서 설명된 바와 같이, 비디오 처리 시스템은 역방향 예측으로 인한 최대 지연 시간의 출력 및 입력을 행하기 위해서 비디오 인코딩 장치 및 비디오 디코딩 장치를 이용해서 구성된다. 이것은 역방향 프레임간 예측을 이용하는 적절한 시간 간격들에서 디코딩된 이미지들의 출력을 달성할 수 있는 비디오 처리 시스템을 실현한다.
바람직한 실시예들의 설명
본 발명에 따른 비디오 인코딩 방법, 비디오 디코딩 방법, 비디오 인코딩 장치, 비디오 디코딩 장치, 비디오 인코딩 프로그램, 및 비디오 디코딩 프로그램의 바람직한 실시예들이 도면들과 관련하여 이하에서 자세히 설명될 것이다. 같은 요소들은 도면들의 중복 설명 없이 도면들의 설명 전체에 걸쳐 같은 참조 기호들로 표기된다.
먼저, 본 발명에서 동화상의 인코딩 및 디코딩이 개략적으로 설명된다. 도 1은 본 발명에 따른 비디오 인코딩 장치, 비디오 디코딩 장치 및 비디오 처리 시스템의 개략적인 구조를 도시하는 블록도이다. 비디오 처리 시스템은 비디오 인코딩 장치(1) 및 비디오 디코딩 장치(2)를 포함한다. 비디오 인코딩 장치(1), 비디오 디코딩 장치(2), 및 비디오 처리 시스템은 비디오 처리 시스템에서 실행되는 비디오 인코딩 방법 및 비디오 디코딩 장치와 함께 이하에서 설명될 것이다.
비디오 인코딩 장치(1)는 동화상들의 전송, 저장 및 재생을 위하여 일련의 이미지들(프레임들)로 구성된 비디오 데이타(D0)를 인코딩하고 인코딩된 데이터(D1)를 출력하도록 구성된 디바이스이다. 비디오 디코딩 장치(2)는 일련의 프레임들을 포함한 디코딩된 동영상 데이타(D2)를 발생하기 위해서 입력 인코딩된 데이타(D1)를 디코딩하도록 구성된 디바이스이다. 비디오 인코딩 장치(1) 및 비디오 디코딩 장치(2)는 인코딩된 데이터(D1)등과 같은 필요한 데이타를 전송하기 위해서 미리 결정된 유선 또는 무선 데이타 전송선에 의해서 연결된다.
앞에서 설명된 바와 같이, 비디오 인코딩 장치(1)에서 수행되는 동화상의 인코딩에서, 프레임간 예측은 인코딩을 위한 타깃으로서 입력된 비디오 데이타(D0)의 프레임과 참조 프레임으로서의 다른 프레임 사이에서 수행되고, 그것에 의해서 비디오 데이터에서 리던던시를 줄인다. 도 1에서 도시된 비디오 처리 시스템에서, 비디오 인코딩 장치(1)는 프레임간 예측을 위해서 시간적으로 후속되는 프레임으로부터 역방향 프레임간 예측을 수행한다. 게다가, 이 비디오 인코딩 장치(1)는 인코딩된 데이타(D1)에 추가하여, 역방향 예측에 의해서 초래된 최대 지연 시간을 출력한다.
그러한 비디오 인코딩 장치(1)에 대응하여, 비디오 디코딩 장치(2)는 비디오 인코딩 장치(1)로부터 인코딩된 데이타(D1)에 추가하여 역방향 예측에 의해서 초래된 최대 지연 시간의 입력을 행하도록 구성된다. 그러면, 비디오 디코딩 장치(2)는 비디오 데이타(D2)를 발생하기 위해서 입력 최대 지연 시간을 참조하여 인코딩된 데이타(D1)를 디코딩한다.
최대 지연 시간을 출력하도록 구성된 비디오 인코딩 장치(1) 및 비디오 인코딩 방법, 최대 지연 시간의 입력을 행하도록 구성된 비디오 디코딩 장치(2) 및 비디오 디코딩 방법, 및 앞에서 설명된 바와 같이 역방향 프레임간 예측에 대해서 적응된 상기 장치(1, 2)를 가지고 있는 비디오 처리시스템에 의해서, 역방향 프레임간 예측을 이용한 프레임간 예측의 실행에서 적절한 시간 간격들로 디코딩된 이미지들의 출력을 달성하는 것이 가능해진다.
비디오 코딩에서 출력된 최대 지연 시간과 관련해서, 예를 들면, 최대 지연 시간은 역방향 프레임간 예측이 될 수 밖에 없는 프레임의 발생 시간과 역방향 예측을 위해서 참조 프레임으로 이용될 수 있는 시간적으로 가장 후속되는 프레임의 발생시간 사이의 시간차로 정의될 수 있다.
비디오 디코딩에서 입력된 최대 지연 시간에 관하여, 예를 들면, 최대 지연 시간(이하, dpb_output_delay로 라고 함)은 역방향 프레임간 예측으로 인한 지연이 없고 다른 프레임에 대해서 디코딩 시간들 및 출력시간들의 순서 반대가 없는 프레임의 디코딩 시간(디코딩 시간은 본 명세서에서 이하 Tr로 불려짐) 및 적절한 프레임과 상호 관련된 디코딩된 이미지 출력시간(출력시간은 이하에서 To로 불려짐) 사이의 시간차로 정의될 수 있다. 이 경우에, 바람직하게, 디코딩된 이미지 출력시간들에 대한 참조는 이후 최대 지연 시간에 기초해서 정해진다.
최대 지연 시간의 적용은 전체 인코딩된 데이타에 최대 지연 시간을 적용하는 방법이나 각 프레임에 최대 지연 시간을 적용하는 방법이 될 수 있다. 다른 적용 방법은 최대 지연 시간을, 최대 지연 시간의 정보의 도입에 후속하는 프레임들의 각각, 즉, 최대 지연 시간이 지시되는 프레임 및 그 프레임에 시간적으로 후속되는 프레임들에 적용하는 방법이다. 이 방법들에서 최대 지연 시간의 출력, 입력, 적용 등은 이후 명확하게 설명될 것이다.
상기 비디오 인코딩 장치(1)에서 실행된 비디오 인코딩 방법에 대응하는 처리는 컴퓨터가 비디오 코딩을 실행하도록 하기 위한 비디오 인코딩 프로그램에 의해서 실현될 수 있다. 비디오 디코딩 장치(2)에서 실행되는 비디오 디코딩 방법에 대응하는 처리는 컴퓨터가 비디오 디코딩을 실행하도록 하기 위한 비디오 디코딩 프로그램에 의해서 실현될 수 있다.
예를 들면, 비디오 인코딩 장치(1)는 비디오 코딩 각각의 동작들에 필요한 소프트웨어 프로그램들을 저장하는 ROM 및 프로그램의 실행동안 데이타를 시간적으로 저장하는 RAM에 연결된 CPU로 구성된다. 이 구성에서, 비디오 인코딩 장치(1)는 CPU가 미리 결정된 비디오 인코딩 프로그램을 실행하도록 함으로써 실현될 수 있다.
유사하게, 비디오 디코딩 장치(2)는 비디오 디코딩의 각각의 동작들에 필요한 소프트웨어 프로그램들을 저장하는 ROM 및 프로그램의 실행 동안에 데이타를 시간적으로 저장하는 RAM에 연결된 CPU로 구성된다. 이 구성에서, 비디오 디코딩 장치(2)는 CPU가 미리 결정된 비디오 디코딩 프로그램을 실행함으로써 실현될 수 있다.
CPU가 비디오 인코딩 또는 비디오 디코딩을 위한 처리들을 실행하도록 하기 위한 상기 설명된 프로그램은 컴퓨터 판독가능 기록 매체에 기록되는 형태로 분배될 수 있다. 그런 기록 매체는 예를 들면, 하드디스크들 및 플로피 디스크들과 같은 자기 매체, CD-ROM 및 DVD-ROM과 같은 광학 매체, 플롭티컬 디스크(floptical disk)들과 같은 광자기 매체(magnetooptical media) 또는 예를 들면, 프로그램 명령들을 실행하거나 저장하기 위하여 장착된 RAM, ROM, 및 반도체 비휘발성 메모리들과 같은 하드웨어 디바이스를 포함한다.
비디오 인코딩 장치, 비디오 디코딩 장치, 상기 장치들이 제공되는 도 1에서 도시된 비디오 처리 시스템, 및 상기 장치들에 대응되는 비디오 인코딩 방법 및 비디오 디코딩 방법이 특정 실시예들과 함께 설명될 것이다. 이하 본 명세서에서의 설명은, 동영상의 인코딩 및 디코딩 동작들이 H.26L에 기초해서 구현되고, 비디오 인코딩에서의 동작에 관하여 명확하게 설명되지 않는 부분들은 H.26L에서의 동작에 준 한다는 가정에 기초한다. 그러나 본 발명은 H.26L에 국한되지 않는다.
(제 1 실시예)
먼저, 본 발명의 제 1 실시예가 설명될 것이다. 본 실시예는 고정된 프레임 비율에서의 인코딩의 구체화된 형태를 설명할 것이다. 본 실시예에 따른 인코딩에서, 역방향 예측을 위해서 이용된 참조 프레임들의 최대 수가 먼저 결정되고, 최대 지연 시간은 인코딩에 이용된 참조 프레임들의 최대 수 및 프레임 비율로부터 그 후 계산되고, 최대 지연 시간은 그 후 출력된다. 본 실시예에 따른 디코딩에서, 역방향 예측-비연관된 프레임의 디코딩의 경우에, 프레임의 디코딩된 이미지의 출력시간은 입력 최대 지연 시간에 의하여 지연된다. 출력시간을 위한 지연 시간은 역방향 예측 비연관-프레임의 디코딩된 이미지와 역방향 예측된 프레임의 디코딩된이미지 사이의 출력시간 간격이 원래 간격에서 벗어나는 것을 방지하기 위하여 일정하게 그 후의 모든 프레임에 적용된다.
인코딩에서, 이용된 참조 프레임들의 수의 상한이 예비적으로 결정되기 때문에, 역방향 예측을 위해서 이용된 참조 프레임들의 최대 수는 상한을 초과하지 않는 범위 내에서 먼저 결정된다. 그 후에, 인코딩에 이용되는 역시 미리 결정된 프레임 비율에 기초해서, 최대 지연 시간이 역방향 예측을 위하여 이용된 참조 프레임들의 최대 수에 따라 하나 또는 둘 이상의 프레임들의 시간 간격으로 계산된다.
도 2는 양방향 예측의 실행에서 프레임을 인코딩하는 예를 도시하는 도면이다. 여기서 도 2는 현 프레임(F2)을 위하여 이용된 참조 프레임이 현 프레임(F2) 이전의 두개의 시간적으로 이전의 프레임 (F0, F1) 및 현 프레임 (F2) 이후의 두 개의 시간적으로 후속되는 프레임(F3, F4)인 예를 도시한다.
역방향 예측을 위하여 이용된 참조 프레임들의 최대 수가 2이고 프레임 비율이 초당 15프레임인 경우에, 하나의 프레임의 시간 간격은 도 2에 도시된 바와 같이 1/15초이다. 그러므로, 이 경우에 최대 지연 시간은 2×(1/15) = 2/15 초이다.
인코딩 동작 중에, 각 프레임의 인코딩은 최대 지연 시간을 넘어선 지연 시간을 요구하는 역방향 예측을 수행할 수 없도록 제어된다. 명확하게는, 일련의 프레임들의 인코딩은 역방향 예측에 이용된 참조 프레임, 즉, 현 프레임 후속 시간적으로 후속되는 프레임은 인코딩되지 않고 역방향 예측에 이용된 참조 프레임들의 최대 수를 넘어선 현 프레임 이전에 출력되지 않는다.
도 3은 본 실시예에서 이용된 비디오 인코딩 장치의 구성의 예를 도시하는블록도이다. 도 3에 도시된 비디오 인코딩 장치(1)는 미리 결정된 방법에 의해서 프레임(이미지)을 인코딩하기 위한 인코더(10), 인코딩 장치(1)에서 각각의 부분들의 동작을 제어하기 위한 제어기(CPU)(15), 입력 단자(1a)와 인코더(10)사이에 위치된 프레임 메모리(11), 및 출력 단자(1b)와 인코더(10)사이에 위치된 멀티플렉서(12)로 구성된다. 제어기(15)는 그의 기능으로서 최대 지연 시간을 계산하기 위한 최대 지연 시간 계산기(16)를 가진다. 인코더(10)에는 출력 버퍼(13)가 제공된다.
본 인코딩 장치(1)의 비디오 인코딩에서, 비디오의 인코딩을 위한 조건들은 입력 단자(1c)를 통하여 입력된다. 이런 조건들의 입력에서, 인코딩 조건들은 일반적으로 키보드와 같은 입력 디바이스를 통하여 선택되거나 입력된다. 본 실시예에서, 명확하게는, 입력된 인코딩 조건들은 인코딩에 대한 타깃으로 프레임의 크기, 프레임 비율, 비트 비율을 포함하고, 거기에 추가하여 인코딩 조건들은 또한 비디오의 예측적 참조 구조(역방향 예측이 적용되는지), 참조 프레임(출력 버퍼(13)의 기능과 대응)들로 이용되거나 시간적으로 저장되는 프레임들의 수, 및 역방향 예측에 이용된 참조 프레임들의 수를 포함한다. 이런 조건들은 시간에 따라 변하도록 설정될 수 있다. 입력 단자(1c)를 통하여 입력되는 인코딩 조건들은 제어기(15)에 저장된다.
인코딩 동작의 시작과 함께, 제어기(15)는 인코딩 조건들을 인코더(10)에 보내고, 여기서 인코딩 조건들이 설정된다. 한편, 인코딩된 오브젝트(object)로서 프레임은 입력 단자(1a)를 통하여 입력되고, 프레임 메모리(11)를 통해서 인코딩되는인코더(10)로 제공된다. 프레임들의 순서는 역방향 예측의 실행을 위해서 변할 수 있기 때문에 입력 프레임은 시간적으로 프레임 메모리(11)에 저장된다. 예를 들면, 도 2에 도시된 예에서, 프레임(F2)은 프레임(F3, F4)전에 입력 단자(1a)를 통하여 입력되지만, 프레임 (F3, F4)후에 인코딩되고, 그러므로, 프레임(F2)은 시간적으로 프레임 메모리(11)내에서 저장된다.
인코더(10)는 H.26L의 알고리즘에 기초해서 프레임을 인코딩한다. 그 후 인코딩된 데이타는 다른 관련 정보와 다중화되는 멀티플렉서(12)로 보내지고 그 후 다중화된 데이타는 출력 단자(1b)를 통하여 출력된다. 예측을 위해서 이용되는 프레임은 인코더(10)에서 재생산되고 버퍼(13)내로 다음 프레임의 인코딩을 위해서 참조 프레임으로 저장된다.
본 실시예에서, 제어기(15)의 최대 지연 시간 계산기(16)는 참조 프레임들의 수 및 역방향 예측을 위해서 이용되고 입력 단자(1c)를 통하여 입력되는 프레임 비율에 기초해서 최대 지연 시간(dpb_output_delay)을 계산한다. 그 후 멀티플렉서(12)는 최대 지연 시간을 인코딩된 이미지 데이타에 추가한다. 게다가, 각 프레임의 식별을 위하여 표시(display) 차례를 확인하는 식별자(identifier)(N)는 또한 각 프레임의 인코딩된 데이타에 함께 추가된다.
역방향 예측이 적용되지 않을 때, 이용된 참조 프레임들의 수는 0이고, 따라서 dpb_output_delay의 값은 0이 되는 것은 당연한 일이다.
본 실시예에서, 최대 지연 시간을 전송하기 위한 신택스(syntax)가 인코딩에서 최대 지연 시간의 출력 및 디코딩에서 최대 지연 시간의 입력을 실행하기 위해서, H.26L내의 인코딩된 데이타 신택스에 추가되는 것으로 가정된다. 이 예에서, 새로운 신택스가 전체 인코딩된 데이타에 적용되는 정보를 전송하기 위해서 신택스인 시퀀스 파라미터 세트(sequence parameter set)로 추가된다.
변수 dpb_output_delay는 최대 지연 시간을 전하는 신택스로 정의된다. 여기서 변수 dpb_output_delay는 H.26L에서 시간을 지시하는 다른 신택스에서 이용되는 같은 시간 단위를 이용하고, 변수 dpb_output_delay가 90kHz의 시간 단위로 최대 지연 시간을 지시한다는 것이 가정된다. 그 시간 단위에서 지시된 숫자는 32-비트 신호화되지 않은 고정된 길이 코드에 의해서 인코딩되고 전송된다. 예를 들어, 최대 지연 시간이 앞에서 설명된 바와 같이, 2/15초인 경우에, dpb_output_delay는 (2/15) × 90000 = 12000 이다.
디코딩 동작 중에, dpb_output_delay에 의해서 운반되는 최대 지연 시간이 디코딩되고, 디코딩된 이미지의 출력시간은 디코딩된 이미지를 이용하여 지연된다.
도 4는 본 실시예에서 이용된 비디오 디코딩 장치의 구조의 예를 도시하는 블록도이다. 도 4에 도시된 비디오 디코딩 장치(2)는 재생된 이미지를 발생시키기 위해서 인코딩된 데이타를 디코딩하기 위한 디코더(20), 디코딩 장치(2)내에서 각각의 부분들의 동작들을 제어하기 위한 제어기(CPU)(25), 입력 단자(2a)와 디코더(20) 사이에 위치된 입력 버퍼(21), 및 출력 단자(2b)와 디코더(20) 사이에 위치된 출력 버퍼(22)로 구성된다. 제어기(25)는 기능으로 프레임의 표시를 위한 출력시간을 계산하기 위한 이미지 출력시간 계산기(26)를 가진다.
본 디코딩 장치(2)내의 비디오 디코딩에서 디코딩된 대상으로서 데이타는 입력 단자(2a)를 통하여 입력된다. 이 데이타는 도 3에 도시된 인코딩 장치(1), 최대 지연 시간 dpb_output_delay 및 각 프레임의 표시 순서를 식별하는 식별자(N)에 의해서 인코딩된 각 프레임의 인코딩된 데이타의 다중화된 데이타이다.
입력 데이타는 입력 버퍼(21)내로 저장된다. 제어기(25)에서의 명령이 디코딩 시간의 도착을 지시할 때, 하나의 프레임의 데이타는 입력 버퍼(21)부터 디코더(20)내로 입력되고, 그 후 H.26L의 알고리즘에 따라 디코딩된다. 이 방식으로 재생된 프레임은 출력 버퍼(22)내로 저장된다. 출력 버퍼(22)내의 프레임은 다음 프레임의 디코딩을 위해서 참조 프레임으로 이용되기 위해서 선(23)을 경유해서 디코더(20)로 되돌아 가게된다.
한편, 디코더(20)내에서 디코딩된 각 프레임의 최대 지연 시간 dpb_output_delay, 프레임 비율, 및 식별자(N)는 제어기(25)로 보내진다. 그 후 제어기(25)의 이미지 출력시간 계산기(26)는 이하의 공식에 따라 이 데이타로부터 각 프레임의 출력시간을 계산한다.
To(n) = dpb_output_delay + N ×프레임 간격
이 공식에서, 프레임 간격은 프레임 비율로부터 결정된다.
도 2에 도시된 예에서처럼 dpb_output_delay가 2/15초이고 프레임 간격이 1/15초라고 가정하면, 각 프레임들의 출력시간들은 위의 식에 따라서 다음과 같이 계산된다.
N = 0, To(0) = 2/15
N = 1, To(1) = 3/15
N = 2, To(2) = 4/15
N = 3, To(3) = 5/15
제어기(25)에 의한 이 방식으로 획득된 출력시간들 To(n)에 따라, 출력 버퍼(22)내의 프레임들은 도 5b에 도시된 프레임들 (F0), (F1), (F2) 및 (F3)에 의해서 지시된 바와 같이, 출력 단자(2b)에 일정한 간격들로 출력된다. 비록 도시되지는 않았지만, 출력 단자(2b)는 모니터 같은 표시 디바이스에 연결된다.
도 5의 (a) 및 (b)는 도 2에서 도시된 양방향 예측의 경우에 프레임들의 디코딩(a) 및 출력(b)을 도시하는 도면이다. 디코딩 동작에서 프레임들의 인코딩된 데이타는 프레임간 예측이 적용되는 지의 여부와 프레임간 예측의 방향들에 개의치 않고서, 프레임간 예측의 실행을 위해서 필요한 순서로 디코딩되고 프레임의 간격들은 프레임 비율에 따라 일정한 시간 간격들이며, 디코딩 동작에 필요한 시간은 각 프레임에서 무시될 수 있다는 것이 가정된다. 이 경우에, 역방향 예측된 프레임에서 역방향 예측의 실행에 필요한 최대 지연 시간은 하나의 프레임 또는 역방향 예측을 위해서 이용된 참조 프레임들의 최대 수에 따르는 프레임들의 시간 간격과 같다. 이 시간은 dpb_output_delay에 의해서 최대 지연 시간으로 전달된다. 따라서, 디코딩된 이미지를 출력하기 위해서는, 디코딩된 이미지의 출력시간이 최대 지연 시간에 의해서 지연된다.
실제로, 각 프레임들의 디코딩 간격들은 일정하지 않고, 프레임들의 인코딩 비트들의 변화와 같은 인자들에 의존해서 변할 수 있다. 각 프레임의 디코딩 동작에 필요한 시간은 프레임이 역방향 예측된 프레임인지의 여부에 따라서 또는 각 프레임의 인코딩 비트들에 따라서 변할 수 있다.
그러므로, 출력시간을 지연시키기 위해서 참조는, 디코딩된 이미지가 역방향 예측으로 인한 지연이 없으며, 도 5의 (a) 및 (b)에 도시된 바와 같이 다른 프레임과 관련하여 디코딩 시간들 및 출력시간들의 순서 반대가 없는 역방향 예측-비연관된 프레임(F0)을 위해서 획득되는 시간으로 정해진다. 즉, 디코딩된 이미지가 획득되는 시간을 dpb_output_delay에 의해서 나타낸 최대 지연 시간만큼 지연시킴으로써 획득된 시간은 디코딩된 이미지와 상호 관련된 출력시간과 동일한 시간으로 정의되고, 디코딩된 이미지들의 출력시 참조시간으로 이용된다. 그 후의 디코딩된 이미지들(F1-F4)은 이 참조 시간이 각각의 디코딩된 이미지와 상호 관련된 출력시간과 동일한 시간에 일치할 때 출력된다.
예를 들면, 최대 지연 시간이, 앞에서 설명된 바와 같이, 2/15초인 경우에, 디코딩된 이미지가 역방향 예측-비연관된 프레임을 위해서 획득되는 시간에서부터 2/15초의 지연 시간은 이 디코딩된 이미지와 상호 관련된 출력시간과 동일한 시간으로 정의되고, 후에 디코딩된 이미지들의 출력시 참조 시간으로 이용된다.
그 상황들에 따라, 상상컨대, 최대 지연 시간은 인코딩 또는 디코딩 동작을 단순하게 하기 위해서 의도적으로 발생되지 않는다. 그런 경우에, 최대 지연 시간을 발생시키기 위한 신택스는 신택스의 존재 또는 부재를 나타내는 플래그(flag)가 최대 지연 시간을 전송시키기 위한 신택스 이전에 전송된다는 가정 하에서 생략될 수 있도록 배열될 수 있다.
최대 지연 시간의 발생이 생략되는 경우에, 인코딩 동작이 예를 들면, 역방향 예측을 이용하지 않도록 또는 역방향 예측에서 이용된 참조 프레임들의 수가 참조 프레임들의 수의 상한을 초과하지 않는 범위 내에서 선택적으로 변할 수 있게 하기 위해서, 예비적으로 규정된다.
디코딩 동작은 인코딩 동작에서의 규정에 부합하여 실행되도록 구성될 수 있으며, 예를 들면, 역방향 예측이 적용되지 않을 때, 역방향 예측의 실행에 필요한 어떤 지연도 발생하지 않거나, 또는 디코딩 동작이 역방향 예측에 이용된 참조 프레임들의 수가 참조 프레임들의 상한을 초과하지 않는 범위 내에서 선택적으로 변할 수 있도록 구성될 수 있다. 즉, 지연 시간은 크게 변할 수 있다. 이 경우에, 디코딩 동작은 기대되는 최대 지연 시간을 가정하면서 처리를 항상 실행하도록 구성되거나, 디코딩 동작은 각 프레임의 지연 시간에 대한 고려하는 것 없이 디코딩된 이미지들의 출력시간 간격들의 변화를 허용하고 단순화된 처리를 실행하도록 구성된다.
본 실시예는 동작들이 H.26L에 기초하여 실행된다는 가정 하에서 설명되지만, 본 발명이 적용될 수 있는 비디오 인코딩 방법들은 H.26L에 국한되지 않으며 본 발명은 역방향 프레임간 예측을 이용하는 다양한 비디오 인코딩 방법들에 적용될 수 있음에 주의해야 한다.
본 실시예에서, 고정된 길이 코드들에 의한 신택스는 최대 지연 시간을 시퀀스 파라미터 세트(sequence parameter set)로 전송하기 위한 신택스로 추가되지만 전송을 위한 코드들 및 신택스 또는 최대 지연 시간을 표시하기 위한 시간 단위는 물론 이것들에 국한되지 않음을 유의해야 한다. 고정 길이 코드들은 가변 길이 코드들에 의해서 대체될 수 있으며 최대 지연 시간은 전체 인코딩된 데이타에 적용될 수 있는 정보를 옮길 수 있는 다양한 신택스들에 의해서 전송될 수 있다.
예를 들면, H.26L에서, 신택스는 추가적 상승 정보 메시지(Supplemental Enhancement Information Message)내로 추가될 수 있다. 다른 비디오 인코딩 방법을 이용하는 경우에, 최대 지연 시간은 적절한 인코딩 방법에서 인코딩된 전체의 데이타에 적용되는 정보를 전송하기 위해서 신택스에 의해서 전송될 수 있다. 다른 경우에, 최대 지연 시간은 또한 H.263을 이용한 통신에서 제어 정보를 운반하기 위해서 이용되는 ITU-T 추천 H.245로서 비디오 인코딩 방법에서 인코딩된 데이타 외부로 전송될 수 있다.
(제 2 실시예)
본 발명의 제 2 실시예는 이하에서 설명될 것이다. 본 실시예는 가변적인 프레임 비율들에서 인코딩의 구체화된 형태를 설명할 것이다. 본 실시예에 따른 인코딩 및 디코딩에서 동작들은 기본적으로 제 1 실시예와 거의 같다. 본 실시예가 가변적 프레임 비율들을 이용하기 때문에, 본 실시예는 역방향 예측-비연관된 프레임의 디코딩된 이미지와 역방향 예측된 프레임의 디코딩된 이미지 사이의 출력시간 간격이 프레임 비율들의 변화와 함께 원래의 간격에서 빗나가게 하지 않도록, 제 1 실시예의 인코딩 동작에 추가하여, 예비적으로 계산된 최대 지연 시간을 넘어선 지연시간을 요구하는 역방향 예측의 실행을 피하기 위해서 낮은 프레임 비율들에서의 동작을 포함한다.
인코딩 동작에서 참조 프레임들의 수의 상한은 예비적으로 결정되기 때문에,역방향 예측을 위해서 이용된 참조 프레임들의 최대 수는 상한을 초과하지 않는 범위 사이에서 먼저 결정된다. 그 후 최대 프레임 시간 간격은 인코딩 비트 비율들에 대한 제어 아래에서 예비적으로 결정된 타깃 프레임 비율에 기초해서 결정되고, 최대 지연 시간은 역방향 예측에서 이용된 참조 프레임들의 최대 수 및 최대 프레임 시간 간격에 따라서 하나 또는 둘 이상의 프레임들의 시간 간격으로 계산된다.
인코딩 동작에서, 각 프레임의 인코딩은 그 후 최대 지연 시간을 넘어선 지연 시간을 요구하는 역방향 예측을 피하도록 제어된다. 명확하게는, 프레임들의 인코딩의 순서는 역방향 예측에서 이용된 참조 프레임들, 즉, 현 프레임 후에 시간적으로 후속되는 프레임(역방향 예측에서 이용된 참조 프레임들의 최대 수를 초과)이 현 프레임 이전에 인코딩되고 출력되는 것을 피하도록 제어된다.
게다가, 인코딩 비트 비율들에 대한 제어로 인하여 인코딩 프레임 비율이 시간적으로 작아질 때, 그 경우의 프레임 시간 간격을 최대 프레임 시간 간격보다 더 크게 만들기 위해서, 각 프레임의 인코딩은 역방향 예측을 프레임의 인코딩에 적용되지 않도록 제어된다.
본 실시예는 최대 지연 시간이 인코딩에서 출력된다는 점에서, 최대 지연 시간을 전송하는 신택스 dpb_output_delay가 디코딩에서 입력을 행하도록 인코딩된 데이타 신택스에 추가된다는 점에서, 및 신택스의 정의면 에서, 본질적으로 제 1 실시예와 동일하다.
본 실시예에서, 디코딩 동작은 dpb_output_delay에 의해서 도입된 최대 지연 시간을 디코딩하고 dpb_output_delay의 이용에 의해서 디코딩된 이미지의 출력시간을 지연시키도록 배열된다. 이 처리는 또한 제 1 실시예와 동일하다.
(제 3 실시예)
본 발명의 제 3 실시예는 이하에서 설명될 것이다. 본 실시예는 최대 지연 시간이 선택적으로 각 프레임에 도입되고 유동적으로 변할 수 있는 구체화된 형태를 설명할 것이다. 본 실시예에 따른 인코딩 및 디코딩에서 동작들은 기본적으로 제 1 실시예 또는 제 2 실시예의 동작들과 유사하다.
본 실시예에서, 최대 지연 시간을 전송하는 신택스 dpb_output_delay(제 1 실시예에서 정의)는 전체 인코딩된 데이타에 적용된 정보를 운반하는 신택스 대신에, 각 프레임에 적용된 정보를 운반하는 신택스가 되는 화상 파라미터 세트(picture parameter set)내로 추가되도록 배열된다. 본 실시예의 신택스 dpb_output_delay은 제 1 실시예의 경우처럼, 90kHz의 시간 단위로 최대 지연 시간을 지시하도록 구성되고 그 시간 단위로 표시된 수는 32-비트 신호화되지 않은 고정 길이 코드에 의해서 인코딩되고 전송된다.
본 실시예는 인코딩에서 최대 지연 시간의 계산 및 디코딩에서 최대 지연 시간의 이용에 의한 디코딩된 이미지의 출력시간의 지연에 관해서 제 1 실시예와 거의 동일하다. 본 실시예에서 이용된 비디오 인코딩 장치 및 비디오 디코딩 장치의 구성들은 제 1 실시예관한 도 3 및 도 4에서 도시된 장치들과 거의 동일하다.
본 실시예에서 각 프레임의 최대 지연 시간 dpb_output_delay을 결정하는 방법을 설명해보자. 도 3에서 도시된 인코딩 장치(1)에서 제어기(15)는 제 1 실시예에서 설명된 바와 같이 그 방법에 의한 역방향 예측으로 인한 지연 시간(D)을 계산하고 각 프레임의 인코딩 시간 Tr(n)을 결정한다. 각 프레임의 표시 시간 Tin(n)이 프레임 메모리(11)로부터 공급되었을 때, 그 프레임의 dpb_지연_출력(n)은 다음과 같이 계산된다.
dpb_output_delay(n) = Tin(n) + D - Tr(n)
dpb_output_delay의 이 값은 적절한 프레임과 상호 관련되고 멀티플렉서(12)에서 다중화된다.
본 실시예에서, 각 프레임의 인코딩을 위한 시간 Tr(n)도 또한 함께 인코딩된다. 예를 들어 도 2를 보면, D = 2초, 및 Tin(n) = 0, 1/15, 2/15, 3/15 또는 4/15 (n= 0, 1, 2, 3, 또는 4)이다. 인코딩의 순서에서의 변화 때문에, Tr(n)은 다음과 같다: Tr(n) = 0, 1/15, 4/15, 2/15, 또는 3/15 (n = 0, 1, 2, 3, 또는 4). 여기에서 각 프레임의 dpb_output_delay(n)은 다음과 같이 획득된다.
n = 0, dpb_output_delay(0)
= 0 + 2/15 - 0 = 2/15
n = 1, dpb_output_delay(1)
= 1/15 + 2/15 - 1/15 = 2/15
n = 2, dpb_output_delay(2)
= 2/15 + 2/15 - 4/15 = 0
n = 3, dpb_output_delay(3)
= 3/15 + 2/15 - 2/15 = 3/15
n = 4, dpb_output_delay(4)
= 4/15 + 2/15 - 3/15 = 3/15
한편, 도 4에 도시된 디코딩 장치(2)에서, 디코더(20)는 각 프레임의 dpb_output_delay(n) 및 Tr(n)을 제어기(25)에 보내고 제어기(25)는 다음의 식에 기초해서 각 프레임의 출력시간 To(n)을 계산한다.
To(n) = Tr(n) + dpb_output_delay
예로써 도 2를 보면, 각 프레임에 대한 To(n)은 Tr(n) =0, 1/15, 4/15, 2/15, 또는, 3/15 (n = 0, 1, 2, 3, 또는 4) 및 dpb_output_delay(n) = 2/15, 2/15, 0, 3/15 또는 3/15 (n = 0, 1, 2, 3, 또는 4)에 기초로 하고, 위의 정의에 따라 다음과 같이 계산된다.
n = 0, To(0) = 0 + 2/15 = 2/15
n = 1, To(1) = 1/15 + 2/15 = 3/15
n = 2, To(2) = 4/15 + 0 = 4/15
n = 3, To(3) = 2/15 + 3/15 = 5/15
n = 4, To(4) = 3/15 + 3/15 = 6/15
즉, 모든 이미지들은 2/15초의 지연을 가지고서 모니터 상에 일정한 간격들로 표시된다. 역방향 예측이 적용되지 않을 때 역방향 예측을 위해서 이용된 참조 프레임들의 수는 0 이고 dpb_output_delay(n)은 이렇게 0이 되는 것은 당연한 일이다.
최대 지연 시간이 디코딩된 이미지들의 출력에서의 참조 시간을 역방향 예측-비연관된 프레임이 획득되는 시간으로부터 정의하기 때문에, 오직 역방향 예측-비연관된 프레임을 위한 최대 지연 시간을 전송하는 것은 충분하다. 그렇기 때문에, 예를 들어, 최대 지연 시간을 전송하기 위한 신택스가 신택스의 존재 또는 부재를 지시하는 플래그가 그전에 전송된다는 가정 하에서 생략 가능하도록 배열되는 구성을 이용하는 것이 가능하다. 최 전에 전송된 최대 지연 시간이 최대 지연 시간이 전송되지 않은 경우에 적용된다면, 신택스는 또한 역방향 예측-비연관된 프레임을 위해서 선택적으로 생략될 수 있도록 배열될 수 있다.
본 실시예에서 각 프레임의 신택스는 또한 제 1 실시예에서 정의된 바와 같이 전체의 인코딩된 데이타를 위한 신택스와 동시에 이용될 수 있다. 이 경우에, 신택스의 존재 또는 부재를 표시하는 플래그가 앞에서 설명된 바와 같이 그 이전에 전송된다면, 각 프레임을 위한 신택스는 생략 가능하다. 전체의 인코딩된 데이타를 위한 신택스에서 전송된 최대 지연 시간은 최대 지연 시간이 각 프레임을 위한 신택스에서 전송되기 전에 계속적으로 적용된다. 각 프레임을 위한 신택스에 의해서 최대 지연시간이 업데이트된 후에, 최대 지연 시간에 기초해서 지연된 시간은 그 후 모든 디코딩된 이미지의 출력에서 참조 프레임으로 이용된다.
본 실시예는 H.26L에 기초하여 구현된다는 가정에서 설명되지만 본 발명에 적용될 수 있는 비디오 인코딩 방법들은 H.26L에 국한되지 않으며 본 발명은 역방향 프레임간 예측을 이용한 다양한 비디오 인코딩 방법들에 적용될 수 있음을 주의해야 한다.
본 실시예에서, 최대 지연 시간을 전송하기 위한 신택스는 화상 변수 셋트로 추가되는 고정 길이 코드들에 의한 신택스이며, 코드들과 코드를 전송하기 위한 신택스 또는 최대 지연 시간을 표시하기 위한 시간 단위는 물론 이것들에 국한되지 않음은 당연하다. 고정 길이 코드들은 가변적 길이 코드들에 의해서 대체될 수 있으며 최대 지연 시간은 각 프레임에 적용될 수 있는 정보를 도입할 수 있는 다양한 신택스들로 도입될 수 있다.
예를 들면, 신택스는 H.26L내의 추가적 상승 정보 메시지 내로 추가될 수 있다. 다른 비디오 인코딩 방법이 적용될 때, 적절한 인코딩 방법으로 각 프레임에 적용되는 정보를 발생시키기 위한 신택스를 이용하는 것이 가능하다. 게다가, 정보는 H.263을 이용한 통신에서 제어 정보의 도입을 위해서 이용되는 ITU-T 추천 H.245같은 비디오 인코딩 방법에서 인코딩된 데이타 외부로 소개될 수 있다.
본 발명에 따른 비디오 인코딩 방법, 비디오 디코딩 방법, 비디오 인코딩 장치, 비디오 디코딩 장치, 비디오 처리 시스템, 비디오 인코딩 프로그램, 및 비디오 디코딩 프로그램은 이하에서 설명될 다음과 같은 효과를 제공한다. 즉, 출력되는 역방향 프레임간 예측에 의해서 일련의 프레임들로 구성된 동화상이 인코딩될 때, 비디오 인코딩 방법, 비디오 인코딩 장치, 및 역방향 예측으로 인한 최대 지연 시간을 출력하기 위해서 구성된 인코딩 프로그램, 비디오 디코딩 방법, 디코딩 장치, 및 최대 지연 시간의 입력을 행하도록 구성된 디코딩 프로그램, 및 그것들을 이용한 비디오 처리 시스템에 의해서, 역방향 프레임간 예측을 이용하는 적절한 시간 간격들에서 디코딩된 이미지들의 출력을 달성하는 것이 실행 가능해진다.
특히, 기존 기술들과 달리, 출력시간들은 절대값들이 아니라. 디코딩 시간Tr로부터의 상대값들이며, 그렇기 때문에 본 발명은 심지어 프레임 비율이 가변적인 경우에서조차, 작은 수의 비트들에 의해서 최대 지연 시간 dpb_output_delay값을 정확히 설명하고 전송하는 성능의 효과를 제공한다. 디코딩 시간 Tr이 추이(shift)를 가지거나 받지 못했어도 대응 이미지가 디코딩의 완료의 시간으로부터 dpb_output_delay의 지연과 함께 출력되며 이렇게 이미지들이 정확한 간격들에서 출력되는 장점을 제공한다.

Claims (20)

  1. 하나의 프레임과 다른 프레임 사이의 프레임간 예측을 실행하는 비디오 인코딩 방법으로서, 상기 비디오 인코딩 방법은,
    역방향 예측에 의해서 생길 수 있는 최대 지연 시간을 출력하는 것을 포함하는 비디오 인코딩 방법.
  2. 인코딩 방법에 있어서,
    인코딩을 위한 타깃으로서 프레임의 입력을 행하는 입력 단계,
    미리 결정된 방법에 의해서 프레임을 인코딩하는 인코딩 단계, 및
    프레임의 표시 시간, 인코딩 시간, 및 역방향 예측에 의해서 초래되는 지연 시간으로부터 프레임의 최대 지연 시간을 계산하는 최대 지연 시간 계산 단계를 포함하는, 비디오 인코딩 방법.
  3. 하나의 프레임과 다른 프레임 사이의 프레임간 예측을 실행하는 비디오 디코딩 방법으로서,
    역방향 예측에 의해서 생길 수 있는 최대 지연 시간의 입력을 행하는 것을 포함하는, 비디오 디코딩 방법.
  4. 비디오 디코딩 방법에 있어서,
    미리 결정된 방법에 의해서 인코딩된 프레임의 인코딩된 데이타, 프레임의 디코딩 시간, 및 최대 지연 시간을 포함하는 이미지 데이타의 입력을 행하는 입력 단계,
    재생된 이미지를 발생하기 위해서 인코딩된 데이타를 디코딩하는 디코딩 단계, 및
    상기 디코딩 시간 및 최대 지연 시간에 기초하여, 프레임의 표시를 위해서 출력시간을 계산하는 이미지 출력시간 계산 단계를 포함하는, 비디오 디코딩 방법.
  5. 하나의 프레임과 다른 프레임 사이의 프레임간 예측을 실행하기 위한 비디오 인코딩 장치로서,
    상기 비디오 인코딩 장치는,
    역방향 예측에 의해서 초래되는 최대 지연 시간을 출력하도록 구성되는, 비디오 인코딩 장치.
  6. 비디오 인코딩 장치에 있어서,
    인코딩을 위한 타깃으로서 프레임의 입력을 행하는 입력 수단,
    미리 결정된 방법에 의해서 상기 프레임을 인코딩하기 위한 인코딩 수단 및
    프레임의 표시 시간, 인코딩 시간, 및 역방향 예측에 의해서 초래되는 지연 시간으로부터 프레임의 최대 지연 시간을 계산하기 위한 최대 지연 시간 계산 수단을 포함하는, 비디오 인코딩 장치.
  7. 제 5항 또는 제 6항에 에 있어서,
    상기 최대 지연 시간이 역방향 프레임간 예측될 프레임의 발생시간과 역방향 예측에서 참조 프레임으로 이용될 수 있는 시간적으로 최종의 후속되는 프레임의 발생 시간 사이의 시간차로서 정의되는, 비디오 인코딩 장치.
  8. 제 5항 또는 제 6항에 있어서,
    상기 최대 지연 시간은 전체 인코딩된 데이터에 적용되는 정보로서 출력되는, 비디오 인코딩 장치.
  9. 제 5항 또는 제 6항에 있어서,
    상기 최대 지연 시간은 각 프레임에 적용되는 정보로서 출력되는, 비디오 인코딩 장치.
  10. 제 5항 또는 제 6항에 있어서,
    상기 최대 지연 시간은 최대 지연 시간이 전송되는 프레임 및 상기 프레임 이후의 각각의 시간적으로 후속되는 프레임에 적용되는 정보로서 선택적으로 출력되는, 비디오 인코딩 장치.
  11. 하나의 프레임과 다른 프레임 사이의 프레임간 예측을 실행하기 위한 비디오디코딩 장치로서,
    상기 비디오 디코딩 장치는,
    역방향 예측에 의해서 초래되는 최대 지연 시간의 입력을 행하도록 구성되는, 비디오 디코딩 장치.
  12. 비디오 디코딩 장치에 있어서,
    미리 결정된 방법에 의해서 인코딩된 프레임의 인코딩된 데이타, 프레임의 디코딩 시간, 및 최대 지연 시간을 포함하는 이미지 데이타의 입력을 행하는 입력 수단,
    재생된 이미지를 발생하기 위해서, 상기 인코딩된 데이타를 디코딩하기 위한 디코딩 수단, 및
    디코딩 시간 및 최대 지연 시간에 기초해서, 프레임의 표시를 위한 출력시간을 계산하기 위한 이미지 출력시간 계산 수단을 포함하는 비디오 디코딩 장치.
  13. 제 11항 또는 제 12항에 있어서,
    상기 최대 지연 시간이 다른 프레임에 대해서 디코딩 시간들 및 출력시간들의 순서들의 반대가 없는 프레임의 디코딩 시간과 상기 프레임과 상호 관련된 디코딩된 이미지 출력시간 사이의 시간차로서 정의되는, 비디오 디코딩 장치.
  14. 제 11항 또는 제 12항에 있어서,
    상기 최대 지연 시간은 전체의 인코딩된 데이터에 적용되는 정보로서 입력되는, 비디오 디코딩 장치.
  15. 제 11항 또는 제 12항에 있어서,
    상기 최대 지연 시간은 각 프레임에 적용되는 정보로서 입력되는, 비디오 디코딩 장치.
  16. 제 11항 또는 제 12항에 있어서,
    상기 최대 지연 시간은 최대 지연 시간이 전송되는 프레임 및 상기 프레임 이후의 각각의 시간적으로 후속되는 프레임에 적용되는 정보로서 선택적으로 입력되는, 비디오 디코딩 장치.
  17. 컴퓨터가 하나의 프레임과 다른 프레임 사이의 프레임간 예측을 실행하는 비디오 인코딩을 실행하도록 하기 위한 비디오 인코딩 프로그램으로서,
    상기 비디오 인코딩 프로그램은,
    상기 컴퓨터가 역방향 예측에 의해서 초래되는 최대 지연 시간을 출력하는 처리를 수행하도록 하는, 비디오 인코딩 프로그램.
  18. 비디오 인코딩 프로그램에 있어서,
    인코딩을 위한 타깃으로서 프레임의 입력을 행하는 입력 처리,
    미리 결정된 방법에 의해서 프레임을 인코딩하는 인코딩 처리, 및
    프레임의 표시 시간, 인코딩 시간, 및 역방향 예측에 의해서 초래되는 지연 시간으로부터 프레임의 최대 지연 시간을 계산하는 최대 지연 시간 계산 처리를 컴퓨터가 실행하도록 하는 비디오 인코딩 프로그램.
  19. 컴퓨터가 하나의 프레임과 다른 프레임 사이의 프레임간 예측을 실행하는 비디오 디코딩을 실행하도록 하는 비디오 디코딩 프로그램으로서,
    상기 비디오 디코딩 프로그램은,
    역방향 예측에 의해서 생길 수 있는 최대 지연 시간의 입력을 행하는 처리를 상기 컴퓨터가 실행하도록 하는 비디오 디코딩 프로그램.
  20. 비디오 디코딩 프로그램에 있어서,
    미리 결정된 방법에 의해서 인코딩된 프레임의 인코딩된 데이타, 프레임의 디코딩 시간, 및 최대 지연 시간을 포함하는 이미지 데이타의 입력을 행하는 입력 처리,
    재생된 이미지를 발생하는 인코딩된 데이타를 디코딩하는 디코딩 처리, 및
    디코딩된 시간 및 최대 지연 시간에 기초해서, 프레임의 표시를 위한 출력시간을 계산하는 이미지 출력시간 계산 처리를 컴퓨터가 실행하도록 하는 비디오 디코딩 프로그램.
KR20030069014A 2002-10-03 2003-10-04 동화상 부호화 방법, 동화상 복호 방법, 동화상 부호화 장치, 동화상 복호 장치, 동화상 부호화 프로그램을 기록한 컴퓨터 판독 가능한 기록매체, 및 동화상 복호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 KR100603175B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2002291610 2002-10-03
JPJP-P-2002-00291610 2002-10-03
JPJP-P-2003-00190634 2003-07-02
JP2003190634A JP3534742B1 (ja) 2002-10-03 2003-07-02 動画像復号方法、動画像復号装置、及び動画像復号プログラム

Publications (2)

Publication Number Publication Date
KR20040031644A true KR20040031644A (ko) 2004-04-13
KR100603175B1 KR100603175B1 (ko) 2006-07-24

Family

ID=31996245

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20030069014A KR100603175B1 (ko) 2002-10-03 2003-10-04 동화상 부호화 방법, 동화상 복호 방법, 동화상 부호화 장치, 동화상 복호 장치, 동화상 부호화 프로그램을 기록한 컴퓨터 판독 가능한 기록매체, 및 동화상 복호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체

Country Status (10)

Country Link
US (5) US7596178B2 (ko)
EP (5) EP2268035B1 (ko)
JP (1) JP3534742B1 (ko)
KR (1) KR100603175B1 (ko)
CN (1) CN1264333C (ko)
DK (1) DK2268035T3 (ko)
ES (5) ES2728323T3 (ko)
PT (3) PT3200462T (ko)
TR (1) TR201809690T4 (ko)
TW (1) TWI225360B (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100754736B1 (ko) * 2006-02-10 2007-09-03 삼성전자주식회사 영상 수신 시스템에서 영상 프레임의 재생 방법 및 그 장치
KR101044947B1 (ko) * 2007-01-15 2011-06-28 삼성전자주식회사 영상 데이터 스트림의 재생 방법 및 적응적 전송 제어 방법
KR20140043767A (ko) * 2011-06-30 2014-04-10 마이크로소프트 코포레이션 비디오 인코딩 및 디코딩시의 레이턴시 저감 기법

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
JP5007759B2 (ja) * 2002-07-19 2012-08-22 ソニー株式会社 符号化装置、符号化方法、復号化装置及び復号化方法
JP4806888B2 (ja) 2002-07-19 2011-11-02 ソニー株式会社 復号化装置及び復号化方法
JP3534742B1 (ja) 2002-10-03 2004-06-07 株式会社エヌ・ティ・ティ・ドコモ 動画像復号方法、動画像復号装置、及び動画像復号プログラム
EP2355360B1 (en) 2002-10-05 2020-08-05 QUALCOMM Incorporated Systematic encoding and decoding of chain reaction codes
KR101022744B1 (ko) * 2002-11-29 2011-03-22 소니 주식회사 복호 장치 및 그 방법
US20050226327A1 (en) * 2004-03-30 2005-10-13 Kim Seong-Bong MPEG coding method, moving picture transmitting system and method using the same
WO2005112250A2 (en) 2004-05-07 2005-11-24 Digital Fountain, Inc. File download and streaming system
JP4079122B2 (ja) * 2004-06-10 2008-04-23 三菱電機株式会社 液晶駆動用画像処理回路、および液晶駆動用画像処理方法
EP1766981B1 (en) * 2004-07-01 2009-10-14 OY Gamecluster Ltd A method and a device for transferring predictive and non-predictive data frames
FR2872666A1 (fr) 2004-07-01 2006-01-06 Nextream France Sa Dispositif et procede de multiplexage associe a un dispositif de codage
JP4902358B2 (ja) * 2004-12-02 2012-03-21 ソニー株式会社 符号化装置および方法、並びにプログラム
US8139090B2 (en) * 2005-03-10 2012-03-20 Mitsubishi Electric Corporation Image processor, image processing method, and image display device
KR101292851B1 (ko) 2006-02-13 2013-08-02 디지털 파운튼, 인크. 가변적 fec 오버헤드 및 보호 구간을 이용하는 스트리밍및 버퍼링
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
US7971129B2 (en) 2006-05-10 2011-06-28 Digital Fountain, Inc. Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient users of the communications systems
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
JP4993676B2 (ja) * 2006-09-01 2012-08-08 キヤノン株式会社 画像符号化装置及び画像符号化方法
US20100074340A1 (en) * 2007-01-08 2010-03-25 Thomson Licensing Methods and apparatus for video stream splicing
US20080253451A1 (en) * 2007-04-13 2008-10-16 Media Tek Inc. Methods for real-time monitoring time reference in decoding systems
RU2010114256A (ru) 2007-09-12 2011-10-20 Диджитал Фаунтин, Инк. (Us) Формирование и передача исходной идентификационной информации для обеспечения надежного обмена данными
KR101590633B1 (ko) * 2008-11-11 2016-02-02 삼성전자주식회사 슬라이스 단위로 분할된 동영상을 처리하는 동영상 부호화/복호화장치 및 동영상 부호화/복호화방법
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US8665367B2 (en) * 2010-01-29 2014-03-04 Sharp Laboratories Of America, Inc. Video resolution enhancement technique
US9485546B2 (en) 2010-06-29 2016-11-01 Qualcomm Incorporated Signaling video samples for trick mode video representations
US8918533B2 (en) * 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US9456015B2 (en) 2010-08-10 2016-09-27 Qualcomm Incorporated Representation groups for network streaming of coded multimedia data
US8588310B2 (en) * 2010-08-31 2013-11-19 General Instrument Corporation Method and apparatus for managing delivery of bits to a decoder
US8885729B2 (en) 2010-12-13 2014-11-11 Microsoft Corporation Low-latency video decoding
KR20120067199A (ko) * 2010-12-15 2012-06-25 한국전자통신연구원 비디오 인코딩 장치 및 그 제어 방법
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
JP5891975B2 (ja) * 2012-07-02 2016-03-23 富士通株式会社 動画像符号化装置、動画像復号装置、動画像符号化方法および動画像復号方法
US9843819B2 (en) * 2012-07-09 2017-12-12 Sun Patent Trust Image encoding method, image decoding method, image encoding device, and image decoding device
CN105323587B (zh) * 2014-06-09 2018-08-28 浙江大学 视频的图像输出管理方法及装置、传输视频码流的方法
US10412383B2 (en) * 2017-08-15 2019-09-10 Google Llc Compressing groups of video frames using reversed ordering
CN110677653B (zh) * 2019-09-27 2024-01-09 腾讯科技(深圳)有限公司 视频编解码方法和装置及存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0700205A3 (en) * 1994-08-31 1997-04-02 Toshiba Kk Multimedia television receiver and initialization process therefor
JP3644995B2 (ja) 1995-01-25 2005-05-11 株式会社日立国際電気 符号化伝送方式におけるタイムスタンプ値演算方法
JPH08275152A (ja) * 1995-03-29 1996-10-18 Hitachi Ltd ディジタル映像信号復号装置
US5828787A (en) 1995-04-21 1998-10-27 Sony Corporation Encoding apparatus and encoding method of motion image
US5952943A (en) * 1996-10-11 1999-09-14 Intel Corporation Encoding image data for decode rate control
US6188700B1 (en) * 1996-11-07 2001-02-13 Sony Corporation Method and apparatus for encoding MPEG signals using variable rate encoding and dynamically varying transmission buffers
JP3611941B2 (ja) * 1997-03-05 2005-01-19 沖電気工業株式会社 画像データ復号装置および画像データ復号方法
JP4010024B2 (ja) * 1997-09-02 2007-11-21 ソニー株式会社 圧縮動画像信号のデコード装置
US6249318B1 (en) * 1997-09-12 2001-06-19 8×8, Inc. Video coding/decoding arrangement and method therefor
JP3299185B2 (ja) * 1998-06-10 2002-07-08 日本ビクター株式会社 符号化装置
US6904089B1 (en) * 1998-12-28 2005-06-07 Matsushita Electric Industrial Co., Ltd. Encoding device and decoding device
US6934335B2 (en) * 2000-12-11 2005-08-23 Sony Corporation Video encoder with embedded scene change and 3:2 pull-down detections
JP2002218461A (ja) 2001-01-18 2002-08-02 Victor Co Of Japan Ltd 符号化信号の多重化装置
JP3534742B1 (ja) * 2002-10-03 2004-06-07 株式会社エヌ・ティ・ティ・ドコモ 動画像復号方法、動画像復号装置、及び動画像復号プログラム
KR101449610B1 (ko) * 2013-12-09 2014-10-13 한국원자력연구원 고주파 전자가속기의 고출력, 안정적 운전을 위한 rf 자동 주파수 제어 모듈 및 그 제어 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100754736B1 (ko) * 2006-02-10 2007-09-03 삼성전자주식회사 영상 수신 시스템에서 영상 프레임의 재생 방법 및 그 장치
US8228999B2 (en) 2006-02-10 2012-07-24 Samsung Electronics Co., Ltd. Method and apparatus for reproduction of image frame in image receiving system
KR101044947B1 (ko) * 2007-01-15 2011-06-28 삼성전자주식회사 영상 데이터 스트림의 재생 방법 및 적응적 전송 제어 방법
KR20140043767A (ko) * 2011-06-30 2014-04-10 마이크로소프트 코포레이션 비디오 인코딩 및 디코딩시의 레이턴시 저감 기법
US10805640B2 (en) 2011-06-30 2020-10-13 Microsoft Technology Licensing, Llc Reducing latency in video encoding and decoding

Also Published As

Publication number Publication date
EP3355584B1 (en) 2019-05-01
JP2004180266A (ja) 2004-06-24
US7751481B2 (en) 2010-07-06
CN1264333C (zh) 2006-07-12
CN1497941A (zh) 2004-05-19
US8842728B2 (en) 2014-09-23
TW200406117A (en) 2004-04-16
EP2268036A2 (en) 2010-12-29
US20040066847A1 (en) 2004-04-08
EP2268035A3 (en) 2012-05-09
US10158871B2 (en) 2018-12-18
PT3355584T (pt) 2019-06-06
KR100603175B1 (ko) 2006-07-24
ES2530447T3 (es) 2015-03-02
US20090310675A1 (en) 2009-12-17
EP2268035A2 (en) 2010-12-29
EP1406452A3 (en) 2005-05-11
JP3534742B1 (ja) 2004-06-07
EP2268035B1 (en) 2017-04-26
US20080225949A1 (en) 2008-09-18
US20130121412A1 (en) 2013-05-16
ES2625334T3 (es) 2017-07-19
ES2677237T3 (es) 2018-07-31
EP2268036A3 (en) 2012-05-09
TWI225360B (en) 2004-12-11
EP3355584A1 (en) 2018-08-01
TR201809690T4 (tr) 2018-07-23
US9826228B2 (en) 2017-11-21
EP3200462B1 (en) 2018-06-13
US20180077422A1 (en) 2018-03-15
DK2268035T3 (en) 2017-05-22
PT3200462T (pt) 2018-07-23
EP2268036B1 (en) 2014-12-03
PT2268035T (pt) 2017-05-24
US7596178B2 (en) 2009-09-29
ES2728323T3 (es) 2019-10-23
ES2401427T3 (es) 2013-04-19
EP1406452B1 (en) 2013-01-16
EP3200462A1 (en) 2017-08-02
EP1406452A2 (en) 2004-04-07

Similar Documents

Publication Publication Date Title
KR100603175B1 (ko) 동화상 부호화 방법, 동화상 복호 방법, 동화상 부호화 장치, 동화상 복호 장치, 동화상 부호화 프로그램을 기록한 컴퓨터 판독 가능한 기록매체, 및 동화상 복호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
US7231091B2 (en) Simplified predictive video encoder
US9414086B2 (en) Partial frame utilization in video codecs
JP2007274035A (ja) 画像圧縮符号化装置、画像復号装置、プログラム及び方法
EP1732331A1 (en) Video coding
CN115134629A (zh) 视频传输方法、系统、设备及存储介质
JPH09121359A (ja) 画像符号化方法および画像復号化方法
JP2003348594A (ja) 画像復号装置及び方法
JP2012147291A (ja) 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
JPH11239353A (ja) 映像符号化装置及び映像復号化装置並びに映像符号化方法及び映像復号化方法
JP2004180269A (ja) 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、動画像符号化プログラム、及び動画像復号プログラム
KR100546507B1 (ko) 영상 압축 시스템의 전송 오류 감소를 위한 비디오 부호기에서의 압축 모드선택 방법 및 장치
JP2005534220A (ja) ディジタルビデオ信号の符号化方法及び符号化器
US7529413B2 (en) Method for reducing data amount in an image memory system
JP2581420B2 (ja) 動画像符号化伝送における復号化装置
JPH07154795A (ja) 動画像符号化装置
JP2009278512A (ja) 動画像復号装置
JPH05292488A (ja) 動画像符号化・復号装置
JP2002330441A (ja) 符号化方法、符号化方法のプログラム、符号化方法のプログラムを記録した記録媒体及び符号化装置
JP2008061045A (ja) 動画像復号装置、および復号方法。

Legal Events

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

Payment date: 20130621

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140626

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150618

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160617

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170616

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180619

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20190619

Year of fee payment: 14