sponsored links

影片編碼器的智慧化——AI輔助編解碼的ASIC解決方案

在此次LiveVideoStackCon 2021 音影片技術大會 北京站,來自鎔銘半導體的劉迅思詳細列舉了目前常用的AI輔助編解碼的方法,論述如何在硬體和軟體層面將AI結合編解碼的實踐,探索新的標準和新一代編碼器結合AI應該如何設計。

文 | 劉迅思

整理 | LiveVideoStack

大家好,我是來自NETINT鎔銘半導體的劉迅思,本次要跟大家分享的主題是影片編碼器的智慧化。

為什麼要分享這個話題?直白的說主要的是為了帶貨,因為目前公司最新推出了基於帶有AI功能的硬體ASIC編碼器、編碼卡,當然更重要的是我們覺得它也是未來影片編解碼一個很重要的方向。

我知道來LiveVideoStackCon 音影片技術大會的老師,可能很多都是做AI演算法、編碼演算法,或是應用開發的。作為一家晶片公司,打個比方,我們就有點像是“種菜”的,諸位老師就像是“大廚”,我一個“種菜”的和大家說種出來的菜能做成什麼樣的美食,很容易得到一些不信任的目光。說到這個也很有意思,前兩天看到LVS的一位講師的朋友圈,提到之前寫PPT的時候非常謹慎,諮詢很多專家,總是擔心PPT內有什麼錯誤,但現在卻不像之前那樣,為什麼呢?他說,現在更歡迎聽眾來提出一些不同的意見。對我來說其實也是一樣的,非常期待大家聽完能有一些反饋給到我們。這其實也是公司三年以來在國內跟資料中心的客戶合作的一種模式,因為客戶很多都是業務方、應用方,我們會反饋給客戶更多底層的資訊,客戶也同樣反饋給我們很多應用端的資訊,互相協作可以把事情做得很好。

影片編碼器的智慧化——AI輔助編解碼的ASIC解決方案

本次分享的內容主要有以下幾點:首先是我們理解的AI輔助編碼在學術界研究的主要方向;其次是正在落地的商業化實踐;還會基於以上內容,分享ASIC編碼器在軟硬體實現上有什麼樣的區別;接著會介紹ASIC編碼器的優勢場景;最後會跟大家探討一下未來基於ASIC以及基於硬體的影片編解碼器應該是什麼樣子。

1. 研究方向

首先,介紹學術界的一些研究方向。

影片編碼器的智慧化——AI輔助編解碼的ASIC解決方案

總的來說,可分為兩大類:一類是基於傳統的,也就是264、265,基於殘差,基於DCT變換來開發一些編碼的工具,並且我們還會在每一個編碼工具上基於神經網路來做一些最佳化;而另外一類,則是完全拋開這些工具,直接使用神經網路來做編解碼的壓縮。

1.1畫素機率建模

影片編碼器的智慧化——AI輔助編解碼的ASIC解決方案

第一種是畫素機率建模。其原理是,它認為每一個畫素點其實是可以根據上下文的一些畫素的機率估算出來的,比如

影片編碼器的智慧化——AI輔助編解碼的ASIC解決方案

,當前畫素值可以根據它之前

影片編碼器的智慧化——AI輔助編解碼的ASIC解決方案

一直到

影片編碼器的智慧化——AI輔助編解碼的ASIC解決方案

的這些值的機率,做一個聯合機率,計算得出

影片編碼器的智慧化——AI輔助編解碼的ASIC解決方案

的值。比較著名的一些神經網路,如最早釋出的PixelCNN和PixelRNN,這是兩個不同的運算元,用CNN和RNN來做畫素機率建模,後續又有了Gated PixelCNN,或者叫conditional PixelCNN。

