color
color imaging🚧
簡介
色彩變成像素。各種顏色,規定其像素數值。
color perception
光是物理現象,色是人類感知。從光到色的機制尚未釐清。目前只知道:一、人類視覺無法解析每一個波,只能感受混和結果。二、不同的光(不同的波的組合),可以是相同的色。
波有兩個要素:振幅、頻率。一道光的成分,可以畫成頻譜:橫軸是頻率,縱軸是振幅,一個峰是一個波。
振幅平方,決定光能;頻率,決定色相。混和數種光能的宏觀感受,稱作亮度;混和數種色相的宏觀感受,稱作彩度。
這只是簡易解釋,人類視覺機制並非如此單純。亮度和彩度會互相干涉,不能分開討論。
人眼擁有四種感光細胞,可以感知頻率和振幅。其中一種無法轉換成彩度,屬於夜視能力,此處不討論。
工程師設計實驗,製造各種頻率、各種振幅的簡諧波,請民眾辨別亮度和彩度。最後以統計學來估計三種感光細胞的感光程度。感光程度偏高之處,是紅綠藍三色。
color space
色彩空間。人類視覺所能感知的所有顏色,化作不同數值。
工程師假設,人眼三種感光細胞,得到三個刺激量,決定了顏色。感光細胞,對於不同的頻率,有著不同的感光程度。刺激量,就是每種頻率的光能乘以感光程度之後求和(點積)。
工程師製造各種光,讓受測者觀看並判斷顏色異同。首先以實驗數據反推感光程度,感光程度有時是負數。然後解出三個刺激量,當作顏色的數值。雖然這個假設不符合人眼機制,但是方便統計。
CIE RGB:採用三種波,鎖定頻率(紅綠藍),調整光能,得到一種顏色。然而三種波的組合,少於人類所能感知的所有顏色。於是數值有時是負數,以模擬缺少的顏色,彷彿數學術語「外插」。
CIE XYZ:調整成非負數。
Hunter Lab:數值差距等於顏色差距。年代最早,現已廢棄。
CIE L*u*v*:數值差距等於顏色差距。適合光線混和。
CIE L*a*b*:數值差距等於顏色差距。適合顏料混和。
color model
色彩模型。更改數值格式、規定數值範圍,迎合人類作業需求。
RGB:紅、綠、藍。光的三原色。用於螢幕顯示。
CMYK:青、洋紅、黃、黑。顏料的三原色,黑色。用於印刷。
HSL和HSV:色相、飽和度、亮度。用於電腦美術。
HCL:色相、彩度、亮度。用於色彩計算。
YIQ:亮度、從藍到橙程度、從綠到紫程度。用於電視訊號。
YCbCr:亮度、藍色程度、紅色程度。用於電視訊號。
color gamut與gamut mapping
色域。色彩空間所能表示的顏色範圍。通常只畫出非負數部分,形成一個三角形。
color palette與color mixing
色盤。記錄一張圖片有哪些顏色。
混色。混合多種顏色,變成新顏色。
Grassmann's law:對於人眼而言,顏色可以一次內插。
然而目前發明的色彩空間,沒有仔細考慮這件事情,無法藉由顏色數值進行精準的混色。
color blending(color interpolation)
目前發明的色彩空間,無法進行精準的混色。大家只好另闢蹊徑,發明新觀念合成。選擇一種色彩空間,多個顏色轉換成數值,取平均數(加權平均數)。即是一次內插。
各種色彩空間的合成結果皆不同。
color unblending(color decomposition)
分解。分解成各種圖層,根據物理性質。
RGB decomposition:任選一種色彩模型,劃分空間。
spectral decomposition:傅立葉轉換,區分頻率。
color blending model:假設像素數值是基本原色的加權平均。解方程式,得到權重。
color to grayscale
彩色轉灰階。重新著成灰色,讓圖片依然清楚。
簡易的方式:RGB值更改為平均亮度floor((R+G+B)/3)。缺點是無法區分平均亮度相同的顏色。
高竿的方式:採用其他的色彩模型,例如CIE L*a*b*或HSV,根據人類擅於感受的亮度及彩度,決定灰色深淺。
grayscale to color(colorization)
灰階轉彩色。重新著成彩色,讓圖片依然清楚。
高竿的方法:請讀者自行參考。
一些古老的電視劇、影劇作品,就是如此重新上色的。又例如醫學影像,利用超音波觀察腹中胎兒,只能得到密度資訊,不能得到色彩資訊。密度資訊頂多只能轉換成灰階圖片,所以我們看到的超音波影像大多是灰色的。我們可以利用灰階轉彩色的演算法,將圖片上色,以便清楚地看到胎兒,方便醫生診視。
灰階轉彩色不是電腦專用的技術。在水墨畫當中,也有先上墨色、再上彩色的作畫技巧。
color correction🚧
簡介
校正顏色,符合視覺觀感。
color appearance
觀感。人類視覺系統,同時觀察各式色彩,實際感受到的色彩。
比方來說,黑色與白色相間,對於白色部分的實際感受是灰色。
chromatic adaptation
適應。人類視覺系統,根據亮度暨彩度的對比程度,自動校色。
比方來說,位於室內會自動提升亮度細膩程度,到了戶外則相反。又比方來說,互補色的補償。
color constancy:顏色恆常性。即使光源變化,導致顏色變化,也不會認錯顏色。
optical illusion:視覺錯覺。設計特殊圖片,藉由自動校色的本能,產生錯覺。
下圖看似彩色圖片,但其實是灰階圖片,補上彩色格紋。
下圖看似動畫,但其實是靜畫。
colorimetric characterization
校色。各種設備的色彩空間,建立對應關係。
RGB <---> XYZ <---> RGB device1 device2
三步驟:
一、gamut mapping。
二、gamma correction:新舊像素值的對應關係。模擬人腦調整亮暗。人腦根據環境亮暗,自動將極亮變暗、極暗變亮。數位相機的硬體,內建此功能。
三、color appearance。
《Image Content Retargeting: Maintaining Color, Tone, and Spatial Consistency》
color calibration
校準。重新著色,呈現真實顏色,不受攝影設備、顯示設備影響;同時求出設備的影響力。
color balancing
平衡。重新著色,著重於色溫,為了更加清晰。調整相片顏色,去除環境燈光影響,成為真實顏色。比方來說,室內用傳統燈泡,白紙會泛黃;室內用日光燈,白紙會泛藍。白紙理當是白色,以白紙為基準,重新調整圖片當中每一種顏色,移除燈光造成的影響,還原成理想顏色。亦稱「白平衡white balancing」。
color grading
調色(調光)。重新著色,著重於色調,為了改變風格。製片必備絕技,屬於美術設計師、調光師的專業。
color harmonization
調和。重新著色,視覺上和諧。
image dehazing(image defogging)
去霧。在濃霧或深水之中,景物會模糊。移除介質造成的影響,還原成理想顏色。
image formation model:假設像素亮度等於景物亮度和光源亮度的加權平均,權重是介質穿透率。套用數學公式,分別估計景物深度和介質穿透率,進而求得景物亮度。
low-light image enhancement
弱光增強。在光線微弱的地方,景物會模糊。移除黑暗造成的影響,還原成理想顏色。
photo
photo
photography / computational photography
photo imaging🚧
camera相機
把底片直接放在景物前面,相片最後就是一片亮。古人為了解決這個問題,做了個黑箱、挖了個針孔,嚴格限制光線從景物到底片的行進路線。
針孔導致光線不足,相片最後就是一片陰暗。古人為了解決這個問題,弄了個凸透鏡,讓光線折個彎,聚集光線。
每種顏色的折射率都有些微差異,光線經過透鏡就會色散,相片最後就有色差。古人為了解決這個問題,補了個凹透鏡,讓光線再折個彎,收束光線。
凡事有好就有壞。透鏡可以聚光,卻有像差:相片景物位移扭曲;卻有暈影:相片中心亮、外圍暗。
缺點也可以是優點。例如魚眼鏡頭、LOMO效果。透鏡的缺陷反倒成了藝術,讓許多人心嚮往之。
depth of field景深
複習一下高中物理的凸透鏡成像。不在焦距上的景物,光線到達底片就會散開,相片上的景物就會糊掉。
位於焦距上的景物是最清晰的。景物越偏離焦距,相片就越模糊。人類認為還算清晰的區間範圍,稱作景深。
調整像深,使之位於景深之內、盡量接近焦距,讓相片清晰,叫做「對焦」。古人為了方便調整像深,搞了個透鏡組。
aperture光圈、exposure time曝光時間
光圈是控制進光量的裝置,大致是圓的。升一檔就是光圈面積變兩倍(光圈直徑變sqrt(2)倍),降一檔就是光圈面積變一半(光圈直徑變1/sqrt(2)倍)。
曝光時間是打開光圈的時間。曝光時間也可以控制進光量。升一檔就是曝光時間變兩倍,降一檔就是曝光時間變一半。
進光量=光圈面積×曝光時間。升檔相片就亮、降檔相片就暗。光圈和曝光時間的檔數相加一樣多,那麼相片差不多一樣亮。
光圈大小,影響靜態景物清晰度。光圈越小,靜態景物越清晰,尤其是不在景深內的景物,令人感覺景深變廣。
曝光時間大小,影響動態景物清晰度。曝光時間越小,動態景物越清晰。
調配光圈和曝光時間,得到不同的視覺感受。散景:光圈超大,故意讓靜態景物不清晰,以凸顯景深範圍內的景物。長曝:曝光時間超大,故意讓動態景物不清晰,產生動態模糊的效果。
photo shooting🚧
focus stacking
焦點合成。以各種焦距,拍攝多張相片,堆疊成一張清晰相片。
也可以固定焦距,以各種距離,拍攝多張相片,堆疊成一張清晰相片。
exposure blending
曝光合成。以各種閃光燈方位,拍攝多張相片,堆疊成一張清晰相片。
效果比image sharpening演算法還好。
focus sweep(coded aperture)
焦點掃描。以特殊的光圈結構,拍攝一張照片,之後可以漂亮地達成deblurring,得到一張清晰相片。
事先量測各種光圈大小、各種景物深度、各種景物偏角,在底片上面的模糊情況(point spread function),以便設計光圈結構。
http://franchomelendez.com/Uwr/teaching/COMPHO/_LECTURES/L7/coded_photography.html
flutter shutter(coded exposure)
顫振快門。以特殊的曝光節奏,拍攝一張相片。之後可以漂亮地達成motion deblurring,得到一張清晰相片。
http://stanford.edu/class/ee367/class10.pdf http://cs.brown.edu/courses/csci1290/lectures/29.pdf
photo correction🚧
備忘
3A auto focus:自動對焦。 auto white balance:自動白平衡。 auto exposure:自動曝光。
PSF estimation bokeh:散景 vignetting:暈影 blur:模糊 point spread function:點擴散函數
image demosaicing
去馬賽克。感測器產出的數據,轉換成圖片。RAW格式轉換成RGB格式。
數位相機的感光元件,有RGB三種,分別偵測紅光、綠光、藍光的強度,得到0到255的整數。
感光元件宛如方格棋盤,緊密地排列在平面上,不能互相重疊。最常見的排法叫做Bayer arrangement:
將三種感光元件分開來看,有很多漏洞。demosaicing就是指填補這些漏洞的數值。演算法非常多,例如一次內插、中位數。
最後將三個方格棋盤疊起來,每個方格都有RGB值,一個方格對應一個像素,形成彩色相片。
目前正在研發新型態的感光元件,可以同時偵測RGB。不久之後的將來應該就不需要demosaicing了。
相機的數學知識:Fourier optics
http://web.stanford.edu/class/ee368/Handouts/Lectures/2015_Autumn/8-LinearProcessingFiltering_16x9.pdf page 67-71
noise reduction(denoising)
去除雜訊。攝影器材不完美、周遭環境不理想,導致像素位置或數值改變。例如燈光昏暗時,相片上面多出許多莫名其妙的顏色。
不同的誤差有不同的解決方式,見招拆招。例如salt-and-pepper noise,可以取鄰近像素的中位數;例如quantization noise,可以使用一次內插。更複雜的演算法例如biliteral filter和non-local means。
distortion reduction(aberration reduction)
去除像差。透鏡表面不完美、光線介質不均勻,導致像素位置改變,相片景物扭曲變形。
http://www.cs.cmu.edu/~ILIM/projects/IM/globalopt/research_globalopt.html http://www.cs.cmu.edu/~ILIM/projects/IM/water/research_water.html http://www.cs.cmu.edu/~ILIM/projects/IM/document_rectification/document_rectification.html
blur reduction(deblurring)
去除模糊。拍攝照片,沒有對焦,導致像素四散疊加。
motion blur reduction(motion deblurring)
去除動態模糊。拍攝相片,相機震動搖晃,相機位置不斷改變,導致像素位移並疊加。令相片清晰。
high dynamic range imaging(HDR imaging)
高動態範圍成像。以各種曝光時間,拍攝多張相片,生成一張符合真實世界亮度的相片。相片的檔案格式從RGB換為RGBE,額外以浮點數儲存亮度。
進階應用有HDR printing。
一個場景當中,光線亮度經常相差好幾個數量級。一張相片當中,像素數值頂多只有0到255。相機拍攝的過程當中,喪失了許多亮度資訊(失真壓縮),現在要盡量還原亮度資訊。
相機拍攝時,光線亮度到像素數值的轉換過程,可以看作是一個函數。幸運的是,一台相機的函數是固定的──商家為了讓拍攝結果穩定一致。不幸的是,每一家相機的函數都不一樣,而且沒有公佈函數──這是商業秘密。
我們的目標是找到反函數!
經典的演算法是選定相機、固定光圈、調整曝光時間,令讓進光量屢次翻倍,各拍攝一張相片。觀察各張相片的同一個像素,得知光線亮度與像素數值的對應關係。
取n個像素,光通量是 E₁ E₂ ... Eₙ 曝光時間一倍 1E₁ ... 1Eₙ 曝光時間兩倍 2E₁ ... 2Eₙ 曝光時間四倍 4E₁ ... 4Eₙ 水平線段區間 [L₀, R₀) [L₁, R₁) ... [L₂₅₅, R₂₅₅) 其中 0 = L₀ < R₀ = L₁ < ... < R₂₅₄ = L₂₅₅ < R₂₅₅ = 10⁶ 光通量落在 [L₀, R₀) ,則像素亮度為 0 ,以此類推。 每一張相片可以列出 2n 個不等式。 比如說第一張相片,E₁的像素亮度是20,E₂的像素亮度是24 L₂₀ <= E₁ < R₂₀ ⟹ L₂₀ - E₁ <= 0 , E₁ - L₂₁ < 0 L₂₄ <= E₂ < R₂₄ ⟹ L₂₄ - E₂ <= 0 , E₂ - L₂₅ < 0 有p種曝光時間、p張相片,得以列出 2np 個不等式 再加上區間 L₀ < L₁ < ... < L₂₅₅ < R₂₅₅ ,一共 255 個不等式 實施一次規劃演算法,求可行解! 另外還可以設定區間長度最少是d, 例如 L₀ + d < L₁ 這樣,以增加可行解的魯棒程度。 求出所有未知數,得到 [L₀, R₀) ... [L₂₅₅, R₂₅₅) 對 E₁...Eₙ 的函數。 最後套用單調三次內插,變成一對一函數,以求出反函數, 就可以替圖片上每個像素找到E了。
多取幾個像素,就可以解方程式,得到一個大概的對應表。拍越多照、取越多像素,對應表就越準確。但是也得考量執行時間,畢竟民眾希望馬上拍照馬上得到相片。n=14點像素是不錯的數字。
想要量測確實的彩度與亮度,可以使用亮度儀。只不過這裡的主角是數位相機。
tone mapping
色調映射。調整相片亮度,盡量接近人眼感受,讓亮處細節、暗處細節同時都能看清楚。此技術可以用在相片、液晶顯示器。
人類視覺,感知的亮度範圍是10⁻⁶ ~ 10⁶ cd/m²,橫跨12個數量級。人眼與人腦可以迅速調節亮度,同時看清楚亮處與暗處。甚至套用特殊視覺效果。
一張相片,像素數值只有0到255,共256種離散數值。相片往往是亮的地方一片亮、暗的地方一片暗。
目標是讓數位相機與人眼一樣。
演算法非常多。例如先做HDR Imaging,再做biliteral filter。
video
video
影片可以想成是很多張圖片。
使用C/C++處理影片
C與C++本身沒有處理影片的函式庫。
你可以土法煉鋼,選擇一種影片檔案格式,例如MP4、WebM,維基百科整理了一份詳細列表,研讀其規格書,設計程式讀取影片擷取像素。
你也可以拍手煉成,直接使用現成的函式庫,例如Bento4,研讀其使用說明書,呼叫函式讀取影片擷取像素。
使用C/C++與作業系統處理影片
我沒有研究。
大家可以直接使用功能齊全的函式庫。圖片影片處理函式庫OpenCV、視訊處理函式庫FFmpeg。
使用HTML與JavaScript處理影片
將影片畫在網頁上,需要一連串步驟。
首先以HTML建立<video>和<canvas>。然後以JavaScript擷取<video>和<canvas>。
<video>是影片播放器。我們無法直接從<video>得到像素。
必須先利用drawImage()將<video>的圖片畫在<canvas>上面,再利用getImageData()得到像素。其成員.data是一條一維陣列,依序存放每個像素的RGBA值。
修改好每個像素的數值之後,最後利用putImageData()將像素重新畫在<canvas>上面,便大功告成了。
image coding
簡介
像素變成碼。像素數值,視作純粹的數字、訊號、碼。
圖片的數學運算:vector與linear transformation
一張圖片,可以表示成RGB三條向量。
像素的運算,想成是函數變換。若是線性變換,可以寫成矩陣。
線性變換有許多優美的性質。例如矩陣加減,等價於新圖片加減。例如一連串線性變換,可以簡化成一次線性變換;多個矩陣預先相乘(複合),簡化成一個矩陣。
image representation
重新表示。以簡略數據,紀錄圖片,用於特徵描述、辨識。
eigenimage:圖片表示成向量。兩兩點積,求共相關矩陣(實數對稱矩陣),得到特徵值(實數)、特徵基底(正規正交矩陣)。
sparse coding:圖片表示成向量。求一套基底,其線性組合涵蓋所有向量(圖片)。處理一張圖片:解Ax = b,A的一個直條是一張樣式圖片,x是加權平均數,b是一張完整圖片,請最小化x的L₁-norm。處理多張圖片:加總起來,或者把向量推廣成矩陣。
圖片的數學運算:wave
一張圖片,可以分解成大量二維簡諧波。
聲音處理是一維訊號,圖片處理是二維訊號,道理相通。
聲音處理有「時域time domain」與「頻域frequency domain」。實施正向Fourier transform,時域轉頻域。實施逆向Fourier transform,頻域轉時域。時間複雜度O(NlogN)。
圖片處理有「空域spatial domain」與「頻域frequency domain」。實施正向2D Fourier transform,空域轉頻域。實施逆向2D Fourier transform,頻域轉空域。時間複雜度O(XYlogXY)。
空域當中,平均數具備平滑效果,聲音處理得齆聲,圖片處理得霧化;相鄰差具備差異效果,聲音處理得尖聲,圖片處理得邊緣。
頻域當中,低頻數值具備主體,聲音處理得母音,圖片處理得形體;高頻數值具備細節,聲音處理得子音,圖片處理得特徵。
聲音處理,頻域符合人類感知;圖片處理,空域符合人類感知。因此圖片處理不適合採用頻域。早期的圖片處理教科書,是訊號學者主導,所以才會非常強調頻域。
如果不關心圖片內涵,只想把圖片當作訊號來處理,那麼頻域就可發揮功效。
頻域可以畫成圖片,但是沒有實際用處。
教科書很喜歡提供頻域的圖片。然而頻域的圖片毫無實際用處。頻域之所以畫成圖片,只是為了不讓書上只有文字。書上有張圖片,讀者心情也會比較好。
繪製步驟如下:
一、RGB三者分開處理。
二、增加圖片長寬,成為正方形,甚至成為2的次方。增加的部分,像素數值補零。
三、實施二維傅立葉轉換。
四、計算複數長度。傅立葉轉換結果是複數。大家習慣畫出複數長度,代表圖片強度。
五、取log。傅立葉轉換結果數值範圍很大,但是圖片像素範圍只有0到255,必須調整數值。因為人類對聲音強度、光線強度的敏感程度大略是取log,所以此處的圖片強度也取log。理由很瞎。
六、循環位移半個圖片長寬,將低頻部分挪至圖片中央。原本圖片,四角低頻、中央高頻,四角亮、中央暗。把亮的部分挪至圖片中央,比較美觀。
image frequency analysis
頻率分析。圖片硬是分解成二維簡諧波,觀察每種頻率的強度。
Fourier transform:分解成簡諧波。
Gabor transform:先套用Gaussian function,再做Fourier transform。據說比較接近人類視覺機制。
image frequency filtering
頻率濾波。圖片從空域轉成頻域,在頻域使用濾波器。
homomorphic filtering:ln→FFT→filter→IFFT→exp。假設像素亮度等於景物亮度和光源亮度的總和,intensity = illumiance + reflection。景物亮度,空域變化柔和,頻域得低頻。光源亮度,空域變化劇烈,頻域得高頻。以濾波器篩選低頻,得到景物亮度。但是這個推理非常牽強。
image noise
雜訊。像素值異動、有誤差,不是原始數值。簡單起見,習慣假設:每個像素獨立產生雜訊,不會互相影響。
不同的雜訊,有不同的補救方式。兵來將擋、水來土掩。
salt-and-pepper noise:各個像素以固定機率丟失。要嘛正常,要嘛變成0或255。數位傳輸經常出現。破法是median filter。
Gaussian noise:相素值添加誤差,誤差呈高斯分布,即是Gaussian error。類比傳輸經常出現。破法是mean filter。
clipped noise:感光設備收集過多亮度,數字爆表,僅得255。好比電玩遊戲傷害上限9999。亮處攝影經常出現。無法破解。
shot noise:感光設備偶然加收一些亮度。好比公車正要離站,剛好有人陸續趕上車,公車無法立即關門、準時行駛。即是Poisson error。暗處攝影經常出現。破法是mean filter。
quantization noise:像素值捨去小數變成整數,導致誤差。我們合理假設,小數部分任何可能性一律均等,呈uniform distribution。捨去小數,即是減去一個隨機數字,即是添加誤差,即是uniform error。數位設備必然出現。不必破解。
image denoising
去雜訊、去噪。訊號受干擾而混亂,必須還原訊號。干擾假定為某種noise或者某種filter。
Wiener deconvolution:假設是mean filter。
Richardson–Lucy deconvolution:假設位移誤差是Gaussian noise,亮度誤差是Poisson noise。
image steganography(digital watermarking)
隱寫、浮水印。訊息隱藏至圖片當中,無法察覺外觀差異。用來判斷圖片是否被私下改造。
LSB steganography:隱藏至每個像素數值的最低位元。
image compression
簡介
壓縮圖片,減少儲存容量,但是要盡量避免畫面失真。
texture compression
壓縮。事先調整像素數值,以便增進壓縮效果。
S3 texture compression (S3TC):4x4區塊之內,保留2種顏色,以經驗公式衍生2種顏色。
PowerVR texture compression (PVRTC):3張小圖片。兩張是低頻,一張是高頻餘數。
image compression
BMP:無壓縮。添加表頭。
PNG:無失真壓縮。delta filtering = finite difference、DEFLATE = LZ77 + Huffman、CRC。
JPEG:失真壓縮。8x8、RGB2YUV、DCT(KLT if 1-markovian)、quantization、zig-zag、Huffman。
GIF:無失真壓縮。用於簡短動畫,只有256色。LZW。已退流行。
ICO:無失真壓縮。用於Windows作業系統的圖示,後來又用於網站圖示。包裝BMP或PNG。已退流行。
DjVu:失真壓縮。用於文件。分三層:前景、背景、文字。前景、背景,IW44。文字視作黑白圖片,JB2。已退流行。
WebP:兩者都有。套用了影片壓縮標準VP8。
AVIF:兩者都有。套用了影片壓縮標準AV1。
JPEG XL:兩者都有。改良了圖片壓縮標準JPEG。
video compression
影片壓縮標準的兩大陣營:
Google/AOMedia的VP系列,目前版本是AV1。教學文章。
MPEG系列是國際標準。影片檔案格式幾乎皆是源自它。
video container format與video coding format
影片檔案格式(影片封裝格式)不等於影片壓縮標準(影片編碼格式)。
影片檔案格式不是只有影片而已。影片檔案格式通常內含三樣東西:影片、聲音、字幕。分別屬於三個不同領域。
而一種圖片檔案格式,通常內含唯一一張圖片。
一種影片檔案格式,通常支援多種影片壓縮標準、多種聲音壓縮標準、多種字幕壓縮標準,然後設定成其中一種。
而一種圖片檔案格式,通常自身即為一種圖片壓縮標準。
一種影片壓縮標準,通常有多種團隊實作程式碼、製作函式庫,這些函式庫稱作「編解碼器codec」。
想要錄製播放影片,需要編解碼器。開發編解碼器,通常需要付費給影片壓縮標準制訂者。安裝編解碼器,通常需要付費給編解碼器開發者。當然也有免費的,當然一分錢一分貨。
而圖片壓縮標準、圖片編解碼器,通常是公司自己制定、自己實作,用於自家產品。公司為了推廣產品,習慣公開圖片壓縮標準、允許大眾逕自實作圖片編解碼器。當然也就沒人買賣圖片壓縮標準、圖片編解碼器。
image transmission
傳輸。傳送圖片,儘量不失真。
progressive transmission:設定成不同解析度,分別傳輸。
video streaming
串流。傳送影片,儘量不延遲。
進階應用有廣播。
我沒有找到相關資料。KKStream的技術經理回答如下。
=== conferences * Streaming Media West / Streaming Media East * Demuxed * Video Tech meetups (e.g. Taipei Video Tech, Tokyo Video Tech, Sydney Video Tech, ... 很多) === academic connferences * ACM MM === hot topics * (ultra) low latency (live) streaming * edge computing for video streaming
video streaming protocol ES, PES, PS, TS DVB-IPTV, HTTP Live Streaming https://en.wikipedia.org/wiki/IP_over_DVB https://en.wikipedia.org/wiki/Adaptive_bitrate_streaming https://en.wikipedia.org/wiki/HTTP_Live_Streaming RTSP / RTP https://en.wikipedia.org/wiki/Real-time_Transport_Protocol