KR101240445B1 - 비디오 시스템에서 사용되는 의사-랜덤 숫자 생성기를 위한비트까지 정확한 시드 초기화 - Google Patents

비디오 시스템에서 사용되는 의사-랜덤 숫자 생성기를 위한비트까지 정확한 시드 초기화 Download PDF

Info

Publication number
KR101240445B1
KR101240445B1 KR1020077011006A KR20077011006A KR101240445B1 KR 101240445 B1 KR101240445 B1 KR 101240445B1 KR 1020077011006 A KR1020077011006 A KR 1020077011006A KR 20077011006 A KR20077011006 A KR 20077011006A KR 101240445 B1 KR101240445 B1 KR 101240445B1
Authority
KR
South Korea
Prior art keywords
look
film grain
prng
seed
picture
Prior art date
Application number
KR1020077011006A
Other languages
English (en)
Other versions
KR20070094732A (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 KR20070094732A publication Critical patent/KR20070094732A/ko
Application granted granted Critical
Publication of KR101240445B1 publication Critical patent/KR101240445B1/ko

Links

Images

Classifications

    • G06T5/70
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • 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
    • H04N11/00Colour television systems
    • H04N11/02Colour television systems with bandwidth reduction
    • 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/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20204Removing film grain; Adding simulated film grain

Abstract

비디오 시스템에서 사용된 의사-랜덤 숫자 생성기에 대하여 비트까지 정확한(bit-accurate) 시드 초기화를 위한 방법 및 장치가 제공된다. 본 방법은 PRNG 시드의 룩-업 테이블을 형성하는 단계(205), 및 화상의 순서에 대응하는 값을 사용하여 룩-업 테이블에 액세스함으로써 화상을 위한 룩-업 테이블로부터 PRNG 시드 중 하나를 초기화하는 단계(210)를 포함한다.
비디오, 그레인, 시드, 화상, PRNG

Description

비디오 시스템에서 사용되는 의사-랜덤 숫자 생성기를 위한 비트까지 정확한 시드 초기화{BIT-ACCURATE SEED INITIALIZATION FOR PSEUDO-RANDOM NUMBER GENERATORS USED IN A VIDEO SYSTEM}
본 출원은 2004.11.16일자로 출원되고, 명칭이 "BIT ACCURATE SEED INITIALIZATION FOR PSEUDO-RANDOM NUMBER GENERATORS USED IN A VIDEO SYSTEM"인 미국 가출원 번호 제60/628,500호의 이익을 향유하고, 상기 문서 전체내용이 참조로서 본 명세서에 의해 병합된다.
본 발명은 일반적으로 비디오 인코더 및 비디오 디코더에 관한 것이며, 특히 비디오 시스템에 있어서 필름 그레인 시뮬레이션을 위해 사용된 PRNG(Pseudo-Random Number Generators)에 대한 비트까지 정확한(bit-accurate) 시드 초기화에 대한 것이다.
필름 그레인(Film grain)은 현상과정 동안 영화 이미지를 형성한다. 필름 그레인은 고화질(HD: High Definition) 이미지에서 명확하게 눈에 띄고, 전체 이미지 처리과정 및 배달 체인에 걸쳐 보존되어야만 하는 뚜렷한 영화 특징이 되고 있다. 그럼에도 불구하고, 필름 그레인 보존은 현재의 인코더에 대하여 도전이 되고 있으며, 이는 시간적 예측에 관계된 압축 이득이 이용될 수 없기 때문이다. 그레인의 랜덤한 성질로 인해, 시각적으로 무손실 인코딩은 매우 높은 비트율로만 달성된다. 세밀한 결 및 잡음과 일반적으로 관련된 고주파수를 필터링하는 경우, 손실 인코더는 필름 그레인을 억제하는 경향이 있다.
필름 그레인 관리방식(FGM: Film Grain Management)은 파라메터화된 모델에 의해 동화상 필름의 그레인을 인코딩하는 것이 병렬 정보로서 전송되는 것을 허용하는 새로운 툴로써 제안되고 있다. FGM을 지원하기 위해, ITU-T Rec. H.264 | ISO/IEC 14496-10 | MPEG-4 AVC | JVT(Joint Video Team) 표준(이후 "H.264 표준"임)에 대한 FRExt(Fidelity Range Extension) 개정안은 필름 그레인 특성 SEI(Supplemental Enhancement Information) 메시지를 정의하고 있다. 이 SEI 메시지는 크기 및 세기와 같은 속성에 관한 필름 그레인 특성을 기술하고, 비디오 디코더가 필름 그레인 룩을 디코딩된 화상으로 시뮬레이션하는 것을 허용한다. H.264 표준은 어떤 파라메터가 필름 그레인 SEI 메시지에 존재하는 지를 지정하고, 파라메터를 어떻게 해석하는지 및 2진수 포맷으로 SEI 메시지를 인코딩하기 위한 구문을 지정한다. 그러나, H.264 표준은 필름 그레인 SEI 메시지를 수신하는 경우, 필름 그레인을 시뮬레이션하기 위해 정확한 절차를 지정하지는 않는다. FGM은 임의의 다른 비디오 코딩 방법과 결합하여 사용될 수 있으며, 이는 FGM이 디코딩 과정에 영향을 미치지 않는 인코더로부터 전송된, 병렬 정보를 이용하기 때문임을 이해해야 할 것이다.
FGM에 있어서, 인코더는 비디오 시퀀스의 필름 그레인을 모델링하고, 디코더는 수신된 정보에 따라 필름 그레인을 시뮬레이션한다. 필름 그레인을 유지하기에 어려움이 있는 경우, 인코더는 압축된 비디오의 품질을 향상시키기 위해 FGM을 사용할 수 있다. 추가적으로, 인코더는 인코딩에 앞서 그레인을 제거 또는 희석화에 대한 옵션을 가지게 되므로 비트율을 감소시킬 수 있다.
필름 그레인 시뮬레이션은 원래 필름 컨텐츠의 룩(look)을 시뮬레이션하는 필름 그레인 샘플의 합성에 목적이 있다. 전체적으로 인코더에서 실행되는 필름 그레인 모델링과 달리, 필름 그레인 시뮬레이션은 디코더에서 실행된다. 필름 그레인 시뮬레이션은 디스플레이에 앞서 비디오 스트림을 디코딩한 후 이루어진다. 추가된 필름 그레인을 가지는 이미지는 디코딩 과정 내에서 사용되지 않는다. 사후-처리방식이 되므로, 디스플레이 과정을 위한 디코딩된 이미지에 관한 시뮬레이션된 필름 그레인의 합성은 H.264 표준에서 지정되지 않는다. 필름 그레인 시뮬레이션 처리과정은 H.264 표준의 FRExt(Fidelity Range Extension) 개정안에 의해 지정된 필름 그레인 SEI 메시지로 전송된 필름 그레인 보조 정보의 디코딩 과정을 포함한다.
따라서, 필름 그레인 시뮬레이션은 오래된 필름 스톡(stock)의 왜곡 동안뿐만 아니라 컴퓨터로 생성된 자료에 관한 필름 그레인을 시뮬레이션하기 위해 사후-제작에서 사용된 비교적 신기술임을 이해해야할 것이다. 이러한 유형의 응용의 경우, 뉴욕, 로체스터(Rochester)에 있는 이스트만 코닥사의 Cineon 및 비쥬얼 인피니티(Visual Infinity)의 Grain SurgeryTM과 같은 상업용 소프트웨어가 시장에 존재 한다. 이들 툴은 일반적으로 사용자 상호작용에 기반하여 동작하며 구현하기에 복잡하고, 이는 상기 툴들이 실시간 비디오 코딩 어플리케이션에 대해 부적합하게 한다. 더욱이, 이들 툴중 어떤 것도 H.264 표준에 의해 지정된 필름 그레인 SEI 메시지를 해석하는 능력을 가지고 있지 못하다.
종래 기술에 따라 의사-랜덤 숫자 생성기(PRNG: Pseudo-Random Number Generator) 시드 초기화에 관한 설명이 이제 기술될 것이다.
HD DVD 시스템에 필름 그레인 시뮬레이션을 실행하기 위해 이전 기술에서, 비트-정확도(bit-accuracy)는 보통 플레이 모드 동안에만 달성되며, 즉 필름 그레인 시뮬레이션 처리과정은 시퀀스의 초기에 시작하고 전체 디코딩 과정 동안에는 중단되지 않는다. 트릭 모드 플레이 동안에서는, 필름 그레인 시뮬레이션을 위해 사용된 PRNG는 보통 플레이 동안 보다 상이한 상태에 있을 수 있으며, 결국 비트까지 정확하지 못한(non-bit-accurate) 필름 그레인 재생이 된다. 이는 동일한 화상이 보통 플레이 또는 트릭 모드 플레이(고속전진 또는 점프와 같은)동안 디코딩되는 지에 의존하여 상이한 그레인을 가질 수도 있음을 의미한다. 이는 항시 시각적 인 품질 견지로부터 문제가 되지 않지만(비록 필름 그레인이 비트까지 정확하지 않을지라도, 종종 이 필름 그레인은 시각적으로 동일하게 보임), 시험용 소프트웨어 또는 하드웨어 구현에 적합하게 되는데, 왜냐하면 비트-정확도없이도, 기준 결과에 대하여 획득된 결과를 비교하는 것은 불가능하기 때문이다.
그러므로, 이전 기술에 있어서, 필름 그레인 재생에서의 차이점은 그 프레임이 어떻게 도달되는 지(보통 플레이 또는 트릭 모드 플레이)에 의존하는 소정의 프 레임에서의 PRNG의 상이한 상태때문이다. 이는, 비록 동일한 파라메터가 소정의 화상에 관해 사용될 지라도, 만일 PRNG의 상태가 동일하지 않다면, 상이한 그레인이 삽입되는 것을 의미한다.
이전에 언급된 SEI(Supplemental Enhancement Information) 메시지에 기반하여, 몇 개의 종래 기술 접근방식은 필름 그레인을 시뮬레이션을 행하기 위한 사양서에 관련하여 개발되었다. 이들 종래 기술의 접근방식은 고 품질응용을 목표하고, 연산적인 비용의 소규모 증가를 가지고 루마(luma) 및 크로마(chroma) 컬러 성분 둘 다에 상이한 필름 그레인 패턴의 시뮬레이션에서의 큰 유연성을 제공한다. 그러나, 이러한 종래 기술의 접근 방식은 비트까지 정확하고 H.264 표준 순응 필름 그레인 시뮬레이션 처리과정을 제공하지 못한다.
따라서, 비디오 시스템에서 필름 그레인을 시뮬레이션하기 위해 사용된 의사-랜덤 숫자 생성기(PRNG)를 위한 비트까지 정확한 시드 초기화를 위한 방법 및 장치를 가지는 것은 바람직하고 매우 유리할 것이다. 이러한 방법 및 장치는 비트까지 정확하고 H.264 표준 순응인 필름 그레인 시뮬레이션을 허용해야만 할 것이다.
종래 기술의 이들 및 다른 결점 및 단점들은 본 발명에 의해 해소되며, 본 발명은 비디오 시스템의 필름 그레인을 시뮬레이션하기 위해 사용된 PRNG(Pseudo-Random Number Generator)를 위한 비트까지 정확한 시드(seed) 초기화에 대한 것이다. 유리하게는, 본 발명은 비트까지 정확하고 H.264 표준 순응 둘 다인 필름 그레인 시뮬레이션을 허용한다.
본 발명의 일측면에 따르면, 비디오 시스템에서의 사용을 위한 의사-랜덤 숫자 생성기(PRNG) 시드를 초기화하는 방법이 제공된다. 본 방법은, PRNG 시드의 룩-업 테이블을 생성하는 단계, 및 화상의 순서에 대응하는 값을 사용하여 룩-업 테이블에 액세스함으로써 화상을 위한 룩-업 테이블로부터 PRNG 시드 중 하나를 초기화하는 단계를 포함한다.
본 발명의 다른 측면에 따르면, 필름 그레인 시뮬레이션을 위한 PRNG(Pseudo-Random Number Generator) 시드를 초기화하는 방법이 제공된다. 본 방법은, PRNG 시드의 룩-업 테이블을 생성하는 단계, 및 적어도 하나의 보조 정보값을 사용하여 룩-업 테이블에 액세스함으로써 화상을 위한 룩-업 테이블로부터 PRNG 시드 중 하나를 초기화하는 단계를 포함한다.
본 발명의 다른 측면에 따르면, PRNG(Pseudo-Random Number Generator) 시드를 도출하기 위해 사용된 적어도 하나의 값을 전송하는 방법이 제공된다. 본 방법은 보조적인 정보로서 상기 적어도 하나의 값을 전송하는 단계를 포함한다.
본 발명의 또 다른 측면에 따르면, PRNG (Pseudo-Random Number Generator)시드를 전송하는 방법이 제공된다. 본 방법은, 사용자 데이터 필드에 필름 그레인 시뮬레이션을 위한 PRNG 시드를 전송하는 단계를 포함하되, 상기 사용자 데이터 필드는 비-H.264 표준으로 인코딩된 사용자 데이터 필드에 대응한다.
본 발명의 추가적인 측면에 따르면, 비디오 시스템에서의 사용을 위한 PRNG(Pseudo-Random Number Generator) 시드를 초기화하는 장치가 제공된다. 본 장치는 PRNG 시드의 룩-업 테이블을 생성하고, 화상의 순서에 대응하는 값을 이용하여 룩-업 테이블에 액세스함으로써 화상을 위한 룩-업 테이블로부터 PRNG 시드 중 하나를 초기화하는 필름 그레인 시뮬레이터를 포함한다.
본 발명의 다른 추가적인 측면에 따르면, 필름 그레인 시뮬레이션을 위한 PRNG(Pseudo-Random Number Generator) 시드를 초기화하는 장치가 제공된다. 본 장치는 PRNG 시드의 룩-업 테이블을 생성하고, 적어도 하나의 보조 정보값을 시용하여 룩-업 테이블에 액세스함으로써 화상을 위한 룩-업 테이블로부터 PRNG 시드 중 하나를 초기화하는 필름 그레인 시뮬레이터를 포함한다.
본 발명의 다른 추가적인 측면에 따르면, PRNG(Pseudo-Random Number Generator) 시드를 도출하기 위해 사용된 적어도 하나의 값을 전송하는 장치가 제공된다. 본 장치는 보조 정보로서 적어도 하나의 값을 전송하는 필름 그레인 모델링기를 포함한다.
본 발명의 또 다른 추가적인 측면에 따르면, 필름 그레인 시뮬레이션을 위한 PRNG(Pseudo-Random Number Generator) 시드를 전송하는 장치가 제공된다. 본 장치는 사용자 데이터 필드에 필름 그레인 시뮬레이션을 위한 PRNG 시드를 전송하는 필름 그레인 모델링기를 포함하며, 상기 사용자 데이터 필드는 비-H.264 표준으로 인코딩된 사용자 데이터 필드에 대응한다.
본 발명의 이들 및 다른 측면, 특징 및 이점이 예시적인 실시예의 이후 상세 설명으로부터 명확해질 것이며, 다음 설명은 첨부된 도면과 연결하여 읽어야 한다.
본 발명은 다음의 예시적인 도면을 참조하면, 더 잘 이해될 수 있다.
도 1은 본 발명이 적용될 수 있는 필름 그레인 관리방식(FGM: Film Grain Management) 처리 체인을 예시하는 블럭도.
도 2는 본 발명의 원리에 따른 비디오 시스템에서의 필름 그레인 시뮬레이션을 위한 의사-랜덤 숫자 생성기(PRNG: Pseudo-Random Number Generator)용 비트까지 정확한 시드 초기화 방법을 예시하는 흐름도.
도 3은 본 발명의 원리에 따른 예시적인 룩-업 테이블(LUT: Look-Up Table) 색인 환산표를 예시하는 도면.
도 4는 본 발명의 원리에 따른 비디오 시스템에서의 필름 그레인 시뮬레이션을 위한 PRNG용 비트까지 정확한 시드 초기화에 대한 다른 방법을 예시하는 흐름도.
도 5는 본 발명의 원리에 따른 또 다른 예시적인 룩-업 테이블(LUT) 색인 환산표를 예시하는 도면.
도 6은 본 발명의 원리에 따른 전혀 또 다른 예시적인 룩-업 테이블(LUT) 색인 환산표를 예시하는 도면.
도 7은 본 발명의 원리에 따른 비디오 시스템에서의 필름 그레인 시뮬레이션을 위한 PRNG용 비트까지 정확한(bit-accurate) 시드 초기화에 대한 추가적인 방법을 예시하는 흐름도.
도 8은 본 발명의 원리에 따른 비디오 시스템에서의 필름 그레인 시뮬레이션을 위한 PRNG용 비트만큼 정확한 시드 초기화에 대한 더 추가적인 방법을 예시하는 흐름도.
도 9는 본 발명의 원리에 따른 비디오 시스템에서의 필름 그레인 시뮬레이션을 위한 PRNG용 비트까지 정확한 시드 초기화에 대한 더 추가적인 방법을 예시하는 흐름도.
도 10은 본 발명의 원리에 따른 비디오 시스템에서의 필름 그레인 시뮬레이션을 위한 PRNG용 비트까지 정확한 시드 초기화에 대한 추가적인 방법을 예시하는 흐름도.
도 11은 본 발명의 원리에 따른 비디오 시스템에서의 필름 그레인 시뮬레이션을 위한 PRNG용 비트까지 정확한 시드 초기화에 대한 더 추가적인 방법을 예시하는 흐름도.
본 발명은 비디오 시스템에서의 필름 그레인을 시뮬레이션하기 위해 사용된 의사-랜덤 숫자 생성기(PRNG: Pseudo-Random Number Generator)를 위한 비트까지 정확한(bit-accurate) 시드(seed) 초기화에 대한 것이다. 본 발명은 PRNG 시드를 초기화, 예를 들면, 새로운 필름 그레인 SEI(Supplemental Enhancement Information: 보조적인 향상 정보) 메시지의 수신시 및 필름 그레인 시뮬레이션을 실행하기 전의 각 화상의 개시시에 사용될 수 있다.
유리하게는, 본 발명은 비트까지 정확하고 H.264 표준에 순응하는 양쪽에 해당하는 필름 그레인 시뮬레이션을 허용한다. 게다가, 유리하게는, 본 발명은 보통 플레이 및 트릭 모드 플레이 동안 필름 그레인 시뮬레이션을 위하여 사용될 수 있다. 즉, 종래기술과 달리, PRNG의 상태는 동일하고, 재생 모드(예를 들면, 보통 플레이, 트릭 모드 플레이)와 독립적이다.
필름 그레인 시뮬레이션은 비디오 비트-스트림을 디코딩한 후 픽셀을 디스플레이하기에 앞서 실행된다. 필름 그레인 시뮬레이션 절차는 전송된 필름 그레인 보조 정보의 디코딩을 필요로 할 수 있으며, 상기 정보는, 예를 들면 H.264 표준에 대한 FRExt 개정안에 의해 상술된 필름 그레인 SEI 메시지로 전송될 수 있다.
본 설명은 본 발명의 원리를 예시한다. 그러므로, 당업자라면 비록 여기에서 명확하게 기술되거나 도시되어 있지 않더라도, 본 발명의 기술사상 및 범위 내에 포함되는 본 발명의 원리를 구체화하는 다양한 구성을 안출할 수 있음을 이해해야 할 것이다.
여기에 인용된 모든 예시 및 조건적인 언어는 읽는 사람이 본 발명의 원리 및 이 분야 기술을 촉진시키기 위해 본 발명자에 의해 제공된 개념의 이해를 돕기 위한 교육적인 목적을 위한 것이므로, 이러한 특정하게 인용된 예시 및 조건에 제한을 두는 것으로 이해되지 않는다.
더욱이, 본 명세서에서 본 발명의 실시예, 원리 및 양상을 설명하는 모든 진술 및 본 발명의 특정 예시는, 이들의 구조적 및 기능적 등가물 둘 다를 포함하는 것으로 의도된다. 추가적으로, 이러한 등가물은 장래에 개발되는 등가물뿐만 아니라 현재 잘 알려진 등가물 둘 다, 즉 구조와 관계없이 동일한 기능을 실행하는 개발된 임의의 구성요소를 포함하는 것으로 의도된다.
그러므로, 예를 들면, 당업자라면 여기에 제공된 블럭도는 본 발명의 원리를 구체화하는 예시적인 회로류의 개념도를 나타내는 것임을 이해해야 할 것이다. 유사하게, 임의의 흐름도, 흐름블럭도, 상태 천이도, 유사부호, 및 기타 그 밖의 유사한 것은 컴퓨터로 읽을 수 있는 매체로 실질적으로 표현되어, 컴퓨터 또는 프로세서가 명확하게 도시되거나 도시되지 않은 것에 관계없이 이들에 의해 컴퓨터나 프로세서로 실행될 수 있는 다양한 프로세스를 나타낸다는 것을 이해해야 할 것이다.
도면에 도시된 다양한 구성요소의 기능은 적당한 소프트웨어와 관련하여 소프트웨어를 실행할 수 있는 하드웨어뿐만 아니라 전용 하드웨어의 사용을 통하여 제공될 수 있다. 프로세서에 의해 제공되는 경우, 상기 기능은 단일의 전용 프로세서에 의해, 단일의 공유 프로세서에 의해, 또는 복수의 개별적인 프로세서에 의해 제공될 수 있으며, 이 복수의 프로세서 중 일부는 공유될 수 있다. 더욱이, "프로세서" 또는 "제어기"라는 용어의 명백한 사용은 배타적으로 소프트웨어를 실행할 수 있는 하드웨어를 언급하는 것으로 이해되서는 아니될 것이며, 제한없이, "DSP"(Digital Signal Processor) 하드웨어, 소프트웨어를 저장하기 위한 "ROM"(Read-Only-Memory), "RAM(Random Access Memory) 및 비-휘발성 저장수단을 암시적으로 포함할 수 있다.
또한, 일반적 및/또는 주문형 다른 하드웨어가 포함될 수 있다. 유사하게, 도면에 도시된 임의의 스위치는 단지 개념적이다. 이러한 기능은 프로그램 로직의 동작, 전용 로직, 프로그램제어 및 전용 로직의 상호작용을 통하여 수행될 수 있으 며, 심지어는 수동적으로 수행될 수 있는데, 그러한 상황으로부터 더 특정하게 이해하는 특정 기술은 구현자에 의해 선택가능하다.
본 발명의 청구항에 있어서, 지정된 기능을 실행하는 수단으로 표현된 임의의 구성요소는, 예를 들면 a) 그 기능을 실행하는 회로 구성요소간의 결합 또는 b) 이 기능을 실행하기 위해 그 소프트웨어를 실행하는 적당한 회로류와 결합한, 펌웨어, 마이크로코드(microcode) 또는 그와 같은 것을 포함하는 임의 형태의 소프트웨어를 포함하는 그 기능을 실행하기 위한 임의의 방법을 포함하는 것을 의미한다. 이러한 청구항에 의해 한정된 본 발명은, 다양한 인용 수단에 의해 제공된 기능성이 결합되고, 청구항이 청구하는 방식으로 함께 맺어지게 되는 사실에 있다. 그러므로, 이들 기능성을 제공할 수 있는 임의의 수단은 여기에 도시된 기능성과 동등한 것으로 여겨진다.
도 1을 참조하면, 본 발명이 적용될 수 있는 필름 그레인 관리방식(FGM: Film Grain Management) 프로세싱 체인(chain)은 일반적으로 참조번호(100)에 의해 표시된다. 이 FGM 프로세싱 체인은 송신기(110) 및 수신기(150)를 포함한다. 송신기는 필름 그레인 제거기(112), 비디오 인코더(114), 및 필름 그레인 모델링기(modeler)(116)를 포함한다. 수신기(150)는 비디오 디코더(152), 필름 그레인 시뮬레이터(154), 및 결합기(156){합셈 디바이스로서 도시됨, 그러나 비디오 디코더(152)의 출력과 필름 그레인 시뮬레이터(154)의 결합은 또한 본 발명의 범위 내에 있는 것을 여겨짐}를 포함한다.
송신기(110)에 대한 입력은 필름 그레인 제거기(112)의 입력 및 필름 그레인 모델링기(116)의 첫 번째 입력과 통신 신호로 연결된다. 필름 그레인 제거기(112)의 출력은 비디오 인코더(114)의 입력 및 필름 그레인 모델링기(116)의 두 번째 입력과 신호가 통신되도록 연결된다. 비디오 인코더(114)의 출력은 송신기(110)의 첫 번째 출력으로서 이용가능하다. 필름 그레인 모델링기(116)의 출력은 송신기(110)의 두 번째 출력으로서 이용가능하다. 송신기(110)의 첫 번째 출력은 수신기(150)의 첫 번째 입력과 신호가 통신되도록 연결된다. 송신기(110)의 두 번째 출력은 수신기(150)의 두 번째 입력과 신호가 통신되도록 연결된다. 수신기(150)의 첫 번째 입력은 비디오 디코더(152)의 입력과 통신 신호로 연결된다. 수신기(150)의 두 번째 입력은 필름 그레인 시뮬레이터(154)의 첫 입력과 통신 신호로 연결된다. 비디오 디코더(152)의 첫 번째 출력은 필름 그레인 시뮬레이터(154)의 두 번째 입력과 통신 신호로 연결된다. 비디오 디코더(152)의 두 번째 출력은 결합기(156)의 첫 번째 입력과 통신 신호로 연결된다. 필름 그레인 시뮬레이터의 출력은 결합기(156)의 두 번째 입력과 통신 신호로 연결된다. 결합기(156)의 출력은 수신기(150)의 출력으로서 이용가능하다.
본 발명의 일부 실시예에서, 필름 그레인 시뮬레이션을 위한 PRNG 시드는 수신기(150)에서 발생되고(특히 필름 그레인 시뮬레이터(154)에 의해서), 반면에 다른 실시예에서, 필름 그레인 시뮬레이션을 위한 PRNG 시드는 송신기(110)에서 발생(특히, 필름 그레인 모델링기(116)에 의해서)되어 이 수신기에 의해 사용을 위해 수신기(150)에 전송되는 것으로 이해해야 할 것이다. 더욱이, 또 다른 실시예에 있어서, 송신기(110)에서 발생한 PRNG 시드는 수신기(150)에서 발생한 PRNG 시드와 결합하기 위해 수신기(150)에 전송되어 필름 그레인 시뮬레이션이 실행될 현재 화상용 사용을 위한 새로운 PRNG 시드를 획득한다. 그러므로, 예시적인 목적을 위하여, 도 1에 도시된 필름 그레인 모델링기(116) 및 필름 그레인 시뮬레이터(154) 둘 다는 본 발명의 원리에 따른 사용을 위한 의사-랜덤 숫자 발생기(199)를 포함한다. 물론, 실시예에 의존하여, 필름 그레인 모델링기(116) 및 필름 그레인 시뮬레이터의 단지 하나가 PRNG를 포함할 필요가 있다. 여기에 기술된 본 발명의 요지가 주어진다면, 이 분야 및 관련된 분야의 당업자는 본 발명의 기술 사상을 유지하면서 송신기 및 수신기(및 특히, 필름 그레인 모델링기 및 필름 그레인 시뮬레이터)에 대한 이들 및 다른 변형을 예상해 볼 수 있을 것이다.
종래 기술을 고려하면, 의사-랜덤 숫자 발생기의 상태에 관해 종래기술과의 상술된 차이점(특히 보통 플레이백으로부터 트릭 모드 플레이로 천이되는 경우) 및 이와 관련하여 결과적으로 발생하는 상이한 그레인을 삽입하는 문제점을 극복하기 위하여, 비트까지 정확한(bit-accurate) 방법은 플레이 모드에 의존하지 않는 각 화상의 시작에서 PRNG의 시드를 초기화하기 위해 제안되었다. 유리하게는, 본 발명의 원리에 따라 여기서 기술된 비트까지 정확한 방법은 또한 H.264 표준에 순응한다.
이제, 본 발명의 원리에 따른 제 1 예시적인 실시예에 관한 설명이 주어지게 될 것이다. 제 1 예시적인 실시예는 초기에 기술되고, 이후 도 2와 관련하여 기술되고 도시된 대응하는 방법의 추가 설명 및 도 3에 기술되고 도시된 예가 이어진다.
시드의 룩-업 테이블(LUT: Look-Up Table)은 다음과 같이 정의된다.
LUT = {seed0, seed1, seed2, ..., seedL-1}
여기서, seed1은 PRNG의 가능한 시드이고, L은 가능한 시드의 개수다. 강제적이지는 않지만, 적정한 무작위성을 보장하기 위해, L은 연속적인 필름 그레인 SEI 메시지 사이의 최대 거리(화상에서)보다 크거나 이와 동일해야만 한다. 특정 실시예에 있어서, 32-비트 레지스터가 PRNG를 구현하기 위해 사용되며, seed1은 32-비트 정수값이 될 것이다.
따라서, PRNG 시드는 화상의 시작(시간(t)에서)에서 다음식의 값으로 설정된다.
seed(t) = LUT[(POC(t) + 오프셋) % L]
여기서, POC(t)는 H.264 표준에서 정의된 바와 같이, 시간(t)에서 화상의 화상 순서 카운팅(POC: Picture Order Count)이 되며, L은 룩-업 테이블의 길이가 되고, 오프셋은 새로운 필름 그레인 SEI 메시지의 수신시 설정된 값이다. LUT에 액세스하는 경우, 동일한 시퀀스의 색인을 반복하는 것을 피하기 위해, L은 61 또는 127과 같은 소수와 동일할 수 있다.
제 1 예시적인 실시예에 있어서, 오프셋은 다음식과 같이 설정된다:
오프셋 = 0
이는 PRNG 시드를 결정하는 매우 단순한 방법을 제공하는데, 왜냐하면 현재 화상의 POC만이 필요하기 때문이며, 이는 디코더에 의해 이미 알려진다. 게다가, 소정의 화상의 POC(Picture Order Count)는 화상이 어떻게 도달하는지와 관계없이 항시 동일할 것이며, 동일한 시드는 임의의 플레이 모드에 관해 사용될 것이다.
도 2를 참조하면, 비디오 시스템에서의 필름 그레인 시뮬레이션을 위한 의사-랜덤 숫자 생성기(PRNG)용 비트까지 정확한 시드 초기화 방법이 참조번호(200)에 의해 일반적으로 표시된다.
방법(200)은 기능 블럭(205)에 제어권을 넘겨주는 시작블럭(202)을 포함한다. 기능 블럭(205)은 다음과 같이 시드의 룩-업 테이블을 지정하고:
LUT = {seed0, seed1, seed2, ..., seedL-1}
기능 블럭(210)에 제어권을 넘겨준다.
기능 블럭(210)은 PRNG 시드를 화상의 시작(시간(t)에서)에서 다음 수식에 의한 값으로 설정한다:
seed(t) = LUT[(POC(t) + 오프셋) % L]
기능 블럭(210)을 더 고려하면, 오프셋은 다음 수식에 의한 값으로 설정되고,
오프셋 = 0
종료 블럭(215)에 제어권을 넘겨준다.
도 3을 참조하면, 룩-업 테이블(LUT) 색인 환산표의 예가 참조번호(300)에 의해 일반적으로 표시된다. 특히, LUT 색인 환산표는 L = 61 이고 오프셋=0인 경우에 대한 것이다.
설명은 본 발명의 원리에 따른 제 2 예시적인 실시예에 관해 주어질 것이다. 제 2 예시적인 실시예는 초기에 기술되고, 이후 도 4에 관해 기술되고 도시된 대응하는 방법의 추가 설명 및 도 5 및 도 6에 관해 기술되고 도시된 예의 설명이 이어진다.
도 2에 관해 기술된 이전의 접근 방식인 빈번한 POC 리셋을 가지는 시퀀스에 대하여, 동일한 시퀀스의 시드는 연속 프레임에서 재사용될 것이므로 매우 비효율적이다. 이러한 경우, 오프셋이 화상의 POC값과 동일하고, 필름 그레인 SEI 메시지가 다음식과 같이 POC를 리셋하기 전에 삽입되는, 제 2 예시적인 실시예가 공개된다:
오프셋 = POC(tFG SEI)
이러한 접근방식은 단지 약간 더 복잡하지만(2개의 POC를 이용), 그러나 정상적인 속도로 리셋이 일어나 않는다면, POC 리셋 이후조차 상이한 시드 시퀀스를 야기한다.
도 4를 참조하면, 비디오 시스템에서의 필름 그레인 시뮬레이션을 위한 의사 -랜덤 숫자 생성기(PRNG)용 비트까지 정확한 시드 초기화 방법이 참조번호(400)에 의해 일반적으로 표시된다.
방법(400)은 기능 블럭(405)에 제어권을 넘겨주는 시작 블럭(402)을 포함한다. 기능 블럭(405)은 다음과 같이 시드의 룩-업 테이블을 지정하고:
LUT = {seed0, seed1, seed2, ..., seedL-1}
기능 블럭(410)에 제어권을 넘겨준다.
기능 블럭(410)은 필름 그레인 SEI가 POC를 리셋하기 전에 삽입되는 화상의 시작(시간(t)에서)에서 다음식의 값으로 설정한다:
seed(t) = LUT[(POC(t) + 오프셋) % L ]
기능 블럭(410)을 더 고려하면, 오프셋은 다음식과 같이 설정된다.
오프셋 = POC(tFG SEI)
여기서, 위에 기술된 바와 같이, POC(tFG SEI)는 화상의 POC값과 동일하고, 필름 그레인 SEI 메시지는 POC를 리셋하기 전에 삽입된다. 이후, 기능 블럭(410)은 종료 블럭(415)에 제어권을 넘겨준다.
도 5 및 도 6을 참조하면, 룩-업 테이블(LUT) 색인 환산표의 예가 각기 참조 번호(500) 및 참조번호(600)에 의해 일반적으로 표시된다. 특히, 도 5는 L=61, 오프셋 = POC(tFG SEI)의 경우 LUT 색인 환산표를 나타내고, 도 6은 L=61, 오프셋 = POC 리셋을 가지는 POC(tFG SEI)의 경우 LUT 색인 환산표를 나타낸다. LUT에 액세스하기 위해 사용된 색인은 양이어야만 함을 주목해야 한다. 만일 색인이 음(예를 들면, 음의 POC값 때문에)이라면, 절대값은 색인으로서 사용될 수 있다.
순시 디코딩 리플레시(IDR: Instantaneous Decoding Refresh) 화상으로 인해 빈번하고 정상적인(steady) POC 리셋을 가지는 시퀀스를 다루기 위해, 또한 H.264 |MPEG AVC 비트 스트림의 슬라이스 헤더로 전송된 idr_pic_id 파라메터는 오프셋을 결정하기 위해 사용될 수 있다. 예를 들면, 다음의 수식은 오프셋을 계산하기 위해 사용될 수 있다:
오프셋 = idr_pic_idFG SEI
여기서, idr_pic_idFG SEI는 필름 그레인 SEI가 삽입된 마지막 IDR 화상의 화상 식별 번호이다. 물론, 여기에 기술된 본 발명의 요지가 주어지면, 오프셋을 계산하기 위한 선행 및 다음 공식은 본 발명의 기술사상 및 범위를 유지하면서, 이를 이용하는 변형에 마찬가지로 사용될 수 있다.
도 7을 참조하면, 비디오 시스템에서의 필름 그레인 시뮬레이션을 위한 의사-랜덤 숫자 발생기(PRNG)용 비트까지 정확한 시드 초기화 방법이 참조 번호(700)에 의해 일반적으로 표시된다.
본 방법(700)은 기능 블럭(705)에 제어를 패스하는 시작 블럭(702)을 포함한다. 기능 블럭(705)은 다음과 같이 시드의 룩-업 테이블을 지정하고:
LUT = {seed0, seed1, seed2, ..., seedL-1}
기능 블럭(710)에 제어권을 넘겨준다.
기능 블럭(710)은 필름 그레인 SEI가 다음식과 같이 POC를 리셋하기 전에 삽입되는 화상의 시작(시간(t)에)에서의 다음값에 PRNG 시드를 설정한다:
seed(t) = LUT[(POC(t) + 오프셋) % L]
기능 블럭(710)을 더 고려하면, 오프셋은 다음식과 같이 설정된다:
오프셋 = idr_pic_idFG SEI
여기서, 위에서 기술된 바와 같이, idr_pic_idFG SEI는 필름 그레인 SEI가 삽입되는 마지막 IDR 화상의 화상 식별 번호이다. 이후, 기능 블럭(710)은 제어권을 종료 블럭(715)에 넘겨준다.
본 발명의 원리에 따라 제 3의 예시적인 실시예에 관한 설명이 이제 주어지게 될 것이다. 제 3의 예시적인 실시예는 초기에 설명되고, 도 8에 관해 기술되고 도시된 대응하는 방법의 추가적인 설명이 이어지게 된다.
제 3 실시예는 빈번하고 정상적인 POC 리셋을 가진 시퀀스에 대한 것으로, 필름 그레인 SEI로 전송된 필름 그레인 반복 구간 파라메터의 사용을 제공한다. 오프셋은 다음식과 같이 정의된다:
오프셋 = 필름 그레인 SEI 메시지(film_grain_characteristics_repetition_period)
여기서, 필름 그레인 특성 반목 구간 파라메터는 연속 필름 그레인 SEI 메시지 사이의 최대 거리보다 크거나 또는 이와 동일하다. 만일 필름 그레인 특성 반복 주기가 이러한 사용을 의도하고 있지 않더라도, 이러한 접근방식은 H.264 표준에 여전히 순응하는 것을 주목해야 한다.
도 8을 참조하면, 비디오 시스템에서의 필름 그레인 시뮬레이션을 위한 의사-랜덤 숫자 생성기(PRNG)용 비트까지 정확한 시드 초기화 방법이 참조번호(800)에 의해 일반적으로 표시된다.
본 방법(800)은 기능 블럭(805)에 제어를 패스하는 시작 블럭(802)을 포함한다. 기능 블럭(805)은 다음과 같이 시드의 룩-업 테이블을 지정하고:
LUT = {seed0, seed1, seed2, ..., seedL-1}
기능 블럭(810)에 제어권을 넘겨준다.
기능 블럭(810)은 화상의 시작(시간(t)에)에서 다음식의 값으로 PRNG 시드를 설정한다:
seed(t) = LUT[(POC(t) + 오프셋) % L]
기능 블럭(810)에 관하여, 추가로, 오프셋은 다음식과 같이 설정되고,
오프셋 = 필름 그레인 SEI 메시지(film_grain_characteristics_repetition_period)
종료 블럭(815)에 제어권을 넘겨준다.
본 발명의 원리에 따른 제 4 예시적인 실시예에 관한 설명이 이제 제공될 것이다. 제 4 예시적인 실시예가 초기에 기술되고, 도 9에 관해 도시되고 기술되는 대응 방법의 추가 설명이 이어진다.
제 4 실시예에서, 오프셋은 필름 그레인 특성 SEI 메시지보다 동일한 화상에 선행하여 전송되는 별도의 SEI 메시지로 전송된다. 명확화를 위하여 랜덤 시드 오프셋 SEI 메시지로 명명된 추가적인 SEI 메시지는, 다른 가능한 정보 중에서, 시드 초기화 프로세스에서 사용될 오프셋을 포함한다. 제 4 실시예에 따라, 오프셋은 다음식과 같이 계산되며:
오프셋 = 랜덤 시드 오프셋 SEI 메시지(offset_value)
랜덤 시드 오프셋(random seed offset) SEI는 미등록 사용자 데이터 SEI 메시지, 등록 사용자 데이터 메시지 또는 예약된 SEI 메시지 중 하나가 될 수 있다. 또한, 비록 필름 그레인 SEI 메시지가 전송되지 않을지라도, 모든 화상에 대하여 랜덤 시드 오프셋 SEI 메시지를 전송하는 것도 가능함을 이해해야 할 것이다. 이러한 경우, 시드의 LUT는 다음식과 같이 액세스된다:
seed(t) = LUT[오프셋 % L]
이러한 접근방식은 POC 숫자에 의존하지 않으므로, POC 리셋(MMCO, 즉 Memory Management Control Operation, 명령어) 및 순시 디코딩 리프레시(IDR: Instantaneous Decoding Refresh) 화상의 앞에서 견고하다. 게다가, 이러한 접근방식 또는 여기에 제공된 요지에 기반한 유사한 접근방식은 MPEG-2 또는 VC-1과 같은 다른 비디오 코딩 알고리즘과 결합될 수 있다. 예를 들면, MPEG-2 타임 스탬프는 프레임을 위한 POC-유사값을 계산하기 위해 사용될 수 있으며, 여기서 필름 그레인 파라메터는 전송되어 있고 화상 출력 색인은 오프셋으로 사용될 수 있다.
도 9를 참조하면, 비디오 시스템에서의 필름 그레인 시뮬레이션을 위한 의사-랜덤 숫자 생성기(PRNG)용 비트까지 정확한 시드 초기화 방법이 참조번호(900)에 의해 일반적으로 표시된다.
본 방법(900)은 기능 블록(905)에 제어를 넘겨주는 시작 블럭(902)을 포함한다. 이 기능 블럭(905)은 다음과 같이 시드의 룩-업 테이블을 지정하고:
LUT = {seed0, seed1, seed2, ..., seedL -1}
기능 블럭(910)에 제어권을 넘겨준다.
기능 블럭(910)은 화상의 시작(시간(t)에서)에서 다음식의 값에 PRNG 시드를 설정한다:
seed(t) = LUT[오프셋 % L]
기능 블럭(910)을 더 고려하면, 오프셋은 다음식과 같이 설정되고,
오프셋 = 랜덤 시드 오프셋 SEI 메시지(offset_value)
종료 블럭(915)에 제어권을 넘겨준다.
본 발명의 원리에 따른 제 5 예시적인 실시예에 관한 설명이 이제 주어지게 된다. 제 5 예시적인 실시예는 초기에 기술되고, 이후 도 10에 도시되고 이에 관해 기술되는 대응하는 방법의 추가 설명이 이어진다.
제 5 예시적인 실시예에서, 랜덤 시드 SEI 메시지는 그 프레임에 사용될 랜덤 시드로 정의된다. 시간(t)에서의 시드는 다음식과 같이 초기화된다.
seed(t) = 랜덤 시드 SEI 메시지(seed_value)
이전과 같이, 시드를 전달하기 위해 사용된 사용자 데이터 SEI 메시지는 미등록 사용자 데이터 SEI 메시지, 등록 사용자 데이터 SEI 메시지 또는 예약된 SEI 메시지 중 하나 일 수 있다. H.264 표준 이외의 다른 비디오 코딩 알고리즘이 사용되는 경우, 시드값은 사용자 데이터로서 전송될 수 있다. 이러한 접근방식은 LUT 테이블을 사용하지 않고 POC값에 의존하지 않지만, 각 화상에 관해 전송된 랜덤 시드 SEI 메시지를 이용한다는 점을 주목해야 한다. 또한, 이러한 접근방식과 POC에 기반한 LUT를 결합하는 것이 가능하다는 점을 이해해야할 것이다.
도 10을 참조하면, 비디오 시스템에서의 필름 그레인 시뮬레이션을 위한 의사-랜덤 숫자 생성기(PRNG)용 비트까지 정확한 시드 초기화를 위한 방법은 참조번호(1000)에 의해 일반적으로 표시된다.
본 방법(1000)은 기능 블럭(1010)에 제어를 넘겨주는 시작 블럭(1002)을 포함한다. 기능 블럭(1010)은 다음식과 같이 시간(t)에서 시드를 초기화한다:
seed(t) = 랜덤 시드 SEI 메시지(seed_value)
기능 블록(1010)을 더 고려하면, 종료 블럭(1015)에 제어권을 넘겨준다.
본 발명의 원리에 따른 제 6 예시적인 실시예에 관한 설명이 이제 주어지게 될 것이다. 제 6 예시적인 실시예는 초기에 기술되고, 이후 도 11에 도시되고 이에 관해 기술된 대응하는 방법의 추가 설명이 이어진다.
복수의 PRNG가 사용되는 경우(예를 들면, 컬러 성분당 하나씩), 동일한 LUT 테이블이 이들 PRNG 모두를 위해 사용될 수 있어, 다음식과 같이 각 컬러 성분을 위한 고정되고 추가적인 오프셋을 정의한다:
seed(t) = LUT[(POC(t) + 오프셋 + offset_component(c)) % L]
여기서, offset_component(c)는 컬러 성분(c)을 위한 오프셋이다. 오프셋은 이전에 기술된 실시예 중 어느 하나를 사용하여 전달될 수 있는 시간(t)에서의 화상에 묶인 값이다. 제 5 예시적인 실시예에 대한 하나의 예시적인 확장에 있어서, 이들 오프셋은 {0, 1/3L, 2/3L}이 될 수 있다. 이들 오프셋은 상수이므로, 따라서 전송되거나 갱신될 필요도 없음을 이해해야만 한다. 게다가, 본 발명은 선행 오프셋에 제한되지 않으므로, 따라서 다른 오프셋은 또한 본 발명의 기술사상을 유지하지하면서도 본 발명의 원리에 따라 이용될 수 있음을 이해해야 한다.
도 11을 참조하면, 비디오 시스템에서의 필름 그레인 시뮬레이션을 위한 의사-랜덤 숫자 생성기(PRNG)용 비트까지 정확한 시드 초기화 방법이 참조번호(1100) 에 의해 일반적으로 표시된다.
본 방법(1100)은 기능 블럭(1105)에 제어를 넘겨주는 시작 블럭(1102)을 포함한다. 기능 블럭(1105)은 다음과 같이 시드의 룩-업 테이블을 지정하고:
LUT = {seed0, seed1, seed2, ..., seedL-1}
기능 블럭(1110)에 제어권을 넘겨준다.
복수의 PRNG들이 사용되는 경우(예를 들면, 컬러 구성요소당 하나), 기능 블럭(1110)은 PRNG 시드를 화상의 시작점(시간(t)에서)에 있는 다음식의 값으로 설정하게 되어, 동일한 LUT가 모든 복수의 PRNG들에 대하여 사용되는 경우, 다음의 고정되고, 부가적인 오프셋이, 예를 들면 컬러성분의 각각에 대하여 정의된다:
seed(t) = LUT[(POC(t) + 오프셋 + offset_component(c)) % L]
여기서, offset_component(c)는 컬러 성분(c)을 위한 오프셋이고, 오프셋은 시간(t)에서의 화상에 대한 오프셋이다.
기능 블럭(1110)을 더 고려하면, 종료 블럭(1115)에 제어권을 넘겨준다.
위에 기술된 바와 같이, 여기에 제공된 본 발명의 요지가 주어진다면, 본 발명은 본 발명의 기술 사상을 유지하면서도, 필름 그레인의 보존으로부터 이익을 얻을 수 있는 다른 비디오 인코딩/디코딩 기술에 본 발명이 적용될 수 있다.
본 발명의 이들 및 다른 특징과 장점은 여기의 요지에 기반한 이 분야의 당업자에 의해 용이하게 확인될 수 있다. 본 발명의 요지는 다양한 형태의 하드웨어, 소프트웨어, 펌웨어, 특수용도 프로세서, 또는 이들의 조합으로 구현될 수 있음을 이해해야할 것이다.
더 바람직하게는, 본 발명의 요지는 하드웨어 및 소프트웨어의 결합으로서 구현된다. 게다가, 바람직하게는, 소프트웨어는 프로그램 저장 유닛에 실재하도록 포함된 응용 프로그램으로서 구현된다. 응용 프로그램은 임의의 적합한 아키텍처를 포함하는 머신으로 업로드되고, 이 머신에 의해 실행될 수 있다. 바람직하게는, 이 머신은 가령 하나 이상의 CPU(Central Processing Unit), RAM(Random Access Memory), 및 I/O(Input/Output) 인터페이스와 같은 하드웨어를 가지는 컴퓨터 플랫폼 상에서 구현된다. 또한, 컴퓨터 플랫폼은 오퍼레이팅 시스템 및 마이크로 명령어 코드를 포함할 수 있다. 여기에 기술된 다양한 프로세스 및 기능은 응용 프로그램의 일부 또는 마이크로 명령어 코드의 일부, 또는 이들의 임의의 조합일 수 있으며, 이 들은 CPU에 의해 실행될 수 있다. 덧붙여, 추가적인 데이터 저장 유닛 및 프린팅 유닛과 같은 다양한 다른 주변 유닛이 컴퓨터 플랫폼에 연결될 수 있다.
바람직하게는, 첨부된 도면에서 기술된 방법 및 구성 시스템 구성요소의 일부가 소프트웨어로 구현되기 때문에, 시스템 구성요소 또는 프로세스 기능 블럭 사이의 실제 연결은 본 발명이 프로그래밍되는 방식에 의존하여 다를 수 있음을 더 이해해야 할 것이다. 여기의 요지가 주어지는 경우, 이 분야의 당업자라면 본 발명의 구성 또는 이들 구현 및 유사한 구현을 고려할 수 있을 것이다.
비록 예시적인 실시예가 첨부된 도면을 참조하여 여기에 기술되었을 지라도, 본 발명은 이들의 정확한 실시예에 국한되지 않고, 다양한 변형 및 변경이 본 발명 의 범위 또는 기술 사상을 벗어나지 않으면서 이 분야의 당업자에 의해 성취될 수 있음을 이해해야 할 것이다. 이러한 모든 변형 및 변경은 첨부된 청구항에서 기술된 바와 같이 본 발명의 범위 내에 포함되는 것으로 의도된다.
전술한 바와 같이, 본 발명은 일반적으로 비디오 인코더 및 비디오 디코더에 이용 가능하며, 특히 비디오 시스템에 있어서 필름 그레인 시뮬레이션을 위해 사용된 PRNG(Pseudo-Random Number Generators)에 대한 비트까지 정확한(bit-accurate) 시드 초기화에 이용 가능하다.