其實在做畫素機率建模的時候需要一個掩模,它的原理是從之前的畫素來推斷出當前畫素,這就意味著在計算時,需要將後續的畫素點做掩模遮蔽掉,但在遮蔽的時候有可能會擋住之前一些畫素點,造成一些盲點,Gated PixelCNN就是為了解決盲點的問題。說起來感覺可能比較複雜,這個演算法其實是有比較常見的應用的,像大家可能用過一些APP是拍攝一張自己現在的照片,然後可以推算出當你七十歲時會長成什麼樣子,這就是用上述演算法來實現的。它其實最早是用來做影象生成的,用於編解碼時,之前看到有的paper會這麼做,用畫素機率建模來預測當前圖片的預測值,然後根據圖片的真實值,用真實值減去預測值得到殘差。我們對殘差做編碼,然後在解碼端用畫素機率建模來恢復整個影象,再將殘差添加回去。

1.2AutoEncoder、Variational Auto-Encoder(VAE)

影片編碼器的智慧化——AI輔助編解碼的ASIC解決方案

另外很大的一類就是AutoEncoder,它的原理是透過無監督學習來做編解碼。這個模型也比較簡單,一個

影片編碼器的智慧化——AI輔助編解碼的ASIC解決方案

輸入後先做encoder,透過不同的卷積提取出這一幀圖片的高維資料特徵,然後用decoder將其還原,還原後進行輸出。在做無監督學習時,我們的最終目標是輸出和輸入之間的差值最小,所以需要不停地訓練encoder和decoder之間卷積網路的引數,將差值做到最小。當然,其中也有很多不同的做法,有的是用不同的運算元,CNN、RNN,用雙向RNN、LSTM等來做。另外,還有代價函式的不同,有的是用MSE(均方差)來做,有的是用MS-SSIM來做差值。

這個模型最大的問題是很容易會欠擬合,因為它的引數很多,輸出和輸入之間可能會沒辦法訓練出很好的模型。基於這個,有人提出在encoder之後可以做一步量化,在decoder之後做一步反量化。此時我們看到如圖公式是一個典型的RDO公式,D是輸入和輸出的差值,λ是拉格朗日常數,R是根據不同量化取得的值,這個公式的意義就是在量化一定的情況下保證差值最小。

影片編碼器的智慧化——AI輔助編解碼的ASIC解決方案

Variational Auto-Encoder(VAE)是一種變形的AutoEncoder,剛剛講到AutoEncoder是使用卷積來做,做完以後會得到一個高維的矩陣,儲存了它所有的特徵。而VAE的做法則是在每個樣本輸入後,會得到一個均值和方差,它認為每個樣本其實是正態分佈的,有了均值和方差就能畫出一個正態分佈的函式。那麼在這個正態分佈的函數里就可以取樣它的變數,相當於每個

影片編碼器的智慧化——AI輔助編解碼的ASIC解決方案

會對應出一個

影片編碼器的智慧化——AI輔助編解碼的ASIC解決方案

,在解碼器生成的時候再把

影片編碼器的智慧化——AI輔助編解碼的ASIC解決方案

還原成一個真實的樣本。

1.3光流估計

影片編碼器的智慧化——AI輔助編解碼的ASIC解決方案

前面提到的是AutoEncoder,還有一個最近比較熱門的就是光流估計。

光流估計之前很多都是用OpenCV的方法來做,比較稀疏的光流可以用傳統的影象演算法來做光流估計,與傳統的編解碼演算法有點像,編解碼演算法我們也會做運動補償和運動估計,但編解碼是基於宏塊或者根據CU來做運動估計的。光流估計是會對每一個畫素點都會預測它的光流,因為是用一整個卷積來計算整個的光流,它認為每一個畫素點都能計算出它的光流。之前比較有名的光流估計的模型是FlowNet2,大家有興趣的可以瞭解一下。光流估計中有一個比較大的問題是如何產生有光流真值的訓練圖片,也就是在訓練的時候如何確定訓練出來的圖片的光流值是對的,所以很多人會用顯示卡生成一些假的影象來做訓練。

1.4感知編碼

影片編碼器的智慧化——AI輔助編解碼的ASIC解決方案

