Group 2 Block 6 9962629 胡貴蓉 Project 2 JMVC code tracing.

Slides:



Advertisements
Similar presentations
Installment 7 Tables With No Column Presented by rexmen 2001 資管所.林彥廷.
Advertisements

FCU, Department of ECE, IC Design Research Lab. TEL: # 4945 Pre-SIm , Post-Sim.
建立使用案例敘述 --Use Case Narrative
: A-Sequence 星級 : ★★☆☆☆ 題組: Online-judge.uva.es PROBLEM SET Volume CIX 題號: Problem D : A-Sequence 解題者:薛祖淵 解題日期: 2006 年 2 月 21 日 題意:一開始先輸入一個.
:Word Morphing ★★☆☆☆ 題組: Problem Set Archive with Online Judge 題號: 10508:word morphing 解題者:楊家豪 解題日期: 2006 年 5 月 21 日 題意: 第一行給你兩個正整數, 第一個代表下面會出現幾個字串,
第6章 佇列(Queues) 6-1 佇列的基礎 6-2 佇列的表示法 6-3 環狀佇列 6-4 雙佇列.
Instructor: Ching-Chi Lin 林清池 助理教授
3Com Switch 4500 切VLAN教學.
What is static?. Static? 靜態 ? class Test { static int staticX; int instanceX; public Test(int var1, int var2) { this.staticX = var1; this.instanceX =
在 Ad-hoc 網路中實現點對 點發送訊息與廣播訊息. 檔案下載  範例程式可在下列網址取得  DEMO 程式可在下列網址取得
:New Land ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11871: New Land 解題者:施博修 解題日期: 2011 年 6 月 8 日 題意:國王有一個懶兒子,為了勞動兒子,他想了一個 辦法,令他在某天早上開始走路,直到太陽下山前,靠.
JAVA 程式設計與資料結構 第二章 JAVA 程式基本概念及操作. 第一個程式 /* * 這是第一個程式 (FirstP.java) */ class FirstP{ public static void main(String args[]){ System.out.println("Whatever.
Chapter 3 Growth of Functions Asymptotic notation Θ-notation: f(n) = Θ(g(n)) , g(n) is an asymptotically tight bound for f(n) 。 Θ(g(n)) = {f(n)|
STAT0_sampling Random Sampling  母體: Finite population & Infinity population  由一大小為 N 的有限母體中抽出一樣本數為 n 的樣 本,若每一樣本被抽出的機率是一樣的,這樣本稱 為隨機樣本 (random sample)
例外處理. 內 容 大 綱 例外的產生 捕捉例外 丟出例外 例外的產生 (1/4) 一般常見的執行時期錯誤包括整數除法分母為 0(divide by zero) ,陣列索引值越限 (array index out of range) ,輸入輸出錯誤 (I/O error) 、檔案 不存在或無法存取.
JAVA 程式設計與資料結構 第十四章 Linked List. Introduction Linked List 的結構就是將物件排成一列, 有點像是 Array ,但是我們卻無法直接經 由 index 得到其中的物件 在 Linked List 中,每一個點我們稱之為 node ,第一個 node.
Canonical Correlation 典型相關 目標 1 – 決定兩組變數 ( 對相同事務的衡量 ) 是否獨立, 或決定這兩組變數之間關係的強度 –Example: Y1+Y2+…+Ym=X1+X2+…Xn ( 一般式 ) Y1, Y2,…Ym 是否與 X1, X2,..,Xn 有相關 / 無相關.
第 18 章 名稱空間與例外處理 18-1 名稱空間 18-1 名稱空間 18-2 例外處理 18-2 例外處理.
Intelligent Systems Mu-Chun Su Department of Computer Science & Information Engineering National Central University.
第 7 章 程序與函數 7-1 模組化程式設計 7-1 模組化程式設計 7-2 VB.NET 的程序與函數 7-2 VB.NET 的程序與函數 7-3 程序與函數的變數範圍 7-3 程序與函數的變數範圍 7-4 VB.NET 常用的內建函數 7-4 VB.NET 常用的內建函數 7-5 遞迴函數 7-5.
具備人臉追蹤與辨識功能的一個 智慧型數位監視系統 系統架構 在巡邏模式中 ,攝影機會左右來回巡視,並 利用動態膚色偵測得知是否有移動膚色物體, 若有移動的膚色物體則進入到追蹤模式,反之 則繼續巡視。
Introduction to Java Programming Lecture 17 Abstract Classes & Interfaces.
第 5 章 深入 Response 物件 製作. 網頁的轉向與強制輸出 - 讓網頁轉彎的 Redirect 敘述 運用 Response 物件的 Redirect 方法,將瀏覽器顯 示的網頁,導向至其他網頁,語法如下: Response.Redirect 網頁路徑與名稱 此網頁路徑與名稱  若是導向到同一台.
:Problem D: Bit-wise Sequence ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10232: Problem D: Bit-wise Sequence 解題者:李濟宇 解題日期: 2006 年 4 月 16.
按一下以編輯母片標題樣式 按一下以編輯母片 第二層 第三層 第四層 第五層 1 按一下以編輯母片標題樣式 按一下以編輯母片 第二層 第三層 第四層 第五層 1 Problem E: Jolly Jumpers A sequence of n > 0 integers is called a jolly.
: The largest Clique ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11324: The largest Clique 解題者:李重儀 解題日期: 2008 年 11 月 24 日 題意: 簡單來說,給你一個 directed.
第 6 章 迴圈結構 6-1 計數迴圈 6-1 計數迴圈 6-2 條件迴圈 6-2 條件迴圈 6-3 巢狀迴圈 6-3 巢狀迴圈 6-4 While/End While 迴圈 6-4 While/End While 迴圈 6-5 跳出與繼續迴圈 6-5 跳出與繼續迴圈 6-6 錯誤處理 6-6 錯誤處理.
Matlab Assignment Due Assignment 兩個 matlab 程式 : Eigenface : Eigenvector 和 eigenvalue 的應用. Fractal : Affine transform( rotation, translation,
Chapter 20 塑模動態觀點:狀態圖 Statechart Diagram. 學習目標  說明狀態圖的目的  定義狀態圖的基本記號  展示狀態圖的建構  定義活動、內部事件及遞延事件的狀態 圖記號.
: Happy Number ★ ? 題組: Problem Set Archive with Online Judge 題號: 10591: Happy Number 解題者:陳瀅文 解題日期: 2006 年 6 月 6 日 題意:判斷一個正整數 N 是否為 Happy Number.
: Fast and Easy Data Compressor ★★☆☆☆ 題組: Problem Set Archive with Online Judge 題號: 10043: Fast and Easy Data Compressor 解題者:葉貫中 解題日期: 2007 年 3.
電腦優化 黃柏漢 羅元富 黃得瑋.
: Problem A : MiniMice ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11411: Problem A : MiniMice 解題者:李重儀 解題日期: 2008 年 9 月 3 日 題意:簡單的說,題目中每一隻老鼠有一個編號.
第 10 章 視窗應用程式的工具列與 功能表 10-1 主功能表控制項 10-1 主功能表控制項 10-2 快顯功能表控制項 10-2 快顯功能表控制項 10-3 工具列控制項 10-3 工具列控制項 10-4 狀態列控制項 10-4 狀態列控制項 10-5 字型與色彩對話方塊 10-5 字型與色彩對話方塊.
第十章 再論結構. 指標與結構的關係 /* File name: ex10-1a.c */ #include int main() { struct student { char *name; int score; }; struct student st= {"Brian", 97}; struct.
:Nuts for nuts..Nuts for nuts.. ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 10944:Nuts for nuts.. 解題者:楊家豪 解題日期: 2006 年 2 月 題意: 給定兩個正整數 x,y.
資料結構實習-一 參數傳遞.
Dynamic Multi-signatures for Secure Autonomous Agents Panayiotis Kotzanikolaou Mike Burmester.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2008.
4 堆疊與佇列 4.1 前言 四種基本的資料結構 (可儲存資料的容器) 陣列 (Array)、串列(List): 最基本
Management Abstracts Retrieval System; MARS 檢索操作.
: A-Sequence ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10930: A-Sequence 解題者:陳盈村 解題日期: 2008 年 5 月 30 日 題意: A-Sequence 需符合以下的條件, 1 ≤ a.
JAVA 程式設計與資料結構 第二十章 Searching. Sequential Searching Sequential Searching 是最簡單的一種搜尋法,此演 算法可應用在 Array 或是 Linked List 此等資料結構。 Sequential Searching 的 worst-case.
資料結構實習-二.
演算法 8-1 最大數及最小數找法 8-2 排序 8-3 二元搜尋法.
Chapter 3 Entropy : An Additional Balance Equation
845: Gas Station Numbers ★★★ 題組: Problem Set Archive with Online Judge 題號: 845: Gas Station Numbers. 解題者:張維珊 解題日期: 2006 年 2 月 題意: 將輸入的數字,經過重新排列組合或旋轉數字,得到比原先的數字大,
Linguistics phonetic symbols. 先下載 IPA 字型檔案,執行安裝。 由於這個程式的字型目錄設定錯誤, 所以等重新開機時就會發現字型消失。 所以必須根據以下步驟來讓 Windows 加入 IPA 字型。
Chapter 10 m-way 搜尋樹與B-Tree
: Function Overloading ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11032:Function Overloading 解題者:許智祺 解題日期: 2007 年 5 月 8 日 題意:判對輸入之數字是否為.
1 Pseudorandom-Permutation Index. 2 Outline Introduction Goh’s Z-IDX PRP-Index Secure game.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2009.
中序轉後序 藉由由左向右掃瞄中序運算式產生後序運算式,遇到 運算元就直接輸出,遇到運算符號則先存入堆疊,將 優先權較高者輸出。 範例: a + b * c TokenStack [0] [1] [2] topoutput aa ++0a b+0ab *+ *1ab c+ *1abc eosabc*+
: Problem E Antimatter Ray Clearcutting ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11008: Problem E Antimatter Ray Clearcutting 解題者:林王智瑞.
第 6 章 迴圈結構 6-1 計數迴圈 6-1 計數迴圈 6-2 條件迴圈 6-2 條件迴圈 6-3 巢狀迴圈 6-3 巢狀迴圈 6-4 While/End While 迴圈 6-4 While/End While 迴圈 6-5 跳出迴圈 6-5 跳出迴圈 6-6 VB.NET 的錯誤處理 6-6 VB.NET.
函式 Function 東海大學物理系‧資訊教育 施奇廷. 函式簡介 當程式越來越大、越複雜時,程式的維護、 除錯會變得更困難,此時必須引入函式來 簡化程式或將程式分段,將程式重複的部 分改寫為函式,將程式「模組化」 這種作法有下列優點:節省程式發展的時 間、邏輯容易瞭解、程式容易除錯、可分 工合作完成程式.
第 5 章 選擇控制項與條件敘述 5-1 結構化程式設計 5-1 結構化程式設計 5-2 關係與邏輯運算子 5-2 關係與邏輯運算子 5-3 簡單的條件敘述 5-3 簡單的條件敘述 5-4 選擇控制項 5-4 選擇控制項 5-5 巢狀條件敘述 5-5 巢狀條件敘述 5-6 多選一條件敘述 5-6 多選一條件敘述.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2010.
: SAM I AM ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11419: SAM I AM 解題者:李重儀 解題日期: 2008 年 9 月 11 日 題意: 簡單的說,就是一個長方形的廟裡面有敵人,然 後可以橫的方向開砲或縱向開砲,每次開砲可以.
:Count the Trees ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10007:Count the Trees 解題者:楊家豪 解題日期: 2006 年 3 月 題意: 給 n 個點, 每一個點有自己的 Label,
數字系統與資料表示法 教師: 陳炯勳 數系轉換 r進制數字 稱為 base r或 radix r 有r個計數符號,計數順序逢r歸零(進位) A n A n - 1 ‥‥A 2 A 1 A 0 ﹒A -1 A -2 ‥‥A -m 其中A n 及A.
: Finding Paths in Grid ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11486: Finding Paths in Grid 解題者:李重儀 解題日期: 2008 年 10 月 14 日 題意:給一個 7 個 column.
著作權所有 © 旗標出版股份有限公司 第 14 章 製作信封、標籤. 本章提要 製作單一信封 製作單一郵寄標籤.
幼兒行為觀察與記錄 第八章 事件取樣法.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
Failure Candidate Identification for Silicon Debug 指導教授 : 曾王道 學生 : 卜竹君 許正明.
1 柱體與錐體 1. 找出柱體與錐體的規則 2. 柱體的命名與特性 3. 柱體的展開圖 4. 錐體的命名與特性 5. 錐體的展開圖
資料結構 Data Structures 資料結構 2 Chapter 2 Recursion. 2 What ’ s Recursion? Definition An algorithmic technique where a function, in order to accomplish a.
Activity Networks AOV 網路 AOE 網路. AOV 網路 (Activity on Vertx Networks)  為了表示一件工作中,各子工程間的先後 關係,我們可以利用有向圖中的有向邊代 表事情進行的順序,位於一條有向邊終點 的事件必須要等待起點的事情完成後,才 可以進行。
H.264/AVC code tracing REPORT Group 1. no Tsao.
Presentation transcript:

Group 2 Block 胡貴蓉 Project 2 JMVC code tracing

Function 架構圖 PicEncoder:: process RecPicBuffer:: store PicEncoder :: xGetNextFrameSpec RecPicBuffer:: xStorePicture RecPicBuffer:: xClearOutputAll RecPicBuffer:: xUpdateMemory PicEncoder :: xUpdateFrameSepNextGOP PicEncoder:: xUpdateFrameSepNextGOPFinish RecPicBuffer:: xOutput RecPicBuffer:: xDumpRecPicBuffer

Function 架構圖 PicEncoder:: process RecPicBuffer:: store PicEncoder :: xGetNextFrameSpec RecPicBuffer:: xStorePicture RecPicBuffer:: xClearOutputAll RecPicBuffer:: xUpdateMemory PicEncoder :: xUpdateFrameSepNextGOP PicEncoder:: xUpdateFrameSepNextGOPFinish RecPicBuffer:: xOutput RecPicBuffer:: xDumpRecPicBuffer

RecPicBuffer::xClearOutputAll(1) Input: PicBufferList& rcOutputList, PicBufferList& rcUnusedList Output: Err::m_nOK; 程式碼說明 1. create output list 建立一個 PicBufUnitList:cOutputList 逐一檢查 m_cUsedRecPicBufNuitList 裡的 picture 是否 (1) 已被 output (2) 正存在著 其中一個不成立的話,將此 picture push back 到 cOutputList 此 picture 的 POC( 小 / 大 ) 於目前最 ( 小 / 大 ) 的 POC 的話,更新 (iMinPoc/iMaxPoc) 的值

RecPicBuffer::xClearOutputAll(2) 2. real output for( Int iPoc = iMinPoc; iPoc <= iMaxPoc; iPoc++ ) { for( ; iter != end; iter++ ) { if( (*iter)->getPoc() == iPoc ) { 從 cOutputList 中移除目前的 frame Output: 將此 frame push back 到 rcOutputList 和 rcUnusedList Break; // 每個 POC 只有一個 picture } cOutputList 中最 ( 小 / 大 ) 的 POC 逐一檢查 cOutputList 的 POC ,若 目前檢查到的 frame 的 POC 值一 樣,運行 if 條件式裡面的事情 清空 cOutputList

RecPicBuffer::xClearOutputAll(3) 3. uninit all elements and move to free list 當 m_cUsedRecPicBufUnitList 不為空, pop front 端的 frame 將其 push back 到 m_cFreeRecPicBufUnitList Return Err::m_nOK;

Function 架構圖 PicEncoder:: process RecPicBuffer:: store PicEncoder :: xGetNextFrameSpec RecPicBuffer:: xStorePicture RecPicBuffer:: xClearOutputAll RecPicBuffer:: xUpdateMemory PicEncoder :: xUpdateFrameSepNextGOP PicEncoder:: xUpdateFrameSepNextGOPFinish RecPicBuffer:: xOutput RecPicBuffer:: xDumpRecPicBuffer

RecPicBuffer:: xUpdateMemory Input: SliceHeader* pcSliceHeader Output: Err::m_nOK 程式碼說明 ROTRS( pcSliceHeader && pcSliceHeader-> getNalRefIdc() == NAL_REF_IDC_PRIORITY_LOWEST, Err::m_nOK ); if( pcSliceHeader && pcSliceHeader->getAdaptiveRefPicBufferingFlag() ) { RNOK( xMMCO( pcSliceHeader ) ); } else { RNOK( xSlidingWindow() ); } xClearBuffer() → remove non-output / non-ref pictures Return Err::m_nOK 如果 ((pcSliceHeader 不等 於 0) AND (pcSliceHeader 所 參考的 NAL 之優先權是最 低的, 為 0)) 的話,終止此 function 如果 ((pcSliceHeader 不等於 0) AND (pcSliceHeader 是 Adaptive Reference Picture Buffer Mode) ) , True: 執行 MMCO(Memory Management and Control Operations); False: 執行 SlidingWindow look for last ref frame that shall be removed

Function 架構圖 PicEncoder:: process RecPicBuffer:: store PicEncoder :: xGetNextFrameSpec RecPicBuffer:: xStorePicture RecPicBuffer:: xClearOutputAll RecPicBuffer:: xUpdateMemory PicEncoder :: xUpdateFrameSepNextGOP PicEncoder:: xUpdateFrameSepNextGOPFinish RecPicBuffer:: xOutput RecPicBuffer:: xDumpRecPicBuffer

RecPicBuffer::xOutput Input: PicBufferList& rcOutputList, PicBufferList& rcUnusedList Output: Err::m_nOK 程式碼說明 1. m_cFreeRecPicBufUnitList 一開始要是空的,要不然程序終 止 2. 找出 m_cUsedRecPicBufUnitList 中 smallest non-ref/output poc value 3. copy 所有 output element 到暫時的 list cOutputList 4. real output 5. clear buffer : xClearBuffer() m_cUsedRecPicBufUnitList 的 frame 被 pusk back 到 m_cFreeRecPicBufUnitList 6. check m_cFreeRecPicBufUnitList 不應該是 empty

Function 架構圖 PicEncoder:: process RecPicBuffer:: store PicEncoder :: xGetNextFrameSpec RecPicBuffer:: xStorePicture RecPicBuffer:: xClearOutputAll RecPicBuffer:: xUpdateMemory PicEncoder :: xUpdateFrameSepNextGOP PicEncoder:: xUpdateFrameSepNextGOPFinish RecPicBuffer:: xOutput RecPicBuffer:: xDumpRecPicBuffer

程式碼說明 印出 RECONSTRUCTED PICTURE BUFFER 。 印出每個 picture 的 POS 、 FN 、 ViewId 及 Poc ,並判斷此 frame 是否為 outputted 或 not existing 。

Function 架構圖 PicEncoder:: process RecPicBuffer:: store PicEncoder :: xGetNextFrameSpec RecPicBuffer:: xStorePicture RecPicBuffer:: xClearOutputAll RecPicBuffer:: xUpdateMemory PicEncoder :: xUpdateFrameSepNextGOP PicEncoder:: xUpdateFrameSepNextGOPFinish RecPicBuffer:: xOutput RecPicBuffer:: xDumpRecPicBuffer

RecPicBuffer:: xStorePicture Input: RecPicBufUnit* pcRecPicBufUnit, PicBufferList& rcOutputList, PicBufferList& rcUnusedList, SliceHeader* pcSliceHeader, Bool bTreatAsIdr Output: Err::m_nOK 程式碼說明 判斷 UsedRecPicBufUnitList 是否滿了 ? Yes: (1) xClearOutputAll( rcOutputList, rcUnusedList ) (2) 將 pcRecPicBufUnit push back 到 m_cUsedRecPicBufUnitList No: (1) 將 pcRecPicBufUnit push back 到 m_cUsedRecPicBufUnitList (2) 如果 m_bInterViewRef 為 true ,呼叫 xUpdateMemory( pcSliceHeader ) (3) xOutput( rcOutputList, rcUnusedList ) xDumpRecPicBuffer()

Function 架構圖 PicEncoder:: process RecPicBuffer:: store PicEncoder :: xGetNextFrameSpec RecPicBuffer:: xStorePicture RecPicBuffer:: xClearOutputAll RecPicBuffer:: xUpdateMemory PicEncoder :: xUpdateFrameSepNextGOP PicEncoder:: xUpdateFrameSepNextGOPFinish RecPicBuffer:: xOutput RecPicBuffer:: xDumpRecPicBuffer

RecPicBuffer:: store Input: RecPicBufUnit* pcRecPicBufUnit, SliceHeader* pcSliceHeader, PicBufferList& rcOutputList, PicBufferList& rcUnusedList, MultiviewReferenceDirection refDirection Output Err::m_nOK 程式碼說明 xStorePicture( pcRecPicBufUnit, rcOutputList, rcUnusedList, pcSliceHeader, pcSliceHeader- >isIdrNalUnit() ) 如果 ((NAL 的優先權不是最低 ) AND (refDirection == NOT_MULTIVIEW) ) => m_uiLastRefFrameNum = pcRecPicBufUnit->getFrameNum(); return Err::m_nOK; Do not update this for multiview references because multiview references will be pulled out immediately after encoding. Also, the frame numbers for multiview references are not very meaningful and errors will result if you put them. 將 pcRecPicBufUnit 的 picture 之 Frame Number 值回傳給 m_uiLastRefFrameNum

Function 架構圖 PicEncoder:: process RecPicBuffer:: store PicEncoder :: xGetNextFrameSpec RecPicBuffer:: xStorePicture RecPicBuffer:: xClearOutputAll RecPicBuffer:: xUpdateMemory PicEncoder :: xUpdateFrameSepNextGOP PicEncoder:: xUpdateFrameSepNextGOPFinish RecPicBuffer:: xOutput RecPicBuffer:: xDumpRecPicBuffer

PicEncoder :: xGetNextFrameSpec 程式碼說明 : 取得 GOP 下一個 frame 的規格 (new configuration file) 1.key pic (I frame) is coded ,如果 m_uiProcessingPocInGOP 等於 0 ,分以下不同 case 的 GOP 來取得下一個 frame 的 spec 當 GOP 是 complete 且 GOP 的 size 等於 12 或 15 GOP 的 size 是 2 n 或為 uncompleted GOP 2. at the end of a complete GOP for hoerarchical B if( m_uiProcessingPocInGOP == (1<<m_uiMaxTL) -1 && m_uiProcessingPocInGOP!=m_uiGOPSize) { xUpdateFrameSepNextGOP(); m_uiProcessingPocInGOP=0; return xGetNextFrameSpec(); } if( m_uiGOPSize == 1) { xUpdateFrameSepNextGOP(); m_uiProcessingPocInGOP=0; return xGetNextFrameSpec(); }

PicEncoder :: xGetNextFrameSpec 3. at the end of a complete special GOP if(m_bSpecialGOP && m_acFrameSpecification [m_uiProcessingPocInGOP].getTemporalLayer()==m_uiMaxTL && m_uiProcessingPocInGOP + 2 >=m_uiGOPSizeReal ) { xUpdateFrameSepNextGOP(); m_uiProcessingPocInGOP=0; return xGetNextFrameSpec(); } 4. other case: for hierarchical B and the uncompleted GOP if(!m_bSpecialGOP || m_uiGOPSizeReal > m_uiGOPSize ) {…} 5. for the complete special GOP Else {...}

Thank you !