Claims (60)

  1. 비디오 시스템에서의 필름 그레인 시뮬레이션에 사용된 의사-랜덤 숫자 생성기(PRNG: Pseudo-Random Number Generator) 시드(seed)를 초기화하는 방법으로서,
    PRNG 시드의 룩-업 테이블을 생성하는 단계(205); 및
    화상의 순서에 대응하는 값을 사용하여 상기 룩-업 테이블에 액세스함으로써, 화상을 위한 상기 룩-업 테이블로부터 상기 PRNG 시드 중 하나를 초기화하는 단계(210)
    을 포함하고,
    상기 화상의 순서에 대응하는 값은 POC(Picture Order Count: 화상 순서 카운팅) 값(210), 디스플레이 순서, 또는 디코드 순서인. 의사-랜덤 숫자 생성기 시드를 초기화하는 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 제 1 항에 있어서,
    상기 방법은 비트-어큐레이트(bit-accurate)인, 의사-랜덤 숫자 생성기 시드를 초기화하는 방법.
  7. 제 1 항에 있어서,
    상기 초기화 단계는 상기 룩-업 테이블(210)에 액세스하기 위한 화상의 POC 값을 추가로 사용하는, 의사-랜덤 숫자 생성기 시드를 초기화하는 방법.
  8. 제 1 항에 있어서,
    상기 초기화 단계는 SEI(Supplemental Enhancement Information: 보조적인 향상 정보) 메시지 내에 제공된 필름 그레인 보조 정보 메시지를 추가로 사용하는, 의사-랜덤 숫자 생성기 시드를 초기화하는 방법.
  9. 삭제
  10. 제 1 항에 있어서,
    상기 초기화 단계는 상기 룩-업 테이블(710)에 액세스하기 위해 IDR(Instantaneous Decoding Refresh) 화상의 idr_pic_id 파라메터를 추가로 사용하는, 의사-랜덤 숫자 생성기 시드를 초기화하는 방법.
  11. 삭제
  12. 제 1 항에 있어서,
    상기 초기화 단계는 상기 룩-업 테이블(810)에 액세스하기 위해 필름 그레인 SEI 메시지로 전송된 film_grain_characteristics_repetition_period 파라메터를 추가로 사용하는, 의사-랜덤 숫자 생성기 시드를 초기화하는 방법.
  13. 제 1 항에 있어서,
    상기 초기화된 PRNG 시드 중 하나의 상태는 현재 화상의 재생 모드와 독립적인, 의사-랜덤 숫자 생성기 시드를 초기화하는 방법.
  14. 필름 그레인 시뮬레이션을 위한 의사-랜덤 숫자 생성기(PRNG: Pseudo-Random Number Generator) 시드를 초기화하는 방법으로서,
    PRNG 시드의 룩-업 테이블을 생성하는 단계(905); 및
    적어도 하나의 SEI(Supplemental Enhancement Information: 보조적인 향상 정보) 값을 사용하여 상기 룩-업 테이블에 엑세스함으로써, 화상을 위한 상기 룩-업 테이블로부터 상기 PRNG 시드 중 하나를 초기화하는 단계(910)
    을 포함하는 의사-랜덤 숫자 생성기 시드를 초기화하는 방법.
  15. 제 14 항에 있어서,
    상기 SEI 값은 SEI(Supplemental Enhancement Information) 메시지 내에 포함되는, 의사-랜덤 숫자 생성기 시드를 초기화하는 방법.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 비디오 시스템에서의 필름 그레인 시뮬레이션에 사용된 의사-랜덤 숫자 생성기(PRNG: Pseudo-Random Number Generator) 시드를 초기화하는 장치로서,
    PRNG 시드의 룩-업 테이블을 생성하고, 및 화상의 순서에 대응하는 값을 사용하여 상기 룩-업 테이블에 엑세스함으로써, 화상을 위한 상기 룩-업 테이블로부터 상기 PRNG 시드 중 하나를 초기화하는 필름 그레인 시뮬레이터(154)를 포함하고,
    상기 화상의 순서에 대응하는 값은 POC(Picture Order Count: 화상 순서 카운팅) 값, 디스플레이 순서, 또는 디코드 순서인, 의사-랜덤 숫자 생성기 시드를 초기화하는 장치.
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 제 21 항에 있어서,
    상기 필름 그레인 시뮬레이션은 비트-어큐레이트인, 의사-랜덤 숫자 생성기 시드를 초기화하는 장치.
  27. 제 21 항에 있어서,
    상기 필름 그레인 시뮬레이터(154)는 상기 룩-업 테이블에 액세스하기 위한 화상의 POC(Picture Order Count)값을 추가로 사용하는, 의사-랜덤 숫자 생성기 시드를 초기화하는 장치.
  28. 제 21 항에 있어서,
    상기 필름 그레인 시뮬레이터(154)는 SEI(Supplemental Enhancement Information: 보조적인 향상 정보) 메시지 내에 제공된 필름 그레인 보조 정보 메시지를 추가로 사용하는, 의사-랜덤 숫자 생성기 시드를 초기화하는 장치.
  29. 삭제
  30. 제 21 항에 있어서,
    상기 필름 그레인 시뮬레이터(154)는 룩-업 테이블에 액세스하기 위해 IDR(Instantaneous Decoding Refresh: 순시 디코딩 리프레시) 화상의 idr_pic_id 파라메터를 추가로 사용하는, 의사-랜덤 숫자 생성기 시드를 초기화하는 장치.
  31. 삭제
  32. 제 21 항에 있어서,
    상기 필름 그레인 시뮬레이터(154)는 룩업 테이블에 액세스하기 위해 필름 그레인 SEI(Supplemental Enhancement Information) 메시지 내에 전송된 film_grain_characteristics_repetition_period 파라메터를 추가로 사용하는, 의사-랜덤 숫자 생성기 시드를 초기화하는 장치.
  33. 제 21 항에 있어서,
    초기화된 PRNG 시드 중 하나의 상태는 현재 화상의 재생 모드와 독립적인, 의사-랜덤 숫자 생성기 시드를 초기화하는 장치.
  34. 필름 그레인 시뮬레이션을 위한 의사-랜덤 숫자 생성기(PRNG: Pseudo-Random Number Generator) 시드를 초기화하는 장치로서,
    PRNG 시드의 룩-업 테이블을 생성하고, 및 적어도 하나의 SEI(Supplemental Enhancement Information: 보조적인 향상 정보) 값을 사용하여 상기 룩-업 테이블에 엑세스함으로써, 화상을 위한 상기 룩-업 테이블로부터 상기 PRNG 시드 중 하나를 초기화하는 필름 그레인 시뮬레이터(154)를 포함하는, 의사-랜덤 숫자 생성기 시드를 초기화하는 장치.
  35. 제 34 항에 있어서,
    상기 SEI 값은 SEI(Supplemental Enhancement Information) 메시지 내에 포함되는, 의사-랜덤 숫자 생성기 시드를 초기화하는 장치.
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 비디오 시스템에서의 필름 그레인 시뮬레이션에 사용된 의사-랜덤 숫자 생성기(PRNG: Pseudo-Random Number Generator) 시드를 초기화하는 장치로서,
    PRNG 시드의 룩-업 테이블을 생성하는 수단(154); 및
    화상의 순서에 해당하는 값을 이용하여 룩-업 테이블에 액세스함으로써, 상기 화상을 위한 룩-업 테이블로부터 PRNG 시드 중 하나를 초기화하는 수단(154)
    을 포함하고,
    상기 화상의 순서에 대응하는 값은 POC(Picture Order Count: 화상 순서 카운팅) 값, 디스플레이 순서, 또는 디코드 순서인, 의사-랜덤 숫자 생성기 시드를 초기화하는 장치.
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 제 41 항에 있어서,
    상기 필름 그레인 시뮬레이션은 비트-어큐레이트인, 의사-랜덤 숫자 생성기 시드를 초기화하는 장치.
  47. 제 41 항에 있어서,
    상기 초기화 수단(154)은 룩-업 테이블에 액세스하기 위해 화상의 POC(Picture Order Count)값을 추가로 사용하는, 의사-랜덤 숫자 생성기 시드를 초기화하는 장치.
  48. 제 41 항에 있어서,
    상기 초기화 수단은 SEI(Supplemental Enhancement Information: 보조적인 향상 정보) 메시지 내에 제공된 필름 그레인 보조 정보 메시지를 추가로 사용하는, 의사-랜덤 숫자 생성기 시드를 초기화하는 장치.
  49. 삭제
  50. 제 41 항에 있어서,
    상기 초기화 수단(154)은 상기 룩-업 테이블에 액세스하기 위해 IDR(Instantaneous Decoding Refresh) 화상의 idr_pic_id 파라메터를 추가로 사용하는, 의사-랜덤 숫자 생성기 시드를 초기화하는 장치.
  51. 삭제
  52. 제 41 항에 있어서,
    상기 초기화 수단(154)은 룩-업 테이블에 액세스하기 위해 필름 그레인 SEI메시지 내에 전송된 film_grain_characteristics_repetition_period 파라메터를 추가로 사용하는, 의사-랜덤 숫자 생성기 시드를 초기화하는 장치.
  53. 제 41 항에 있어서,
    상기 초기화된 PRNG 시드 중 하나의 상태는 현재 화상의 재생 모드와 독립적 인, 의사-랜덤 숫자 생성기 시드를 초기화하는 장치.
  54. 필름 그레인 시뮬레이션을 위한 의사-랜덤 숫자 생성기(PRNG: Pseudo-Random Number Generator) 시드를 초기화하는 장치로서,
    PRNG 시드의 룩-업 테이블을 생성하는 수단(154); 및
    적어도 하나의 SEI(Supplemental Enhancement Information: 보조적인 향상 정보) 값에 대응하는 값을 사용하여 룩-업 테이블에 액세스함으로써, 화상을 위한 룩-업 테이블로부터 PRNG 시드 중 하나를 초기화하는 수단(154)
    을 포함하는, 의사-랜덤 숫자 생성기를 초기화하는 장치.
  55. 제 54 항에 있어서,
    상기 SEI 값은 SEI(Supplement Enhancement Information) 메시지 내에 포함되는, 의사-랜덤 숫자 생성기를 초기화하는 장치.
  56. 삭제
  57. 삭제
  58. 삭제
  59. 삭제
  60. 삭제