如圖是感知編碼一個比較典型的應用,在視訊會議開始時只要傳送每一位與會者的面部照片,後續只要告訴解碼器某一與會者的頭是向左轉或向右轉,解碼端基於對抗網路就可以生成這名與會者所對應動作的影片。在傳輸時只需要將關鍵幀用傳統編碼器進行編碼,在解碼端使用對抗網路生成圖片,並用關鍵幀來做訓練,實際輸出效果與H.264相比可以降低非常多的位元速率。

1.5語義編碼

影片編碼器的智慧化——AI輔助編解碼的ASIC解決方案

目前存在的編碼,無論是影片或是圖片,它其實不僅僅是給人眼看的,有很多是直接用來輸出給AI的。我們在傳輸傳統圖片資訊之外,還需要傳輸一些高維的特徵值。舉個例子,這裡有一輛車和一隻狗,在編碼完成之後,在decoder時不僅僅可以decoder出畫面,同時也可以decoder出之前物體識別的資訊結果,即圖片中有一輛車和一隻狗。

未來影片質量評價的標準可能不僅僅是PSNR、SSIM,影象也會加入語義損失的判斷,即影象或影片經過壓縮之後是否會產生語義的損失。

1.6傳統編碼工具的最佳化

影片編碼器的智慧化——AI輔助編解碼的ASIC解決方案

接下來介紹基於傳統編碼工具的最佳化。如上圖所示,傳統編碼演算法無論是264還是265,一個Image輸入進來,首先需要進行幀間或幀內的預測,然後要做Mode Decision確定到底選哪一種方式,然後做量化、做Transform,最後還做環內的濾波,做Entropy去編出bitrate。

影片編碼器的智慧化——AI輔助編解碼的ASIC解決方案

在每一個編碼工具的模組上面其實都會有一些AI的方法來進行最佳化。如幀內預測時,有人提出用CNN最佳化預測模式。標準規定的預測範圍其實很小,使用CNN可以擴大預測範圍;幀間預測時,雙向參考塊我們現在一般的做法都是採用線性的組合,乘上一個固定的比例算出當前預測塊的值。那是不是除了線性組合,我們還可以用CNN來做一些非線性的組合。另外,插值的時候,不是簡單的做一些半畫素的插值,是不是可以利用CNN進行半畫素插值;另外還有一個比較有意思的方向就是跨通道的預測,就是說一個YUV的影片,可能只知道Y值,怎麼才能推斷出它的U值和V值?在這點上,AV1有一個標準是Cfl,HEVC有一個CCP的擴充套件標準,來做跨通道預測。既然是做預測,那麼大家可能也會想到用CNN來做一些非線性、跨通道的預測。

影片編碼器的智慧化——AI輔助編解碼的ASIC解決方案

此外剛剛說到變換,也有使用CNN做預處理,訓練出類似ICT變換的影象變換。我相信除了這些以外,有很大一塊AI輔助編解碼的工作其實是用來做濾波的。濾波分環外濾波和環內濾波,區別在於解碼端輸出濾波完的圖片,是不是會用來做參考幀,如果不做參考幀,就是環外濾波,做參考幀就是環內濾波。那這裡就有很多學術界的方法來實現,其實它基本上是基於不同的輸入,輸入的時候不光輸入YUV,還要輸入QP、 block info、 解碼幀、相鄰幀輸入、殘差、幀內預測訊號,根據這些做濾波輸出不一樣的效果。環內濾波主要講HEVC,因為環內濾波分DF和SAO,在不同的階段會插入不同的網路,有的是在DF和SAO之間,有點是在DF之前,有的是在SAO之後。這個理念一個是說根據不同的QP我要訓練出不同的濾波的網路來,不像現在SAO只有一個模型來做濾波,可能基於不同的QP來做,另一個是基於不同的Loss來做。

2. 商業化實踐

影片編碼器的智慧化——AI輔助編解碼的ASIC解決方案

前面提到的是一些學術界的研究,Paper有很多,下面會介紹一些商業化落地的實踐。

影片編碼器的智慧化——AI輔助編解碼的ASIC解決方案

分了這幾個型別,有做預處理的,有做ROI、超解析度、逆色調對映、位元速率自適應演算法最佳化的。

2.1預處理最佳化

影片編碼器的智慧化——AI輔助編解碼的ASIC解決方案

做預處理AI的其實有很多,分大類的話有影片降噪、背景替換、內容稽核、場景檢測。這個圖是很典型的做背景替換的,把背景摳出來之後直接做背景替換。這個功能其實在我們自己新一代的產品, Quadra晶片當中我們也實現了這個功能。

2.2ROI感興趣區域編碼

影片編碼器的智慧化——AI輔助編解碼的ASIC解決方案

這個也是我們真實的,在新一代Quadra上跑的一個實時的影片,做了ROI感興趣區域,上圖是兩個影片裡面擷取的兩幀,都是500kbp/s的影片,我們用YOLOv4 (p2 5:55)對圖片中每一個人臉都做了劃區域,可以看到右邊這一張圖特別是這個女生的臉,跟左邊這一張圖比就會差很多,這就是我們劃完以後對人臉設定了一些比較低的QP,然後來做一些精細化的處理。

2.3超解析度

影片編碼器的智慧化——AI輔助編解碼的ASIC解決方案

另外還有很大的一類是做超分。左邊是一個EGVSR,不是很新的超分模型,但是效果很好,對計算量的要求其實比較低。超分是分影象的超分還有影片的超分兩類。影象的超分最早的就是SRCNN,這是最早提出用CNN網路來做超分的一個Paper,這個模型最早是說把一個低解析度的影片收進來以後,先把它擴大成一個高解析度的影片,然後再來做計算。在這個基礎上後來又推出了FSRCNN,就是說進來的影片不需要放大,基於低解析度的影片先做卷積,最後會做一個反捲積來吧低解析度的影片變成高解析度的影片。ESPCN也是類似的做法,也是直接在一個低解析度的影片下面去做一些特徵的一些計算。後續也有用對抗網路來做超分,DRCN是用RNN來做超分,就是不同的運算元來做超分。

除了這些大家也知道其實對影片來說最大的壓縮不是在影象的本身上面,最大的壓縮是在幀間資訊上面,基於這個也有專門針對影片的一些超分演算法,有的是做運動補償,就是我基於目前的這一幀和它相鄰的這一幀,因為用AI,所以就用光流估計做出每一個畫素點運動的估計和補償,相當於當前的這一幀我先基於它的影象做一次超分,然後再用幀間的運動補償來做一次殘差的計算,然後我把當前影象的超分加上殘差來做影片間的超分。另外一種方法其實更徹底,前面那種運動補償還有點像264、265,後面這種更徹底,不需要去對齊相鄰幀和當前幀的運動補償,我在網路中輸入的時候不是輸一幀,而是輸好幾幀進去,直接透過網路取空間和時間資訊來做超分。

2.4逆色調對映

影片編碼器的智慧化——AI輔助編解碼的ASIC解決方案

逆色調對映說起來可能沒人聽得懂,但是其實說白了就是怎麼把一個SDR的影片轉成HDR的影片。

我歸納下來,其實它最主要解決的問題就是這三點:SDR到HDR它的亮度範圍擴充套件、另外是它的色域從BT.709變成BT.2020色域轉換、8bit 位寬轉 10 bit。這裡面有很多神經網路來做逆色調對映。

2.5位元速率自適應演算法最佳化

影片編碼器的智慧化——AI輔助編解碼的ASIC解決方案

這個可能跟編碼演算法的關係可能就不大了,它是用來做位元速率自適應演算法的。之前快手發表了一個很好的論文,專門講位元速率自適應演算法。位元速率自適應其實分兩種,一種是Buffer-based,就是基於客戶端的播放緩衝區buffer情況決策。其實都是基於客戶端,Rate-based則是基於預測的頻寬決策。基本上基於AI的都是用Buffer-based來做這個事情的,這個是說客戶端會去看自己的當前buffer的快取區,當快取區比較小的時候,說明頻寬其實不夠,所以會把bitrate調小,buffer比較大的時候說明頻寬很高,那又會把bitrate調高。基於這樣一個決策。