KR1020077011006A 2004-11-16 2005-11-14 비디오 시스템에서 사용되는 의사-랜덤 숫자 생성기를 위한비트까지 정확한 시드 초기화 KR101240445B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US62850004P 2004-11-16 2004-11-16
US60/628,500 2004-11-16
PCT/US2005/040970 WO2006055430A2 (en) 2004-11-16 2005-11-14 Bit-accurate seed initialization for pseudo-random number generators used in a video system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020127021636A Division KR101295221B1 (ko) 2004-11-16 2005-11-14 비디오 시스템에서 사용되는 의사-랜덤 숫자 생성기를 위한 비트-어큐레이트 시드 초기화

Publications (2)

Publication Number Publication Date
KR20070094732A KR20070094732A (ko) 2007-09-21
KR101240445B1 true KR101240445B1 (ko) 2013-03-08

Family

ID=36283764

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020077011006A KR101240445B1 (ko) 2004-11-16 2005-11-14 비디오 시스템에서 사용되는 의사-랜덤 숫자 생성기를 위한비트까지 정확한 시드 초기화
KR1020127021636A KR101295221B1 (ko) 2004-11-16 2005-11-14 비디오 시스템에서 사용되는 의사-랜덤 숫자 생성기를 위한 비트-어큐레이트 시드 초기화

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020127021636A KR101295221B1 (ko) 2004-11-16 2005-11-14 비디오 시스템에서 사용되는 의사-랜덤 숫자 생성기를 위한 비트-어큐레이트 시드 초기화