但是這個決策往往很多時候會失敗,因為它這時候沒辦法預測下一次網路的頻寬是什麼樣的情況,可能就會想這種情況下就基於強化學習的演算法來做一個位元速率自適應的ABR的演算法最佳化。

左邊就是一種型別的強化學習的演算法,它是做Actor和Critic的一個演算法,Actor它會根據不同的策略take action,會進入不同的state,critic會根據不同的state和action去打分,然後告訴Actor你下一次要怎麼做,基本上是這樣一個做法。

3. 軟硬體實現

後面講的是我們的本行,我們的軟硬體的實現是怎麼做的。

影片編碼器的智慧化——AI輔助編解碼的ASIC解決方案

NETINT其實實在這個月,我們開始開放給客戶正式的測試,就是我們新一代的Quadra的晶片。

3.1硬體架構

影片編碼器的智慧化——AI輔助編解碼的ASIC解決方案

這個硬體架構比較簡單。我們這個Quadra的晶片是為了編解碼專門設計的一個晶片,我們一開始的目的是做硬體編解碼,當然之前三年在跟客戶交流的業務溝透過程中,我們發現了除了編解碼之外我們還需要加一些其他的硬體模組,所以我們在裡面會加入一個NPU,也會有Audio DSP來做視、音訊的編解碼,除了這個,還有2D的引擎來做旋轉、縮放、加水印這些硬體加速的工作。Host端這邊沿用上一代產品的NVM標準的儲存協議來互動。

3.2軟體架構

影片編碼器的智慧化——AI輔助編解碼的ASIC解決方案

這是它的軟體架構,這樣做的好處是底層為Quadra FW,使用者端是不需要裝驅動的,可以使用標準的Open Source NVMe驅動,無論是Linux、Windows還是Android系統。並且基本適配於所有的CPU和OS,包括國產的一些OS,因為它們都有NVMe的儲存驅動;在此之上我們會提供一個libnetint的API庫,主要做一些不同例項的管理、引數的設定;最上層會支援FFmpeg的框架來呼叫。編解碼是這樣的一個架構,AI也是一樣的,因為我們的AI是為了服務編解碼的,所以我們會在FFmpeg中加入一些Filter,來做AI的計算。

影片編碼器的智慧化——AI輔助編解碼的ASIC解決方案

這個是我們之前設計的一個方法,其實不僅僅是NPU,CPU也是一樣的,我們應該如何最小化CPU的負載,所有我們有一個Fire and Forget 機制,即後置PC在準備完一些cmdbuf,打給NPU以後是不會再作等待的,是一個非同步的呼叫。直到NPU有一些中斷過來時,後置PC才會做這些回撥的處理。

影片編碼器的智慧化——AI輔助編解碼的ASIC解決方案

如圖是整個資料流,Stream進來後,透過PCIe NVMe Interface,其中所有的東西都是在我們的晶片當中完成的,從Decoder開始到縮放,到AI-engine,計算完成後再Encoder,最後出去的是一個Stream Out,在這中間是完全不需要CPU參與,也不需要和主機進行互動的。

4. 優勢場景

接下來會介紹到我們認為的基於ASIC的硬體編碼,在哪些場景下比較具有優勢。

影片編碼器的智慧化——AI輔助編解碼的ASIC解決方案

對於我們來說,首先要解決的問題是確定我們到底要做強編碼的產品還是強AI的產品?本次分享的主要是AI輔助編碼,對於我們來說,還是以編碼為主,AI來做輔助,這也就牽扯到晶片中到底要有多大的AI算力來配多大的編碼密度。因為晶片是一個面積和功耗強相關的東西,當我們將功耗控制到一定程度時可以做高密度的使用。目前我們Quadra單卡的功耗是在25W以下,這意味著可以做成u.2的形式,之前我們有配置伺服器多的時候可以插24張卡,形成一個高密度編碼的整機的伺服器,所以對於我們來說,最終答案是選擇提供合適的AI算力,主要強調編碼功能。