Country Status (16)

Country Link
US (1) US7852409B2 (ko)
EP (1) EP1815324B1 (ko)
JP (1) JP5087405B2 (ko)
KR (2) KR101240445B1 (ko)
CN (1) CN101057215B (ko)
AT (1) ATE466328T1 (ko)
AU (2) AU2005306697B2 (ko)
BR (1) BRPI0518174B1 (ko)
CA (1) CA2587131C (ko)
DE (1) DE602005020967D1 (ko)
HK (1) HK1105825A1 (ko)
MX (1) MX2007005828A (ko)
MY (1) MY140122A (ko)
RU (1) RU2416818C2 (ko)
WO (1) WO2006055430A2 (ko)
ZA (1) ZA200703917B (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8432975B2 (en) * 2008-01-18 2013-04-30 Mediatek Inc. Apparatus and method for processing a picture frame
JP5056560B2 (ja) * 2008-03-17 2012-10-24 富士通株式会社 符号化装置、復号化装置、符号化方法および復号化方法
US9131033B2 (en) 2010-07-20 2015-09-08 Qualcomm Incoporated Providing sequence data sets for streaming video data
US9161004B2 (en) 2012-04-25 2015-10-13 Qualcomm Incorporated Identifying parameter sets in video files
US8712052B2 (en) * 2012-07-23 2014-04-29 Cooper Technologies Company System and method for secure power systems infrastructure communications
KR101979634B1 (ko) 2012-12-13 2019-05-20 삼성전자주식회사 화질 개선을 위한 영상 처리 장치 및 그 방법
CN109753269B (zh) * 2019-01-30 2021-11-09 百度在线网络技术(北京)有限公司 区块链的随机数生成方法、装置、设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5475425A (en) * 1994-01-25 1995-12-12 Przyborski Productions Apparatus and method for creating video outputs that emulate the look of motion picture film
US6219838B1 (en) * 1998-08-24 2001-04-17 Sharewave, Inc. Dithering logic for the display of video information

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4935816A (en) * 1989-06-23 1990-06-19 Robert A. Faber Method and apparatus for video image film simulation
US5457491A (en) * 1990-10-11 1995-10-10 Mowry; Craig P. System for producing image on first medium, such as video, simulating the appearance of image on second medium, such as motion picture or other photographic film
US5374954A (en) * 1990-10-11 1994-12-20 Harry E. Mowry Video system for producing video image simulating the appearance of motion picture or other photographic film
US5687011A (en) * 1990-10-11 1997-11-11 Mowry; Craig P. System for originating film and video images simultaneously, for use in modification of video originated images toward simulating images originated on film
US5140414A (en) * 1990-10-11 1992-08-18 Mowry Craig P Video system for producing video images simulating images derived from motion picture film
US5335013A (en) * 1992-01-16 1994-08-02 Faber Robert A Method and apparatus for video camera image film simulation
US5471572A (en) * 1993-07-09 1995-11-28 Silicon Graphics, Inc. System and method for adding detail to texture imagery in computer generated interactive graphics
US5831673A (en) 1994-01-25 1998-11-03 Przyborski; Glenn B. Method and apparatus for storing and displaying images provided by a video signal that emulates the look of motion picture film
WO1996013006A1 (en) * 1994-10-20 1996-05-02 Mark Alan Zimmer Digital mark-making method
US5629769A (en) * 1995-06-01 1997-05-13 Eastman Kodak Company Apparatus and method for the measurement of grain in images
US5641596A (en) * 1995-12-05 1997-06-24 Eastman Kodak Company Adjusting film grain properties in digital images
GB9607633D0 (en) * 1996-04-12 1996-06-12 Discreet Logic Inc Grain matching of composite image in image
HUP0105014A3 (en) * 1998-08-27 2002-11-28 Ibm System for embedding additional information in video data, and embedding method
US6317216B1 (en) 1999-12-13 2001-11-13 Brown University Research Foundation Optical method for the determination of grain orientation in films
EP1279111A4 (en) 2000-04-07 2005-03-23 Dolby Lab Licensing Corp IMPROVED TIME AND RESOLUTION STRUCTURE FOR ADVANCED TELEVISION
CA2309002A1 (en) * 2000-05-23 2001-11-23 Jonathan Martin Shekter Digital film grain reduction
US6940993B2 (en) 2000-12-13 2005-09-06 Eastman Kodak Company System and method for embedding a watermark signal that contains message data in a digital image
CA2875893A1 (en) 2003-05-15 2004-12-02 Thomson Licensing Method and apparatus for representing image granularity by one or more parameters
JP4685021B2 (ja) * 2003-10-14 2011-05-18 トムソン ライセンシング ビットアキュレートフィルムグレインシミュレーション技術
US8014558B2 (en) * 2004-10-18 2011-09-06 Thomson Licensing Methods, apparatus and system for film grain simulation
WO2006044260A1 (en) * 2004-10-18 2006-04-27 Thomson Licensing Film grain simulation method
MX2007005653A (es) * 2004-11-12 2007-06-05 Thomson Licensing Simulacion de grano para reproduccion normal y reproduccion de modo de truco para sistemas de reproduccion de video.
US8013888B2 (en) * 2005-02-14 2011-09-06 Broadcom Corporation Method and system for implementing film grain insertion

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5475425A (en) * 1994-01-25 1995-12-12 Przyborski Productions Apparatus and method for creating video outputs that emulate the look of motion picture film
US5475425B1 (en) * 1994-01-25 2000-07-25 Przyborski Production Apparatus and method for creating video ouputs that emulate the look of motion picture film
US6219838B1 (en) * 1998-08-24 2001-04-17 Sharewave, Inc. Dithering logic for the display of video information

Also Published As

Publication number Publication date
KR20070094732A (ko) 2007-09-21
BRPI0518174A (pt) 2008-11-04
AU2005306697B2 (en) 2010-12-16
AU2005306697A1 (en) 2006-05-26
US7852409B2 (en) 2010-12-14
BRPI0518174B1 (pt) 2017-11-14
KR20120108047A (ko) 2012-10-04
WO2006055430A2 (en) 2006-05-26
ZA200703917B (en) 2009-04-29
CA2587131C (en) 2014-12-30
AU2010249256A1 (en) 2011-01-06
CN101057215B (zh) 2012-08-22
KR101295221B1 (ko) 2013-08-12
ATE466328T1 (de) 2010-05-15
WO2006055430A3 (en) 2006-07-27
MY140122A (en) 2009-11-30
EP1815324B1 (en) 2010-04-28
MX2007005828A (es) 2007-07-25
DE602005020967D1 (de) 2010-06-10
HK1105825A1 (en) 2008-02-22
US20060114988A1 (en) 2006-06-01
EP1815324A2 (en) 2007-08-08
CA2587131A1 (en) 2006-05-26
JP2008521286A (ja) 2008-06-19
JP5087405B2 (ja) 2012-12-05
RU2416818C2 (ru) 2011-04-20
RU2007122506A (ru) 2008-12-27
AU2010249256B2 (en) 2011-09-29
CN101057215A (zh) 2007-10-17

Similar Documents

Publication Publication Date Title
CA2587118C (en) Film grain sei message insertion for bit-accurate simulation in a video system
KR101240445B1 (ko) 비디오 시스템에서 사용되는 의사-랜덤 숫자 생성기를 위한비트까지 정확한 시드 초기화
KR101254611B1 (ko) 비디오 재생 시스템에 대한 정상 플레이와 트릭 모드플레이에 대한 필름 그레인 시뮬레이션
AU2011213893B2 (en) Bit-accurate seed initialization for pseudo-random number generators used in a video system

Legal Events

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

Payment date: 20160127

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170201

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180201

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190207

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20200218

Year of fee payment: 8