第二點是高密度和虛擬化,高密度意味著我們在計算TCO的時候並不是算每一張卡的編碼成本,而是計算伺服器加上卡的編碼成本。除此之外,做硬體虛擬化就是我們透過一些虛擬化的支援,不管是SR-IOV,將一張卡虛擬成多個裝置給不同的虛擬機器用,還是做成一個編碼池,將整個編碼池提供給不同的虛擬機器用。這些都是透過硬體來做虛擬化的,代價會比較低。

還有一個最大的場景,也就是低延遲的場景,這是硬體編碼器與軟體編碼器相比最具有優勢的場景。低延遲不僅僅是指它的延遲比較低,另外延遲也是恆定的,不管這一幀有多複雜,它的延遲都是恆定的,這對一些特殊的業務來說好處是非常大的,如雲桌面、雲遊戲。

另外,還有4K/8K 高解析度。當解析度達到4K/8K時,編碼的標準可能已經不能用了264了,需要用到265,甚至更高的一些編碼標準來做編碼,此時對CPU的算力要求會非常大,此時ASIC編碼器硬體成本的優勢就會體現出來。

最後一點我們深有體會,其實就算是做直播的客戶,做轉碼系統的客戶,大部分的精力也並不是花在編解碼上,而是會花在媒資管理、分散式儲存、推流拉流、以及任務排程中。因為這是其核心業務,將編碼的東西交由硬體來做,客戶可以更聚焦業務。這也是我們覺得硬體編碼器比較有優勢的一個地方。

5. 未來

最後探討一下未來,這其實是一個開放的話題,即未來的硬體編碼器會是什麼樣子?

就像新一代的晶片一樣,不僅僅包含編解碼,而且已經在加入AI相關的功能,後續是不是還會有一些新的硬體功能融入進來,這是一個值得思考的問題。另外一個問題是說,未來的編碼器是不是還會像現在一樣只提供一些資料流的推送,只提供一些不同編碼格式的選擇,還是說可以將整個基本的編碼工具暴露給客戶。因為我們覺得編解碼是計算模式相對固定,但算力消耗越來越大的東西,倒推20年,大家覺得有什麼事情是這樣的?就是影象渲染,所以有了GPU出現。OpenGL是一套非常好的工具,它將GPU影象渲染中需要做的一些場景抽象出來,形成各種各樣的API,透過呼叫API就可以實現影象渲染中所有的邏輯。那麼,對於編解碼來說,是不是也有這樣的一套框架,這就是我們所想的未來硬體編碼器的樣子。


講師招募

LiveVideoStackCon 2022 音影片技術大會 上海站,正在面向社會公開招募講師,無論你所處的公司大小,title高低,老鳥還是菜鳥,只要你的內容對技術人有幫助,其他都是次要的。歡迎透過 [email protected] 提交個人資料及議題描述,我們將會在24小時內給予反饋。

分類: 國際
時間: 2021-12-08

相關文章

著名演員湯鎮宗:與平凡妻子相守到老,家裡3個女人都愛我

著名演員湯鎮宗:與平凡妻子相守到老,家裡3個女人都愛我
點選關注,每天都有名人故事感動您! 湯鎮宗 1990年,湯鎮宗因主演10集電視劇<外來妹>在內地爆紅.次年,他主演的40集古裝武俠劇<雪山飛狐>熱播後,又引起巨大轟動.湯鎮宗由 ...

一個好吃的麻辣燙,熬湯是多麼的重要
相比北方人都愛吃麵,南方人都愛吃粉,基本上都會到最後把湯喝了,稍微懂一點的人都知道很多佐料和營養都在湯裡面,吃完了乾貨,然後喝一點湯,不僅可以讓食物更加的好消化,也能讓嘴巴嚐到最美食材的美味,更重要的 ...

婚宴上的撕逼,一個豬肘子引發的血案,看完讓人神清氣爽
參加一個不算遠房的遠房親戚家的婚宴.我是坐在一個角落的桌子裡,最 角落的那種. 三星級酒店一個小廳,30桌左右,桌子是比較大的圓桌,上面有可以轉圈 的玻璃,十個人的桌子,坐了6個成人,還有三個女士帶了 ...

我在精神病院陪護的日子
2021年9月17日,晴. 現在是晚上十點鐘. 此刻我躺在精神病院的隔離病床,身邊躺著我的妻子. 我的妻子幾天前(13號)被診斷為精神分裂.醫生建議立即住院治療.當時都辦好了住院手續,準備陪她一起住院 ...

一碗麵,一座城:安徽十碗麵

一碗麵,一座城:安徽十碗麵
安徽,作為一個南北交融的省份,既有偏愛米食的你,也有鍾愛麵食的我.咱們今天來看一看安徽的十種麵條裡有沒有你最鍾愛的那一碗. 一.蕪湖蝦籽面 圖片來源於網路 這是一碗上過<舌尖上的中國>的面 ...

豬肉餃子配什麼菜好吃?教你5種不同搭配,香味撲鼻,好吃沒腥味

豬肉餃子配什麼菜好吃?教你5種不同搭配,香味撲鼻,好吃沒腥味
餃子是我們生活中常見的美食,在餐桌上很受歡迎,尤其到了過年過節的時候,家人團聚,總要包水餃吃,很喜歡包水餃的家庭氛圍,有人調餡,有人和麵,一片歡聲笑語,男同志喝酒的時候,也可以來一盤餃子,當成下酒菜, ...

房車專用底盤加持,6氣囊空懸!慶鈴原廠五十鈴700P可可西里房車

房車專用底盤加持,6氣囊空懸!慶鈴原廠五十鈴700P可可西里房車
面對市場上絕大多數大通V90.依維柯歐勝.上汽躍進H系列等房車時,慶鈴五十鈴原廠房車卻有著自己獨一無二的存在,原因在於:慶鈴五十鈴基於原廠700P貨車底盤基礎之上研發了全新一代房車專用底盤,加入了六氣 ...

80年代當紅女星吳海燕,人稱“上影一枝花”,如今過得怎麼樣了?

80年代當紅女星吳海燕,人稱“上影一枝花”,如今過得怎麼樣了?
在7080年代的中國影壇曾出現過一位傳奇女星,她不僅演技出眾而且容貌迷人. 有粉絲評價她是清水芙蓉,天然無雕飾,她就是"上影一枝花"的吳海燕. 一. 吳海燕,1954年出生在上海, ...

華為手機容量擴容大法:大華NM卡

華為手機容量擴容大法:大華NM卡
手機的儲存空間不夠用,可以說是最令人頭疼的問題了,現在手機應用和圖片影片的檔案大小越來越大,我這128G的小手機鴨梨山大,朋友告訴我可以擴容,瞭解以後成功被價格勸退了,那就插個記憶體卡吧,結果華為手機 ...

腸易激綜合徵的診斷標準和中醫辨證論治及用方用藥

腸易激綜合徵的診斷標準和中醫辨證論治及用方用藥
主要表現為左下腹部疼痛不適,排便功能出現紊亂,經常腹瀉或便秘,或腹瀉與便秘交替出現,常見腹瀉或排氣後腹痛多緩解,多伴有腹脹.納呆.呃逆.心煩.失眠等消化不良和植物神經功能紊亂的症狀. 目前腸易激綜合徵 ...

80年代著名女星張金玲,巔峰時隱退生子,現在過得怎麼樣了?

80年代著名女星張金玲,巔峰時隱退生子,現在過得怎麼樣了?
同樣是北京電影製片廠出身,張金玲和劉曉慶.李秀明一起被稱為"北影三朵金花" 不光是因為超高的顏值,還有她們精湛的演技,當年的張金玲也可謂是紅極一時,甚至她比劉曉慶和李秀明都更早出名 ...

新店試營業,3個人去嚐鮮,吃完飯結賬後,朋友說:有點不划算

新店試營業,3個人去嚐鮮,吃完飯結賬後,朋友說:有點不划算
馬上中秋節了,親朋好友之間難免會有一些聚餐,下午老公約了2位朋友一起吃飯,聽說有一家湘菜館最近比較火,便想去體驗一下,看看到底有沒有網上宣傳的那麼有吸引力. 新店開業通常有很多活動,也是吸引食客的一種 ...

安宮牛黃丸的27種功效與4大養生方式,家庭常備

安宮牛黃丸的27種功效與4大養生方式,家庭常備
秋冬季節,冷空氣活動頻繁,隨著大風天氣的不斷光臨,溫度迅速下降.寒冷具有收引的特徵,易引起心腦血管的收縮,使血壓驟升,從而誘發心腦血管疾病. 因此,請家中老人,尤其是患有心腦血管疾病的人們務必注意天氣 ...

(歷史今日)辛亥革命爆發
在110年前的今天,1911年10月10日(農曆1911年8月19日),武昌起義. 從漢川開赴前線的起義軍 1911年10月9日正午,孫武在漢口俄租界寶善裡14號機關裝配炸彈,不慎爆炸,孫武受傷.俄國 ...

辛亥革命140週年丨黎元洪如何從傀儡到獨攬大權?

辛亥革命140週年丨黎元洪如何從傀儡到獨攬大權?
文|逆北 01黎元洪是如何被推上都督高位的 今年是辛亥革命140週年.提到辛亥革命,自然不能不提武昌起義的成功,而提到武昌起義,自然又不能不涉及一個人,他,就是黎元洪. 在民國初年的政治當中,黎元洪可 ...

【吃在北京】人見人愛的“春捲”“排叉兒”和“炸三角”

【吃在北京】人見人愛的“春捲”“排叉兒”和“炸三角”
博雜中現傳統 粗獷中見講究 留住北京味道 傳承美食文化 北京的飲食文化 和長城.故宮.頤和園一樣 都是城市不可或缺的 重要標誌和文化符號 而京城各色美食 正是北京飲食文化 不可或缺的一部分 今天,文旅 ...

昔日八一廠好演員 張勇手老搭檔 顏值不輸王心剛卻不紅 兒子更有名氣

昔日八一廠好演員 張勇手老搭檔 顏值不輸王心剛卻不紅 兒子更有名氣
我在翻閱八一廠的那些老藝術家的資料時發現,他們中的很多人,都是在戰火中成長起來的文藝戰士,經過了戰爭的磨練. 或者說他們本身就是戰鬥英雄. 所以他們在銀幕上演英雄,才會那麼自然逼真. 比如我們經常說到 ...

80後寶媽的午餐,每天換著花樣做,孩子吃得開心,營養又簡單

80後寶媽的午餐,每天換著花樣做,孩子吃得開心,營養又簡單
每週一到週五的中午,是我最為忙碌的時候,在廚房裡切切洗洗,就為了讓孩子一放學,就能吃上熱騰騰的飯菜.每天的午餐,我也是儘量不重樣,給家人體驗不一樣的味道. 我們家人都是地道的北方人,我和老公喜歡吃麵條 ...

寶寶第一口牛肉就得這樣吃,不腥不柴,入口即化,出鍋湯汁都不剩

寶寶第一口牛肉就得這樣吃,不腥不柴,入口即化,出鍋湯汁都不剩
寶媽們經常會用雞腿肉雞胸肉.或者豬裡脊肉給孩子做輔食補充營養,但是其實牛肉中含有豐富的蛋白質,其中氨基酸的組成比豬肉更接近人體需要,可以為寶寶提供充足的蛋白質,會更有利於寶寶健康生長髮育. 再加上現在 ...

牛腩燉土豆很多人都做錯了,掌握焯水技巧,鮮嫩不腥,湯汁濃香

牛腩燉土豆很多人都做錯了,掌握焯水技巧,鮮嫩不腥,湯汁濃香
今天和大家分享一道"牛腩燉土豆"的家常做法,牛腩歷經時間的熬煮瀰漫著醇厚的香氣,吸飽湯汁的土豆.胡蘿蔔變得更加軟糯,色香味俱全,有喜歡的趕緊學一下. 食材:牛腩 配菜:胡蘿蔔.土豆 ...